diff --git a/readme.md b/readme.md index 35e41a1..143c21a 100644 --- a/readme.md +++ b/readme.md @@ -1,14 +1,29 @@ -## Windows (.exe) +# Bio-Impedance Amplifier | Executables +This repository contains compiled Rust-based software for communicating with a custom-built bio-impedance amplifier. + +## Features +- Single-frequency and frequency-sweep measurements +- Real-time visualization of magnitude and phase +- Support for both 2-lead and 4-lead measurements +- Data logging to `.csv` files +- Day and night display modes +- Control via on-screen buttons or keyboard shortcuts +- Adding custom markers at specific timepoints + +## Installation +This software supports Windows and macOS; Linux distributions are available on request. + +### Windows (.exe) 1. Run `Bio-Z App Windows.exe`. -## macOS +### macOS Additional steps are required on macOS. Otherwise, you may see a message such as *"This app can’t be opened because it is from an unidentified developer."* You can choose one of the following options: -### Option 1: Use the native binary (no extension) +#### Option 1: Use the native binary (no extension) 1. Open `Bio-Z App macOS 1`. 2. A warning will appear stating that `Bio-Z App macOS 1` cannot be opened. @@ -16,7 +31,7 @@ You can choose one of the following options: 4. Scroll down and click **Open Anyway** under **Security**. 5. Follow the onscreen instructions. -### Option 2: Use the application bundle (.app) +#### Option 2: Use the application bundle (.app) 1. Open **Terminal** and navigate to this folder using `cd`. 2. Run the following command to remove the quarantine attribute: @@ -24,4 +39,45 @@ You can choose one of the following options: ```bash sudo xattr -cr Bio-Z\ App\ macOS\ 2.app ``` -3. Open `Bio-Z App macOS 2`. \ No newline at end of file +3. Open `Bio-Z App macOS 2`. + +## `.csv` output format +### File Naming +- Output filenames are automatically adjusted. +- Files end with either: + - `_single.csv` for single measurements + - `_sweep.csv` for sweep measurements +- Single and sweep data are **never combined** in one output file. + +### Marker Functionality +- A new feature **Add marker** is available during a measurement. +- Activating **Add marker** opens a popup: + - Can be triggered via button or shortcut key **A** +- Entered text is saved as a **marker** in the CSV output. +- Markers can later be detected and used in data analysis. + +### Time Reference +- Time values are expressed in **milliseconds (ms)**. +- Time starts from the moment the hardware is powered on or connected via USB. + +### CSV Column Structure +#### Single Measurement (`*_single.csv`) +Column number | Parameter | Description | +---|------|-------------| +1| Time (ms) | Time since hardware power-on | +2| Frequency | Measured frequency | +3| Magnitude | Signal magnitude | +4| Phase | Signal phase | +5| Marker | User-defined marker text | + +#### Sweep Measurement (`*_sweep.csv`) +Column number | Parameter | Description | +---|------|-------------| +1| Time (ms) | Time since hardware power-on | +2| Frequency | Measured frequency | +3| Magnitude | Signal magnitude | +4| Phase | Signal phase | +5| Index / Measurement number | Sweep index | +6| Marker | User-defined marker text | + +