Paparazzi UAS  v5.15_devel-88-gb3ad7fe
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 }
unsigned short uint16_t
Definition: types.h:16
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
void mcu_init(void)
Microcontroller peripherals initialization.
Definition: mcu.c:83
int main(void)
Definition: main_demo4.c:13
static void main_periodic_task(void)
Definition: main_demo4.c:32
#define mcu_int_enable()
Definition: mcu_arch.h:36
Architecture independent timing functions.
#define LED_TOGGLE(i)
Definition: led_hw.h:53
Arch independent mcu ( Micro Controller Unit ) utilities.
static bool sys_time_check_and_ack_timer(tid_t id)
Check if timer has elapsed.
Definition: sys_time.h:114
volatile uint32_t nb_sec
full seconds since startup
Definition: sys_time.h:72
arch independent LED (Light Emitting Diodes) API
static void main_init(void)
Definition: main_demo4.c:24
tid_t sys_time_register_timer(float duration, sys_time_cb cb)
Register a new system timer.
Definition: sys_time.c:43