RRI data

Fork of BLENano2_AD_Serial by electric baka

Committer:
electricbaka
Date:
Thu Sep 20 08:19:28 2018 +0000
Revision:
3:01f92b787f26
Parent:
2:2b070a0b5e17
init

Who changed what in which revision?

UserRevisionLine numberNew contents of line
electricbaka 0:a0dadd2b7bfa 1 /*
electricbaka 0:a0dadd2b7bfa 2 *
electricbaka 0:a0dadd2b7bfa 3 * BLE Nano2 : USB Serial Communication
electricbaka 0:a0dadd2b7bfa 4 *
electricbaka 0:a0dadd2b7bfa 5 * http://jellyware.jp/kurage/
electricbaka 0:a0dadd2b7bfa 6 *
electricbaka 0:a0dadd2b7bfa 7 */
electricbaka 0:a0dadd2b7bfa 8
electricbaka 0:a0dadd2b7bfa 9
electricbaka 0:a0dadd2b7bfa 10 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 11 //Include Header Files
electricbaka 0:a0dadd2b7bfa 12 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 13 #include "mbed.h"
electricbaka 0:a0dadd2b7bfa 14
electricbaka 0:a0dadd2b7bfa 15
electricbaka 0:a0dadd2b7bfa 16 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 17 //Definition
electricbaka 0:a0dadd2b7bfa 18 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 19 #define ANALOG_IN_PIN1 P0_5
electricbaka 3:01f92b787f26 20 #define TICKER_TIME 1000 //1000[us] = 1[ms]
electricbaka 3:01f92b787f26 21
electricbaka 3:01f92b787f26 22 //HeartRate
electricbaka 3:01f92b787f26 23 int timer_num = 0;
electricbaka 3:01f92b787f26 24 int threshold_v = 650;
electricbaka 3:01f92b787f26 25 int threshold_t = 300;
electricbaka 3:01f92b787f26 26
electricbaka 3:01f92b787f26 27
electricbaka 3:01f92b787f26 28 //======================================================================
electricbaka 3:01f92b787f26 29 //onTimeout
electricbaka 3:01f92b787f26 30 //======================================================================
electricbaka 3:01f92b787f26 31 void m_status_check_handle(void)
electricbaka 3:01f92b787f26 32 {
electricbaka 3:01f92b787f26 33 timer_num ++;
electricbaka 3:01f92b787f26 34 }
electricbaka 0:a0dadd2b7bfa 35
electricbaka 0:a0dadd2b7bfa 36
electricbaka 0:a0dadd2b7bfa 37 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 38 //Object generation
electricbaka 0:a0dadd2b7bfa 39 //------------------------------------------------------------
electricbaka 0:a0dadd2b7bfa 40 AnalogIn ANALOG1(ANALOG_IN_PIN1);
electricbaka 0:a0dadd2b7bfa 41 Serial pc(P0_29, P0_30);
electricbaka 0:a0dadd2b7bfa 42
electricbaka 0:a0dadd2b7bfa 43 int main(void)
electricbaka 0:a0dadd2b7bfa 44 {
electricbaka 0:a0dadd2b7bfa 45 pc.baud(9600);
electricbaka 0:a0dadd2b7bfa 46 char str[10];
electricbaka 3:01f92b787f26 47
electricbaka 3:01f92b787f26 48 //Timer Setting [us]
electricbaka 3:01f92b787f26 49 Ticker ticker;
electricbaka 3:01f92b787f26 50 ticker.attach_us(m_status_check_handle, TICKER_TIME);
electricbaka 3:01f92b787f26 51
electricbaka 3:01f92b787f26 52 int timer_ms;
electricbaka 3:01f92b787f26 53
electricbaka 3:01f92b787f26 54 while(1)
electricbaka 3:01f92b787f26 55 {
electricbaka 0:a0dadd2b7bfa 56 float s = ANALOG1;
electricbaka 0:a0dadd2b7bfa 57 uint16_t value = s * 1024;
electricbaka 3:01f92b787f26 58
electricbaka 3:01f92b787f26 59 //---------------------------------------------------------------------------------------------
electricbaka 3:01f92b787f26 60 //Detect HeartRate Peak
electricbaka 3:01f92b787f26 61 //---------------------------------------------------------------------------------------------
electricbaka 3:01f92b787f26 62 timer_ms = TICKER_TIME/1000 * timer_num;
electricbaka 3:01f92b787f26 63 if(value >= threshold_v && timer_ms > threshold_t)
electricbaka 3:01f92b787f26 64 {
electricbaka 3:01f92b787f26 65 //clear timer_num
electricbaka 3:01f92b787f26 66 timer_num = 0;
electricbaka 3:01f92b787f26 67
electricbaka 3:01f92b787f26 68 sprintf(str, "%d\r\n", timer_ms);
electricbaka 3:01f92b787f26 69 pc.printf(str);
electricbaka 3:01f92b787f26 70 }
electricbaka 0:a0dadd2b7bfa 71 }
electricbaka 0:a0dadd2b7bfa 72 }