101 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.4 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_ENERGE_METER_API_H
 | |
| #define IOT_ENERGE_METER_API_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef uint32_t (*iot_energe_meter_energe_cb)(uint32_t inc_mWs);
 | |
| 
 | |
| /** \defgroup MISC_APIs MISC APIs
 | |
|  *  @brief MISC APIs
 | |
|  *
 | |
|  *
 | |
|  */
 | |
| 
 | |
| /** @addtogroup MISC_APIs
 | |
|  * @{
 | |
|  *
 | |
|  */
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_init() - enable energe meter sub system
 | |
|  *
 | |
|  */
 | |
| void iot_energe_meter_init();
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_rms_voltage() - get voltage's rms.
 | |
|  * @return voltage's rms
 | |
|  *
 | |
|  */
 | |
| float iot_energe_meter_get_rms_voltage(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_rms_current() - get current's rms.
 | |
|  * @return current's rms
 | |
|  *
 | |
|  */
 | |
| float iot_energe_meter_get_rms_current(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_active_power() - get active power.
 | |
|  * @return active power
 | |
|  *
 | |
|  */
 | |
| float iot_energe_meter_get_active_power(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_reactive_power() - get reactive power.
 | |
|  * @return reactive power
 | |
|  *
 | |
|  */
 | |
| float iot_energe_meter_get_reactive_power(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_factor() - get power factor.
 | |
|  * @return power factor
 | |
|  *
 | |
|  */
 | |
| float iot_energe_meter_get_power_factor(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_get_freq() - get main frequency.
 | |
|  * @return main frequency
 | |
|  *
 | |
|  */
 | |
| uint32_t iot_energe_meter_get_freq(void);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_energe_meter_pwr_cb_register() - register increase pwr callback function.
 | |
|  * @return ERR_OK or ohters FAIL
 | |
|  *
 | |
|  */
 | |
| void iot_energe_meter_pwr_cb_register(iot_energe_meter_energe_cb cb);
 | |
| 
 | |
| /**
 | |
|  * @}
 | |
|  */
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /*IOT_ENERGE_METER_API_H*/
 |