DCC-EX Simple Throttle
Simple throttle for a DCC-EX CommandStation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
EventData Struct Reference

Structure to enable supporting EventData that has various different types Byte - caters for 8 bit unsigned integer data (uint8_t x) Integer - caters for signed integer data (int y) Loco - caters for a pointer to a DCCEXProtocol Loco object (Loco *loco) None - caters for events that contain no data and are notification only When adding new data types: More...

#include <EventStructure.h>

Collaboration diagram for EventData:
Collaboration graph
[legend]

Public Types

enum class  DataType {
  ByteData , IntegerData , LocoData , NoneData ,
  TrackPowerData , LocoBroadcastData
}
 

Public Member Functions

 EventData (uint8_t value)
 Constructor for events with a uint8_t parameter.
 
 EventData (int value)
 Constructor for events with an int parameter.
 
 EventData (Loco *value)
 Constructor for events with a Loco pointer.
 
 EventData ()
 Constructor for events with no data or parameters.
 
 EventData (TrackPower value)
 Constructor for events containing track power.
 
 EventData (LocoBroadcast value)
 Constructor for events containing loco broadcasts.
 

Public Attributes

DataType dataType
 
union { 
 
   uint8_t   byteValue 
 
   int   intValue 
 
   Loco *   locoValue 
 
   TrackPower   trackPowerValue 
 
   LocoBroadcast   locoBroadcastValue 
 
};  
 

Detailed Description

Structure to enable supporting EventData that has various different types Byte - caters for 8 bit unsigned integer data (uint8_t x) Integer - caters for signed integer data (int y) Loco - caters for a pointer to a DCCEXProtocol Loco object (Loco *loco) None - caters for events that contain no data and are notification only When adding new data types:

Member Enumeration Documentation

◆ DataType

enum class EventData::DataType
strong
Enumerator
ByteData 
IntegerData 
LocoData 
NoneData 
TrackPowerData 
LocoBroadcastData 

Constructor & Destructor Documentation

◆ EventData() [1/6]

EventData::EventData ( uint8_t  value)
inline

Constructor for events with a uint8_t parameter.

Parameters
value8 bit integer

◆ EventData() [2/6]

EventData::EventData ( int  value)
inline

Constructor for events with an int parameter.

Parameters
valueSigned integer

◆ EventData() [3/6]

EventData::EventData ( Loco *  value)
inline

Constructor for events with a Loco pointer.

Parameters
valuePointer to a loco object

◆ EventData() [4/6]

EventData::EventData ( )
inline

Constructor for events with no data or parameters.

◆ EventData() [5/6]

EventData::EventData ( TrackPower  value)
inline

Constructor for events containing track power.

◆ EventData() [6/6]

EventData::EventData ( LocoBroadcast  value)
inline

Constructor for events containing loco broadcasts.

Parameters
valueLocoBroadcast data structure

Member Data Documentation

◆ [union]

union { ... } EventData

◆ byteValue

uint8_t EventData::byteValue

◆ dataType

DataType EventData::dataType

◆ intValue

int EventData::intValue

◆ locoBroadcastValue

LocoBroadcast EventData::locoBroadcastValue

◆ locoValue

Loco* EventData::locoValue

◆ trackPowerValue

TrackPower EventData::trackPowerValue

The documentation for this struct was generated from the following file: