Bayley Wang
/
foc-ed_in_the_bot_compact
robot
LedBlinker/LedBlinker.cpp@252:38644631ed97, 2018-11-13 (annotated)
- Committer:
- bwang
- Date:
- Tue Nov 13 17:46:23 2018 +0000
- Revision:
- 252:38644631ed97
- Parent:
- 223:b986e7cee521
11/13/2018 12:45 - hitting <return> on empty line prints "\r>", so that hitting enter after intially connecting to the controller generates a prompt
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 223:b986e7cee521 | 1 | #include "mbed.h" |
bwang | 223:b986e7cee521 | 2 | #include "LedBlinker.h" |
bwang | 223:b986e7cee521 | 3 | |
bwang | 223:b986e7cee521 | 4 | LedBlinker::LedBlinker(PinName p, float sample_frequency, float code_frequency) { |
bwang | 223:b986e7cee521 | 5 | _led = new DigitalOut(p); |
bwang | 223:b986e7cee521 | 6 | |
bwang | 223:b986e7cee521 | 7 | _tics_per_code = (int)(sample_frequency / code_frequency); |
bwang | 223:b986e7cee521 | 8 | _tics_per_bit = _tics_per_code / 8; |
bwang | 223:b986e7cee521 | 9 | |
bwang | 223:b986e7cee521 | 10 | _counter = 0; |
bwang | 223:b986e7cee521 | 11 | _code = 0; |
bwang | 223:b986e7cee521 | 12 | _bit = 0; |
bwang | 223:b986e7cee521 | 13 | } |
bwang | 223:b986e7cee521 | 14 | |
bwang | 223:b986e7cee521 | 15 | void LedBlinker::set_code(uint8_t code) {_code = code;} |
bwang | 223:b986e7cee521 | 16 | |
bwang | 223:b986e7cee521 | 17 | void LedBlinker::update() { |
bwang | 223:b986e7cee521 | 18 | if (_counter % _tics_per_code == 0) {_counter = 0; _bit = 0;} |
bwang | 223:b986e7cee521 | 19 | _counter++; |
bwang | 223:b986e7cee521 | 20 | if (_counter % _tics_per_bit != 0) return; |
bwang | 223:b986e7cee521 | 21 | _led->write((_code & (1 << _bit)) >> _bit); |
bwang | 223:b986e7cee521 | 22 | _bit++; |
bwang | 223:b986e7cee521 | 23 | } |