Refactor dds into dds and fgen
driver module started
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include "keys.h"
|
||||
#include "timer.h"
|
||||
#include "io.h"
|
||||
#include "System/system.h"
|
||||
|
||||
/*******************************************************************************
|
||||
* Definitions
|
||||
@@ -75,6 +76,7 @@ typedef struct
|
||||
uint32_t lastState; //key on/off last tick
|
||||
uint32_t longPressDetected; //Long press
|
||||
uint32_t shortPressDetected; //short press
|
||||
uint32_t pressTime;
|
||||
} KEY_DATA_t;
|
||||
|
||||
KEY_DATA_t keyData[KEY_NUM];
|
||||
@@ -86,6 +88,8 @@ extern TIMER_t tmr;
|
||||
//TESTING
|
||||
static uint32_t keyPressCount = 0;
|
||||
|
||||
static SYSTEM_DATA_t *_sys;
|
||||
|
||||
/*******************************************************************************
|
||||
* Static Function Declarations
|
||||
******************************************************************************/
|
||||
@@ -129,6 +133,8 @@ void KEY_Init(void)
|
||||
InitKeyData();
|
||||
KEY_ClearKeyPresses();
|
||||
KEY_ClearAll();
|
||||
|
||||
_sys = system_getSys();
|
||||
}
|
||||
|
||||
//reset all key states and timer values
|
||||
@@ -312,8 +318,15 @@ void KEY_Update(void)
|
||||
if (!GPIO_PinRead(GPIO, keyData[i].gpioPort, keyData[i].gpioPin))
|
||||
{
|
||||
keyData[i].currentState = 1;
|
||||
keyData[i].tickCount++;
|
||||
if (keyData[i].tickCount == KEY_LONG_PRESS_TICKS)
|
||||
|
||||
if (keyData[i].pressTime == 0)
|
||||
{
|
||||
keyData[i].pressTime = _sys->systemTime;
|
||||
}
|
||||
|
||||
keyData[i].tickCount = (_sys->systemTime - keyData[i].pressTime);
|
||||
|
||||
if (keyData[i].tickCount >= KEY_LONG_PRESS_TICKS)
|
||||
{
|
||||
//Long press detected
|
||||
key_bits |= ((1 << i) << KEY_LONG_PRESS);//set long press event
|
||||
@@ -337,6 +350,7 @@ void KEY_Update(void)
|
||||
key_bits |= ((1 << i) << KEY_SHORT_PRESS);//set short press event
|
||||
}
|
||||
keyData[i].tickCount = 0; //reset tick count
|
||||
keyData[i].pressTime = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user