DuckieTownCarHS
Dependencies: TCS3200 X_NUCLEO_IKS01A2 mbed-rtos mbed
Fork of DuckieTownCar by
VM_Car/DuckieTownCar.h
- Committer:
- deangelis1993
- Date:
- 2017-02-15
- Revision:
- 0:65ecca01ac5c
File content as of revision 0:65ecca01ac5c:
#ifndef _DUCKIETOWNCAR_H #define _DUCKIETOWNCAR_H #include "ByteCode.h" //#include "color.h" #include "x_nucleo_iks01a2.h" /*********************************************** * DuckieTownCarHS macchina Virtuale! * * by De Angelis Domenico Francesco * *--------> UNINA FabLAB <------------* ************************************************/ //Se con le classi siamo nel torno, è meglio sbagliare alla grande! :D #define DEBUG_CAR //Singleton class DuckieTownCar { private: static DuckieTownCar* instance;//istanza della macchina ByteCode code; LSM6DSLSensor *acc_gyro;//giroscopio int32_t axes[3],off[3]; float parziale_angolo[3],angolo[3];//angolo indica di quanto sia ruotato rispetto ad offset iniziale in [gyro/d] //sceda per i motori //scheda dei Colori TCS3200 //ColorSensor sensor_color; DuckieTownCar(); void infoAxes();//aggiorna i valori di angolo! void dritto(); void gira(); public: ~DuckieTownCar(){error("Ora mi devi spiegare come ci sei arrivato qui...\n");} static DuckieTownCar* getInstance(); void initCarSensor(); __forceinline void updateStateCar();//aggiorno lo stato della macchina attraverso i sensori! __forceinline void readMission(const ByteCode& codice){this->code.code = codice.code; this->code.dim_code = codice.dim_code;} void execute() const; void executeLine(unsigned char code) const; void executeRandom() const; //nel caso vogliamo permettere di configurare l'auto //void setVel(float); //float getVel() const; }; #endif