Boboter
Loading...
Searching...
No Matches
subtasks.h
Go to the documentation of this file.
1
7
8#pragma once
9
10#include <cstdint>
11#include "include/flags.h"
12
13namespace Task::Subtask {
14 using subtask_callback_t = uint32_t(*)();
15 using subtask_init_callback_t = void(*)();
16
17 constexpr uint8_t subtask_count() {
18 uint8_t num_tasks = 1;
19
20 if constexpr (!Flags::ENABLE_TEST_MODE) {
21 ++num_tasks;
22
23 if constexpr (Flags::ENABLE_DISPLAY) {
24 ++num_tasks;
25 }
26 if constexpr (Flags::ENABLE_BUZZER) {
27 ++num_tasks;
28 }
29 }
30
31 return num_tasks;
32 }
33
38
39 uint32_t status_led_subtask();
40 uint32_t rgb_leds_subtask();
41 uint32_t display_subtask();
42 uint32_t buzzer_subtask();
43}
constexpr bool ENABLE_DISPLAY
Enables the SSD1306 OLED display.
Definition flags.h:54
constexpr bool ENABLE_BUZZER
Enables the buzzer.
Definition flags.h:60
constexpr bool ENABLE_TEST_MODE
Enable the robot's test mode.
Definition flags.h:25
Definition buzzer_subtask.cpp:10
void rgb_leds_subtask_init()
Definition rgb_leds_subtask.cpp:18
void display_subtask_init()
Definition display_subtask.cpp:15
constexpr uint8_t subtask_count()
Definition subtasks.h:17
uint32_t rgb_leds_subtask()
Definition rgb_leds_subtask.cpp:20
uint32_t status_led_subtask()
Definition status_led_subtask.cpp:20
uint32_t(*)() subtask_callback_t
Definition subtasks.h:14
uint32_t buzzer_subtask()
Definition buzzer_subtask.cpp:15
void buzzer_subtask_init()
Definition buzzer_subtask.cpp:11
void status_led_subtask_init()
Definition status_led_subtask.cpp:18
void(*)() subtask_init_callback_t
Definition subtasks.h:15
uint32_t display_subtask()
Definition display_subtask.cpp:25