78 lines
2.5 KiB
C
Executable File
78 lines
2.5 KiB
C
Executable File
/****************************************************************************
|
|
|
|
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_SMART_METER_H_
|
|
#define _IOT_SMART_METER_H_
|
|
|
|
#include "iot_task_api.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define IOT_SMART_METER_DEBUG 0
|
|
|
|
/* define priorities for message to be handle */
|
|
#define IOT_SMART_METER_TASK_QUEUE_HP 0
|
|
#define IOT_SMART_METER_PROTO_TASK_QUEUE_LP 1
|
|
#define IOT_SMART_METER_PROTO_TASK_QUEUE_MAX_PRIO 2
|
|
|
|
/** Message type defination: */
|
|
#define IOT_SMART_METER_MT_UART 1 /** message from uart. */
|
|
#define IOT_SMART_METER_MT_SG 2 /** message from sg-app. */
|
|
#define IOT_SMART_METER_MT_WL 3 /** message from wrieless device. */
|
|
|
|
/** uart data process handle */
|
|
typedef void (*iot_smart_meter_uart_data_handle)(
|
|
iot_pkt_t *p_pkt, uint32_t arg);
|
|
|
|
/** smart meter message */
|
|
typedef struct _iot_smart_meter_msg {
|
|
/* iot task message */
|
|
iot_task_msg_t task_msg;
|
|
/* pointer to message data */
|
|
void *data;
|
|
/* another data field */
|
|
uint32_t data2;
|
|
} iot_smart_meter_msg_t;
|
|
|
|
/**
|
|
* @brief iot_smart_meter_uart_send() - Send data to uart port.
|
|
* @param p_pkt: packet for sending to uart port.
|
|
* @return: ERR_OK - send successfully.
|
|
* ERR_FAIL - send failed.
|
|
*/
|
|
uint32_t iot_smart_meter_uart_send(iot_pkt_t *p_pkt);
|
|
|
|
/**
|
|
* @brief iot_smart_meter_ipc_send() - Send message to sg-app.
|
|
* @param p_pkt: packet for sending to sg-app.
|
|
* @param arg: argument for sending to sg-app.
|
|
*/
|
|
void iot_smart_meter_ipc_send(iot_pkt_t *p_pkt, uint32_t arg);
|
|
|
|
/* @brief iot_smart_meter_get_mac_addr() - get mac addr of smart meter device.
|
|
*
|
|
* @return: return the meter's mac addr.
|
|
*/
|
|
uint8_t *iot_smart_meter_get_mac_addr(void);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _IOT_SMART_METER_H_ */
|