169 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			169 lines
		
	
	
		
			4.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_LED_H
 | ||
|  | #define _IOT_LED_H
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #include "iot_config.h"
 | ||
|  | 
 | ||
|  | #define LED_TARGET_SHADOW_ENA   1
 | ||
|  | #define LED_TARGET_SHADOW_DIS   0
 | ||
|  | #define LED_TARGET_INC          1
 | ||
|  | #define LED_TARGET_DEC          0
 | ||
|  | #define LED_CONF_SIGOUT_ENA     1
 | ||
|  | #define LED_CONF_SIGOUT_DIS     0
 | ||
|  | 
 | ||
|  | typedef enum { | ||
|  |     IOT_LED_STS_UNUSE = 0, | ||
|  |     IOT_LED_STS_BLINK = 1, | ||
|  |     IOT_LED_STS_ON = 2, | ||
|  |     IOT_LED_STS_OFF = 3, | ||
|  |     IOT_LED_STS_UN_SUPPORT = 4, | ||
|  | } IOT_LED_STS; | ||
|  | 
 | ||
|  | typedef enum { | ||
|  |     IOT_PLC_TX_LED = 0, | ||
|  |     IOT_PLC_RX_LED = 1, | ||
|  |     IOT_PLC_PHASE_A_LED = 2, | ||
|  |     IOT_PLC_PHASE_B_LED = 3, | ||
|  |     IOT_PLC_PHASE_C_LED = 4, | ||
|  |     IOT_PWR_LED = 5, | ||
|  |     IOT_RS485_LED = 6, | ||
|  |     IOT_PLC_TR_LED = 7, | ||
|  |     IOT_PLC_NET_LED = 8, | ||
|  |     IOT_SIGNAL_LED = 9, | ||
|  |     IOT_RF_LED = 10, | ||
|  |     IOT_MAX_LED = 11, | ||
|  |     IOT_LED_TYPE_INVALID = 0xff, | ||
|  | } IOT_LED_TYPE; | ||
|  | 
 | ||
|  | typedef enum { | ||
|  |     IOT_TIMER_BLINK = 0, | ||
|  |     IOT_TIMER_PHASE = 1, | ||
|  |     IOT_TIMER_PWR = 2, | ||
|  |     IOT_TIMER_3 = 3, | ||
|  |     IOT_TIMER_MAX, | ||
|  | } IOT_TIMER_TYPE; | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_pwr_control_enable() - function used to enable power | ||
|  |  *                                       led control by app. | ||
|  |  */ | ||
|  | void iot_led_pwr_control_enable(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_blink() - function used to set led blink | ||
|  |  * @param id:           led number id | ||
|  |  * @param cnt:          blink count. led will blink muitple times. | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set led blink successful | ||
|  |  * | ||
|  |  */ | ||
|  | uint32_t iot_led_blink(uint8_t id, uint8_t cnt); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_on() - function used to set led on | ||
|  |  * @param id:           led number id | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set led blink successful | ||
|  |  * | ||
|  |  */ | ||
|  | uint32_t iot_led_on(uint8_t id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_off() - function used to set led off | ||
|  |  * @param id:           led number id | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set led blink successful | ||
|  |  * | ||
|  |  */ | ||
|  | uint32_t iot_led_off(uint8_t id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_set_blink_interval() - function used to set led blink interval | ||
|  |  * @param interval:     led blink interval. unit is 1ms. | ||
|  |  */ | ||
|  | void iot_led_set_blink_interval(uint16_t interval); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_enable_blink() - function used to enable/disable blink feature | ||
|  |  * @param enable:       0 - disable, otherwise - enable | ||
|  |  */ | ||
|  | void iot_led_enable_blink(uint8_t enable); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_init() - function used to set led init | ||
|  |  * | ||
|  |  * @return              ERR_OK(0) - set led blink successful | ||
|  |  * | ||
|  |  */ | ||
|  | uint32_t iot_led_init(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_enable_hook_blink() - function used to disable/enable hook | ||
|  |  *                                      blink feature. | ||
|  |  * @param enable:       0 - disable, otherwise - enable. | ||
|  |  */ | ||
|  | void iot_led_enable_hook_blink(uint8_t enable); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_blink_from_hook() - function used to set led blink. | ||
|  |  * @param id:           led number id | ||
|  |  * @param cnt:          blink count. led will blink muitple times. | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set led blink successful | ||
|  |  */ | ||
|  | uint32_t iot_led_blink_from_hook(uint8_t id, uint8_t cnt); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_gpio_on() - function used to set gpio mtx outid. | ||
|  |  * @param id:           led number id | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set set gpio mtx outid successful | ||
|  |  */ | ||
|  | uint32_t iot_led_gpio_on(uint8_t id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_gpio_on() - function used to set gpio mtx default. | ||
|  |  * @param id:           led number id | ||
|  |  * | ||
|  |  * @return              ERR_FAIL(11) - led number id is wrong | ||
|  |  * @return              ERR_OK(0) - set set gpio mtx default successful | ||
|  |  */ | ||
|  | uint32_t iot_led_gpio_off(uint8_t id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief iot_led_gpio_pin_select() - function used to set gpio function. | ||
|  |  * @param pin:           pin index | ||
|  |  * @param func:          gpio function | ||
|  |  * | ||
|  |  */ | ||
|  | void iot_led_gpio_pin_select(uint32_t pin, uint32_t func); | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif //IOT_LED_H
 | ||
|  | 
 |