a

Dependencies:   mbed mbed-rtos

Committer:
alexpirciu
Date:
Thu Mar 28 07:44:42 2019 +0000
Revision:
1:ceee5a608e7c
assa

Who changed what in which revision?

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