Skip to content

drewsilcock/comtrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

comtrade - Pure Rust library for parsing COMTRADE files.

crates.io version licence docs status crates.io downloads

Warning: this library is a WIP and not yet ready for production usage.

This library provides a native Rust library for parsing COMTRADE (Common format for Transient Data Exchange for power systems) files, containing oscillography and status data for power system disturbances.

Implementation status

Task Status
Implement parsing .cfg files (encoded in ASCII) Done (1991, 1999, 2013)
Implement parsing .cfg files (encoded in UTF-8) Done
Implement parsing .cfg files (encoded in other encodings such as latin1) Not tested
Implement parsing ASCII data files Done
Implement parsing binary16 data files Done
Implement parsing binary32 data files Done (not tested)
Implement parsing float32 data files Done (not tested)
Implement loading separate files from combined 2013 .cff format. Done
Implement retrieval of actual analog data values using primary vs. secondary factors, offsets, etc. Adders & multipliers done; primary vs. secondary todo
Implement calculation of real time based on time multipliers, etc. (critical & non-critical timestamps) Done
Support for channel-specific timestamp skews Todo

Getting started

Todo: once ready, deploy to crates.io.

Usage

Todo: document usage.

Todo

  • Clean up error messages - maybe have consistent format including filename and line number?
  • Add warnings for non-critical data missing and errors for critical data missing.
  • Add warnings for unexpected values (but not errors) for things like channel numbers not adding up, etc.
  • Test files:
    • Binary32 and float32 data files.
    • Missing non-critical data.
    • Continuously variable sample rate (i.e. crticial timestamp).
    • Multiple sample rates.

About

COMTRADE signal file format parser written in pure Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages