Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
dis_exp.h@2:d9745be6c253, 2022-08-04 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |