Refactor dds into dds and fgen

driver module started
This commit is contained in:
2025-06-20 18:02:50 -05:00
parent 658cedfa3b
commit 0556b06cab
22 changed files with 299 additions and 466 deletions

View File

@@ -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;
}
}
}