Files
kunlun/app/brm/inc/iot_brm_tsfm.h
2024-09-28 14:24:04 +08:00

88 lines
2.8 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_BRM_TSFM_H
#define IOT_BRM_TSFM_H
/* os shim includes */
#include "os_types_api.h"
/* iot common includes */
#include "iot_task_api.h"
#include "iot_rtc_api.h"
#ifdef __cplusplus
extern "C" {
#endif
#if (IOT_BRM_ENABLE)
/* A single station area identification result message can only carry the
* maximum number of site addresses
*/
#define IOT_BRM_TSFM_FRAME_ENTRY_MAX 49
/**
* @brief iot_brm_same_tsfm_info_collect_handle() - handle hardware zone
* identification notification message.
* @param data: data in frame, the format is proto_conn_less_tsfm_info_rpt_t.
* @param len: data length.
* @param pkt: the complete data package, the pkt will be free if exist.
*/
void iot_brm_same_tsfm_info_collect_handle( uint8_t *data, uint16_t len,
iot_pkt_t *pkt);
/**
* @brief iot_brm_same_tsfm_collect_trigger() - trigger collect the hardware
* zone identification notification message.
* @param cco_addr: the cco address.
* @retval: ERR_OK - for successfully, ERR_NOMEM - malloc fail
*/
uint32_t iot_brm_same_tsfm_collect_trigger(uint8_t *cco_addr);
/**
* @brief iot_brm_same_tsfm_collect_timeout() - call periodically to
* determine whether it has timed out, please call it every second.
* @param cur_ts: current time.
*/
void iot_brm_same_tsfm_collect_timeout(void);
/**
* @brief iot_brm_same_tsfm_fill_node_info() - copy the collected sta address
* information.
* @param resp[out]: sta address information out, see
* iot_sg_ext_cus_same_tsfm_node_resp_t.
* @retval: ERR_OK - for successfully, ERR_FAIL - for failure
*/
uint32_t iot_brm_same_tsfm_fill_node_info(
iot_sg_ext_cus_same_tsfm_node_resp_t *resp);
/**
* @brief iot_brm_tsfm_init() - tsfm initialize
*/
uint32_t iot_brm_tsfm_init(void);
/**
* @brief iot_brm_tsfm_deinit() - tsfm deinitialize
*/
void iot_brm_tsfm_deinit(void);
#endif /* IOT_BRM_ENABLE */
#ifdef __cplusplus
}
#endif
#endif