Alex Pirciu
/
BFMC
a
include/SHARP_IR_distance/DistanceSensors/distancesensors.hpp@1:ceee5a608e7c, 2019-03-28 (annotated)
- Committer:
- alexpirciu
- Date:
- Thu Mar 28 07:44:42 2019 +0000
- Revision:
- 1:ceee5a608e7c
assa
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alexpirciu | 1:ceee5a608e7c | 1 | /** |
alexpirciu | 1:ceee5a608e7c | 2 | ****************************************************************************** |
alexpirciu | 1:ceee5a608e7c | 3 | * @file DistanceSensors.hpp |
alexpirciu | 1:ceee5a608e7c | 4 | * @author RBRO/PJ-IU |
alexpirciu | 1:ceee5a608e7c | 5 | * @version V1.0.0 |
alexpirciu | 1:ceee5a608e7c | 6 | * @date 08-January-2018 |
alexpirciu | 1:ceee5a608e7c | 7 | * @brief This file contains the class definition for the distance sensors read |
alexpirciu | 1:ceee5a608e7c | 8 | * methods. |
alexpirciu | 1:ceee5a608e7c | 9 | ****************************************************************************** |
alexpirciu | 1:ceee5a608e7c | 10 | */ |
alexpirciu | 1:ceee5a608e7c | 11 | |
alexpirciu | 1:ceee5a608e7c | 12 | /* Include guard */ |
alexpirciu | 1:ceee5a608e7c | 13 | #ifndef DISTANCESENSORS_HPP |
alexpirciu | 1:ceee5a608e7c | 14 | #define DISTANCESENSORS_HPP |
alexpirciu | 1:ceee5a608e7c | 15 | |
alexpirciu | 1:ceee5a608e7c | 16 | #include <mbed.h> |
alexpirciu | 1:ceee5a608e7c | 17 | #include <array> |
alexpirciu | 1:ceee5a608e7c | 18 | #include <string> |
alexpirciu | 1:ceee5a608e7c | 19 | #include<TaskManager/taskmanager.hpp> |
alexpirciu | 1:ceee5a608e7c | 20 | #include <SHARP_IR_distance\DistanceSensors\distancesensors.hpp> |
alexpirciu | 1:ceee5a608e7c | 21 | using namespace std; |
alexpirciu | 1:ceee5a608e7c | 22 | |
alexpirciu | 1:ceee5a608e7c | 23 | /** |
alexpirciu | 1:ceee5a608e7c | 24 | * @brief It is used for reading the attached distance sensors. |
alexpirciu | 1:ceee5a608e7c | 25 | * |
alexpirciu | 1:ceee5a608e7c | 26 | */ |
alexpirciu | 1:ceee5a608e7c | 27 | template<class T> |
alexpirciu | 1:ceee5a608e7c | 28 | class CDistanceSensors: public task::CTask |
alexpirciu | 1:ceee5a608e7c | 29 | { |
alexpirciu | 1:ceee5a608e7c | 30 | private: |
alexpirciu | 1:ceee5a608e7c | 31 | /* The sensors list */ |
alexpirciu | 1:ceee5a608e7c | 32 | T m_sensor_list; |
alexpirciu | 1:ceee5a608e7c | 33 | /* Index of current sensor */ |
alexpirciu | 1:ceee5a608e7c | 34 | uint8_t m_index; |
alexpirciu | 1:ceee5a608e7c | 35 | /* The maximum number of sensors that are used */ |
alexpirciu | 1:ceee5a608e7c | 36 | const uint8_t m_N; |
alexpirciu | 1:ceee5a608e7c | 37 | /* Flags for enabloing/disabling timeout */ |
alexpirciu | 1:ceee5a608e7c | 38 | Timeout m_disableTimeOut; |
alexpirciu | 1:ceee5a608e7c | 39 | Timeout m_enableTimeOut; |
alexpirciu | 1:ceee5a608e7c | 40 | /* Message that contains the read values */ |
alexpirciu | 1:ceee5a608e7c | 41 | string m_message; |
alexpirciu | 1:ceee5a608e7c | 42 | |
alexpirciu | 1:ceee5a608e7c | 43 | public: |
alexpirciu | 1:ceee5a608e7c | 44 | /* Construnctor */ |
alexpirciu | 1:ceee5a608e7c | 45 | CDistanceSensors(uint32_t f_period, |
alexpirciu | 1:ceee5a608e7c | 46 | float f_baseTick, |
alexpirciu | 1:ceee5a608e7c | 47 | T& f_sensor_list); |
alexpirciu | 1:ceee5a608e7c | 48 | /* Destructor */ |
alexpirciu | 1:ceee5a608e7c | 49 | ~CDistanceSensors(); |
alexpirciu | 1:ceee5a608e7c | 50 | /* Callback for reading sensor value */ |
alexpirciu | 1:ceee5a608e7c | 51 | void ReadCallback(void); |
alexpirciu | 1:ceee5a608e7c | 52 | /* Run method */ |
alexpirciu | 1:ceee5a608e7c | 53 | void _run(void); |
alexpirciu | 1:ceee5a608e7c | 54 | }; |
alexpirciu | 1:ceee5a608e7c | 55 | |
alexpirciu | 1:ceee5a608e7c | 56 | #include "DistanceSensors.inl" |
alexpirciu | 1:ceee5a608e7c | 57 | |
alexpirciu | 1:ceee5a608e7c | 58 | /* Include guard */ |
alexpirciu | 1:ceee5a608e7c | 59 | #endif |