/daqifi-desktop

Primary LanguageC#MIT LicenseMIT

DAQiFi Desktop

Codacy Badge

Windows desktop application (.NET) that is used to communicate with DAQiFi hardware.

Tech Stack

  • .NET 4.8
  • WPF
  • SqlServerSe

Dependencies

  • EntityFramework (ORM)
  • Google Protocol Buffers (read incoming data from DAQiFi hardware)
  • MahApps (UI components)
  • Oxyplot (for graphing)

CI/CD

None yet as this Requires .NET6 to build with GitHub Actions.

Observability

Exceptions are sent to BugSnag

Documentation

How data goes from the device to the database.

sequenceDiagram
DAQiFiHardware->>IStreamingDevice: Protobuf Message
IStreamingDevice->>MessageConsumer: Protobuf Message
MessageConsumer->>MessageConsumer: Decode Message
MessageConsumer->>IDevice:OnMessageReceived()
IDevice->>IChannel:Set Active Sample
IChannel->>IChannel:Scale Sample(Expression)
IChannel->>LoggingManager:OnChannelUpdated()
LoggingManager->>DatabaseLogger:HandleChannelUpdate()
DatabaseLogger->>DatabaseLogger:Add to Buffer
DatabaseLogger->>DatabaseLogger:ConsumerThread
DatabaseLogger->>Database:Bulk Insert Buffer
Loading

Installer

  • Uses Wix Toolset
  • Separate solution Daqifi.Desktop.Setup

Contribution

Please read Contributing Guidelines before contributing.