Implement new controller
Dependencies: mbed-rtos mbed QEI BNO055 MPU6050_DMP_Nucleo-I2Cdev virgo3_imuHandler_Orion_PCB MAX17048 Servo
Fork of Orion_newPCB_test by
01_DriveTrain/odometer.h
- Committer:
- akashvibhute
- Date:
- 2016-02-04
- Revision:
- 6:690db8b5030b
- Parent:
- 5:099cb2e76c7d
File content as of revision 6:690db8b5030b:
#ifndef odometer_H #define odometer_H #include "mbed.h" #include "generalFunctions.h" #include "QEI.h" #include "config.h" #include "virgo3_pinmapping.h" class odometer { public: odometer(); void update(); void init(); //void getRevolutions(float *revolutions[2]); //void getRPM(float *rpm[2]); float revolutions[2]; float rpm[2]; private: QEI encLeft; QEI encRight; Timer enc_timer; float timer_s; uint16_t movWindow_len; uint16_t movWindow_index; float encRes; static const unsigned int movWindow_lenMax = 64; //to prevent excessive RAM usage at program runtime int32_t pulse_counter[2][2]; // [0:left / 1:right], [0:previous / 1:current] float rpmWindow_left[movWindow_lenMax]; // [movWindow_index: instantaneous velocity in rpm] float rpmWindow_right[movWindow_lenMax]; // [movWindow_index: instantaneous velocity in rpm] float filtered_reading[2][2]; // [0:left / 1:right], [0:revolutions / 1:velocity in rpm] }; #endif