LEDの点滅や、ブザーのOn,Offの周期測定をおこなう。 搬送波の周期は測定できない(10ms周期以上のON,OFF)
Dependencies: AQM0802A DigitalSw mbed
testLed.cpp@0:c5384fa0fc28, 2017-05-20 (annotated)
- Committer:
- suupen
- Date:
- Sat May 20 01:33:48 2017 +0000
- Revision:
- 0:c5384fa0fc28
- Child:
- 1:d4291fd3a94c
priodMsurement??????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
suupen | 0:c5384fa0fc28 | 1 | #include "mbed.h" |
suupen | 0:c5384fa0fc28 | 2 | #include "testLed.h" |
suupen | 0:c5384fa0fc28 | 3 | |
suupen | 0:c5384fa0fc28 | 4 | DigitalOut testLed(LED1); |
suupen | 0:c5384fa0fc28 | 5 | |
suupen | 0:c5384fa0fc28 | 6 | Timer timerTestLed; |
suupen | 0:c5384fa0fc28 | 7 | bool brinkRequest = false; |
suupen | 0:c5384fa0fc28 | 8 | |
suupen | 0:c5384fa0fc28 | 9 | void testLedInitalize(void) |
suupen | 0:c5384fa0fc28 | 10 | { |
suupen | 0:c5384fa0fc28 | 11 | timerTestLed.start(); |
suupen | 0:c5384fa0fc28 | 12 | timerTestLed.reset(); |
suupen | 0:c5384fa0fc28 | 13 | brinkRequest = false; |
suupen | 0:c5384fa0fc28 | 14 | |
suupen | 0:c5384fa0fc28 | 15 | } |
suupen | 0:c5384fa0fc28 | 16 | |
suupen | 0:c5384fa0fc28 | 17 | uint8_t brinkPosition = 0; // brinkPattern[][ここ] |
suupen | 0:c5384fa0fc28 | 18 | uint16_t brinkPriod = 0; // 点滅時間 1/1 ([ms]/count) |
suupen | 0:c5384fa0fc28 | 19 | uint32_t brinkPattern[][2] = { |
suupen | 0:c5384fa0fc28 | 20 | {1,10}, |
suupen | 0:c5384fa0fc28 | 21 | {0,10}, |
suupen | 0:c5384fa0fc28 | 22 | |
suupen | 0:c5384fa0fc28 | 23 | {1,100}, |
suupen | 0:c5384fa0fc28 | 24 | {0,100}, |
suupen | 0:c5384fa0fc28 | 25 | |
suupen | 0:c5384fa0fc28 | 26 | {1,10}, |
suupen | 0:c5384fa0fc28 | 27 | {0,10}, |
suupen | 0:c5384fa0fc28 | 28 | |
suupen | 0:c5384fa0fc28 | 29 | {1,100}, |
suupen | 0:c5384fa0fc28 | 30 | {0,100}, |
suupen | 0:c5384fa0fc28 | 31 | |
suupen | 0:c5384fa0fc28 | 32 | {1,10}, |
suupen | 0:c5384fa0fc28 | 33 | {0,10}, |
suupen | 0:c5384fa0fc28 | 34 | |
suupen | 0:c5384fa0fc28 | 35 | {1,100}, |
suupen | 0:c5384fa0fc28 | 36 | {0,100}, |
suupen | 0:c5384fa0fc28 | 37 | |
suupen | 0:c5384fa0fc28 | 38 | {1,10}, |
suupen | 0:c5384fa0fc28 | 39 | {0,10}, |
suupen | 0:c5384fa0fc28 | 40 | |
suupen | 0:c5384fa0fc28 | 41 | {1,100}, |
suupen | 0:c5384fa0fc28 | 42 | {0,100}, |
suupen | 0:c5384fa0fc28 | 43 | |
suupen | 0:c5384fa0fc28 | 44 | {1,10}, |
suupen | 0:c5384fa0fc28 | 45 | {0,10}, |
suupen | 0:c5384fa0fc28 | 46 | |
suupen | 0:c5384fa0fc28 | 47 | {1,200}, |
suupen | 0:c5384fa0fc28 | 48 | {0,300}, |
suupen | 0:c5384fa0fc28 | 49 | |
suupen | 0:c5384fa0fc28 | 50 | {1,100}, |
suupen | 0:c5384fa0fc28 | 51 | {0,100}, |
suupen | 0:c5384fa0fc28 | 52 | |
suupen | 0:c5384fa0fc28 | 53 | {1,10}, |
suupen | 0:c5384fa0fc28 | 54 | {0,10}, |
suupen | 0:c5384fa0fc28 | 55 | |
suupen | 0:c5384fa0fc28 | 56 | {1,200}, |
suupen | 0:c5384fa0fc28 | 57 | {0,300}, |
suupen | 0:c5384fa0fc28 | 58 | |
suupen | 0:c5384fa0fc28 | 59 | {1,100}, |
suupen | 0:c5384fa0fc28 | 60 | {0,100}, |
suupen | 0:c5384fa0fc28 | 61 | |
suupen | 0:c5384fa0fc28 | 62 | {1,10}, |
suupen | 0:c5384fa0fc28 | 63 | {0,10}, |
suupen | 0:c5384fa0fc28 | 64 | |
suupen | 0:c5384fa0fc28 | 65 | {1,200}, |
suupen | 0:c5384fa0fc28 | 66 | {0,300}, |
suupen | 0:c5384fa0fc28 | 67 | |
suupen | 0:c5384fa0fc28 | 68 | {1,100}, |
suupen | 0:c5384fa0fc28 | 69 | {0,100}, |
suupen | 0:c5384fa0fc28 | 70 | |
suupen | 0:c5384fa0fc28 | 71 | {1,10}, |
suupen | 0:c5384fa0fc28 | 72 | {0,10}, |
suupen | 0:c5384fa0fc28 | 73 | |
suupen | 0:c5384fa0fc28 | 74 | {1,200}, |
suupen | 0:c5384fa0fc28 | 75 | {0,300}, |
suupen | 0:c5384fa0fc28 | 76 | |
suupen | 0:c5384fa0fc28 | 77 | {1,100}, |
suupen | 0:c5384fa0fc28 | 78 | {0,100}, |
suupen | 0:c5384fa0fc28 | 79 | |
suupen | 0:c5384fa0fc28 | 80 | {1,10}, |
suupen | 0:c5384fa0fc28 | 81 | {0,10}, |
suupen | 0:c5384fa0fc28 | 82 | |
suupen | 0:c5384fa0fc28 | 83 | {1,200}, |
suupen | 0:c5384fa0fc28 | 84 | {0,300}, |
suupen | 0:c5384fa0fc28 | 85 | |
suupen | 0:c5384fa0fc28 | 86 | {1,100}, |
suupen | 0:c5384fa0fc28 | 87 | {0,100}, |
suupen | 0:c5384fa0fc28 | 88 | |
suupen | 0:c5384fa0fc28 | 89 | {1,10}, |
suupen | 0:c5384fa0fc28 | 90 | {0,10}, |
suupen | 0:c5384fa0fc28 | 91 | |
suupen | 0:c5384fa0fc28 | 92 | {1,200}, |
suupen | 0:c5384fa0fc28 | 93 | {0,300}, |
suupen | 0:c5384fa0fc28 | 94 | |
suupen | 0:c5384fa0fc28 | 95 | {1,100}, |
suupen | 0:c5384fa0fc28 | 96 | {0,100}, |
suupen | 0:c5384fa0fc28 | 97 | |
suupen | 0:c5384fa0fc28 | 98 | {1,10}, |
suupen | 0:c5384fa0fc28 | 99 | {0,10}, |
suupen | 0:c5384fa0fc28 | 100 | |
suupen | 0:c5384fa0fc28 | 101 | {1,200}, |
suupen | 0:c5384fa0fc28 | 102 | {0,300}, |
suupen | 0:c5384fa0fc28 | 103 | |
suupen | 0:c5384fa0fc28 | 104 | {1,100}, |
suupen | 0:c5384fa0fc28 | 105 | {0,100}, |
suupen | 0:c5384fa0fc28 | 106 | |
suupen | 0:c5384fa0fc28 | 107 | {1,10}, |
suupen | 0:c5384fa0fc28 | 108 | {0,10}, |
suupen | 0:c5384fa0fc28 | 109 | |
suupen | 0:c5384fa0fc28 | 110 | {1,200}, |
suupen | 0:c5384fa0fc28 | 111 | {0,300}, |
suupen | 0:c5384fa0fc28 | 112 | |
suupen | 0:c5384fa0fc28 | 113 | {2,0} // end |
suupen | 0:c5384fa0fc28 | 114 | }; |
suupen | 0:c5384fa0fc28 | 115 | |
suupen | 0:c5384fa0fc28 | 116 | bool testLedMain(bool request) |
suupen | 0:c5384fa0fc28 | 117 | { |
suupen | 0:c5384fa0fc28 | 118 | if(brinkRequest == false) { |
suupen | 0:c5384fa0fc28 | 119 | if(request == true) { |
suupen | 0:c5384fa0fc28 | 120 | brinkRequest = true; |
suupen | 0:c5384fa0fc28 | 121 | brinkPosition = 0; |
suupen | 0:c5384fa0fc28 | 122 | testLed = brinkPattern[brinkPosition][0]; |
suupen | 0:c5384fa0fc28 | 123 | brinkPriod = brinkPattern[brinkPosition][1]; |
suupen | 0:c5384fa0fc28 | 124 | |
suupen | 0:c5384fa0fc28 | 125 | timerTestLed.reset(); |
suupen | 0:c5384fa0fc28 | 126 | } else { |
suupen | 0:c5384fa0fc28 | 127 | // nothing |
suupen | 0:c5384fa0fc28 | 128 | } |
suupen | 0:c5384fa0fc28 | 129 | } else { |
suupen | 0:c5384fa0fc28 | 130 | if(timerTestLed.read_ms() > brinkPriod) { |
suupen | 0:c5384fa0fc28 | 131 | brinkPosition++; |
suupen | 0:c5384fa0fc28 | 132 | if(brinkPattern[brinkPosition][0] == 2) { |
suupen | 0:c5384fa0fc28 | 133 | testLed = 0; |
suupen | 0:c5384fa0fc28 | 134 | brinkRequest = false; |
suupen | 0:c5384fa0fc28 | 135 | } else { |
suupen | 0:c5384fa0fc28 | 136 | testLed = brinkPattern[brinkPosition][0]; |
suupen | 0:c5384fa0fc28 | 137 | brinkPriod = brinkPattern[brinkPosition][1]; |
suupen | 0:c5384fa0fc28 | 138 | timerTestLed.reset(); |
suupen | 0:c5384fa0fc28 | 139 | |
suupen | 0:c5384fa0fc28 | 140 | } |
suupen | 0:c5384fa0fc28 | 141 | } |
suupen | 0:c5384fa0fc28 | 142 | } |
suupen | 0:c5384fa0fc28 | 143 | return (brinkRequest); |
suupen | 0:c5384fa0fc28 | 144 | } |