LoconetService Class |
Namespace: RRAutoLib.Loconet
The LoconetService type exposes the following members.
Name | Description | |
---|---|---|
![]() | LoconetService | Initializes a new instance of the LoconetService class |
Name | Description | |
---|---|---|
![]() ![]() | BaudRate | Gets or sets the baud rate speed of the Loconet interface. |
![]() ![]() | ComPort | Gets or sets the communication port number of the Loconet interface. |
![]() | ElapsedTime | Gets the elapsed time since the Loconet service was started. |
![]() ![]() | FlowControl | Gets or sets whether flow control should be used with the Loconet interface. |
![]() | IsStarted | Indicates whether the Loconet service has been started. |
![]() ![]() | SyncContext | Gets or sets the dispatcher that will be responsible for thread synchronization. |
Name | Description | |
---|---|---|
![]() ![]() | Start | Starts the Loconet service and connects to the serial port. |
![]() ![]() | Stop | Stops the Loconet service and disconnects from the serial port. |
![]() ![]() | TxPacket | Transmits a packet asynchronously with normal priority. |
![]() | TxPriorityPacket | Transmits a packet asynchronously with high priority. |
![]() ![]() | TxPrioritySpeed | Transmits a locomotive speed control packet asynchronously with high priority. |
Name | Description | |
---|---|---|
![]() ![]() | RxPacketOnSyncThread | Occurs when a Loconet packet is received. |
![]() | RxPacketOnWorkerThread | Occurs when a Loconet packet is received. |
This service creates a connection to a given serial port and maintains a transmission thread, separate from the calling thread. Events are executed on either a pool of worker threads or can be synchronized to a given thread. In most cases this will be the UI thread. (see: SyncContext for event synchronization).
There are two transmission queues: a normal and a priority queue. Packets placed in the priority queue preempt the ones in the normal queue. All packet transmissions are asynchronous and they can either be awaited on, or used in a fire and forget fashion.
All methods implemented by this class are thread safe.