123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- /** @file
- spi_demo.h
- @brief
- This file is used to define bt demo for different Quectel Project.
- */
- /*================================================================
- Copyright (c) 2020 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
- Quectel Wireless Solution Proprietary and Confidential.
- =================================================================*/
- /*=================================================================
- EDIT HISTORY FOR MODULE
- This section contains comments describing changes made to the module.
- Notice that changes are listed in reverse chronological order.
- WHEN WHO WHAT, WHERE, WHY
- ------------ ------- -------------------------------------------------------------------------------
- =================================================================*/
- #ifndef SPI_DEMO_H
- #define SPI_DEMO_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define APP_A_ADDR (0x8000)
- #define BOOT_INFO_ADDR (0x3c000)
- #define DATA_LENTH (512)
- #define FRAME_HEAD (0X5A)
- #define DATA_HEAD (0X5A)
- #define FRAME_TAIL (0XA5)
- #define MPU_ADDR (0X10)
- #define MCU_ADDR (0X20)
- #define MASTER_CMD (0X50)
- #define SLAVE_CMD_ACK (0X5C)
- #define SLAVE_CMD_NACK (0X5F)
- #define MASTER_CTR (0X60)
- #define SLAVE_CTR_ACK (0X6C)
- #define SLAVE_CTR_NACK (0X6F)
- #define SPI_BUF_LEN (512)
- /*========================================================================
- * Variable Definition
- *========================================================================*/
- #define SPI_DEMO_TASK_PRIO 12
- #define SPI_DEMO_TASK_STACK_SIZE 8*1024
- #define SPI_DEMO_TASK_EVENT_CNT 4
- /*========================================================================
- * function Definition
- *========================================================================*/
- QlOSStatus ql_spi_demo_init(void);
- #pragma pack(1)
- /* 固定开头帧 */
- typedef struct
- {
- uint8_t frame_head;
- uint16_t data_lenth;
- uint8_t source_addr;
- uint8_t destination_addr;
- uint8_t cmd;
- uint8_t cmd_type;
- }frame_pack_t;
- /* 固定帧各字节顺序*/
- enum
- {
- FRAME_HEAD_INDEX = 0,
- FRAME_LEN_INDEX,
- FRAME_SOUADDR_INDEX = 3,
- FRAME_DETADDR_INDEX,
- FRAME_CMD_INDEX,
- FRAME_CMD_TYPE_INDEX,
- };
- #pragma pack()
- unsigned short crc16_modbus(unsigned char *pdata, int len);
- uint8_t data_decode_mpu(uint8_t *input_data, uint16_t input_data_len, uint8_t* output, uint16_t* output_data_len);
- uint8_t data_mpu_pack(uint8_t* output, uint16_t* output_data_len, uint8_t cmd, uint8_t cmd_type);
- uint16_t Full_Frame_Verifi(uint8_t *srcdata, uint16_t srcLen, uint16_t* frame_start);
- #ifdef __cplusplus
- } /*"C" */
- #endif
- #endif /* SPI_DEMO_H */
|