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