Files
pw-module/proto.h
2025-01-30 20:02:06 -05:00

43 lines
1.4 KiB
C

#ifndef PROTO_H
#define PROTO_H
#include <stdint.h>
#include <stdbool.h>
#include "commons.h"
#ifdef IS_MASTER
#define SET_WRITE() do{digitalWrite(RS485_RX_TX_SELECT, 1);} while(0)
#define SET_READ() do{digitalWrite(RS485_RX_TX_SELECT, 0);} while(0)
#else
#define SET_WRITE() do { RS_MODE_SetHigh();} while(0)
#define SET_READ() do { RS_MODE_SetLow();} while(0)
#endif
/*=****************************************************************************/
bool byte_in (uint8_t in, uint8_t* p_cmd, uint8_t* p_id, uint16_t* p_led1,
uint16_t* p_led2, uint16_t* p_sensor, errors_t* p_error);
#ifdef IS_MASTER
/*=****************************************************************************/
errors_t send_get (uint8_t peer_id);
/*=****************************************************************************/
errors_t send_set (uint8_t peer_id, uint16_t led1, uint16_t led2);
#else
/*=****************************************************************************/
errors_t send_data (uint8_t peer_id, uint16_t sensor);
/*=****************************************************************************/
errors_t send_error (uint8_t peer_id, errors_t err);
#endif
/*=****************************************************************************/
errors_t uart_rx_byte (uint8_t* p_byte);
/*=****************************************************************************/
errors_t uart_tx_byte (uint8_t byte);
#endif