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