Interface ICanChannel
- Namespace
- Suucha.Can.Core.Abstractions
- Assembly
- Suucha.Can.Core.dll
Represents a CAN communication channel
public interface ICanChannel : IDisposable
- Inherited Members
Properties
ChannelIndex
Channel index (0-based)
int ChannelIndex { get; }
Property Value
Configuration
Channel configuration
ChannelConfig Configuration { get; }
Property Value
IsStarted
Whether the channel is currently started
bool IsStarted { get; }
Property Value
Methods
ClearBuffer()
Clears the receive buffer
void ClearBuffer()
GetErrorInfo()
Reads channel error information
ChannelErrorInfo GetErrorInfo()
Returns
- ChannelErrorInfo
Channel error information
GetReceiveCount()
Gets the number of frames in the receive buffer
uint GetReceiveCount()
Returns
- uint
Number of available frames
Receive(int)
Receives available CAN frames (non-blocking)
CanFrame[] Receive(int maxCount = 100)
Parameters
maxCountintMaximum number of frames to receive
Returns
- CanFrame[]
Array of received frames
Reset()
Resets the channel
void Reset()
Send(CanFrame)
Sends a CAN frame
int Send(CanFrame frame)
Parameters
frameCanFrameFrame to send
Returns
- int
Number of frames sent (1 on success, 0 on failure)
Exceptions
- TransmitException
Thrown when transmission fails
SendAsync(CanFrame, CancellationToken)
Sends a CAN frame asynchronously
Task<int> SendAsync(CanFrame frame, CancellationToken cancellationToken = default)
Parameters
frameCanFrameFrame to send
cancellationTokenCancellationTokenCancellation token
Returns
SendBatch(IEnumerable<CanFrame>)
Sends multiple CAN frames
int SendBatch(IEnumerable<CanFrame> frames)
Parameters
framesIEnumerable<CanFrame>Frames to send
Returns
- int
Number of frames successfully sent
Exceptions
- TransmitException
Thrown when transmission fails
SendBatchAsync(IEnumerable<CanFrame>, CancellationToken)
Sends multiple CAN frames asynchronously
Task<int> SendBatchAsync(IEnumerable<CanFrame> frames, CancellationToken cancellationToken = default)
Parameters
framesIEnumerable<CanFrame>Frames to send
cancellationTokenCancellationTokenCancellation token
Returns
Start()
Starts the channel (begins receiving frames)
void Start()
Stop()
Stops the channel
void Stop()
Events
ErrorOccurred
Event raised when a channel error occurs
event EventHandler<ChannelErrorEventArgs>? ErrorOccurred
Event Type
MessageReceived
Event raised when a CAN frame is received
event EventHandler<CanFrame>? MessageReceived