Publishing for Biomimetics.

Dependencies:   CRC MODDMA MODSERIAL MPU6050IMU PID QEI mbed-rtos mbed-src

Committer:
abuchan
Date:
Tue May 31 17:04:59 2016 +0000
Revision:
0:8cfa73bb68e4
Publishing for Biomimetics.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
abuchan 0:8cfa73bb68e4 1 #ifndef SENSORS_H
abuchan 0:8cfa73bb68e4 2 #define SENSORS_H
abuchan 0:8cfa73bb68e4 3
abuchan 0:8cfa73bb68e4 4 #include "mbed.h"
abuchan 0:8cfa73bb68e4 5
abuchan 0:8cfa73bb68e4 6 #include "MPU6050.h"
abuchan 0:8cfa73bb68e4 7 #include "QEI.h"
abuchan 0:8cfa73bb68e4 8
abuchan 0:8cfa73bb68e4 9 #include "protocol.h"
abuchan 0:8cfa73bb68e4 10
abuchan 0:8cfa73bb68e4 11 class Sensors {
abuchan 0:8cfa73bb68e4 12
abuchan 0:8cfa73bb68e4 13 public:
abuchan 0:8cfa73bb68e4 14
abuchan 0:8cfa73bb68e4 15 Sensors(
abuchan 0:8cfa73bb68e4 16 Timer *system_timer,
abuchan 0:8cfa73bb68e4 17 PinName voltage_pin,
abuchan 0:8cfa73bb68e4 18 PinName l_enc_a_pin, PinName l_enc_b_pin,
abuchan 0:8cfa73bb68e4 19 PinName r_enc_a_pin, PinName r_enc_b_pin, uint32_t tick_per_rev,
abuchan 0:8cfa73bb68e4 20 PinName imu_sda_pin, PinName imu_scl_pin);
abuchan 0:8cfa73bb68e4 21
abuchan 0:8cfa73bb68e4 22 float get_voltage(void);
abuchan 0:8cfa73bb68e4 23 void get_encoders(int32_t (&encoders)[2]);
abuchan 0:8cfa73bb68e4 24 void get_angles(float* angles);
abuchan 0:8cfa73bb68e4 25 bool get_imu(sensor_data_t* sensor_data);
abuchan 0:8cfa73bb68e4 26
abuchan 0:8cfa73bb68e4 27 bool fill_sensor_packet(packet_t* packet);
abuchan 0:8cfa73bb68e4 28
abuchan 0:8cfa73bb68e4 29 private:
abuchan 0:8cfa73bb68e4 30
abuchan 0:8cfa73bb68e4 31 Timer* system_timer_;
abuchan 0:8cfa73bb68e4 32 AnalogIn voltage_pin_;
abuchan 0:8cfa73bb68e4 33 QEI left_qei_;
abuchan 0:8cfa73bb68e4 34 QEI right_qei_;
abuchan 0:8cfa73bb68e4 35 MPU6050 mpu6050_;
abuchan 0:8cfa73bb68e4 36 bool imu_ready_;
abuchan 0:8cfa73bb68e4 37 };
abuchan 0:8cfa73bb68e4 38
abuchan 0:8cfa73bb68e4 39 #endif