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:
- harrynguyen
- Date:
- 2018-03-13
- Revision:
- 23:6806c3bacf58
- Parent:
- 11:49344285c82a
File content as of revision 23:6806c3bacf58:
#ifndef odometer_H #define odometer_H #include "mbed.h" #include "generalFunctions.h" #include "QEI.h" #include "config.h" #include "orion_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