56 lines
1.2 KiB
C
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 */
|
|
|