|
Open Model Railroad Network (OpenMRN)
|
Version of the ConfiguredConsumer class that can handle many GPIO pins with two events each. More...
#include <MultiConfiguredConsumer.hxx>
Public Types | |
| typedef ConsumerConfig | config_entry_type |
Public Types inherited from ConfigUpdateListener | |
| enum | UpdateAction { UPDATED = 0 , REINIT_NEEDED , REBOOT_NEEDED } |
| Specifies what additional steps are needed to apply the new configuration. More... | |
Additional Inherited Members | |
Public Member Functions inherited from ConfigUpdateListener | |
| virtual UpdateAction | apply_configuration (int fd, bool initial_load, BarrierNotifiable *done)=0 |
| Notifies the component that there is new configuration available for loading. | |
| virtual void | factory_reset (int fd)=0 |
| Clears configuration file and resets the configuration settings to factory value. | |
Public Member Functions inherited from QMember | |
| void | init () |
| Initiailize a QMember, in place of a public placement construction. | |
Protected Member Functions inherited from QMember | |
| QMember () | |
| Constructor. | |
| ~QMember () | |
| Destructor. | |
Protected Attributes inherited from QMember | |
| QMember * | next |
| pointer to the next member in the queue | |
Private Types inherited from openlcb::EventHandler | |
| using | EventReport = openlcb::EventReport |
| using | EventRegistryEntry = openlcb::EventRegistryEntry |
| using | EventId = openlcb::EventId |
Private Member Functions inherited from openlcb::SimpleEventHandler | |
| IGNOREFN (handle_event_report) | |
| IGNOREFN (handle_consumer_identified) | |
| IGNOREFN (handle_consumer_range_identified) | |
| IGNOREFN (handle_producer_identified) | |
| IGNOREFN (handle_producer_range_identified) | |
| IGNOREFN (handle_identify_consumer) | |
| IGNOREFN (handle_identify_producer) | |
Private Member Functions inherited from openlcb::EventHandler | |
| virtual void | handle_event_report (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done)=0 |
| Called on incoming EventReport messages. | |
| virtual void | handle_consumer_identified (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done) |
| Called on another node sending ConsumerIdentified for this event. | |
| virtual void | handle_consumer_range_identified (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done) |
| Called on another node sending ConsumerRangeIdentified. | |
| virtual void | handle_producer_identified (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done) |
| Called on another node sending ProducerIdentified for this event. | |
| virtual void | handle_producer_range_identified (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done) |
| Called on another node sending ProducerRangeIdentified for this event. | |
| virtual void | handle_identify_global (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done)=0 |
| Called on the need of sending out identification messages. | |
| virtual void | handle_identify_consumer (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done)=0 |
| Called on another node sending IdentifyConsumer. | |
| virtual void | handle_identify_producer (const EventRegistryEntry ®istry_entry, EventReport *event, BarrierNotifiable *done)=0 |
| Called on another node sending IdentifyProducer. | |
Version of the ConfiguredConsumer class that can handle many GPIO pins with two events each.
This saves very significant amount of memory compared to instantiating individual ConfigredConsumer instances – helpful when a single small MCU is exporting a large number of IOs via for example shift register outputs.
Definition at line 51 of file MultiConfiguredConsumer.hxx.
| typedef ConsumerConfig openlcb::MultiConfiguredConsumer::config_entry_type |
Definition at line 55 of file MultiConfiguredConsumer.hxx.