![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
maxrefdes117
main.cpp@0:78a2573ad768, 2019-08-06 (annotated)
- Committer:
- zinnetyazicii53
- Date:
- Tue Aug 06 12:19:46 2019 +0000
- Revision:
- 0:78a2573ad768
commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zinnetyazicii53 | 0:78a2573ad768 | 1 | |
zinnetyazicii53 | 0:78a2573ad768 | 2 | #include "MAX30105.h" |
zinnetyazicii53 | 0:78a2573ad768 | 3 | #include "heartRate.h" |
zinnetyazicii53 | 0:78a2573ad768 | 4 | #include "spo2_algorithm.h" |
zinnetyazicii53 | 0:78a2573ad768 | 5 | #include "mbed.h" |
zinnetyazicii53 | 0:78a2573ad768 | 6 | |
zinnetyazicii53 | 0:78a2573ad768 | 7 | I2C i2c(I2C_SDA, I2C_SCL); |
zinnetyazicii53 | 0:78a2573ad768 | 8 | MAX30105 max30105(i2c); |
zinnetyazicii53 | 0:78a2573ad768 | 9 | |
zinnetyazicii53 | 0:78a2573ad768 | 10 | Serial pc(USBTX, USBRX); |
zinnetyazicii53 | 0:78a2573ad768 | 11 | MAX30105 particleSensor; |
zinnetyazicii53 | 0:78a2573ad768 | 12 | |
zinnetyazicii53 | 0:78a2573ad768 | 13 | DigitalIn INT(PA_5); |
zinnetyazicii53 | 0:78a2573ad768 | 14 | |
zinnetyazicii53 | 0:78a2573ad768 | 15 | void restart(); |
zinnetyazicii53 | 0:78a2573ad768 | 16 | void measureBPM(); |
zinnetyazicii53 | 0:78a2573ad768 | 17 | |
zinnetyazicii53 | 0:78a2573ad768 | 18 | void(* resetFunc) (void) = 0; |
zinnetyazicii53 | 0:78a2573ad768 | 19 | |
zinnetyazicii53 | 0:78a2573ad768 | 20 | bool nofinger=false; |
zinnetyazicii53 | 0:78a2573ad768 | 21 | bool programStarted=false; |
zinnetyazicii53 | 0:78a2573ad768 | 22 | |
zinnetyazicii53 | 0:78a2573ad768 | 23 | int RATE_SIZE=0; //Increase this for more averaging. 4 is good. |
zinnetyazicii53 | 0:78a2573ad768 | 24 | int rate[1000]; //Array of heart rates |
zinnetyazicii53 | 0:78a2573ad768 | 25 | long lastBeat = 0; //Time at which the last beat occurred |
zinnetyazicii53 | 0:78a2573ad768 | 26 | |
zinnetyazicii53 | 0:78a2573ad768 | 27 | float beatsPerMinute; |
zinnetyazicii53 | 0:78a2573ad768 | 28 | int beatAvg; |
zinnetyazicii53 | 0:78a2573ad768 | 29 | |
zinnetyazicii53 | 0:78a2573ad768 | 30 | long now=0; |
zinnetyazicii53 | 0:78a2573ad768 | 31 | int bpm = 0; |
zinnetyazicii53 | 0:78a2573ad768 | 32 | int mins=0; |
zinnetyazicii53 | 0:78a2573ad768 | 33 | int ten_secs=10; |
zinnetyazicii53 | 0:78a2573ad768 | 34 | int avg=0; |
zinnetyazicii53 | 0:78a2573ad768 | 35 | |
zinnetyazicii53 | 0:78a2573ad768 | 36 | long t= Timer(); |
zinnetyazicii53 | 0:78a2573ad768 | 37 | |
zinnetyazicii53 | 0:78a2573ad768 | 38 | void setup () |
zinnetyazicii53 | 0:78a2573ad768 | 39 | { |
zinnetyazicii53 | 0:78a2573ad768 | 40 | pc.baud(9600); |
zinnetyazicii53 | 0:78a2573ad768 | 41 | pc.format(8,SerialBase::None,1); |
zinnetyazicii53 | 0:78a2573ad768 | 42 | wait(1); |
zinnetyazicii53 | 0:78a2573ad768 | 43 | particleSensor.setup(); |
zinnetyazicii53 | 0:78a2573ad768 | 44 | } |
zinnetyazicii53 | 0:78a2573ad768 | 45 | |
zinnetyazicii53 | 0:78a2573ad768 | 46 | int main(){ |
zinnetyazicii53 | 0:78a2573ad768 | 47 | setup(); |
zinnetyazicii53 | 0:78a2573ad768 | 48 | pc.printf(" R["); |
zinnetyazicii53 | 0:78a2573ad768 | 49 | pc.printf("%i",particleSensor.getRed()); |
zinnetyazicii53 | 0:78a2573ad768 | 50 | pc.printf("] IR["); |
zinnetyazicii53 | 0:78a2573ad768 | 51 | pc.printf("%i",particleSensor.getIR()); |
zinnetyazicii53 | 0:78a2573ad768 | 52 | pc.printf("] G["); |
zinnetyazicii53 | 0:78a2573ad768 | 53 | pc.printf("%i",particleSensor.getGreen()); |
zinnetyazicii53 | 0:78a2573ad768 | 54 | pc.printf("]"); |
zinnetyazicii53 | 0:78a2573ad768 | 55 | |
zinnetyazicii53 | 0:78a2573ad768 | 56 | } |
zinnetyazicii53 | 0:78a2573ad768 | 57 | |
zinnetyazicii53 | 0:78a2573ad768 | 58 | |
zinnetyazicii53 | 0:78a2573ad768 | 59 | |
zinnetyazicii53 | 0:78a2573ad768 | 60 | |
zinnetyazicii53 | 0:78a2573ad768 | 61 |