11#ifndef ELEC_C7222_PLATFORM_HPP
12#define ELEC_C7222_PLATFORM_HPP
165 static void SleepUntil(std::chrono::steady_clock::time_point target);
257 std::function<
void(uint32_t)> handler) {
313 bool initialized_{
false};
315 bool arch_initialized_{
false};
317 bool board_io_initialized_{
false};
C++ board-level helper for the C7222 Pico W board.
void EnableIrq(GpioInputEvent events, std::function< void(uint32_t)> handler)
Enable GPIO IRQs for the given event set and handler.
void DisableIrq()
Disable any IRQs configured for this input.
Output-only GPIO wrapper intended for LEDs.
Definition led.hpp:39
void Off()
Turn the LED off.
void Toggle()
Toggle the LED state.
void On()
Turn the LED on.
Disable both copy and move operations.
Definition non_copyable.hpp:75
Simple on-board LED controller.
Definition onboard_led.hpp:34
static OnBoardLED * GetInstance()
Get the singleton instance.
Reads the RP2040 on-chip temperature sensor via the ADC.
Definition onchip_temperature_sensor.hpp:33
static OnChipTemperatureSensor * GetInstance()
Get the singleton instance.
Board-level convenience wrapper for the C7222 Pico W board.
Definition c7222_pico_w_board.hpp:42
static PicoWBoard * GetInstance()
Access the singleton instance (if used).
Led & GetLed(LedId id)
Retrieve a board LED by logical ID.
LedId
Logical LED identifiers mapped to GPIO pins.
Definition c7222_pico_w_board.hpp:52
ButtonId
Logical button identifiers mapped to GPIO pins.
Definition c7222_pico_w_board.hpp:64
Button & GetButton(ButtonId id)
Retrieve a board button by logical ID.
Output-only GPIO abstraction for LEDs.
C7222 course abstractions namespace.
Definition ble.hpp:20
GpioInputEvent
GPIO input event bitmask for IRQ configuration.
Definition gpio.hpp:96
On-board LED abstraction for the C7222 course.
RP2040 on-chip temperature sensor wrapper.
Simple PWM output wrapper with period and duty cycle configuration.