Alex Pirciu
/
BFMC
a
include/SafetyStop/safetystopfunction.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 SafetyStopFunction.hpp |
alexpirciu | 1:ceee5a608e7c | 4 | * @author RBRO/PJ-IU |
alexpirciu | 1:ceee5a608e7c | 5 | * @version V1.0.0 |
alexpirciu | 1:ceee5a608e7c | 6 | * @date day-month-2017 |
alexpirciu | 1:ceee5a608e7c | 7 | * @brief This file contains the class declaration for the safety stop activation |
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 SAFETY_STOP_FUNCTION_HPP |
alexpirciu | 1:ceee5a608e7c | 14 | #define SAFETY_STOP_FUNCTION_HPP |
alexpirciu | 1:ceee5a608e7c | 15 | |
alexpirciu | 1:ceee5a608e7c | 16 | /* Required for the use of C_IR_DistanceSensorDriver */ |
alexpirciu | 1:ceee5a608e7c | 17 | #include <SHARP_IR_distance\IR_DistanceSensorDriver\ir_distancesensordriver.hpp> |
alexpirciu | 1:ceee5a608e7c | 18 | |
alexpirciu | 1:ceee5a608e7c | 19 | |
alexpirciu | 1:ceee5a608e7c | 20 | /** |
alexpirciu | 1:ceee5a608e7c | 21 | * @brief It is used for deciding whether to activate safetyu stop depending on |
alexpirciu | 1:ceee5a608e7c | 22 | * distance sensors reading. |
alexpirciu | 1:ceee5a608e7c | 23 | * |
alexpirciu | 1:ceee5a608e7c | 24 | */ |
alexpirciu | 1:ceee5a608e7c | 25 | class CSafetyStopFunction{ |
alexpirciu | 1:ceee5a608e7c | 26 | public: |
alexpirciu | 1:ceee5a608e7c | 27 | /* Construnctor */ |
alexpirciu | 1:ceee5a608e7c | 28 | CSafetyStopFunction(C_IR_DistanceSensorDriver& f_senLeftFront |
alexpirciu | 1:ceee5a608e7c | 29 | , C_IR_DistanceSensorDriver& f_senMidLeftFront |
alexpirciu | 1:ceee5a608e7c | 30 | , C_IR_DistanceSensorDriver& f_senCenterFront |
alexpirciu | 1:ceee5a608e7c | 31 | , C_IR_DistanceSensorDriver& f_senMidRightFront |
alexpirciu | 1:ceee5a608e7c | 32 | , C_IR_DistanceSensorDriver& f_senRightFront |
alexpirciu | 1:ceee5a608e7c | 33 | // , C_IR_DistanceSensorDriver& f_senLeftBach |
alexpirciu | 1:ceee5a608e7c | 34 | // , C_IR_DistanceSensorDriver& f_senRightBach |
alexpirciu | 1:ceee5a608e7c | 35 | ); |
alexpirciu | 1:ceee5a608e7c | 36 | |
alexpirciu | 1:ceee5a608e7c | 37 | /* Destructor */ |
alexpirciu | 1:ceee5a608e7c | 38 | ~CSafetyStopFunction(); |
alexpirciu | 1:ceee5a608e7c | 39 | |
alexpirciu | 1:ceee5a608e7c | 40 | /* Function for activating safety stop */ |
alexpirciu | 1:ceee5a608e7c | 41 | bool isSafetyStopActive(float f_speed, float f_angle); |
alexpirciu | 1:ceee5a608e7c | 42 | /* Serial callback method */ |
alexpirciu | 1:ceee5a608e7c | 43 | static void staticSerialCallback(void* obj,char const * a, char * b); |
alexpirciu | 1:ceee5a608e7c | 44 | private: |
alexpirciu | 1:ceee5a608e7c | 45 | /* Serial callback actions */ |
alexpirciu | 1:ceee5a608e7c | 46 | void serialCallback(char const * a, char * b); |
alexpirciu | 1:ceee5a608e7c | 47 | /* The functionality active state*/ |
alexpirciu | 1:ceee5a608e7c | 48 | bool m_active; |
alexpirciu | 1:ceee5a608e7c | 49 | /* Current car speed */ |
alexpirciu | 1:ceee5a608e7c | 50 | float m_speed; |
alexpirciu | 1:ceee5a608e7c | 51 | /* Current steering angle */ |
alexpirciu | 1:ceee5a608e7c | 52 | float m_angle; |
alexpirciu | 1:ceee5a608e7c | 53 | /* Front sensors */ |
alexpirciu | 1:ceee5a608e7c | 54 | C_IR_DistanceSensorDriver& m_senLeftFront; |
alexpirciu | 1:ceee5a608e7c | 55 | C_IR_DistanceSensorDriver& m_senMidLeftFront; |
alexpirciu | 1:ceee5a608e7c | 56 | C_IR_DistanceSensorDriver& m_senCenterFront; |
alexpirciu | 1:ceee5a608e7c | 57 | C_IR_DistanceSensorDriver& m_senMidRightFront; |
alexpirciu | 1:ceee5a608e7c | 58 | C_IR_DistanceSensorDriver& m_senRightFront; |
alexpirciu | 1:ceee5a608e7c | 59 | /* Back sensors */ |
alexpirciu | 1:ceee5a608e7c | 60 | // C_IR_DistanceSensorDriver& m_senLeftBach; |
alexpirciu | 1:ceee5a608e7c | 61 | // C_IR_DistanceSensorDriver& m_senRightBach; |
alexpirciu | 1:ceee5a608e7c | 62 | /* Serial communication member */ |
alexpirciu | 1:ceee5a608e7c | 63 | /* USED FOR DEBUG */ |
alexpirciu | 1:ceee5a608e7c | 64 | }; |
alexpirciu | 1:ceee5a608e7c | 65 | |
alexpirciu | 1:ceee5a608e7c | 66 | /* Include guard */ |
alexpirciu | 1:ceee5a608e7c | 67 | #endif |
alexpirciu | 1:ceee5a608e7c | 68 | |
alexpirciu | 1:ceee5a608e7c | 69 | |
alexpirciu | 1:ceee5a608e7c | 70 | |
alexpirciu | 1:ceee5a608e7c | 71 | |
alexpirciu | 1:ceee5a608e7c | 72 | |
alexpirciu | 1:ceee5a608e7c | 73 | |
alexpirciu | 1:ceee5a608e7c | 74 | |
alexpirciu | 1:ceee5a608e7c | 75 |