62 lines
1.4 KiB
C
62 lines
1.4 KiB
C
|
|
#include "led.h"
|
|||
|
|
|
|||
|
|
static uint32_t last_tick = 0;
|
|||
|
|
static uint32_t net_led_tick = 0;
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>־<EFBFBD><D6BE>0=δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1=<3D><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> */
|
|||
|
|
volatile uint8_t g_net_led_connected = 0;
|
|||
|
|
/* SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>־<EFBFBD><D6BE>1=NET_LED 100ms <20><><EFBFBD><EFBFBD> */
|
|||
|
|
volatile uint8_t g_net_led_smartconfig = 0;
|
|||
|
|
|
|||
|
|
void ledInit(void)
|
|||
|
|
{
|
|||
|
|
GPIO_InitTypeDef g = {0};
|
|||
|
|
|
|||
|
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
|||
|
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|||
|
|
|
|||
|
|
g.Mode = GPIO_MODE_OUTPUT_PP;
|
|||
|
|
g.Pull = GPIO_NOPULL;
|
|||
|
|
g.Speed = GPIO_SPEED_FREQ_LOW;
|
|||
|
|
|
|||
|
|
/* LED2 - PC13 */
|
|||
|
|
g.Pin = LED2_Pin;
|
|||
|
|
HAL_GPIO_Init(LED2_Port, &g);
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE> - PB13, Ĭ<><C4AC>Ϩ<EFBFBD><CFA8> */
|
|||
|
|
g.Pin = NET_LED_Pin;
|
|||
|
|
HAL_GPIO_Init(NET_LED_Port, &g);
|
|||
|
|
|
|||
|
|
LED2_OFF;
|
|||
|
|
NET_LED_OFF;
|
|||
|
|
g_net_led_connected = 0;
|
|||
|
|
|
|||
|
|
last_tick = HAL_GetTick();
|
|||
|
|
net_led_tick = HAL_GetTick();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>: ÿ500ms LED2<44><32>˸һ<CBB8><D2BB> */
|
|||
|
|
void activeEvents(void)
|
|||
|
|
{
|
|||
|
|
if (HAL_GetTick() - last_tick >= 200) {
|
|||
|
|
last_tick = HAL_GetTick();
|
|||
|
|
LED2_TOGGLE;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD>ָʾ<D6B8>ƿ<EFBFBD><C6BF>ƣ<EFBFBD>SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100ms <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱÿ 500ms <EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
if (g_net_led_smartconfig) {
|
|||
|
|
if (HAL_GetTick() - net_led_tick >= 100) {
|
|||
|
|
net_led_tick = HAL_GetTick();
|
|||
|
|
NET_LED_TOGGLE;
|
|||
|
|
}
|
|||
|
|
} else if (!g_net_led_connected) {
|
|||
|
|
if (HAL_GetTick() - net_led_tick >= 500) {
|
|||
|
|
net_led_tick = HAL_GetTick();
|
|||
|
|
NET_LED_TOGGLE;
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
NET_LED_ON;
|
|||
|
|
}
|
|||
|
|
}
|