Myserial Library extends RawSerial
MySerial.cpp@12:02b3877b48c6, 2014-07-03 (annotated)
- Committer:
- naao
- Date:
- Thu Jul 03 03:19:26 2014 +0000
- Revision:
- 12:02b3877b48c6
- Parent:
- 11:34ae126807a0
- Child:
- 14:8bd054a87ac5
changed base library to SerialBase and reffers to RawSerial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
naao | 0:5b0b84a10bba | 1 | #include "MySerial.h" |
naao | 0:5b0b84a10bba | 2 | |
naao | 12:02b3877b48c6 | 3 | MySerial::MySerial(PinName tx,PinName rx):SerialBase(tx,rx) //constructor |
naao | 0:5b0b84a10bba | 4 | { |
naao | 9:981384455445 | 5 | fRxStartWait = 0.01; //wait getting a 1st char after interrupted |
naao | 9:981384455445 | 6 | fRxEachWait = 0.001; //wait getting each char |
naao | 9:981384455445 | 7 | } |
naao | 9:981384455445 | 8 | |
naao | 12:02b3877b48c6 | 9 | int MySerial::getc() { |
naao | 12:02b3877b48c6 | 10 | return _base_getc(); |
naao | 12:02b3877b48c6 | 11 | } |
naao | 12:02b3877b48c6 | 12 | |
naao | 12:02b3877b48c6 | 13 | int MySerial::putc(int c) { |
naao | 12:02b3877b48c6 | 14 | return _base_putc(c); |
naao | 12:02b3877b48c6 | 15 | } |
naao | 12:02b3877b48c6 | 16 | |
naao | 12:02b3877b48c6 | 17 | int MySerial::puts(const char *str) { |
naao | 12:02b3877b48c6 | 18 | while (*str) |
naao | 12:02b3877b48c6 | 19 | putc(*str ++); |
naao | 12:02b3877b48c6 | 20 | return 0; |
naao | 12:02b3877b48c6 | 21 | } |
naao | 12:02b3877b48c6 | 22 | |
naao | 9:981384455445 | 23 | void MySerial::SetRxWait(float _fRxStartWait, float _fRxEachWait) |
naao | 9:981384455445 | 24 | { |
naao | 9:981384455445 | 25 | fRxStartWait = _fRxStartWait; //wait getting a 1st char after interrupted |
naao | 9:981384455445 | 26 | fRxEachWait = _fRxEachWait; //wait getting each char |
naao | 0:5b0b84a10bba | 27 | } |
naao | 0:5b0b84a10bba | 28 | |
naao | 0:5b0b84a10bba | 29 | int MySerial::GetString(int size, char *cWord) //by pointer |
naao | 0:5b0b84a10bba | 30 | { |
naao | 0:5b0b84a10bba | 31 | int i=0; |
naao | 0:5b0b84a10bba | 32 | int ichar; |
naao | 0:5b0b84a10bba | 33 | memset(cWord, '\0', strlen(cWord)); //initialise chars |
naao | 0:5b0b84a10bba | 34 | |
naao | 9:981384455445 | 35 | wait(fRxStartWait); |
naao | 8:a7aaafa19db6 | 36 | |
naao | 0:5b0b84a10bba | 37 | while(1) { |
naao | 0:5b0b84a10bba | 38 | if(!readable()) { |
naao | 0:5b0b84a10bba | 39 | break; |
naao | 0:5b0b84a10bba | 40 | } |
naao | 0:5b0b84a10bba | 41 | ichar = getc(); |
naao | 0:5b0b84a10bba | 42 | if(i<size) { |
naao | 0:5b0b84a10bba | 43 | cWord[i] =ichar; |
naao | 3:e4c443ce0fbe | 44 | //putc(ichar); |
naao | 0:5b0b84a10bba | 45 | } |
naao | 0:5b0b84a10bba | 46 | i++; |
naao | 9:981384455445 | 47 | wait(fRxEachWait); |
naao | 0:5b0b84a10bba | 48 | } |
naao | 0:5b0b84a10bba | 49 | return 0; |
naao | 0:5b0b84a10bba | 50 | } |