implemented splitflap wrapper, this will send commands to the splitflap tinyk22 to control splitflaps

main
Jonas Arnold 4 years ago
parent e9bfb033c6
commit e38ca71a99
  1. 46
      ADIS_ESP32_Eclipse/main/splitflap_wrapper.c
  2. 26
      ADIS_ESP32_Eclipse/main/splitflap_wrapper.h

@ -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…
Cancel
Save