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 #include <cstdint>
fionalin 2:d9745be6c253 2 #include <mbed.h>
fionalin 2:d9745be6c253 3 #include "dis_exp.h"
fionalin 2:d9745be6c253 4
fionalin 2:d9745be6c253 5 const PinName MOTOR_ENABLE = D15;
fionalin 2:d9745be6c253 6 const PinName MOTOR_STEP = D9;
fionalin 2:d9745be6c253 7 const PinName MOTOR_DIR = D13;
fionalin 2:d9745be6c253 8 const PinName MOTOR_MS1 = D12;
fionalin 2:d9745be6c253 9 const PinName MOTOR_MS2 = D11;
fionalin 2:d9745be6c253 10 const PinName MOTOR_MS3 = D10;
fionalin 2:d9745be6c253 11 const PinName SLEEP = D1;
fionalin 2:d9745be6c253 12
fionalin 2:d9745be6c253 13 const PinName CS_MEASURE = D2;
fionalin 2:d9745be6c253 14 const PinName CS_SQUARE = D3;
fionalin 2:d9745be6c253 15
fionalin 2:d9745be6c253 16 const int BAUD_RATE = 9600;
fionalin 2:d9745be6c253 17
fionalin 2:d9745be6c253 18 const int32_t N_MEASURE = 4;
fionalin 2:d9745be6c253 19 const uint32_t T_MEASURE_US = 400; //currently not in use
fionalin 2:d9745be6c253 20 const int32_t DELTA_STEPS = 20;
fionalin 2:d9745be6c253 21 const int32_t MAX_STEPS = 100;
fionalin 2:d9745be6c253 22
fionalin 2:d9745be6c253 23 int main(void) {
fionalin 2:d9745be6c253 24 StepperMotor motor(MOTOR_ENABLE,
fionalin 2:d9745be6c253 25 MOTOR_STEP,
fionalin 2:d9745be6c253 26 MOTOR_DIR,
fionalin 2:d9745be6c253 27 MOTOR_MS1,
fionalin 2:d9745be6c253 28 MOTOR_MS2,
fionalin 2:d9745be6c253 29 MOTOR_MS3,
fionalin 2:d9745be6c253 30 SLEEP);
fionalin 2:d9745be6c253 31
fionalin 2:d9745be6c253 32 CapSense cap_sense(CS_MEASURE, CS_SQUARE);
fionalin 2:d9745be6c253 33
fionalin 2:d9745be6c253 34 DiscreteExperiment discrete_exp(motor, cap_sense, N_MEASURE, T_MEASURE_US,
fionalin 2:d9745be6c253 35 DELTA_STEPS, MAX_STEPS);
fionalin 2:d9745be6c253 36
fionalin 2:d9745be6c253 37 discrete_exp.reset();
fionalin 2:d9745be6c253 38
fionalin 2:d9745be6c253 39 discrete_exp.start();
fionalin 2:d9745be6c253 40
fionalin 2:d9745be6c253 41 int steps = 0;
fionalin 2:d9745be6c253 42 while(!discrete_exp.is_done()) {
fionalin 2:d9745be6c253 43 printf("Steps: %d\n", steps);
fionalin 2:d9745be6c253 44 steps++;
fionalin 2:d9745be6c253 45 discrete_exp.proceed();
fionalin 2:d9745be6c253 46 }
fionalin 2:d9745be6c253 47
fionalin 2:d9745be6c253 48 auto& data = discrete_exp.report();
fionalin 2:d9745be6c253 49
fionalin 2:d9745be6c253 50 for (auto& steps_tau_tuple: data) {
fionalin 2:d9745be6c253 51 printf("Steps: %d, Tau: %d\n",
fionalin 2:d9745be6c253 52 std::get<0>(steps_tau_tuple),
fionalin 2:d9745be6c253 53 std::get<1>(steps_tau_tuple));
fionalin 2:d9745be6c253 54 }
fionalin 2:d9745be6c253 55 }