95 lines
2.6 KiB
C
95 lines
2.6 KiB
C
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
|
|
#ifndef CLI_IC_TOOL_H
|
|
#define CLI_IC_TOOL_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* pack for the structures in the whole file */
|
|
#pragma pack(push) // save the pack status
|
|
#pragma pack(1) // 1 byte align
|
|
|
|
typedef struct cli_cmd_read_data {
|
|
uint32_t addr;
|
|
uint16_t length;
|
|
uint8_t operation_type;
|
|
} cli_cmd_read_data_t;
|
|
|
|
typedef struct _cli_data_info {
|
|
uint32_t addr;
|
|
uint8_t operation_type;
|
|
uint16_t len;
|
|
uint8_t data[];
|
|
} cli_data_info;
|
|
|
|
/* data info */
|
|
typedef struct _cli_reg_info {
|
|
uint32_t addr;
|
|
uint8_t operation_type;
|
|
uint32_t value;
|
|
} cli_reg_info;
|
|
|
|
/* set data ack */
|
|
typedef struct _cli_set_data_ack {
|
|
uint32_t addr;
|
|
uint16_t len;
|
|
uint8_t operation_type;
|
|
uint8_t result;
|
|
} cli_set_data_ack;
|
|
|
|
enum CLI_DATA_OPERATION_TYPE {
|
|
CLI_DATA_OPERATION_TYPE_REG,
|
|
CLI_DATA_OPERATION_TYPE_RAM,
|
|
CLI_DATA_OPERATION_TYPE_FLASH,
|
|
CLI_DATA_OPERATION_TYPE_REG_GROUP,
|
|
};
|
|
|
|
/**
|
|
* @brief This function is used to read data from the common memory.
|
|
*
|
|
* @param buffer is required by function.
|
|
* @param length is required by function.
|
|
*/
|
|
void cli_common_memory_read_data(iot_pkt_t *buffer, uint32_t length);
|
|
|
|
/**
|
|
* @brief This function is used to write data from the common memory.
|
|
*
|
|
* @param buffer is required by function.
|
|
* @param length is required by function.
|
|
*/
|
|
void cli_common_memory_write_data(iot_pkt_t *buffer, uint32_t bufferlen);
|
|
|
|
/**
|
|
* @brief This function is used to msgid processing.
|
|
*
|
|
* @param msgid is required by function.
|
|
* @param buffer is required by function.
|
|
* @param length is required by function.
|
|
*/
|
|
void iot_ic_tool_op(int msgid, iot_pkt_t* buffer, uint32_t len);
|
|
|
|
#pragma pack(pop) // restore the pack status
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* CLI_IC_TOOL_H */
|
|
|