| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- #ifndef __USER_CONFIG_H__
- #define __USER_CONFIG_H__
- #include "define.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef DEV_LIC_SIZE
- #define DEV_LIC_SIZE 16
- #endif
- #ifndef DEV_ADDR_SIZE
- #define DEV_ADDR_SIZE 6
- #endif
- #define HEAD_VALUE 0xEFAA
- #define CALIB_WEIGHT_SIZE 10
- #define WEIGHT_RANGE_DEFAULT 350000
- #define EXT_FUNC_COUNT 32
- #define WS2812B_DEFAULT_COUNT 15
- #define WS2812B_MAX_COUNT 200
- #define ELECT_TIME_DEFAULT 5
- #define ELECT_TIME_STEP 100
- #define ELECT_TIME_MAX 00
- #define ELECT_TIME_MIN 1
- typedef enum{
- CAN_BAUD_NULL = 0,
- CAN_BAUD_100 = 100,
- CAN_BAUD_150 = 150,
- CAN_BAUD_200 = 200,
- CAN_BAUD_250 = 250,
- CAN_BAUD_300 = 300,
- CAN_BAUD_400 = 400,
- CAN_BAUD_500 = 500,
- CAN_BAUD_666 = 666,
- CAN_BAUD_800 = 800,
- CAN_BAUD_1000 = 1000
- }can_baud_e;
- typedef struct{
- uint8_t left_elect_level:1; //左电磁锁关闭时状态。1:常开,0:常闭
- uint8_t right_elect_level:1; //右电磁锁关闭时状态。1:常开,0:常闭
- uint8_t:6;
- }__attribute__((packed)) npn_in_param_s;
- typedef enum{
- RS485_FUNC_NULL = 0,
- }rs485_func_e;
- typedef struct{
- uint8_t rs485_func[EXT_FUNC_COUNT];
- }__attribute__((packed)) rs485_param_s;
- typedef enum{
- I2C_FUNC_NULL = 0,
- I2C_FUNC_SHT40 = 1,
- }i2c_func_e;
- typedef struct{
- uint8_t i2c_func[EXT_FUNC_COUNT];
- }__attribute__((packed)) i2c_param_s;
- typedef struct{
- uint16_t elect_on_timne[2];
- }__attribute__((packed)) elect_param_s;
- typedef struct{
- uint16_t head;
- can_baud_e can_baud;
- npn_in_param_s npn_in_param;
- rs485_param_s rs485_param;
- i2c_param_s i2c_param;
- uint8_t left_ws2812b_count;
- uint8_t right_ws2812b_count;
- elect_param_s elect_param;
- }__attribute__((packed)) user_config_param_s;
- #define USER_CONFIG_STAT_DEFAULT_CONFIG \
- { \
- .head = HEAD_VALUE, \
- .can_baud = CAN_BAUD_1000, \
- .npn_in_param = { \
- .left_elect_level = 0, \
- .right_elect_level = 0, \
- }, \
- .rs485_param = { \
- .rs485_func = {0}, \
- }, \
- .i2c_param = { \
- .i2c_func = {0}, \
- }, \
- .left_ws2812b_count = WS2812B_DEFAULT_COUNT, \
- .right_ws2812b_count = WS2812B_DEFAULT_COUNT, \
- .elect_param = { \
- .elect_on_timne[LEFT_IDX] = ELECT_TIME_DEFAULT, \
- .elect_on_timne[RIGHT_IDX] = ELECT_TIME_DEFAULT, \
- }, \
- }
- void User_Config_Read_Config(void);
- void User_Config_Write_Config(void);
- void user_config_init(void);
- bool check_can_baud(uint32_t baud);
- void set_user_config_param_init(user_config_param_s *param);
- void FLASH_read(uint32_t addr, uint8_t *pData, uint32_t len);
- bool user_config_save_can_baud(uint32_t baud);
- bool user_config_save_ws2812b_count(uint8_t left, uint8_t right);
- bool user_config_save_elect_time(uint16_t left, uint16_t right);
- extern user_config_param_s user_config_param;
- #ifdef __cplusplus
- }
- #endif
- #endif // USER_CONFIG_H__
- /** @} */
|