SmartWheels self-driving race car. Designed for NXP Cup. Uses FRDM-KL25Z, area-scan camera, and simple image processing to detect and navigate any NXP spec track.
Dependencies: TSI USBDevice mbed-dev
Fork of SmartWheels by
StateMachine/States.h
- Committer:
- hazheng
- Date:
- 2017-04-18
- Branch:
- Drift
- Revision:
- 84:2c22d01e8ae9
- Parent:
- 80:c85cb93713b3
File content as of revision 84:2c22d01e8ae9:
/** * @file States.h * @brief The header file for the States class. * @author Jordan Brack <jabrack@mix.wvu.edu>, Haofan Zheng <hazheng@mix.wvu.edu> * */ #pragma once #ifndef STATES_H #define STATES_H #include <mbed.h> /** * @class States * @brief The abstract class for different states. This class should not be used directly. * */ class States { public: /** * @brief This is the constructor for the States class * */ States(){} /** * @brief This is the destructor for the States class * */ ~States(){} /** * @brief This function will be called once, when this instance becoming the current state. * */ virtual void DrawUserInterface(){} /** * @brief This functino will be called during every tick, only if this instance is the current state. * @param deltaTime The time interval between last tick and current tick. * */ virtual void Update(float deltaTime){} /** * @brief Return wether or not this State has a position callback function for the touch screen. * @return 0 for not, 1 for yes. * */ virtual uint8_t HasTouchPosFunction() const{return 0;} /** * @brief Return wether or not this State has a interrupt callback function for the touch screen. * @return 0 for not, 1 for yes. * */ virtual uint8_t HasTouchIrqFunction() const{return 0;} /** * @brief This is the position callback function for the touch screen. * @param x The position on x axis. * @param y The position on y axis. * */ virtual void TouchPosCallback(int16_t x, int16_t y){} /** * @brief This is the interrupt callback function for the touch screen. * */ virtual void TouchIrqCallback(){} }; #endif //STATES_H