This is a very hacky proof of concept, and entirely unvalidated, fit-testing application.
- Devices: 8020A, 8020Mgen1. (8020's should also work, but have not been tested.)
- Protocols: OSHA classic and modified (fast), Crash2.5, ISO, and HSE.
- Other protocols can be easily added but (for the time being) require recompilation.
- Platforms: Linux, MacOS.
- CSV logs containing per-exercise FFs.
- Dual-device support (e.g. concurrent total particle count + leak integrity measurement).
- 8020Mgen2 support.
- Raw data logging.
- Windows support.
- Custom protocol support (without having to edit sources, followed by recompiling).
- 8095 support. Its already possible to run tests with an 8095, but this isn't recorded anywhere (ideally logs would be annotated somehow).
- Support for 803X and 804X. There are too few of these in the community to justify the effort (at least for now).
- Support for non-TSI CPCs, except for perhaps the OpenCPC/OpenAeros if/when it becomees available.
Dependencies:
- Rust+Cargo
- Qt6, Qt6-Charts ('qt6-charts-dev' or equivalent should pull in all the right Qt deps)
- CMake
- GCC or other C++ compiler
Nice-to-have:
- Ninja (e.g. 'ninja-build') - the example build instructions below use ninja, but you can also tell CMake to build using another tool if you prefer.
Build it:
See also the Github Actions Workflow at: https://github.com/ahunt/incolata/blob/main/.github/workflows/checks.yml
I typically run something like:
git submodule init
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -S . -B build/Debug
cd build/Debug && ninja
Tip
You can also open the project in QtCreator, which should take care of configuring and building, modulo submodule init.
(Requires installing clang.)
scan-build cmake . -B build/analysis
cd build/analysis && scan-build make
TODO
Note
Some, but not all, Serial->USB adapters work out of the box. Here it's the opposite of the OSX situation: my Aten (with Prolific chip) just works, and my FTDI FT232R-based adapter required me to install their driver.
-
Install Homebrew
-
brew install git rust cmake qt ninja git clone https://github.com/ahunt/incolata.git && cd incolata && && git submodule init & git submodule update cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -S . -B build/Debug cd build/Debug && ninja && open incolata.app
Note
Some, but not all, Serial->USB adapters work out of the OSX. My (possibly fake) FTDI FT232R-based adapter does work, whereas my Aten (with Prolific chip) requires installing a Driver. (Don't forget to unblock the driver via System Settings->Privacy & Security->Enable System Extensions after installation.) Prolific offer a PL2303 Serial Driver on the app store, which might also work for the same Aten adapter, but I have not tested it.
Actual test machinery will live in libp8020a. Incolata is just a (not so) nice (yet) GUI wrapper around that.
There is no real architecture to speak of, yet.