bsp_led 测试ok
This commit is contained in:
parent
2d160a9ccc
commit
17b751f331
|
@ -10,7 +10,9 @@
|
||||||
"sleep.h": "c",
|
"sleep.h": "c",
|
||||||
"bsp_ml307r.h": "c",
|
"bsp_ml307r.h": "c",
|
||||||
"bsp_adc.h": "c",
|
"bsp_adc.h": "c",
|
||||||
"log.h": "c"
|
"log.h": "c",
|
||||||
|
"bsp_led.h": "c",
|
||||||
|
"bsp_uart.h": "c"
|
||||||
},
|
},
|
||||||
"MicroPython.executeButton": [
|
"MicroPython.executeButton": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,108 +1,124 @@
|
||||||
/*
|
#ifndef __BSP_LED_H__
|
||||||
* bsp_led.h
|
#define __BSP_LED_H__
|
||||||
*
|
|
||||||
* Created on: 2024Äê12ÔÂ16ÈÕ
|
|
||||||
* Author: 123
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INC_BSP_LED_H_
|
#include "CONFIG.h"
|
||||||
#define INC_BSP_LED_H_
|
|
||||||
|
|
||||||
#include "CH58x_common.h"
|
#define LED_ALARM_R_BPIN GPIO_Pin_8
|
||||||
|
#define LED_RUN_G_BPIN GPIO_Pin_9
|
||||||
|
#define LED_FAULT_Y_APIN GPIO_Pin_1
|
||||||
|
#define LED_VBAT_R_APIN GPIO_Pin_7
|
||||||
|
|
||||||
#define LED_VALVE_R_PIN GPIO_Pin_8
|
/**********LED_ALARM_R_BPIN**************/
|
||||||
#define LED_VALVE_G_PIN GPIO_Pin_9
|
#define LED_ALARM_R_ON \
|
||||||
#define LED_ALARM_PIN GPIO_Pin_1
|
do \
|
||||||
#define LED_VBAT_PIN GPIO_Pin_7
|
{ \
|
||||||
|
GPIOB_SetBits(LED_ALARM_R_BPIN); \
|
||||||
/***********************************************************************************************
|
GPIOB_ModeCfg(LED_ALARM_R_BPIN, GPIO_ModeOut_PP_5mA); \
|
||||||
#define LED_VALVE_OPEN {GPIOA_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN | LED_VALVE_Y_PIN);\
|
|
||||||
GPIOA_SetBits(LED_VALVE_G_PIN);}
|
|
||||||
|
|
||||||
#define LED_VALVE_CLOSE {GPIOA_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN | LED_VALVE_Y_PIN);\
|
|
||||||
GPIOA_SetBits(LED_VALVE_R_PIN);}
|
|
||||||
|
|
||||||
#define LED_ALARM_OPEN GPIOB_SetBits(LED_ALARM_PIN)
|
|
||||||
|
|
||||||
#define LED_ALARM_CLOSE GPIOB_ResetBits(LED_ALARM_PIN)
|
|
||||||
|
|
||||||
#define LED_VBAT_OPEN GPIOA_SetBits(LED_VBAT_PIN)
|
|
||||||
|
|
||||||
#define LED_VBAT_CLOSE GPIOA_ResetBits(LED_VBAT_PIN)
|
|
||||||
|
|
||||||
#define LED_ALL_OPEN {GPIOA_SetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN | LED_VALVE_Y_PIN);\
|
|
||||||
GPIOA_SetBits(LED_ALARM_PIN | LED_VBAT_PIN)}
|
|
||||||
|
|
||||||
#define LED_ALL_CLOSE {GPIOA_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN | LED_VALVE_Y_PIN);\
|
|
||||||
GPIOA_ResetBits(LED_ALARM_PIN | LED_VBAT_PIN);}
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
/**********LED_VALVE**************/
|
|
||||||
#define LED_VALVE_OPEN \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
GPIOB_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN );\
|
|
||||||
GPIOB_SetBits(LED_VALVE_G_PIN); \
|
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeOut_PP_5mA); \
|
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
#define LED_VALVE_CLOSE \
|
#define LED_ALARM_R_OFF \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
GPIOB_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN);\
|
GPIOB_ResetBits(LED_ALARM_R_BPIN); \
|
||||||
GPIOB_SetBits(LED_VALVE_R_PIN); \
|
GPIOB_ModeCfg(LED_ALARM_R_BPIN, GPIO_ModeIN_PD); \
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeOut_PP_5mA); \
|
} while (0);
|
||||||
|
|
||||||
|
/**********LED_RUN_G_BPIN**************/
|
||||||
|
#define LED_RUN_G_ON \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOB_SetBits(LED_RUN_G_BPIN); \
|
||||||
|
GPIOB_ModeCfg(LED_RUN_G_BPIN, GPIO_ModeOut_PP_5mA); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
#define LED_RUN_G_OFF \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOB_ResetBits(LED_RUN_G_BPIN); \
|
||||||
|
GPIOB_ModeCfg(LED_RUN_G_BPIN, GPIO_ModeIN_PD); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
/**********LED_FAULT_Y_APIN**************/
|
||||||
|
#define LED_FAULT_Y_ON \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOA_SetBits(LED_FAULT_Y_APIN); \
|
||||||
|
GPIOA_ModeCfg(LED_FAULT_Y_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
#define LED_FAULT_Y_OFF do \
|
||||||
|
{ \
|
||||||
|
GPIOA_ResetBits(LED_FAULT_Y_APIN); \
|
||||||
|
GPIOA_ModeCfg(LED_FAULT_Y_APIN, GPIO_ModeIN_PD); \
|
||||||
|
} \
|
||||||
|
while (0);
|
||||||
|
|
||||||
|
/**********LED_VBAT_R_APIN**************/
|
||||||
|
#define LED_VBAT_R_ON \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOA_SetBits(LED_VBAT_R_APIN); \
|
||||||
|
GPIOA_ModeCfg(LED_VBAT_R_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
#define LED_VBAT_R_OFF \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOA_ResetBits(LED_VBAT_R_APIN); \
|
||||||
|
GPIOA_ModeCfg(LED_VBAT_R_APIN, GPIO_ModeIN_PD); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
#define LED_VALVE_OPEN \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOB_ResetBits(LED_ALARM_R_BPIN | LED_RUN_G_BPIN); \
|
||||||
|
GPIOB_SetBits(LED_RUN_G_BPIN); \
|
||||||
|
GPIOB_ModeCfg(LED_ALARM_R_BPIN | LED_RUN_G_BPIN, GPIO_ModeOut_PP_5mA); \
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
#define LED_VALVE_CLOSE \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
GPIOB_ResetBits(LED_ALARM_R_BPIN | LED_RUN_G_BPIN); \
|
||||||
|
GPIOB_SetBits(LED_ALARM_R_BPIN); \
|
||||||
|
GPIOB_ModeCfg(LED_ALARM_R_BPIN | LED_RUN_G_BPIN, GPIO_ModeOut_PP_5mA); \
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
/**********LED_ALARM**************/
|
/**********LED_ALARM**************/
|
||||||
#define LED_ALARM_OPEN \
|
#define LED_ALARM_OPEN \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
GPIOA_SetBits(LED_ALARM_PIN); \
|
GPIOA_SetBits(LED_FAULT_Y_APIN); \
|
||||||
GPIOA_ModeCfg(LED_ALARM_PIN, GPIO_ModeOut_PP_5mA); \
|
GPIOA_ModeCfg(LED_FAULT_Y_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
#define LED_ALARM_CLOSE \
|
#define LED_ALARM_CLOSE \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
GPIOA_ResetBits(LED_ALARM_PIN); \
|
GPIOA_ResetBits(LED_FAULT_Y_APIN); \
|
||||||
GPIOA_ModeCfg(LED_ALARM_PIN, GPIO_ModeOut_PP_5mA); \
|
GPIOA_ModeCfg(LED_FAULT_Y_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
/**********LED_VBAT**************/
|
/**********LED_VBAT**************/
|
||||||
#define LED_VBAT_OPEN \
|
#define LED_VBAT_OPEN \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
GPIOA_SetBits(LED_VBAT_PIN); \
|
GPIOA_SetBits(LED_VBAT_R_APIN); \
|
||||||
GPIOA_ModeCfg(LED_VBAT_PIN, GPIO_ModeOut_PP_5mA); \
|
GPIOA_ModeCfg(LED_VBAT_R_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
#define LED_VBAT_CLOSE \
|
#define LED_VBAT_CLOSE \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
GPIOA_ResetBits(LED_VBAT_PIN); \
|
GPIOA_ResetBits(LED_VBAT_R_APIN); \
|
||||||
GPIOA_ModeCfg(LED_VBAT_PIN, GPIO_ModeOut_PP_5mA); \
|
GPIOA_ModeCfg(LED_VBAT_R_APIN, GPIO_ModeOut_PP_5mA); \
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
/**********LED_ALL**************/
|
extern tmosTaskID led_task_id;
|
||||||
#define LED_ALL_OPEN \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
GPIOB_SetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN);\
|
|
||||||
GPIOA_SetBits(LED_ALARM_PIN | LED_VBAT_PIN);\
|
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeOut_PP_5mA); \
|
|
||||||
GPIOA_ModeCfg(LED_ALARM_PIN | LED_VBAT_PIN, GPIO_ModeOut_PP_5mA); \
|
|
||||||
} while (0);
|
|
||||||
|
|
||||||
#define LED_ALL_CLOSE \
|
void BSP_LED_AllOn(void);
|
||||||
do \
|
void BSP_LED_AllOff(void);
|
||||||
{ \
|
|
||||||
GPIOB_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN);\
|
|
||||||
GPIOA_ResetBits(LED_ALARM_PIN | LED_VBAT_PIN); \
|
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeOut_PP_5mA); \
|
|
||||||
GPIOA_ModeCfg(LED_ALARM_PIN | LED_VBAT_PIN, GPIO_ModeOut_PP_5mA); \
|
|
||||||
} while (0);
|
|
||||||
|
|
||||||
void BSP_LED_Init(void);
|
void BSP_LED_Init(void);
|
||||||
|
|
||||||
#endif /* INC_BSP_LED_H_ */
|
#endif /* __BSP_LED_H__ */
|
||||||
|
|
|
@ -418,10 +418,10 @@ void PRESS_LowerIO_Init(void)
|
||||||
void Lower_IO_Deinit(void)
|
void Lower_IO_Deinit(void)
|
||||||
{
|
{
|
||||||
// LED
|
// LED
|
||||||
GPIOB_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN);
|
GPIOB_ResetBits(LED_ALARM_R_BPIN | LED_RUN_G_BPIN);
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeIN_PD);
|
GPIOB_ModeCfg(LED_ALARM_R_BPIN | LED_RUN_G_BPIN, GPIO_ModeIN_PD);
|
||||||
GPIOA_ResetBits(LED_VBAT_PIN | LED_ALARM_PIN);
|
GPIOA_ResetBits(LED_VBAT_R_APIN | LED_FAULT_Y_APIN);
|
||||||
GPIOA_ModeCfg(LED_VBAT_PIN | LED_ALARM_PIN, GPIO_ModeIN_PD);
|
GPIOA_ModeCfg(LED_VBAT_R_APIN | LED_FAULT_Y_APIN, GPIO_ModeIN_PD);
|
||||||
|
|
||||||
// KEY | RESET KEY | boot KEY
|
// KEY | RESET KEY | boot KEY
|
||||||
GPIOB_ResetBits(KEY_BPIN);
|
GPIOB_ResetBits(KEY_BPIN);
|
||||||
|
|
|
@ -6,15 +6,115 @@
|
||||||
*/
|
*/
|
||||||
#include "bsp_led.h"
|
#include "bsp_led.h"
|
||||||
|
|
||||||
void BSP_LED_Init(void)
|
#include "bsp_uart.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
|
#undef LOG_ENABLE
|
||||||
|
#define LOG_ENABLE 1
|
||||||
|
|
||||||
|
#define LOG_LVL LOG_DEBUG
|
||||||
|
|
||||||
|
#undef LOG_TAG
|
||||||
|
#define LOG_TAG "led"
|
||||||
|
|
||||||
|
tmosTaskID led_task_id = INVALID_TASK_ID;
|
||||||
|
|
||||||
|
static tmosEvents LED_Task_ProcessEvent(tmosTaskID taskID, tmosEvents event)
|
||||||
{
|
{
|
||||||
GPIOB_ResetBits(LED_VALVE_R_PIN | LED_VALVE_G_PIN);
|
|
||||||
GPIOB_ModeCfg(LED_VALVE_R_PIN | LED_VALVE_G_PIN, GPIO_ModeOut_PP_5mA);
|
|
||||||
|
|
||||||
GPIOA_ResetBits(LED_ALARM_PIN);
|
|
||||||
GPIOA_ModeCfg(LED_ALARM_PIN, GPIO_ModeOut_PP_5mA);
|
|
||||||
|
|
||||||
GPIOA_ResetBits(LED_VBAT_PIN);
|
|
||||||
GPIOA_ModeCfg(LED_VBAT_PIN, GPIO_ModeOut_PP_5mA);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BSP_LED_AllOn(void)
|
||||||
|
{
|
||||||
|
LED_ALARM_R_ON;
|
||||||
|
LED_RUN_G_ON;
|
||||||
|
LED_FAULT_Y_ON;
|
||||||
|
LED_VBAT_R_ON;;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BSP_LED_AllOff(void)
|
||||||
|
{
|
||||||
|
LED_ALARM_R_OFF;
|
||||||
|
LED_RUN_G_OFF;
|
||||||
|
LED_FAULT_Y_OFF;
|
||||||
|
LED_VBAT_R_OFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BSP_LED_Init(void)
|
||||||
|
{
|
||||||
|
BSP_LED_AllOff();
|
||||||
|
|
||||||
|
led_task_id = TMOS_ProcessEventRegister(LED_Task_ProcessEvent);
|
||||||
|
if (led_task_id == INVALID_TASK_ID)
|
||||||
|
{
|
||||||
|
logError("LED task register failed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
logInfo("BSP_LED_Init");
|
||||||
|
}
|
||||||
|
|
||||||
|
void LED_Ctrl(uint8_t led, uint8_t status)
|
||||||
|
{
|
||||||
|
switch (led)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
BSP_LED_AllOn();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BSP_LED_AllOff();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
LED_ALARM_R_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_ALARM_R_OFF;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
LED_RUN_G_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_RUN_G_OFF;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
LED_FAULT_Y_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_FAULT_Y_OFF;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
LED_VBAT_R_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_VBAT_R_OFF;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
|
||||||
|
LED_Ctrl, LED_Ctrl, "LED_Ctrl <led> <status>");
|
||||||
|
|
|
@ -282,7 +282,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
|
||||||
if (events & VAVLE_CLOSE_END_EVT) // 阀门关闭结束事件
|
if (events & VAVLE_CLOSE_END_EVT) // 阀门关闭结束事件
|
||||||
{
|
{
|
||||||
VALVE_STOP();
|
VALVE_STOP();
|
||||||
LED_ALL_CLOSE;
|
BSP_LED_AllOff();
|
||||||
|
|
||||||
tmos_memset(&RelyData, 0, sizeof(RelyData));
|
tmos_memset(&RelyData, 0, sizeof(RelyData));
|
||||||
BSP_VALVE_Generate_ValveResponse(&RelyData, kCmdCloseVavle, 1);
|
BSP_VALVE_Generate_ValveResponse(&RelyData, kCmdCloseVavle, 1);
|
||||||
|
@ -328,7 +328,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
|
||||||
if (events & VAVLE_OPEN_END_EVT) // 阀门打开结束事件
|
if (events & VAVLE_OPEN_END_EVT) // 阀门打开结束事件
|
||||||
{
|
{
|
||||||
VALVE_STOP();
|
VALVE_STOP();
|
||||||
LED_ALL_CLOSE;
|
BSP_LED_AllOff();
|
||||||
|
|
||||||
tmos_memset(&RelyData, 0, sizeof(RelyData));
|
tmos_memset(&RelyData, 0, sizeof(RelyData));
|
||||||
BSP_VALVE_Generate_ValveResponse(&RelyData, kCmdOpenVavle, 1);
|
BSP_VALVE_Generate_ValveResponse(&RelyData, kCmdOpenVavle, 1);
|
||||||
|
|
Loading…
Reference in New Issue