EEP fORK
Dependencies: BLE_API mbed nRF51822
Fork of MCS_LRF by
laser.h
- Committer:
- Farshad
- Date:
- 2017-02-27
- Revision:
- 15:bc4f8c597c26
- Parent:
- 12:cf8af0b4e0d2
- Child:
- 16:dc9956bac1a3
File content as of revision 15:bc4f8c597c26:
#pragma once #ifndef _LASER_ #define _LASER_ #include <stdio.h> #include <vector> #include "mbed.h" using namespace std; class Laser { public: Laser(Serial& serial, int nSamples = 10); ~Laser(); void enableMeasurement(bool enable); void triggerDistanceMeasurement(); void setDistaceCallback(void (*distanceCallback)(float distance, float elapsedTime)); void setDebugCallback(void (*debugCallback)(char*)); void setRedDot(bool on); void turnLaserPowerOn(); void turnLaserPowerOff(); void setNumberOfSamples(int n) {nSamples = n;} private: bool timerRunning; uint8_t idx; Serial& serial; bool powerOffState; bool busy; int nSamples; static const uint8_t bufSize = 100; char buf[bufSize]; Timer timer; bool sendCommand(char cmd[]); bool processResponse(); void split(char s[], char c, std::vector<char*>& v); void (*distanceCallback)(float distance, float elapsedTime); void (*debugCallback)(char data[]); void discardResponse(); void connectPower(); void removePower(); }; #endif // _LASER_