Files
kunlun/ftm/mp/cli/cli_ic_tool.h

95 lines
2.6 KiB
C
Raw Normal View History

2024-09-28 14:24:04 +08:00
/****************************************************************************
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 */