Skip to main content

CanControllerApiWrapper Class

NuGet: GHIElectronics.TinyCLR.Devices.Can
Assembly: GHIElectronics.TinyCLR.Devices.Can
Namespace: GHIElectronics.TinyCLR.Devices.Can.Provider

Concrete ICanControllerProvider backed by the native TinyCLR CAN HAL.

public sealed class CanControllerApiWrapper : ICanControllerProvider

Constructors

CanControllerApiWrapper(NativeApi api)

public CanControllerApiWrapper(NativeApi api)

Wraps the given native API as a provider.

Properties

Api

public NativeApi Api { get; }

The underlying native API descriptor.

WriteBufferSize

public extern int WriteBufferSize { get; set; }

Size of the transmit message queue. (inherited)

ReadBufferSize

public extern int ReadBufferSize { get; set; }

Size of the receive message queue. (inherited)

MessagesToWrite

public extern int MessagesToWrite { get; }

Messages currently queued for transmission. (inherited)

MessagesToRead

public extern int MessagesToRead { get; }

Messages currently available to read. (inherited)

CanWriteMessage

public extern bool CanWriteMessage { get; }

True when the transmit queue has room. (inherited)

CanReadMessage

public extern bool CanReadMessage { get; }

True when at least one received message is available. (inherited)

WriteErrorCount

public extern int WriteErrorCount { get; }

Current transmit error counter (TEC). (inherited)

ReadErrorCount

public extern int ReadErrorCount { get; }

Current receive error counter (REC). (inherited)

SourceClock

public extern int SourceClock { get; }

Source clock feeding the CAN prescaler, in Hz. (inherited)

Methods

Dispose()

public void Dispose()

Releases the native controller.

Enable()

public extern void Enable()

Powers on the controller. (inherited)

Disable()

public extern void Disable()

Powers off the controller. (inherited)

WriteMessages(CanMessage[] messages, int offset, int count)

public extern int WriteMessages(CanMessage[] messages, int offset, int count)

Queues a slice of messages for transmission. Returns count actually queued. (inherited)

Returns int

ReadMessages(CanMessage[] messages, int offset, int count)

public extern int ReadMessages(CanMessage[] messages, int offset, int count)

Dequeues up to count received messages. Returns count actually read. (inherited)

Returns int

SetNominalBitTiming(CanBitTiming bitTiming)

public extern void SetNominalBitTiming(CanBitTiming bitTiming)

Configures arbitration-phase bit timing. (inherited)

SetDataBitTiming(CanBitTiming bitTiming)

public extern void SetDataBitTiming(CanBitTiming bitTiming)

Configures CAN-FD data-phase bit timing. (inherited)

ClearWriteBuffer()

public extern void ClearWriteBuffer()

Empties the transmit queue. (inherited)

ClearReadBuffer()

public extern void ClearReadBuffer()

Empties the receive queue. (inherited)

AddFilter(Filter.IdType idType, Filter.FilterType filterType, uint id1, uint id2)

public extern void AddFilter(Filter.IdType idType, Filter.FilterType filterType, uint id1, uint id2)

Installs an acceptance filter. (inherited)

RejectRemoteFrame(Filter.IdType idType)

public extern void RejectRemoteFrame(Filter.IdType idType)

Filters out RTR frames of the given ID width. (inherited)

ClearFilter()

public extern void ClearFilter()

Removes every installed filter. (inherited)

Events

MessageReceived

public event MessageReceivedEventHandler MessageReceived

Raised when messages arrive. (inherited)

ErrorReceived

public event ErrorReceivedEventHandler ErrorReceived

Raised when a bus error or state change is observed. (inherited)