Minimale Veränderungen in Btbee; Die Datenübertragung funktioniert nicht hunderprozentig, v.a. wenn mehrere Bytes übertragen werden.

Fork of btbee by Nikolas Goldin

btbee.cpp

Committer:
ngoldin
Date:
2013-05-16
Revision:
1:56f437e4d9e0
Parent:
0:e7cb710c8900
Child:
2:12c38a710982

File content as of revision 1:56f437e4d9e0:

#include "btbee.h"

btbee::btbee(PinName respin, PinName tx, PinName rx) : 
  Serial(tx,  rx) , reset_out(respin) 
{
  reset_out.write(1); 
}

btbee::btbee( ) : 
  Serial(p28,p27),  reset_out(p26)
{
  reset_out.write(1); 
}

void btbee::reset(void){
reset_out.write(0);
wait(0.01);
reset_out.write(1);
}


/* Read from the serial as long as it is readable. 
*  Params: pointer to char array for the return, 
*          int containing the length of the char array
*          pointer to int for return of chars read 
*  Return: 1 if ok, 0 if array full but more there to read
*/
int btbee::read_all(char * arr, const int len, int * chars_read){
int pos=0;
while (readable()){
    if (pos==len){return 0;}
    arr[pos]=getc(); 
    pos++;
    *chars_read = pos;
}
return 1;
}