electric baka
/
BLENano2_AD_Serial_RRI
RRI data
Fork of BLENano2_AD_Serial by
main.cpp@3:01f92b787f26, 2018-09-20 (annotated)
- Committer:
- electricbaka
- Date:
- Thu Sep 20 08:19:28 2018 +0000
- Revision:
- 3:01f92b787f26
- Parent:
- 2:2b070a0b5e17
init
Who changed what in which revision?
User | Revision | Line number | New 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 | } |