Files
pw-module/commons.h

56 lines
1.2 KiB
C

#ifndef COMMONS_H
#define COMMONS_H
// Config
#define MY_ID 0x00
#define HAS_LED 1 // Set to 0 if unsupported
#define HAS_MOISTURE 1 // Set to 0 if unsupported
#define HAS_LDR 1 // Set to 0 if unsupported
#define MASTER_ID 0xF0
#define MODEL ((HAS_LED << 2) | (HAS_MOISTURE << 1) | HAS_LDR)
#define DELAY_TO_REPLY 5
// Proto
#define START_DEL '['
#define END_DEL ']'
// General indexes
#define ID_INDEX 1
#define CMD_INDEX (ID_INDEX + 1)
#define PAYLOAD_INDEX (CMD_INDEX + CMD_NAME_LEN)
// MODEL
#define GET_MODEL_CMD_ID 0
#define MODEL_CMD_ID 1
#define MODEL_INDEX 3
// GET
#define GET_CMD_ID 2
// SET
#define SET_CMD_ID 3
#define LED1_INDEX 3
#define LED2_INDEX 5
// DATA
#define DATA_CMD_ID 4
#define MOISTURE_INDEX 3
#define LIGHT_INDEX 5
// ERROR
#define ERROR_CMD_ID 5
#define ERR_INDEX 3
#define RET_SUCCESS(ret) (ret <= 1)
#define RET_FAILURE(ret) (ret > 1)
typedef enum errors
{
SUCCESS = 0,
NO_RX,
UNSUPPORTED_CMD,
TX_DONE_ERR,
TX_READY_ERR,
} errors_t;
#endif /* COMMONS_H */