#include "protocol.hpp" //! Set up any global state. //! //! This function is executed once during the start of the firmware. auto setup() -> void { // Initialize the protocol subsystem. tq::protocol::init(); // Initialize the serial output stream. Serial.begin(9600); } //! Perform one iteration through the firmare logic. //! //! This function is called in an endless loop after the firmware has started. auto loop() -> void { // Always try to start a new transfer. tq::protocol::start(); // Receive a new message if one is available. auto maybe_message = tq::protocol::perform_transfer(); if (maybe_message.has_value()) { // Extract the received message. auto const& message = maybe_message.value(); Serial.write("new message: "); Serial.write("throttle == "); Serial.print(static_cast(message.throttle)); } }