The renames land (interrupt_guard, consume_reset_cause, set_duty), the sampler binds its input in the new converter shape (the input pack plus in<>::start() as free-running's one kick), and the console states .allow_baud_error = true for the 115200-at-16-MHz this board has always spoken - the receiver-tolerance table libavr now enforces is stricter than the rate's own +2.1 %. The loader probe reads through avr::flash_load instead of raw pgmspace, the terminal's line buffer is std::array with backspace and delete named, the tree is reformatted under InsertBraces, and the sources are ASCII. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
31 lines
660 B
C++
31 lines
660 B
C++
#include <libavr/libavr.hpp>
|
|
|
|
#include "board.hpp"
|
|
#include "bootloader.hpp"
|
|
#include "controller.hpp"
|
|
#include "statistics.hpp"
|
|
#include "terminal.hpp"
|
|
|
|
using namespace app;
|
|
|
|
template struct avr::isr::emit<uptime::ticker, sampler::input, serial_t>;
|
|
|
|
int main()
|
|
{
|
|
bootloader::handle_reset();
|
|
|
|
avr::init<uptime::ticker, sampler::input, fan, serial_t, statistics>();
|
|
avr::irq::enable();
|
|
sampler::thermistor::start();
|
|
controller::init();
|
|
terminal::init();
|
|
|
|
while (true) {
|
|
controller::poll();
|
|
if (controller::data_available()) {
|
|
statistics::record(static_cast<std::int8_t>((controller::temperature_quarters() + 2) / 4));
|
|
}
|
|
terminal::poll();
|
|
}
|
|
}
|