10 #include <satcat5/pkt_buffer.h>
14 #ifndef SATCAT5_PIEZO_BUFFER
15 #define SATCAT5_PIEZO_BUFFER 32
31 unsigned devaddr,
unsigned regaddr = 0);
ConfigBus core definitions.
ConfigBus-controlled piezoelectric buzzer.
satcat5::io::PacketBuffer m_queue
Playback queue.
void timer_event() override
Child class MUST override this method.
satcat5::io::Writeable * queue()
Access the internal playback buffer for writing commands.
Piezo(satcat5::cfg::ConfigBus *cfg, unsigned devaddr, unsigned regaddr=0)
Link this object to the "cfgbus_piezo" control register.
void flush()
Silence playback and flush internal queue.
u8 m_raw[SATCAT5_PIEZO_BUFFER]
Raw working buffer.
void data_rcvd(satcat5::io::Readable *src) override
The data_rcvd() callback is polled whenever data is available.
satcat5::cfg::Register m_reg
Base control register.
Pointer-like wrapper for one or more ConfigBus registers.
Event-handler interface for newly received data.
The PacketBuffer class is a wrapper for a circular buffer, with optional logic to support retention o...
Abstract API for reading byte-streams and packets.
Abstract API for writing byte-streams and packets.
Timer objects are polled after a fixed delay or at a regular interval.
Core event-processing loop for SatCat5 software.