| | |
| | | |
| | | #ifndef HEADFILE_DW_MBX_ANC |
| | | #define HEADFILE_DW_MBX_ANC |
| | | //免布线基站端代码 |
| | | #include "dw_app.h" |
| | | #include "deca_device_api.h" |
| | |
| | | #include "global_param.h" |
| | | #include "lora.h" |
| | | #include "radio.h" |
| | | |
| | | #include "led.h" |
| | | //LORA 数据格式 |
| | | |
| | | //免布线系统中 所有的LORA传输信息都包含在下面的MSG TYPE(消息类型)格式中,不同的消息类型,会对应不同的所有格式 |
| | |
| | | #define LORA_MSGTYPE_RANGEPOLL 4//基站发起测距同步信号 |
| | | #define LORA_MSGTYPE_UPDATEFILE_REQUEST 5//基站发送给网关升级文件请求 |
| | | #define LORA_MSGTYPE_UPDATEFILE_RESP 6//网关回复基站升级文件内容 |
| | | #define LORA_MSGTYPE_ANCHEARTBEAT_POLL 7//网关回复基站升级文件内容 |
| | | //SYNC消息下 子消息类型定义 |
| | | #define SUBMSG_NONE 0//无其他消息 只是同步信号 |
| | | #define SUBMSG_READ_TAGPARA 1//子消息类型:读取标签配置 |
| | |
| | | //SYNC消息类型格式 |
| | | #define MSG_TYPE_IDX 0 //LORA MSG TYPE 定义 |
| | | #define WG_ID_IDX 1 //网关ID 占用2个字节 |
| | | #define SYSTIME_IDX 3 //系统时间 |
| | | #define SYSTIME_IDX 3 //系统时间 2个字节单位100us |
| | | #define RANGE_STATE_IDX 5 //该网关范围是否测距标志位,为1则区域内基站测距,如果是0则区域内基站不测距 |
| | | #define SUBMSGTYPE_IDX 6 //子消息类型IDX |
| | | #define ANCTAG_DEVICEID_IDX 7 //标签或者基站的设备ID 2个字节 |
| | |
| | | |
| | | //LORA_MSGTYPE_RANGEPOLL 消息类型格式 |
| | | #define MSG_TYPE_IDX 0 //LORA MSG TYPE 定义 |
| | | #define ANC_ID_IDX 1 //基站ID 占用2个字节 |
| | | #define ANC_ID_IDX 1 //基站ID 占用2个字节 |
| | | #define ANC_VERSION_IDX 3 |
| | | #define ANC_GROUPID_IDX 4 |
| | | #define ANC_UWBPOWER_IDX 5 |
| | | #define ANC_LORAPOWER_IDX 6 |
| | | #define ANC_UWBPOLLTIME_IDX 7 |
| | | #define ANC_RESERVE_IDX 8 //保留5个字节 |
| | | //基站心跳包消息类型格式(基站->网关) |
| | | #define MSG_TYPE_IDX 0 //LORA MSG TYPE 定义 |
| | | #define ANC_ID_IDX 1 |
| | | |
| | | |
| | | |
| | | |
| | | #define WANGGUAN_ID 1 |
| | | #define JIZHAN_ID 3 |
| | | #define MUQIAN_BAG 5 |
| | | #define DATA_IDX 6 |
| | | #define ONE_BAG_DAXIAO 220 |
| | | typedef enum{ Next_Poll_RANGE, |
| | | Next_Poll_LORASYNC, |
| | | }nextpoll_enum; |
| | | void SwitchLoraSettings(uint32_t freq,uint8_t sf); |
| | | |
| | | #define RX_BEFORE_SYNCTIME_US 12000 |
| | | typedef enum{ Sync_Lost, //同步丢失 同步时间 100秒同步一次,每次同步开启2秒,发起测距请求 |
| | | Sync_Range,//同步状态 测距 同步时间 10秒同步一次,开启10ms,发起测距请求 |
| | | Sync_Config,//同步状态 配置 同步时间 1秒同步一次,不发起测距请求 |
| | | Sync_Sleep, //同步状态 休眠 同步时间 100秒同步一次,不发起测距请求 |
| | | }sync_state_enum; |
| | | extern sync_state_enum sync_state; |
| | | void SwitchLoraSettings(uint32_t freq,uint8_t sf,uint8_t power); |
| | | void MBXANCPoll(void); |
| | | void SetFlagSyncSuccess(uint8_t value); |
| | | uint8_t GetRangeState(void); |
| | | uint16_t GetUwbPollCount(void); |
| | | uint16_t GetWGRecSyncCount(void); |
| | | void LoraSyncRecPoll(void); |
| | | void SyncStateSwitch(void); |
| | | |
| | | |
| | | #endif |