88 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			88 lines
		
	
	
		
			3.0 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_BRK_H_
 | ||
|  | #define _IOT_BRM_BRK_H_
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_init() - init breaker device. | ||
|  |  * @retval ERR_OK - for success case, othersie - error code. | ||
|  |  */ | ||
|  | uint32_t iot_brm_brk_init(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_mr_data() - send mr data to breaker. | ||
|  |  * @param pkt: pointer to send data. | ||
|  |  * @param recv_from: pkt from device, see - iot_brm_data_owner_t. | ||
|  |  * @retval ERR_OK - for success case, pkt is consumed. | ||
|  |  *         othersie - error code. pkt is not consumed. | ||
|  |  */ | ||
|  | uint32_t iot_brm_brk_mr_data(iot_pkt_t *pkt, iot_brm_data_owner_t recv_from); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_switch_event_handle() - handle switch event msg. | ||
|  |  * @param msgid: event msg, see - IOT_BRM_BRK_REQ_XXX. | ||
|  |  */ | ||
|  | void iot_brm_brk_switch_event_handle(uint32_t msgid); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_fwd_boardcast_data() - fwd boardcast data to breaker. | ||
|  |  * @param data: boardcast data ptr. | ||
|  |  * @param len: boardcast data length. | ||
|  |  * @param recv_from: pkt from device, see - iot_brm_data_owner_t. | ||
|  |  */ | ||
|  | void iot_brm_brk_fwd_boardcast_data(uint8_t *data, uint16_t len, | ||
|  |     iot_brm_data_owner_t recv_from); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_handle_rsp_data() - breaker handle response data. | ||
|  |  * @param brk_pkt: pointer to breaker rsp data. | ||
|  |  */ | ||
|  | void iot_brm_brk_handle_rsp_data(iot_pkt_t *brk_pkt); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_proto_645_r_data_hander() - handle breaker read di. | ||
|  |  * @param di: breaker di. | ||
|  |  * @param out_buf: read di out buffer ptr. | ||
|  |  * @param len_out: read di length. | ||
|  |  * @retval breaker di handle result, see - PROTO_645_2007_XXX. | ||
|  |  */ | ||
|  | uint8_t iot_brm_brk_proto_645_r_data_hander(uint32_t di, uint8_t *out_buf, | ||
|  |     uint8_t *len_out); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_correct_time() - breaker fwd correct time to switch. | ||
|  |  * @retval ERR_OK - for success load correct tm. | ||
|  |  *         othersie - error. | ||
|  |  */ | ||
|  | uint32_t iot_brm_brk_correct_time(proto_645_corr_time_t *correct_tm); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_timeout_handle() - breaker timeout handle. | ||
|  |  */ | ||
|  | void iot_brm_brk_timeout_handle(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_timeout() - breaker periodic handleing function. | ||
|  |  */ | ||
|  | void iot_brm_brk_timeout(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_brm_brk_deinit() - deinit breaker device. | ||
|  |  */ | ||
|  | void iot_brm_brk_deinit(); | ||
|  | 
 | ||
|  | #endif /* _IOT_BRM_BRK_H_ */
 |