CIU32_L051_M307R/bsp/inc/bsp_io_dev.h

112 lines
4.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __BSP_IO_DEV_H__
#define __BSP_IO_DEV_H__
#include "drv_gpio.h"
#include "agile_led.h"
extern agile_led_t *led_r;
extern agile_led_t *led_g;
extern agile_led_t *led_y;
extern agile_led_t *emv;//电磁阀
extern agile_led_t *fj;//风机
#define LED_ON(x) agile_led_on(led_##x)
#define LED_OFF(x) agile_led_off(led_##x)
#define LED_TOGGLE(x) agile_led_toggle(led_##x)
// #define EMV_ACT do{\
// rt_pin_write(EMV_LED_PIN, PIN_LOW);\
// rt_thread_mdelay(100);\
// rt_pin_write(EMV_LED_PIN, PIN_HIGH);\
// rt_thread_mdelay(100);}while(0)\
// #define FJ_ON do{rt_pin_write(FJ_LED_PIN, PIN_HIGH);}while(0)
// #define FJ_OFF do{rt_pin_write(FJ_LED_PIN, PIN_LOW);}while(0)
//#define EMV_ON(x) agile_led_on(x)
//#define FJ_ON(x) agile_led_on(x)
//电磁阀控制采用N沟道MOS管高电平导通
//#define EMV_OFF(x) agile_led_off(x)
//#define FJ_OFF(x) agile_led_off(x)
#define LED_START(x) agile_led_start(led_##x)
//#define EMV_START agile_led_start(emv)
#define DEV_CTRL(x, light_mode, loop_cnt) do \
{ \
agile_led_set_light_mode(x, light_mode, loop_cnt); \
agile_led_start(x); \
} while (0U)
#define LED_STOP(x) do \
{ \
LED_OFF(x); \
agile_led_stop(led_##x); \
} while (0U)
#define LED_CTRL(x, light_mode, loop_cnt) do \
{ \
agile_led_set_light_mode(led_##x, light_mode, loop_cnt); \
} while (0U)
/************************预设的一些LED闪烁模式**************/
// 预热绿灯闪烁
#define GREEN_LED_PREAT do \
{ \
LED_STOP(r); \
LED_STOP(y); \
LED_CTRL(g, "500,500", -1); \
LED_START(g); \
} while (0U)
// 正常绿灯常亮
#define GREEN_LED_NORMAL do \
{ \
LED_STOP(r); \
LED_STOP(y); \
agile_led_stop(led_g); \
LED_ON(g); \
} while (0U)
// 故障状态 黄灯常亮
#define YELLOW_LED_FAULT do \
{ \
LED_STOP(r); \
LED_STOP(g); \
LED_ON(y); \
} while (0U)
// 报警状态 红灯闪烁
#define RED_LED_ALAEM do \
{ \
LED_STOP(g); \
LED_STOP(y); \
LED_CTRL(r, "200,200", -1); \
LED_START(r); \
} while (0U)
// 寿命到期状态 黄灯闪烁
#define YELLOW_LED_END_OF_LIFE do \
{ \
LED_STOP(r); \
LED_STOP(g); \
LED_CTRL(y, "500,500", -1); \
LED_START(y); \
} while (0U)
#endif //!__BSP_LED_H__