Files
kunlun/export/inc/sg_lib/proto_spg_sta.h
2024-09-28 14:24:04 +08:00

123 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 PROTO_SPG_STA_H
#define PROTO_SPG_STA_H
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push) /* save the pack status */
#pragma pack(1) /* 1 byte align */
/* define spg meter detect state */
#define PROTO_SPG_MD_STATE_DETECTED 0
#define PROTO_SPG_MD_STATE_DETECTING 1
/* power meter info format */
typedef struct _spg_pm_info {
/* power meter addr */
uint8_t addr[IOT_MAC_ADDR_LEN];
} spg_pm_info_t;
/* response power meter addresses number */
typedef struct _spg_afn21_fn01_pm_addr_num_rsp {
/* power meter addresses number */
uint8_t pm_num;
} spg_afn21_fn01_pm_addr_num_rsp_t;
/* request power meter addresses */
typedef struct _spg_afn21_fn02_pm_addr_req {
/* start meter serial number */
uint8_t start_num;
/* request power meter number */
uint8_t pm_num;
} spg_afn21_fn02_pm_addr_req_t;
/* response power meter addresses */
typedef struct _spg_afn21_fn02_pm_addr_rsp {
/* response meter number */
uint8_t pm_num;
/* response meter addr list */
spg_pm_info_t pm[0];
} spg_afn21_fn02_pm_addr_rsp_t;
/* response collector addr */
typedef struct _spg_afn21_fn03_ct_addr_rsp {
/* collector addr */
uint8_t addr[IOT_MAC_ADDR_LEN];
} spg_afn21_fn03_ct_addr_rsp_t;
/* request meter detect list */
typedef struct _spg_afn21_fn04_md_list_req {
/* meter count */
uint8_t meter_count;
/* meter addr list */
uint8_t meter_addr_list[0][IOT_MAC_ADDR_LEN];
} spg_afn21_fn04_md_list_req_t;
/* response meter detect state */
typedef struct _spg_afn21_fn05_md_state_rsq {
/* state, see PROTO_SPG_MD_STATE_XXX */
uint8_t state;
} spg_afn21_fn05_md_state_rsp_t;
/* request login addr to collector */
typedef struct _spg_afn21_fn06_login_addr_req {
/* collector addr */
uint8_t addr[IOT_MAC_ADDR_LEN];
} spg_afn21_fn06_login_addr_req_t;
/* response login addr to infrared */
typedef struct _spg_afn21_fn06_ir_login_addr_rsp {
/* login addr */
uint8_t addr[IOT_MAC_ADDR_LEN];
} spg_afn21_fn06_ir_login_addr_rsp_t;
/* request and response transparent data format */
typedef struct _spg_afn22_fn01_trans_data {
/* data len */
uint16_t len;
/* transparent data */
uint8_t data[0];
} spg_afn22_fn01_trans_data_t;
/* response vendor code and software version info */
typedef struct _spg_afn23_fn01_query_ver_info_rsp {
/* vendor code, ASCII */
uint16_t vendor_id;
/* chip code, ASCII */
uint16_t chip_code;
/* build time, format DD/MM/YY, BCD */
uint8_t build_time[3];
/* version */
uint8_t ver[2];
} spg_afn23_fn01_query_ver_info_rsp_t;
/* response device type */
typedef struct _spg_afn25_fn01_query_dev_type_rsp {
/* device type, 0 is collector, 1 is converter */
uint8_t dev_type;
} spg_afn25_fn01_query_dev_type_rsp_t;
#pragma pack(pop) /* restore the pack status */
#ifdef __cplusplus
}
#endif
#endif