/* * board_logic.h * */ #ifndef BOARD_LOGIC_H_ #define BOARD_LOGIC_H_ #define MODBUS_FIRMWARE_VERSION ( /*major*/ 11 + /*minor*/ 1 * 0x100) #define MODBUS_BOARD_TYPE (8) //Relay Module board ID #define REL_MAIN_BIT (1u<<0) #define REL_AUX_BIT (1u<<1) #define PWM_DUTY_MIN 0 #define PWM_DUTY_MAX 255 #define PWM_LIGHTS_STEP 20 // Time step in ms between LED light PWM updates #define LIGHTS_TIME 600 // Time in ms to spend for smooth lights level change void estop_reset(void); void board_init(void); uint16_t clamp_duty(uint16_t duty); void set_pwm(uint8_t unit, uint16_t duty); void set_light(uint16_t duty); void loop_iterate(); void update_service_indication(void); #endif