Files
kunlun/app/smart_grid/inc/iot_sg_ext.h

92 lines
3.0 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 _IOT_SG_EXT_H_
#define _IOT_SG_EXT_H_
/* os shim includes */
#include "os_types_api.h"
/* common includes */
#include "iot_config_api.h"
#include "iot_sg_ext_api.h"
#include "iot_sg_msg.h"
#include "iot_plc_msg_api.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief iot_sg_ext_cusuart_config() - Config uart port that cus-app used.
* This post a message to cus-app.
* @param brate: baudrate
* @param parity: see IOT_UART_PARITY_XXX
* @param data: data bits
* @param stop: stop flag
* @param p_frame_fmt: the format structure of the frame
* @param thd_rx_tm: threshold for receive timeout.
* IOT_SG_EXT_INVALID_TIMEOUT means ignore this.
* @param thd_rx_ful: threshold for receive fifo full.
* IOT_SG_EXT_INVALID_TIMEOUT means ignore this.
* @return: ERR_OK - configuration successful.
* ERR_FAIL - configuration failed.
*/
uint32_t iot_sg_ext_cusuart_config(uint32_t brate, uint8_t parity, uint8_t data,
uint8_t stop, iot_frame_fmt *fmt, uint32_t thd_rx_tm, uint32_t thd_rx_ful);
/**
* @brief iot_sg_ext_send_to_cusapp() - Send data to cusapp.
* @param p_pkt: packet for sending. p_pkt will be freed always.
* @param arg: arg for cus-app.
* @return: ERR_OK - send successful.
* ERR_FAIL - send failed.
*/
uint32_t iot_sg_ext_send_to_cusapp(iot_pkt_t *p_pkt, uint8_t arg);
/**
* @brief iot_sg_ext_app_init() - extend sgapp initializing function called.
* from iot_sg_ext_init().
* @return: ERR_OK - initialization successful.
* ERR_FAIL - initialization failed.
*/
uint32_t iot_sg_ext_app_init(void);
/**
* @brief iot_sg_ext_ipc_send() - Send ipc message to cus-app.
* @param p_pkt: packet for sending to cus-app.
*/
void iot_sg_ext_ipc_send(iot_pkt_t *p_pkt);
/**
* @brief iot_sg_ext_send_msdu_msg_to_cus() - send msdu data to customer app.
* @param pkt: data contain of msdu data.
* @param msdu: msdu data.
*/
void iot_sg_ext_send_msdu_msg_to_cus(iot_pkt_t *pkt,
iot_plc_msdu_recv_t *msdu);
/**
* @brief iot_sg_enable_cus_msdu_fwd() - enable cusapp msdu handle
* @param: if enable cusapp msdu handle
*/
void iot_sg_enable_cus_msdu_fwd(uint8_t enable);
#ifdef __cplusplus
}
#endif
#endif /* _IOT_SG_EXT_H_ */