Files
DP44/docs/ai/DataPRO/CanFDApiProxy/Interfaces.md
2026-04-17 14:55:32 -04:00

5.3 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/CanFDApiProxy/Interfaces/ICANFDApi.cs
2026-04-17T16:30:03.655597+00:00 zai-org/GLM-5-FP8 1 b24ad9d8b14edfc6

Interfaces

Purpose

This module defines the ICANFDApi interface, which abstracts communication with CAN-FD (Controller Area Network with Flexible Data-rate) devices. It provides a comprehensive contract for retrieving device status, configuring hardware settings, and managing file operations on remote CAN-FD devices identified by a device host string.

Public Interface

Interface: ICANFDApi

Read Operations (all async, return Task<T>):

  • Task<UsbTreeMessage> GetUsbTree(string deviceHost, CancellationToken cancellationToken) - Retrieves USB tree structure.
  • Task<UsbStatsMessage> GetUsbStats(string deviceHost, CancellationToken cancellationToken) - Retrieves USB statistics.
  • Task<SerialMessage> GetSerial(string deviceHost, CancellationToken cancellationToken) - Retrieves serial information.
  • Task<LEDsMessage> GetLEDs(string deviceHost, CancellationToken cancellationToken) - Retrieves LED status.
  • Task<ClocksMessage> GetClocks(string deviceHost, CancellationToken cancellationToken) - Retrieves clock information.
  • Task<EventPinMessage> GetEventPin(string deviceHost, CancellationToken cancellationToken) - Retrieves event pin status.
  • Task<CANConfigMessage> GetCANConfig(string deviceHost, CancellationToken cancellationToken) - Retrieves CAN configuration.
  • Task<CANInfoMessage> GetCANInfo(string deviceHost, CancellationToken cancellationToken) - Retrieves CAN information.
  • Task<CANStateMessage> GetCANState(string deviceHost, CancellationToken cancellationToken) - Retrieves CAN state.
  • Task<CANStatsMessage> GetCANStats(string deviceHost, CancellationToken cancellationToken) - Retrieves CAN statistics.
  • Task<BatteryMessage> GetBattery(string deviceHost, CancellationToken cancellationToken) - Retrieves battery status.
  • Task<ServicesMessage> GetServices(string deviceHost, CancellationToken cancellationToken) - Retrieves services information.
  • Task<NtpMessage> GetNtp(string deviceHost, CancellationToken cancellationToken) - Retrieves NTP configuration.
  • Task<PowerMessage> GetPower(string deviceHost, CancellationToken cancellationToken) - Retrieves power status.
  • Task<DeviceInfoMessage> GetDeviceInfo(string deviceHost, CancellationToken cancellationToken) - Retrieves device information.
  • Task<RecordingMessage> GetRecording(string deviceHost, CancellationToken cancellationToken) - Retrieves recording status.
  • Task<NetworkMessage> GetNetwork(string deviceHost, CancellationToken cancellationToken) - Retrieves network configuration.

Write Operations (all async):

  • Task<SerialMessage> SetSerial(string deviceHost, SerialRequest serialRequest, CancellationToken cancellationToken) - Sets serial configuration.
  • Task<LEDsPostMessage> SetLEDs(string deviceHost, LedName led, LedCmd cmd, LedColor color, CancellationToken cancellationToken) - Controls LED state.
  • Task<ClocksMessage> SetClocks(string deviceHost, DateTime dateTime, CancellationToken cancellationToken) - Sets device clock.
  • Task<EventPinMessage> SetEventPinArm(string deviceHost, CancellationToken cancellationToken) - Arms the event pin.
  • Task<EventPinMessage> SetEventPinDisarm(string deviceHost, CancellationToken cancellationToken) - Disarms the event pin.
  • Task<ClocksMessage> SyncClocks(string deviceHost, CancellationToken cancellationToken) - Synchronizes clocks.
  • Task<CANConfigMessage> SetCANConfig(string deviceHost, CANConfigRequest canConfigRequest, CancellationToken cancellationToken) - Sets CAN configuration.
  • Task<PowerMessage> SetPowerOff(string deviceHost, CancellationToken cancellationToken) - Powers off the device.
  • Task<PowerMessage> SetPowerReboot(string deviceHost, CancellationToken cancellationToken) - Reboots the device.
  • Task<RecordingMessage> SetRecordingStart(string deviceHost, CancellationToken cancellationToken) - Starts recording.
  • Task<RecordingMessage> SetRecordingStop(string deviceHost, CancellationToken cancellationToken) - Stops recording.
  • Task<NetworkMessage> SetNetwork(string deviceHost, NetworkRequest networkRequest, CancellationToken cancellationToken) - Sets network configuration.

File Operations:

  • Task Download(string deviceHost, string usbPath, string destinationDirectory, TimeSpan timeOut, CancellationToken cancellationToken) - Downloads a file from device.
  • Task<StatusMessage> Upload(string deviceHost, string uploadUsbPath, string sourcefile, TimeSpan timeOut, CancellationToken cancellationToken) - Uploads a file to device.
  • Task<StatusMessage> Delete(string deviceHost, string usbPath, CancellationToken cancellationToken) - Deletes a file on device.

Invariants

  • All interface methods require a non-null deviceHost string (not enforced at interface level, but implied by design).
  • All operations are cancellable via CancellationToken.
  • All operations are asynchronous and return Task or Task<T>.

Dependencies

Depends on:

  • CANFDApiProxy.Messages - Message types for responses (UsbTreeMessage, SerialMessage, etc.)
  • CANFDApiProxy.Requests - Request types for write operations (SerialRequest, CANConfigRequest, NetworkRequest)
  • System, System.Threading, System.Threading.Tasks - BCL types

Depended on by: Implementations of this interface (not present