TFmini(Micro LiDAR Module) library tested on mbedos5.x
Dependents: 2018NHK_gakugaku_robo 2018NHK_gaku_ver2 2019NHK_A_sensor
Diff: TFmini.cpp
- Revision:
- 3:04330e82af20
- Parent:
- 1:12f2bfb3577a
- Child:
- 4:7622beb45675
--- a/TFmini.cpp Wed Aug 22 19:51:20 2018 +0900 +++ b/TFmini.cpp Wed Aug 22 10:59:25 2018 +0000 @@ -15,7 +15,7 @@ void TFmini::readData() { buffer[(int)readCounter] = getc(); - incrementCounter(&readCounter); + readCounter = incrementCounter(readCounter); } void TFmini::assemble() @@ -27,7 +27,7 @@ for(int i = 0; i < TF_SERIAL_BUFFER_SIZE; i++) { if(buffer[i] == TF_HEADER_FIRST_BYTE) { takeCounter = i; - incrementCounter(&takeCounter); + takeCounter = incrementCounter(takeCounter); if(buffer[(int)takeCounter] == TF_HEADER_SECOND_BYTE) { headerCheck = true; headerPoint = i; @@ -40,30 +40,36 @@ //assemble takeCounter = headerPoint; //firstheader - incrementCounter(&takeCounter); //secondheader + takeCounter = incrementCounter(takeCounter); //secondheader - incrementCounter(&takeCounter); + takeCounter = incrementCounter(takeCounter); data[0] = buffer[(int)takeCounter]; - incrementCounter(&takeCounter); + takeCounter = incrementCounter(takeCounter); data[1] = buffer[(int)takeCounter]; distance = ((data[1]<<8)|data[0]); - incrementCounter(&takeCounter); + takeCounter = incrementCounter(takeCounter); data[0] = buffer[(int)takeCounter]; - incrementCounter(&takeCounter); + takeCounter = incrementCounter(takeCounter); data[1] = buffer[(int)takeCounter]; strength = ((data[1]<<8)|data[0]); } -void TFmini::incrementCounter(int *counter) +int TFmini::incrementCounter(int counter) { ++counter; - if((int)counter >= TF_SERIAL_BUFFER_SIZE) { + if(counter >= TF_SERIAL_BUFFER_SIZE) { counter -= TF_SERIAL_BUFFER_SIZE; } + return counter; } int TFmini::getDistance() { return distance; } + +int TFmini::getStrength() +{ + return strength; +}