Paparazzi UAS  v6.2.0_stable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
led_hw.c
Go to the documentation of this file.
1 #include "led_hw.h"
2 
3 #include <stdio.h>
4 #include <caml/mlvalues.h>
5 #include <caml/memory.h>
6 #include <caml/callback.h>
7 
8 value *leds_closure = 0;
9 bool led_disabled = false;
10 
11 value register_leds_cb(value cb_name)
12 {
13  leds_closure = caml_named_value(String_val(cb_name));
14  return Val_unit;
15 }
16 
17 void _led_on(int i) { if (leds_closure && !led_disabled) callback2(*leds_closure, Val_int(i), Val_int(1)); }
18 void _led_off(int i) { if (leds_closure && !led_disabled) callback2(*leds_closure, Val_int(i), Val_int(0)); }
19 void _led_toggle(int i) { if (leds_closure && !led_disabled) callback2(*leds_closure, Val_int(i), Val_int(2)); }
20 
void _led_on(int i)
Definition: led_hw.c:17
void _led_off(int i)
Definition: led_hw.c:18
bool led_disabled
Definition: led_hw.c:9
value register_leds_cb(value cb_name)
Definition: led_hw.c:11
void _led_toggle(int i)
Definition: led_hw.c:19
value * leds_closure
Definition: led_hw.c:8