71 void setMode(uint8_t newMode);
96 uint8_t hardwareAddress,
97 I2CBus bus = I2CBus::SECONDARY,
98 uint8_t factoryAddress = 0b0100000,
115 uint8_t litCount, lastBitePoint;
117 bool displayBitePoint;
I2CBus
I2C bus controller.
RevLightsMode
Display modes for "rev lights".
@ RIGHT_TO_LEFT
Moving from right to left.
@ IN_OUT
Moving from center to edges.
@ LEFT_TO_RIGHT
Moving from left to right.
@ OUT_IN
Moving from edges to center.
Abstract interface for notifications and telemetry display.
8-LED driver based on the PCF8574 GPIO expander
Use eight single-color LEDS as "rev lights".
virtual uint16_t getStackSize() override
Get the stack size required by this user interface.
virtual void onBitePoint(uint8_t bitePoint) override
Notify a change in the current bite point.
virtual void shutdown() override
Cut power to the UI hardware.
virtual void onSaveSettings() override
Notify that user settings have been saved to flash memory.
virtual uint8_t getMaxFPS() override
Get the maximum FPS supported by the underlying hardware.
virtual void onStart() override
Called just once after initialization.
virtual void onTelemetryData(const TelemetryData *pTelemetryData) override
Notify new telemetry data.
virtual void onLowBattery() override
Notify low battery.
virtual void serveSingleFrame(uint32_t elapsedMs) override
Draw a single frame.
PCF8574RevLights(uint8_t hardwareAddress, I2CBus bus=I2CBus::SECONDARY, uint8_t factoryAddress=0b0100000, RevLightsMode displayMode=RevLightsMode::LEFT_TO_RIGHT)
Create "rev lights" using PCF8574 and single-color LEDs.
virtual void onConnected() override
Notify device is connected.
Use a single-color LED as a shift light indicator.
virtual uint8_t getMaxFPS() override
Get the maximum FPS supported by the underlying hardware.
virtual void shutdown() override
Cut power to the UI hardware.
SimpleShiftLight(OutputGPIO ledPin)
Create a simple "shift" light.
virtual uint16_t getStackSize() override
Get the stack size required by this user interface.
virtual void onConnected() override
Notify device is connected.
virtual void onTelemetryData(const TelemetryData *pTelemetryData) override
Notify new telemetry data.
virtual void onStart() override
Called just once after initialization.
virtual void serveSingleFrame(uint32_t elapsedMs) override
Draw a single frame.
A simple LED driver for a single LED.
Output-capable GPIO pin number.