mit-drl / e-vent Goto Github PK
View Code? Open in Web Editor NEWMIT Project: A low cost emergency ventilator controller
MIT Project: A low cost emergency ventilator controller
Make a display to show pressure at all times
We need to speed up loop frequencies to at least 100Hz.
hi i am facing issue related to motor control after homing motor start moving in one direction and it'speed is more the expected speed
There's currently a "sanity check" in the setPosition function. It's not clear that this is needed, or that it couldn't be triggered by noise. Furthermore, it's not clear that the way it's handled (break) is the proper fault response.
We should look into robustifying this by clearly defining the error condition we need to detect, and ensuring the response is appropriate (perhaps alarm?)
The sensitivity of the volume knob makes it request for confirmation even without being touched.
After receiving feedback from clinicians, we have settled on a new display format that will allow us to incorporate more information in a more compact layout.
See below for images showing the new functionality. The key feedback we received includes:
Account for constant acceleration by choosing max velocities that give the correct average velocity given the trapezoidal velocity profile we execute.
If I understand correctly, there are 3 coefficients that determine the particular profile for different ambu bags but I could use a better explanations for each number so I can make things work with my ambu bag. These coefficients are in constants.h
// Bag Calibration for AMBU Adult bag
const struct {float a, b, c;} COEFFS{1.29083271e-03, 4.72985182e-01, -7.35403067e+01};
The on/off button turns off the system, but does not restart it; instead the confirm button has this function.
Check for driver disconnection. Recover gracefully.
Look for issues hitting/leaving limit switch and alarm. Consider
void Display::writeBPM(const int& bpm) {
const int bpm_c = constrain(bpm, 0, 99);
char buff[12];
sprintf(buff, "%2s=%2s ", getLabel(BPM).c_str(), toString(VOLUME, bpm_c).c_str());
write(elements_[BPM].row, elements_[BPM].col, buff);
}
here, the sprintf line is wrong, it should be:
sprintf(buff, "%2s=%2s ", getLabel(BPM).c_str(), toString(BPM, bpm_c).c_str());
We should include some level of software and hardware verification where we test for example:
Try to shorten event.ino .
Reorganize and refactor.
Try to move standalone functions to other files.
Add documentation / comments as needed. // for example like this.
Useful for debugging and automated testing.
On 1.0-003, pressing and holding the OFF button does not trigger a turn off.
This could be hardware or software.
Show an icon to indicate if the alarms are snoozed
Feature request to clear all alarms after holding the alarm mute button for 2 seconds
Machine suddenly stops for no apparent reason.
Observed on 1.0-003 while connected via USB to Ubuntu laptop.
Currently, there's no way to see what the value is for the pots. We could use manually printed labels near the pot knobs, but perhaps using the LED display to show updated pot values whenever they are adjusted would be a more robust way to ensure the user knows what value is being set.
Currently, the motor position is controlled through a handcrafted trapezoidal velocity curve to ensure accelerations are within limit.
However, this may not be the most appropriate, especially considering we may need to set the position at a higher frequency.
We should do some testing / research
Do a better job measuring plateau instead of simply taking the last pressure value before exhale.
After a few minutes of run time my LCD screen starts to display garbage. Is anybody else experiencing this? The bug occurs after homing is complete. I enter the EX_STATE and then since I am just emulating pressure feedback manually on my desk several alarms occur. After a few minutes the screen displays nonsense.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.