Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
main_demo3.c
Go to the documentation of this file.
1 
2 #include "std.h"
3 #include "mcu.h"
4 #include "mcu_periph/sys_time.h"
5 #include "led.h"
6 #include "mcu_periph/uart.h"
8 
9 static inline void main_init(void);
10 static inline void main_periodic_task(void);
11 
12 int main(void)
13 {
14  main_init();
15  while (1) {
18  }
19  }
20  return 0;
21 }
22 
23 static inline void main_init(void)
24 {
25  mcu_init();
26  sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL);
27  uart0_init_tx();
29 }
30 
31 static inline void main_periodic_task(void)
32 {
33  LED_TOGGLE(1);
34  UART0PrintString("demo3 running since ");
35  UART0PrintHex32(sys_time.nb_sec);
36  UART0PrintString(" seconds\n");
37 }
main_init
static void main_init(void)
Definition: main_demo3.c:23
mcu_int_enable
#define mcu_int_enable()
Definition: mcu_arch.h:36
uart_print.h
LED_TOGGLE
#define LED_TOGGLE(i)
Definition: led_hw.h:53
std.h
uart.h
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
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
main
int main(void)
Definition: main_demo3.c:12
main_periodic_task
static void main_periodic_task(void)
Definition: main_demo3.c:31
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
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