#include "board.h"
|
#ifndef __COMMMAP_H
|
#define __COMMMAP_H
|
|
//#include "stm32f10x.h"
|
//#include <string.h>
|
//#include "Utility.h"
|
//#include "ConfigCan.h"
|
//#include "ConfigUsart.h"
|
//#include "port.h"
|
//#include "Flash.h"
|
|
#define COM_FRAME_MAX_SIZE 50
|
|
//----------------Ö¸ÁîλÖÃ----------------
|
#define COM_HEAD0 0x00
|
#define COM_HEAD1 0x01
|
#define COM_LENGTH 0x02
|
#define COM_SRC_ID 0x03
|
#define COM_DST_ID 0x04
|
#define COM_CMD 0x05
|
#define COM_INDEX 0x06
|
#define COM_DATA 0x07
|
|
//----------------Ö¸ÁîÀàÐÍ----------------
|
//¿ØÖƱí·ÃÎÊÖ¸Áî
|
#define CMD_CMAP_RD 0x01
|
#define CMD_CMAP_WR 0x02
|
#define CMD_CMAP_WR_NR 0x03
|
#define CMD_CMAP_ACK_RD 0x04
|
#define CMD_CMAP_ACK_WR 0x05
|
//Êý¾ÝÏÂÔØÏà¹ØÖ¸Áî
|
#define CMD_IAP_BEGIN 0x07
|
#define CMD_IAP_TRANS 0x08
|
#define CMD_IAP_VERIFY 0x09
|
#define CMD_MCU_RESET 0x0A
|
#define CMD_IAP_ACK 0x0B
|
#define CMD_SAVE_UID 0x0C
|
|
|
////¿ØÖÆÖ¸Áî
|
//#define CMD_CTRL_RD 0x01 //¶ÁÖ¸Áî
|
//#define CMD_CTRL_WR 0x02 //дָÁî
|
//#define CMD_CTRL_WR_NR 0x03 //д¿ØÖƱíÖ¸ÁÎÞ·µ»Ø£©
|
//#define IS_CTRL_PACK(PACK_TYPE) (((PACK_TYPE) == CMD_CTRL_RD) || \
|
// ((PACK_TYPE) == CMD_CTRL_WR) || \
|
// ((PACK_TYPE) == CMD_CTRL_WR_NR) )
|
//
|
////ͨѶָÁî
|
//#define CMD_IAP_BEGIN 0x07 //the macro declaration should be same between difference commu src
|
//#define CMD_IAP_WR 0x08
|
//#define CMD_IAP_CHECKSUM 0x09
|
//#define CMD_IAP_RESET 0x0A
|
//#define IS_IAP_PACK(PACK_TYPE) (((PACK_TYPE) == CMD_IAP_BEGIN) || \
|
// ((PACK_TYPE) == CMD_IAP_WR) || \
|
// ((PACK_TYPE) == CMD_IAP_CHECKSUM) || \
|
// ((PACK_TYPE) == CMD_IAP_RESET) )
|
////ÓïÒôÖ¸Áî
|
//#define CMD_SPK_PLAY 0x11
|
//#define CMD_SPK_ERASE 0x12
|
//#define CMD_SPK_WR_DATA 0x13
|
//#define CMD_SPK_READ 0x14 //ÕâÀïÒ»´ÎÐÔ¶ÁÈ¡ÓïÒô¶ÎÐÅÏ¢
|
//#define IS_SPK_PACK(PACK_TYPE) (((PACK_TYPE) == CMD_SPK_PLAY) || \
|
// ((PACK_TYPE) == CMD_SPK_ERASE) || \
|
// ((PACK_TYPE) == CMD_SPK_READ) || \
|
// ((PACK_TYPE) == CMD_SPK_WR_DATA) )
|
////Åä¶ÔÖ¸Áî
|
//#define CMD_RMC_PAIR 0x1A
|
|
//----------------------ID list--------------------------------------
|
#define _SW_VER (uint16_t)((0x0000<<8)|(0x0001<<4)|(1)) //¹Ì¼þ°æ±¾
|
#define FW_VERSION (uint16_t)((0x00<<12)|_SW_VER)
|
|
#define ID_THIS ID_UWB_ANCHOR
|
|
#define ID_APR_HEAD_R 0x00
|
#define ID_APR_TOP 0x01
|
#define ID_APR_YAW 0x02
|
#define ID_APR_HEAD_L 0x03
|
#define ID_VIO_MAIN_CTRLLER 0x04
|
#define ID_APR_X86 0x05
|
#define ID_VIO_BLE 0x06
|
#define ID_VIO_BMS 0x07
|
#define ID_VIO_UP_CTRLLER 0x08
|
#define ID_UWB_ANCHOR 0x09
|
#define ID_UWB_TAG 0x0A
|
#define ID_MOBILE 0x0B
|
#define ID_DEBUGGER 0x0C
|
|
//--------------------Communication Method---------------------------
|
#define SEND_FROM_CAN 0x01
|
#define SEND_FROM_UART 0x02
|
|
|
#define COMM_MAP_MAX_SIZE 70
|
//-------------------------Anchor°å Map------------------------------
|
#define COMM_MAP_UP_FW_VERSION 0x0A
|
#define COMM_MAP_ANCHOR_FW_VERSION 0x0B
|
#define COMM_MAP_TAG_FW_VERSION 0x0C
|
|
#define COMM_MAP_ELEC_ANG_OFFSET 0x10
|
#define COMM_MAP_PHY_ANG_OFFSET 0x11
|
#define COMM_MAP_PAIR_STATE 0x12
|
#define COMM_MAP_PDOFSET 0x13
|
#define COMM_MAP_PAIRFLAG 0x14
|
#define COMM_MAP_ANGLE_OFFSET 0x15
|
#define COMM_MAP_CALIB_OK 0x16
|
|
#define COMM_MAP_PAIR_REQUESTED 0x1A
|
#define COMM_MAP_TEST_FLAG 0x1B
|
|
//-------------------------Tag°å Map------------------------------
|
#define COM_MAP_UWB_DATA_SIZE (COMM_MAP_IMU_MAGZ_SPD - COMM_MAP_IS_UWB_UPDATED + 1)
|
#define COMM_MAP_IS_UWB_UPDATED 0x20
|
#define COMM_MAP_ANGLE 0x21 //UWB²âµÃµÄ½Ç¶ÈÐÅÏ¢
|
#define COMM_MAP_DIST 0x22 //UWB²âµÃµÄ¾àÀëÐÅÏ¢
|
#define COMM_MAP_SIG_QUALITY 0x23 //UWBÐźÅÖÊÁ¿
|
#define COMM_MAP_TAG_ADDR 0x24
|
#define COMM_MAP_KEYS 0x25 //Ò£¿ØÆ÷°´¼üÐÅÏ¢
|
#define COMM_MAP_ROCKER_X 0x26 //Ò£¿ØÆ÷ºáÏòÒ¡¸ËµÄÖµ
|
#define COMM_MAP_ROCKER_Y 0x27 //Ò£¿ØÆ÷×ÝÏòÒ¡¸ËµÄÖµ
|
#define COMM_MAP_BAT_VOL 0x28 //Ò£¿ØÆ÷µçÁ¿
|
//Ò£¿ØÆ÷IMUÏà¹Ø×´Ì¬
|
#define COMM_MAP_IMU_ROLL_SPD 0x29
|
#define COMM_MAP_IMU_PITCH_SPD 0x2A
|
#define COMM_MAP_IMU_YAW_SPD 0x2B
|
#define COMM_MAP_IMU_ACCX_SPD 0x2C
|
#define COMM_MAP_IMU_ACCY_SPD 0x2D
|
#define COMM_MAP_IMU_ACCZ_SPD 0x2E
|
#define COMM_MAP_IMU_MAGX_SPD 0x2F
|
#define COMM_MAP_IMU_MAGY_SPD 0x30
|
#define COMM_MAP_IMU_MAGZ_SPD 0x31
|
//Ò£¿ØÆ÷µÆµÄ״̬
|
#define COMM_MAP_RC_LED_FOLLOW 0x32
|
#define COMM_MAP_RC_LED_SHOT 0x33
|
#define COMM_MAP_WARN 0x34 //Ò£¿ØÆ÷±¨¾¯Ìáʾ״̬
|
|
//-------------------------пذå Map--------------------------------
|
#define COMM_MAP_LED 0x40
|
#define COMM_MAP_IS_GIMBAL_PLUGED 0x41
|
#define COMM_MAP_SBV_MODE 0x42
|
#define COMM_MAP_GIMBAL_MODE 0x43
|
#define COMM_MAP_VOICE_FLAG 0x44
|
#define COMM_MAP_VOICE_INDEX 0x45
|
|
|
|
|
|
/*---------------------------------------------------------------------
|
VOICE PACK INDEX
|
---------------------------------------------------------------------*/
|
//ÓïÒôÖ¸Áî
|
#define VOICE_WARNING 0
|
#define VOICE_ERROR 1
|
#define VOICE_SHOT 2
|
#define VOICE_RECORD 3
|
#define VOICE_DI 4
|
#define VOICE_DIDI 5
|
#define VOICE_CALL_ARRIVE 6
|
#define VOICE_STANDBY 7
|
#define VOICE_OVERSPEED2 8
|
|
#define VOICE_START 16
|
#define VOICE_CLOSE 17
|
#define VOICE_OVERSPEED1 18
|
#define VOICE_LOCK 19
|
#define VOICE_SIGNAL_WEAK 20
|
#define VOICE_BACKWARD 21
|
#define VOICE_LOWBATERAY 22
|
#define VOICE_FOLLOW_MODE 23
|
#define VOICE_FOLLOW_MODE_EXIT 24
|
#define VOICE_GIMBAL_PLUGEDIN 25
|
#define VOICE_NO_CAMERA 26
|
#define VOICE_GIMBAL_TAKEOFF 27
|
#define VOICE_REMOTE_CTRL_MODE 28
|
#define VOICE_BLE_CONNECT 29
|
#define VOICE_BLE_DISCONECT 30
|
#define VOICE_NOT_ACTIVATED 31
|
#define VOICE_CLOSE_ALERT 32
|
#define VOICE_CAM_MODE_STABLE 33
|
#define VOICE_CAM_MODE_FOLLOW 34
|
#define VOICE_CAM_MODE_LOCK 35
|
|
#define VOICE_MALFUNCTION 56
|
#define VOICE_HIGHBATERAY 57
|
|
typedef struct ComData_
|
{
|
uint8_t length;
|
uint8_t src_id;
|
uint8_t dst_id;
|
uint8_t cmd;
|
uint8_t index;
|
uint8_t data[COM_FRAME_MAX_SIZE];
|
} ComDataClass;
|
|
typedef enum{ UsartReceiveWaitHead0,
|
UsartReceiveWaitHead1,
|
UsartReceiveWaitLength,
|
UsartReceiveWaitData
|
}UsartRecvPackState;
|
|
extern uint16_t gCommMap[COMM_MAP_MAX_SIZE];
|
extern uint16_t gSbvComMap[COMM_MAP_MAX_SIZE];
|
extern uint8_t gErrorCode;
|
|
|
//--------------Ó¦ÓÃ²ã»Øµ÷º¯Êý---------------
|
//extern void (*IapHandlerCallback)(CanReceiveFrame *);
|
//extern void (*CtrlHandlerCallback)(CanReceiveFrame *);
|
//extern void (*SpkHandlerCallback)(CanReceiveFrame *);
|
//extern void (*UwbHandlerCallback)(void);
|
|
void CommMapInit(void);
|
//void CanParseDataHandler(CanRxMsg* pRxMessage);
|
void SendFrame(uint8_t data_length, uint8_t src_id, uint8_t dst_id, uint8_t cmd, uint8_t index, uint8_t* data);
|
#endif
|