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

5.2 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/DbAPI/Sensors/ISensors.cs
2026-04-17T15:58:13.020676+00:00 zai-org/GLM-5-FP8 1 aab63aa6f9bf9fbc

Documentation: ISensors Interface

1. Purpose

The ISensors interface defines the database abstraction layer for sensor management within the DataPRO system. It provides a comprehensive API for CRUD operations across multiple sensor types (analog, digital input/output, squib, UART, CAN, thermocoupler) and their associated metadata (calibrations, diagnostic runs, input/output streams). This interface abstracts database persistence concerns from the rest of the application, enforcing user context and connection details for all operations.


2. Public Interface

Analog Sensor Operations

Method Signature Description
SensorsAnalogGet ulong SensorsAnalogGet(IUserDbRecord user, IConnectionDetails connection, int? sensorId, string serialNumber, string eId, out IAnalogDbRecord[] sensors) Retrieves analog sensors matching search criteria. Null parameters act as wildcards.
SensorsAnalogUpdateInsert ulong SensorsAnalogUpdateInsert(IUserDbRecord user, IConnectionDetails connection, IAnalogDbRecord record) Commits an analog sensor record to the database (insert or update).
SensorsAnalogBridgeResistanceGet ulong SensorsAnalogBridgeResistanceGet(IUserDbRecord user, IConnectionDetails connection, string serialNumber, out double bridgeResistance) Retrieves the bridge resistance for a sensor by serial number.

Generic Sensor Operations

Method Signature Description
SensorsGet ulong SensorsGet(IUserDbRecord user, IConnectionDetails connection, string serialNumber, out ISensorDbRecord[] sensors) Retrieves sensors by serial number.
SensorsDelete ulong SensorsDelete(IUserDbRecord user, IConnectionDetails connection, int sensorId, int sensorType) Deletes a specific sensor by ID and type. Sensor types: 0=analog, 1=digital in, 2=digital out, 3=squib, 4=UART.
SensorsDeleteAll ulong SensorsDeleteAll(IUserDbRecord user, IConnectionDetails connection) Deletes ALL sensors in the database.

Calibration Operations

Method Signature Description
SensorCalibrationsGet ulong SensorCalibrationsGet(IUserDbRecord user, IConnectionDetails connection, int? sensorId, string serialNumber, out ISensorCalDbRecord[] calibrations) Retrieves calibrations matching criteria.
SensorCalibrationsInsert ulong SensorCalibrationsInsert(IUserDbRecord user, IConnectionDetails connection, ISensorCalDbRecord cal, int sensorType, bool setCalibrationId) Inserts a new calibration record.
SensorCalibrationsDelete ulong SensorCalibrationsDelete(IUserDbRecord user, IConnectionDetails connection, string sensorSerialNumber, DateTime? calibrationDate, DateTime? modifyDate) Deletes calibrations matching criteria. Nulls are wildcards.

Digital Input/Output Operations

Method Signature Description
SensorsDigitalInGet ulong SensorsDigitalInGet(IUserDbRecord user, IConnectionDetails connection, int? id, string serialNumber, string eId, out IDigitalInDbRecord[] records) Retrieves digital input settings matching criteria.
SensorsDigitalInUpdateInsert ulong SensorsDigitalInUpdateInsert(IUserDbRecord user, IConnectionDetails connection, IDigitalInDbRecord record) Inserts or updates a digital input record.
SensorsDigitalOutGet ulong SensorsDigitalOutGet(IUserDbRecord user, IConnectionDetails connection, int? Id, string serialNumber, out IDigitalOutDbRecord[] records) Retrieves digital output settings matching criteria.
SensorsDigitalOutUpdateInsert ulong SensorsDigitalOutUpdateInsert(IUserDbRecord user, IConnectionDetails connection, IDigitalOutDbRecord record) Commits a digital output setting to the database.

Squib Operations

Method Signature Description
SensorsSquibGet ulong SensorsSquibGet(IUserDbRecord user, IConnectionDetails connection, int? Id, string serialNumber, string eId, out ISquibDbRecord[] records) Retrieves squib settings matching criteria.
SensorsSquibUpdateInsert ulong SensorsSquibUpdateInsert(IUserDbRecord user, IConnectionDetails connection, ISquibDbRecord record) Inserts or updates a squib setting.

UART Operations

Method Signature Description
SensorsUARTGet ulong SensorsUARTGet(IUserDbRecord user, IConnectionDetails connection, int? Id, string SerialNumber, out IUARTRecord[] records) Retrieves UART settings.
SensorsUARTUpdateInsert ulong SensorsUARTUpdateInsert(IUserDbRecord user, IConnectionDetails connection, ref IUARTRecord record) Inserts or updates a UART record. ID is updated on insert.

CAN Operations

Method Signature Description
SensorsCanGet ulong SensorsCanGet(IUserDbRecord user, IConnectionDetails connection, int? Id, string SerialNumber, out ICANRecord[] records) Retrieves CAN records. (No XML documentation in source.)
SensorsCanUpdateInsert