mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-23 01:43:35 +08:00
Added LED_TOGGLE for normal LEDs
This commit is contained in:
@@ -57,6 +57,7 @@ __BEGIN_DECLS
|
|||||||
extern void led_init();
|
extern void led_init();
|
||||||
extern void led_on(int led);
|
extern void led_on(int led);
|
||||||
extern void led_off(int led);
|
extern void led_off(int led);
|
||||||
|
extern void led_toggle(int led);
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
__EXPORT void led_init()
|
__EXPORT void led_init()
|
||||||
@@ -94,3 +95,21 @@ __EXPORT void led_off(int led)
|
|||||||
stm32_gpiowrite(GPIO_LED2, true);
|
stm32_gpiowrite(GPIO_LED2, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__EXPORT void led_toggle(int led)
|
||||||
|
{
|
||||||
|
if (led == 0)
|
||||||
|
{
|
||||||
|
if (stm32_gpioread(GPIO_LED1))
|
||||||
|
stm32_gpiowrite(GPIO_LED1, false);
|
||||||
|
else
|
||||||
|
stm32_gpiowrite(GPIO_LED1, true);
|
||||||
|
}
|
||||||
|
if (led == 1)
|
||||||
|
{
|
||||||
|
if (stm32_gpioread(GPIO_LED2))
|
||||||
|
stm32_gpiowrite(GPIO_LED2, false);
|
||||||
|
else
|
||||||
|
stm32_gpiowrite(GPIO_LED2, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ __BEGIN_DECLS
|
|||||||
extern void led_init();
|
extern void led_init();
|
||||||
extern void led_on(int led);
|
extern void led_on(int led);
|
||||||
extern void led_off(int led);
|
extern void led_off(int led);
|
||||||
|
extern void led_toggle(int led);
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
__EXPORT void led_init()
|
__EXPORT void led_init()
|
||||||
@@ -83,3 +84,14 @@ __EXPORT void led_off(int led)
|
|||||||
stm32_gpiowrite(GPIO_LED1, true);
|
stm32_gpiowrite(GPIO_LED1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__EXPORT void led_toggle(int led)
|
||||||
|
{
|
||||||
|
if (led == 1)
|
||||||
|
{
|
||||||
|
if (stm32_gpioread(GPIO_LED1))
|
||||||
|
stm32_gpiowrite(GPIO_LED1, false);
|
||||||
|
else
|
||||||
|
stm32_gpiowrite(GPIO_LED1, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
#define LED_ON _IOC(_LED_BASE, 0)
|
#define LED_ON _IOC(_LED_BASE, 0)
|
||||||
#define LED_OFF _IOC(_LED_BASE, 1)
|
#define LED_OFF _IOC(_LED_BASE, 1)
|
||||||
|
#define LED_TOGGLE _IOC(_LED_BASE, 2)
|
||||||
|
|
||||||
__BEGIN_DECLS
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ __BEGIN_DECLS
|
|||||||
extern void led_init();
|
extern void led_init();
|
||||||
extern void led_on(int led);
|
extern void led_on(int led);
|
||||||
extern void led_off(int led);
|
extern void led_off(int led);
|
||||||
|
extern void led_toggle(int led);
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
class LED : device::CDev
|
class LED : device::CDev
|
||||||
@@ -98,6 +99,11 @@ LED::ioctl(struct file *filp, int cmd, unsigned long arg)
|
|||||||
led_off(arg);
|
led_off(arg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LED_TOGGLE:
|
||||||
|
led_toggle(arg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
result = CDev::ioctl(filp, cmd, arg);
|
result = CDev::ioctl(filp, cmd, arg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user