|
|
|
|
@ -11,21 +11,19 @@ |
|
|
|
|
#include "fsl_debug_console.h" |
|
|
|
|
|
|
|
|
|
static dict_t **flapDict; |
|
|
|
|
static uint8_t numberOfFlaps = 0; |
|
|
|
|
static uint8_t addedFlaps = 0; |
|
|
|
|
static const uint8_t BYTES_PER_KEY = 3; |
|
|
|
|
static char* flapKeys[] = {}; |
|
|
|
|
static char* flapKeys[NUM_FLAPS]; // reserve memory
|
|
|
|
|
|
|
|
|
|
void initFlapKeys(uint8_t numberOfFlaps); |
|
|
|
|
|
|
|
|
|
void MultiSplitFlap_Init(uint8_t numOfFlaps){ |
|
|
|
|
numberOfFlaps = numOfFlaps; |
|
|
|
|
void MultiSplitFlap_Init(){ |
|
|
|
|
addedFlaps = 0; |
|
|
|
|
flapDict = dictAlloc(); |
|
|
|
|
((dict_t*)flapDict)->key=NULL; |
|
|
|
|
((dict_t*)flapDict)->value=NULL; |
|
|
|
|
((dict_t*)flapDict)->next=NULL; |
|
|
|
|
initFlapKeys(numberOfFlaps); |
|
|
|
|
initFlapKeys(NUM_FLAPS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void initFlapKeys(uint8_t numberOfFlaps){ |
|
|
|
|
@ -45,7 +43,6 @@ void initFlapKeys(uint8_t numberOfFlaps){ |
|
|
|
|
void MultiSplitFlap_Deinit(void){ |
|
|
|
|
dictDealoc(flapDict); |
|
|
|
|
addedFlaps = 0; |
|
|
|
|
numberOfFlaps = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
uint8_t MultiSplitFlap_GetAmountOfAddedSplitFlaps(void){ |
|
|
|
|
@ -55,14 +52,20 @@ uint8_t MultiSplitFlap_GetAmountOfAddedSplitFlaps(void){ |
|
|
|
|
void MultiSplitFlap_AddFlap(SF_Handle_t splitflap){ |
|
|
|
|
PRINTF("Adding split flap to multi splitflap combination...\n"); |
|
|
|
|
addItem(flapDict, flapKeys[addedFlaps], (SF_Handle_t*)splitflap); |
|
|
|
|
PRINTF("Added flap nr. %i/%i.\n", addedFlaps+1, numberOfFlaps); |
|
|
|
|
PRINTF("Added flap nr. %i/%i.\n", addedFlaps+1, NUM_FLAPS); |
|
|
|
|
addedFlaps++; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MultiSplitFlap_Display(char* sentence[]){ |
|
|
|
|
SF_t* sf0 = (SF_t*)(SF_Handle_t)(getItem(*flapDict, flapKeys[0])); |
|
|
|
|
SF_t* sf1 = (SF_t*)(SF_Handle_t)(getItem(*flapDict, flapKeys[1])); |
|
|
|
|
int32_t test = McuULN2003_GetPos(sf1->motor); |
|
|
|
|
for (uint8_t num = 0; num < NUM_FLAPS; ++num) { |
|
|
|
|
SF_Handle_t sfHandle = (SF_Handle_t)(getItem(*flapDict, flapKeys[num])); |
|
|
|
|
SF_MoveToFlap(sfHandle, sentence[num]); |
|
|
|
|
PRINTF("Moved multisplitflap: Flap nr. %i to letter '%c'.\n", num+1, (*sentence)[num]); |
|
|
|
|
} |
|
|
|
|
// for testing purposes only
|
|
|
|
|
//SF_t* sf0 = (SF_t*)(SF_Handle_t)(getItem(*flapDict, flapKeys[0]));
|
|
|
|
|
//SF_t* sf1 = (SF_t*)(SF_Handle_t)(getItem(*flapDict, flapKeys[1]));
|
|
|
|
|
//int32_t test = McuULN2003_GetPos(sf1->motor);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|