robot

Dependencies:   FastPWM3 mbed

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?

UserRevisionLine numberNew 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 }