implemented splitflap wrapper, this will send commands to the splitflap tinyk22 to control splitflaps
parent
e9bfb033c6
commit
e38ca71a99
@ -0,0 +1,46 @@ |
|||||||
|
/*
|
||||||
|
* splitflap_wrapper.c |
||||||
|
* |
||||||
|
* Created on: 05.12.2022 |
||||||
|
* Author: jonas |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "splitflap_wrapper.h" |
||||||
|
#include "rs485.h" |
||||||
|
|
||||||
|
#define RS_CMD_PREFIX "rs sendcmd SplitFlap " |
||||||
|
#define BUF_SIZE 40 |
||||||
|
|
||||||
|
|
||||||
|
/* moves all split flaps to the zero position
|
||||||
|
* After a timeout the initializtion is cancelled and the return value is false |
||||||
|
* If all splitflaps report to be initialized before the timeout, the return value is true */ |
||||||
|
bool SplitFlap_Wrapper_MoveAllToZeroPosition(void){ |
||||||
|
char cmd[BUF_SIZE] = RS_CMD_PREFIX; |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, "initAll"); |
||||||
|
RS485_ParseCommand(cmd); |
||||||
|
} |
||||||
|
|
||||||
|
/* display a sentence on the splitflap combination
|
||||||
|
* splitflaps must be initialized to be able to display something! |
||||||
|
* returns true when all movements finished */ |
||||||
|
bool SplitFlap_Wrapper_Display(char sentence[]){ |
||||||
|
char cmd[BUF_SIZE] = RS_CMD_PREFIX; |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, "Display "); |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, sentence); |
||||||
|
RS485_ParseCommand(cmd); |
||||||
|
} |
||||||
|
|
||||||
|
/* sets the hardware identifier <hwId> of a splitflap with <id> in the combination
|
||||||
|
* returns true when successful, false when not (e.g. split flap with given id not available) */ |
||||||
|
bool SplitFlap_Wrapper_SetHardwareIdentifier(uint8_t id, uint8_t hwId){ |
||||||
|
char cmd[BUF_SIZE] = RS_CMD_PREFIX; |
||||||
|
char setupId_str[4] = {0}; char hardwareId_str[4] = {0}; |
||||||
|
McuUtility_Num8uToStr(setupId_str, sizeof setupId_str, id); |
||||||
|
McuUtility_Num8uToStr(hardwareId_str, sizeof hardwareId_str, hwId); |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, "setId "); |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, setupId_str); |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, " "); |
||||||
|
McuUtility_strcat(cmd, sizeof cmd, hardwareId_str); |
||||||
|
RS485_ParseCommand(cmd); |
||||||
|
} |
||||||
@ -0,0 +1,26 @@ |
|||||||
|
/*
|
||||||
|
* splitflap_wrapper.h |
||||||
|
* |
||||||
|
* Created on: 05.12.2022 |
||||||
|
* Author: jonas |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef MAIN_SPLITFLAP_WRAPPER_H_ |
||||||
|
#define MAIN_SPLITFLAP_WRAPPER_H_ |
||||||
|
|
||||||
|
/* moves all split flaps to the zero position
|
||||||
|
* After a timeout the initializtion is cancelled and the return value is false |
||||||
|
* If all splitflaps report to be initialized before the timeout, the return value is true */ |
||||||
|
bool SplitFlap_Wrapper_MoveAllToZeroPosition(void); |
||||||
|
|
||||||
|
/* display a sentence on the splitflap combination
|
||||||
|
* splitflaps must be initialized to be able to display something! |
||||||
|
* returns true when all movements finished */ |
||||||
|
bool SplitFlap_Wrapper_Display(char sentence[]); |
||||||
|
|
||||||
|
/* sets the hardware identifier <hwId> of a splitflap with <id> in the combination
|
||||||
|
* returns true when successful, false when not (e.g. split flap with given id not available) */ |
||||||
|
bool SplitFlap_Wrapper_SetHardwareIdentifier(uint8_t id, uint8_t hwId); |
||||||
|
|
||||||
|
|
||||||
|
#endif /* MAIN_SPLITFLAP_WRAPPER_H_ */ |
||||||
Loading…
Reference in new issue