unreleased
Nothing for now
v4.1.0
- fixed malformatted fatal error telemetry messages (existing ones did not pass CRC checks)
- implemented new fatal error telemetry messages (SFM sensor failure, battery deep discharge, calibration errors)
- sending "end of production line" telemetry snapshots (used for the UI to show current EOL step)
- handling "end of production line" control messages (used to continue to next EOL step)
- if hardware buttons are disabled, then the "end of production line" will skip the buttons test step
- added automation and convenience scripts (used to compile and flash to auto-detected serial port)
- refactored project structure (some directories and files have been moved)
v4.0.0
- drop support of electronic hardware v1 and v2 (from now on, minimum compatibility is from v3)
- refactor main loop and breathing control (breathing-related computations are now triggered by a hardware timer)
- support several breathing modes (PC-CMV stays the default mode, PC-VSAI and PC-AC were added)
- added volume controlled ventilation modes (VC-CMV and VC-AC were added)
- telemetry protocol v2 was introduced (basically, this means sending more data)
- drop support of useless "qualification" and "integration test" modes (both are superseded by the EOL test feature)
- add a watchdog for the Raspberry Pi (RPi power supply will be restarted if UI misses sending heartbeats)
- allow to set any setting (current or added) using the serial control protocol (new settings were added, and they can all be changed from UI software)
- improve breathing control algorithms
- remove ability to set peak pressure
- allow to snooze alarms or start/stop breathing using the serial control protocol
- drop support of old valves and pneumatic systems
- make mass flow meter more reliable
- support for SFM mass flow meters (SFM3019 and SFM_3300D)
- added support for a mass flow meter on the expiratory branch (if it is missing, the expiratory flow rate will be estimated using an algorithm)
- turn the green LED on when alarms are snoozed
- added a facility to pre-configure the ventilator settings upon boot, using a patient height setting (submitting the patient height will update all ventilation hyperparameters to optimum values)
- added configurable alarms for pressure and volume modes, adding to all existing alarms
- sending more measured values for display, e.g. respiratory durations and cycles per minute
- a more precise battery voltage value is now sent over the telemetry protocol (this is used for battery SoC estimations)
- display a special message on LCD screen when watchdog reset was triggered
- ability to detect in a reliable way when AC gets off, and that power is switched to battery
- allow to retry pressure calibration when it fails
- added a ramp-up algorithm on the blower speed controller, in order to prevent current surges in the transformer, which could trigger a temporary handover on batteries (this is a security feature, in cases where batteries would be depleted or not connected, the ventilator would suddenly reboot during use)
- added a compilation flag to disable all hardware buttons (this is used for touchscreen-only MakAir devices, i.e. non-traditional ones)
- added basic support for the motherboard V3 EEPROM chip over I2C (disabled by default until stable)
- a lot of potential exceptions due to possible divisions by zero have been fixed
- increase the size of the hardware buffer used by telemetry
- improve Doxygen documentation
v3.0.1
- fix an issue with the optional mass flow meter
v3.0.0
- implement a respiratory trigger (this helps the MakAir to respect the patient respiratory reflexes when he/she starts to wake up; disabled by default)
- add an "end of production line" test program (it is included in the production software and runs when booting while pressing a maintainance button; electronic hardware v2+ required)
- support Faulhaber motors for valves (they are better, faster, stronger; electronic hardware v2+ required)
- support an optional mass flow meter (this allows to estimate the volume of inspired air; electronic hardware v2+ required)
- implement a control protocol to update settings through serial communication (UI on Raspberry Pi can now send new settings values; few more settings are supported compared to physical buttons; electronic hardware v2+ required)
- support electronic hardware v3
- improve pressure control
- improve blower speed regulation
- fix systick overflow in telemetry protocol
- update telemetry protocol to send more information
- include CRC in telemetry messages
- add a safety to shutdown system if battery is very low (in this situation, everything might get damaged if not shutdown)
- change some default settings (now, Ppeak starts at 250 mmH2O and Pplateau at 220 mmH2O)
v1.5.4
- improve dynamic update of the peak pressure command according to the measured plateau pressure
- fix telemetry bugs
- fix minor bugs
v1.5.3
- warn if pressure is not stable enough at startup
- improve pressure control
- fix a regression (the PPeak+ button was not functioning anymore)
v1.5.2
v1.5.1
- calibrate pressure sensor's offset on startup
- better round displayed pressure values (in cmH2O)
- minor improvement to the pressure control
v1.5.0
- rework pressure and blower control (blower will now take more time to ramp up/down but this will greatly improve the stability of injected air volume in many scenario)
- rework alarms (better pressure alarms, better battery alarms, better snooze behavior)
- improve even more the measured and displayed pressures (if no plateau pressure if found, screen will now display a
?
instead of an uncertain value)
- tweak the pressure control to make the plateau more accurate
- fix an issue with blower not restarting in some cases
- make sysclock more accurate
- improve code quality (MISRA)
- add a step in integration test to check O2 pipe
v1.4.0
This release was depublished
v1.3.2
- fix blower control (it used to unexpectedly slow down a bit from times to times)
- improve the measured and displayed pressures for peak and plateau
v1.3.1
- use the green LED near the start button to show whether the breathing mode is ON or not
- disable alarms related to the breathing cycle when program is stopped
- fix an issue with a battery alarm being briefly triggered at every boot
- integration test: open both valves at startup
v1.3.0
- add a program to test integration
- support electronic hardware v1 and v2 (v1 by default, v2 through a config flag)
- implement start/stop (from now on, machine will begin stopped!)
- handle Emerson valves (through a config flag)
- improve the way buzzer is controlled
v1.2.3
- fix an issue with buzzer (sometimes it was stuck buzzing whereas no alarm were triggered)
- add battery-related alarms
v1.2.2
- handle several pneumatic systems _(for the first 2 working typologies of prototype)_
v1.2.1
Unreleased
v1.2.0
First release version