105 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.7 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 IOT_CLI_SG_CTRL_API_H
 | |
| #define IOT_CLI_SG_CTRL_API_H
 | |
| 
 | |
| #include "os_types_api.h"
 | |
| 
 | |
| #include "iot_pkt_api.h"
 | |
| #include "iot_utils_api.h"
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #pragma pack(push)  /* save the pack status */
 | |
| #pragma pack(1)     /* 1 byte align */
 | |
| 
 | |
| /** message id used for cli report message to sg ctrl */
 | |
| #define IOT_CLI_SG_CTRL_MSG_REQ_JOIN_NODE       (0x01)
 | |
| #define IOT_CLI_SG_CTRL_MSG_REQ_DATA_DL         (0x02)
 | |
| 
 | |
| /** message id used for sg ctrl report message to cli */
 | |
| #define IOT_CLI_SG_CTRL_MSG_RPT_IS_READY        (0x01)
 | |
| #define IOT_CLI_SG_CTRL_MSG_RPT_DATA_UL         (0x02)
 | |
| 
 | |
| /** translate packet proto type */
 | |
| #define IOT_CTRL_PROTO_3762                     (0x00)
 | |
| #define IOT_CTRL_PROTO_SPG                      (0x01)
 | |
| #define IOT_CTRL_PROTO_INVALID                  (0xFF)
 | |
| 
 | |
| typedef struct _iot_cli_sg_ctrl_join_node_dl {
 | |
|     /** connect node mac address : big endian */
 | |
|     uint8_t                     node[IOT_MAC_ADDR_LEN];
 | |
|     /** node band id */
 | |
|     uint8_t                     band_id;
 | |
|     /** 1 - ckq connect; 0 - ckb connect */
 | |
|     uint8_t                     ckq;
 | |
| } iot_cli_sg_ctrl_join_node_dl;
 | |
| 
 | |
| typedef struct _iot_cli_sg_ctrl_join_node_ack {
 | |
|     /** 0 - receive join node ack, other is wrong */
 | |
|     uint8_t                     result;
 | |
| } iot_cli_sg_ctrl_join_node_ack;
 | |
| 
 | |
| /** cli notify plc mgr state to sg */
 | |
| typedef struct _iot_cli_sg_ctrl_is_ready {
 | |
|     /** new state of plc mgr 0 - is disconnect, 1 - connect */
 | |
|     uint8_t                     ready;
 | |
|     /** mac address of the device had connected */
 | |
|     uint8_t                     mac[IOT_MAC_ADDR_LEN];
 | |
| } iot_cli_sg_ctrl_is_ready_t;
 | |
| 
 | |
| /** plc mgr send cctt data to ctrl sg */
 | |
| typedef struct _iot_cli_sg_ctrl_data_dl {
 | |
|     /** reserved space for future use. */
 | |
|     uint8_t                     reserved[16];
 | |
|     /** app proto packet sequence number */
 | |
|     uint16_t                    app_sn;
 | |
|     /** cctt proto type see - IOT_CTRL_PROTO_XXX */
 | |
|     uint8_t                     proto;
 | |
|     /** data length */
 | |
|     uint16_t                    data_len;
 | |
|     /** cctt data */
 | |
|     uint8_t                     data[0];
 | |
| } iot_cli_sg_ctrl_data_dl_t;
 | |
| 
 | |
| typedef struct _iot_cli_sg_ctrl_data_dl_ack {
 | |
|     /** 0 - receive data ok, see ERR_XX */
 | |
|     uint8_t                     result;
 | |
|     uint16_t                    app_sn;
 | |
| } iot_cli_sg_ctrl_data_dl_ack_t;
 | |
| 
 | |
| /** sg ctrl uplink data to plc mgr */
 | |
| typedef struct _iot_cli_sg_ctrl_data_ul {
 | |
|     /** reserved space for future use. */
 | |
|     uint8_t                     reserved[16];
 | |
|     /** cctt proto type see - IOT_CTRL_PROTO_XXX */
 | |
|     uint8_t                     proto;
 | |
|     /** uplink data length */
 | |
|     uint16_t                    data_len;
 | |
|     /** uplink data */
 | |
|     uint8_t                     data[0];
 | |
| } iot_cli_sg_ctrl_data_ul_t;
 | |
| 
 | |
| #pragma pack(pop)   /* restore the pack status */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* IOT_CLI_SG_CTRL_API_H */
 |