Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Koala.cpp@2:b614b7a16e8d, 2010-07-15 (annotated)
- Committer:
- IPAB
- Date:
- Thu Jul 15 23:01:51 2010 +0000
- Revision:
- 2:b614b7a16e8d
- Parent:
- 1:0006a3271fa2
- Child:
- 3:c32adf6f5ec6
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| IPAB | 0:5d64dc944fa6 | 1 | #include "Koala.h" |
| IPAB | 0:5d64dc944fa6 | 2 | |
| IPAB | 1:0006a3271fa2 | 3 | Koala::Koala(PinName tx, PinName rx, int baudrate) : _serial(tx, rx) { |
| IPAB | 0:5d64dc944fa6 | 4 | |
| IPAB | 0:5d64dc944fa6 | 5 | _serial.baud(baudrate); |
| IPAB | 0:5d64dc944fa6 | 6 | _serial.format(8,Serial::None,1); |
| IPAB | 0:5d64dc944fa6 | 7 | set_speed(0,0); |
| IPAB | 0:5d64dc944fa6 | 8 | set_pos_cnt(0,0); |
| IPAB | 0:5d64dc944fa6 | 9 | } |
| IPAB | 0:5d64dc944fa6 | 10 | |
| IPAB | 0:5d64dc944fa6 | 11 | |
| IPAB | 1:0006a3271fa2 | 12 | void Koala::dummyread() { |
| IPAB | 0:5d64dc944fa6 | 13 | |
| IPAB | 0:5d64dc944fa6 | 14 | char dummy = _serial.getc(); |
| IPAB | 0:5d64dc944fa6 | 15 | } |
| IPAB | 0:5d64dc944fa6 | 16 | |
| IPAB | 0:5d64dc944fa6 | 17 | char Koala::set_speed(int speedL,int speedR) { |
| IPAB | 0:5d64dc944fa6 | 18 | |
| IPAB | 0:5d64dc944fa6 | 19 | _serial.printf("D,%d,%d\n",speedL,speedR); |
| IPAB | 0:5d64dc944fa6 | 20 | char reply = _serial.getc(); |
| IPAB | 0:5d64dc944fa6 | 21 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 22 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 23 | return reply; |
| IPAB | 0:5d64dc944fa6 | 24 | } |
| IPAB | 0:5d64dc944fa6 | 25 | |
| IPAB | 0:5d64dc944fa6 | 26 | |
| IPAB | 0:5d64dc944fa6 | 27 | char Koala::set_pos_cnt(int posL,int posR) { |
| IPAB | 0:5d64dc944fa6 | 28 | |
| IPAB | 0:5d64dc944fa6 | 29 | _serial.printf("G,%d,%d\n",posL,posR); |
| IPAB | 0:5d64dc944fa6 | 30 | char reply = _serial.getc(); |
| IPAB | 0:5d64dc944fa6 | 31 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 32 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 33 | return reply; |
| IPAB | 0:5d64dc944fa6 | 34 | } |
| IPAB | 0:5d64dc944fa6 | 35 | |
| IPAB | 0:5d64dc944fa6 | 36 | void Koala::read_position(int* nPosL, int* nPosR) { |
| IPAB | 0:5d64dc944fa6 | 37 | |
| IPAB | 0:5d64dc944fa6 | 38 | int * PosL, * PosR; |
| IPAB | 0:5d64dc944fa6 | 39 | PosL = (int*)nPosL; |
| IPAB | 0:5d64dc944fa6 | 40 | PosR = (int*)nPosR; |
| IPAB | 0:5d64dc944fa6 | 41 | |
| IPAB | 0:5d64dc944fa6 | 42 | _serial.printf("H\n"); |
| IPAB | 0:5d64dc944fa6 | 43 | _serial.scanf("h,%d,%d",PosL,PosR); |
| IPAB | 0:5d64dc944fa6 | 44 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 45 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 46 | } |
| IPAB | 0:5d64dc944fa6 | 47 | |
| IPAB | 0:5d64dc944fa6 | 48 | int Koala::read_channel(int channel) { |
| IPAB | 0:5d64dc944fa6 | 49 | |
| IPAB | 0:5d64dc944fa6 | 50 | int reply; |
| IPAB | 0:5d64dc944fa6 | 51 | _serial.printf("I,%d\n",channel); |
| IPAB | 0:5d64dc944fa6 | 52 | _serial.scanf("i,%d",&reply); |
| IPAB | 0:5d64dc944fa6 | 53 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 54 | dummyread(); |
| IPAB | 0:5d64dc944fa6 | 55 | return reply; |
| IPAB | 2:b614b7a16e8d | 56 | } |
| IPAB | 2:b614b7a16e8d | 57 | |
| IPAB | 2:b614b7a16e8d | 58 | int printf(const char* format, ...) { |
| IPAB | 2:b614b7a16e8d | 59 | return _serial.printf(format) |
| IPAB | 2:b614b7a16e8d | 60 | } |
| IPAB | 2:b614b7a16e8d | 61 | |
| IPAB | 2:b614b7a16e8d | 62 | int scanf(const char* format, ... ) { |
| IPAB | 2:b614b7a16e8d | 63 | return _serial.scanf(format) |
| IPAB | 1:0006a3271fa2 | 64 | } |