Paparazzi UAS
v7.0_unstable
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
"
7
#include "
modules/datalink/uart_print.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) {
16
if
(
sys_time_check_and_ack_timer
(0)) {
17
main_periodic_task
();
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();
28
}
29
30
static
inline
void
main_periodic_task
(
void
)
31
{
32
LED_TOGGLE
(1);
33
UART0PrintString(
"demo3 running since "
);
34
UART0PrintHex32(
sys_time
.
nb_sec
);
35
UART0PrintString(
" seconds\n"
);
36
}
LED_TOGGLE
#define LED_TOGGLE(i)
Definition:
led_hw.h:53
mcu_init
void mcu_init(void)
Microcontroller peripherals initialization.
Definition:
mcu.c:98
led.h
arch independent LED (Light Emitting Diodes) API
main_periodic_task
static void main_periodic_task(void)
Definition:
main_demo3.c:30
main
int main(void)
Definition:
main_demo3.c:12
main_init
static void main_init(void)
Definition:
main_demo3.c:23
mcu.h
Arch independent mcu ( Micro Controller Unit ) utilities.
std.h
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.h
Architecture independent timing functions.
sys_time::nb_sec
volatile uint32_t nb_sec
full seconds since startup
Definition:
sys_time.h:72
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:123
sys_time
Definition:
sys_time.h:71
uart.h
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
uart_print.h
sw
airborne
firmwares
tutorial
main_demo3.c
Generated on Thu Dec 5 2024 13:05:29 for Paparazzi UAS by
1.9.1