Myserial Library extends RawSerial

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?

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