Files
picomap/firmware/test.cpp
2026-04-19 17:38:29 -07:00

41 lines
1.3 KiB
C++

#include "pico/stdlib.h"
#include "hardware/gpio.h"
#include "dispatch.h"
#include "handlers.h"
#include "igmp.h"
#include "test_handlers.h"
static constexpr uint8_t LED_PIN = 25;
static void led_toggle() {
gpio_xor_mask(1 << LED_PIN);
dispatch_schedule_ms(1000, led_toggle);
}
std::string_view firmware_name = "picomap_test";
uint32_t firmware_build_epoch = BUILD_EPOCH;
static constexpr handler_entry handlers[] = {
{RequestInfo::ext_id, typed_handler<RequestInfo, handle_info>},
{RequestLog::ext_id, typed_handler<RequestLog, handle_log>},
{RequestFlashErase::ext_id, typed_handler<RequestFlashErase, handle_flash_erase>},
{RequestFlashWrite::ext_id, typed_handler<RequestFlashWrite, handle_flash_write>},
{RequestReboot::ext_id, typed_handler<RequestReboot, handle_reboot>},
{RequestFlashStatus::ext_id, typed_handler<RequestFlashStatus, handle_flash_status>},
{RequestListTests::ext_id, typed_handler<RequestListTests, handle_list_tests>},
{RequestTest::ext_id, typed_handler<RequestTest, handle_test>},
};
int main() {
handlers_init();
dispatch_init(PICOMAP_PORT_BE);
igmp::join(PICOMAP_DISCOVERY_GROUP);
handlers_start();
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
dispatch_schedule_ms(1000, led_toggle);
dispatch_run(handlers);
}