60 bool useAlternateEncoding =
false);
71 bool negativeLogic =
false);
143 bool isFullAddress =
false,
144 I2CBus bus = I2CBus::PRIMARY);
162 bool isFullAddress =
false,
163 I2CBus bus = I2CBus::PRIMARY);
184 const bool negativeLogic =
true);
202 bool complementaryCode =
true);
222 bool complementaryCode =
true);
244 bool complementaryCode =
true);
263 I2CBus bus = I2CBus::PRIMARY,
264 bool enableInternalPullup =
true);
406 namespace securityLock
424 namespace neutralGear
447 namespace codedSwitch
541 user_defined_alt_engaged);
577 std::string deviceName,
578 std::string deviceManufacturer,
579 bool enableAutoPowerOff =
true,
580 uint16_t vendorID = 0,
581 uint16_t productID = 0);
624 uint32_t waitMs = 5000);
711 bool negativeLogic =
true,
712 bool enableInternalPullResistor =
true);
750 uint8_t globalBrightness = 0xFF);
794 template <
typename UIClass,
typename... _Args>
795 inline void add(_Args... __args)
798 std::is_base_of<AbstractUserInterface, UIClass>::value,
799 "Given user interface class is not derived from AbstractUserInterface");
800 ui::add(
new UIClass(std::forward<_Args>(__args)...));
PixelGroup
Available RGB LED groups for pixel control.
Connectivity
Connectivity choice.
@ VALUE
Unspecified value.
I2CBus
I2C bus controller.
PixelFormat
Byte order of pixel data.
@ AUTO
Auto-detect based on pixel driver.
#define JOY_RSHIFT_PADDLE
Right shift paddle.
#define JOY_LSHIFT_PADDLE
Left shift paddle.
PowerLatchMode
Supported power latch modes.
@ POWER_OPEN_DRAIN
Power on when low voltage, power off when open drain.
Abstract interface for notifications and telemetry display.
static PixelControlNotification * getInstance()
Get the singleton instance.
Everything related to the measurement of available battery charge.
void setPowerOffSoC(uint8_t percentage)
Set a battery level to shutdown the system.
void configure(ADC_GPIO battREADPin, OutputGPIO battENPin=UNSPECIFIED::VALUE)
Monitor battery charge using a battery monitor circuit or a voltage divider.
void setExternalPowerWitness(InputGPIO sensePin)
Set a GPIO pin to sense the power wire.
void setPeriod(uint32_t seconds)
Set time interval between measurements.
void setWarningSoC(uint8_t percentage)
Set a battery level to warn to the user.
void setChargingWitness(InputGPIO sensePin, bool negativeLogic=true, bool enableInternalPullResistor=true)
Set a GPIO pin to sense if the battery is being charged.
void run()
Run the custom firmware (non blocking)
Everything related to the HID protocol.
void connectivity(Connectivity option)
Choose a connectivity option.
void configure(std::string deviceName, std::string deviceManufacturer, bool enableAutoPowerOff=true, uint16_t vendorID=0, uint16_t productID=0)
Initialize Bluetooth/USB device.
Everything related to pixel control.
void configure(PixelGroup group, OutputGPIO dataPin, uint8_t pixelCount, bool useLevelShift, PixelDriver pixelType=PixelDriver::WS2812, PixelFormat pixelFormat=PixelFormat::AUTO, uint8_t globalBrightness=0xFF)
Configure an LED strip for pixel control.
Everything related to power management.
void configureWakeUp(RTC_GPIO wakeUpPin)
Initialize power management.
void configurePowerLatch(OutputGPIO latchPin, PowerLatchMode mode=PowerLatchMode::POWER_OPEN_DRAIN, uint32_t waitMs=5000)
Configure an external latch circuit for power on and off.
Holds received telemetry data.
TelemetryData data
Received telemetry data.
Everything related to the user interface, if available.
void addPixelControlNotifications()
Add UI notifications using pixel control.
void add(AbstractUserInterface *instance)
Add a user interface instance.
ADC-capable GPIO pin number.
Output-capable GPIO pin number.
RTC-capable GPIO pin number.