68 lines
5.3 KiB
Markdown
68 lines
5.3 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- DataPRO/CanFDApiProxy/Interfaces/ICANFDApi.cs
|
||
|
|
generated_at: "2026-04-17T16:30:03.655597+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "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
|