Fiona Lin / Mbed OS cap_sense
Committer:
fionalin
Date:
Thu Aug 04 15:14:29 2022 -0400
Revision:
2:d9745be6c253
Parent:
0:4e3ad938564e
hehe forgot to commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fionalin 0:4e3ad938564e 1 #pragma once
fionalin 0:4e3ad938564e 2
fionalin 0:4e3ad938564e 3 #include "stepper.h"
fionalin 0:4e3ad938564e 4 #include "capsense.h"
fionalin 2:d9745be6c253 5 #include <cstdint>
fionalin 0:4e3ad938564e 6 #include <vector>
fionalin 0:4e3ad938564e 7 #include <tuple>
fionalin 2:d9745be6c253 8 #include "Adafruit_MPR121.h"
fionalin 0:4e3ad938564e 9
fionalin 0:4e3ad938564e 10 class DiscreteExperiment {
fionalin 0:4e3ad938564e 11 public:
fionalin 2:d9745be6c253 12 DiscreteExperiment(StepperMotor& motor, Adafruit_MPR121& mpr121,
fionalin 0:4e3ad938564e 13 int32_t n_measure, uint32_t t_measure_us,
fionalin 0:4e3ad938564e 14 int32_t delta_steps, int32_t max_steps);
fionalin 0:4e3ad938564e 15 void proceed();
fionalin 0:4e3ad938564e 16 bool is_done();
fionalin 2:d9745be6c253 17 /**
fionalin 2:d9745be6c253 18 * Returns a vector of tuples of (steps, tau in microseconds)
fionalin 2:d9745be6c253 19 */
fionalin 2:d9745be6c253 20 std::vector<std::tuple<int32_t, uint32_t>>& report(); /*steps instead of dis */
fionalin 0:4e3ad938564e 21 void start();
fionalin 0:4e3ad938564e 22 void reset();
fionalin 0:4e3ad938564e 23
fionalin 0:4e3ad938564e 24 private:
fionalin 0:4e3ad938564e 25 enum State {
fionalin 0:4e3ad938564e 26 IDLE,
fionalin 0:4e3ad938564e 27 MOVING,
fionalin 0:4e3ad938564e 28 MEASURING,
fionalin 0:4e3ad938564e 29 DONE
fionalin 0:4e3ad938564e 30 };
fionalin 0:4e3ad938564e 31
fionalin 0:4e3ad938564e 32 private:
fionalin 0:4e3ad938564e 33 StepperMotor& motor;
fionalin 2:d9745be6c253 34 Adafruit_MPR121& mpr121;
fionalin 0:4e3ad938564e 35
fionalin 0:4e3ad938564e 36 int32_t n_measure;
fionalin 0:4e3ad938564e 37 uint32_t t_measure_us;
fionalin 0:4e3ad938564e 38 int32_t delta_steps;
fionalin 0:4e3ad938564e 39 int32_t max_steps;
fionalin 0:4e3ad938564e 40
fionalin 2:d9745be6c253 41 std::vector<std::tuple<int32_t, uint32_t>> data;
fionalin 0:4e3ad938564e 42 State state;
fionalin 0:4e3ad938564e 43
fionalin 0:4e3ad938564e 44 int32_t move_counter;
fionalin 0:4e3ad938564e 45 int32_t measu_counter;
fionalin 0:4e3ad938564e 46 int32_t steps_taken;
fionalin 0:4e3ad938564e 47
fionalin 0:4e3ad938564e 48 };