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

Who changed what in which revision?

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