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/StateManager.cpp
- Committer:
- hazheng
- Date:
- 2017-04-18
- Branch:
- Drift
- Revision:
- 80:c85cb93713b3
- Child:
- 81:32bd7a25a699
File content as of revision 80:c85cb93713b3:
#include "StateManager.h" #include "States.h" #include "ArduTouch.h" #ifdef __cplusplus extern "C" { #endif static States* stat_manger_curr_stat = NULL; void state_manager_touch_pos(int16_t x, int16_t y) { stat_manger_curr_stat->TouchPosCallback(x, y); } void state_manager_touch_irq() { stat_manger_curr_stat->TouchIrqCallback(); } void state_manager_set_current_state(States* stat) { state_manager_clear_current_state(); stat_manger_curr_stat = stat; if(stat_manger_curr_stat) { if(stat_manger_curr_stat->HasTouchPosFunction()) { ardu_touch_set_pos_function(&state_manager_touch_pos); } if(stat_manger_curr_stat->HasTouchIrqFunction()) { ardu_touch_set_irq_function(&state_manager_touch_irq); } } } void state_manager_clear_current_state() { if(stat_manger_curr_stat) { delete stat_manger_curr_stat; stat_manger_curr_stat = NULL; } ardu_touch_set_irq_function(NULL); ardu_touch_set_pos_function(NULL); } void state_manager_update(float deltaTime) { if(stat_manger_curr_stat) { stat_manger_curr_stat->Update(deltaTime); } } #ifdef __cplusplus } #endif