Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
main_demo4.c
Go to the documentation of this file.
1 #include "std.h"
2 #include "mcu.h"
3 #include "mcu_periph/sys_time.h"
4 #include "led.h"
5 #include "mcu_periph/uart.h"
6 
7 #include "pprzlink/messages.h"
9 
10 static inline void main_init(void);
11 static inline void main_periodic_task(void);
12 
13 int main(void)
14 {
15  main_init();
16  while (1) {
19  }
20  }
21  return 0;
22 }
23 
24 static inline void main_init(void)
25 {
26  mcu_init();
27  sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL);
28  uart0_init_tx();
30 }
31 
32 static inline void main_periodic_task(void)
33 {
34  LED_TOGGLE(1);
35  uint16_t time_sec = sys_time.nb_sec;
36  DOWNLINK_SEND_TAKEOFF(&time_sec);
37 }
uint16_t
unsigned short uint16_t
Definition: types.h:16
mcu_int_enable
#define mcu_int_enable()
Definition: mcu_arch.h:36
LED_TOGGLE
#define LED_TOGGLE(i)
Definition: led_hw.h:53
std.h
main
int main(void)
Definition: main_demo4.c:13
uart.h
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
main_periodic_task
static void main_periodic_task(void)
Definition: main_demo4.c:32
mcu.h
Arch independent mcu ( Micro Controller Unit ) utilities.
sys_time.h
Architecture independent timing functions.
led.h
arch independent LED (Light Emitting Diodes) API
sys_time
Definition: sys_time.h:71
sys_time_register_timer
tid_t sys_time_register_timer(float duration, sys_time_cb cb)
Register a new system timer.
Definition: sys_time.c:43
main_init
static void main_init(void)
Definition: main_demo4.c:24
sys_time::nb_sec
volatile uint32_t nb_sec
full seconds since startup
Definition: sys_time.h:72
mcu_init
void mcu_init(void)
Microcontroller peripherals initialization.
Definition: mcu.c:87
sys_time_check_and_ack_timer
static bool sys_time_check_and_ack_timer(tid_t id)
Check if timer has elapsed.
Definition: sys_time.h:114