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.
con_exp.h@2:d9745be6c253, 2022-08-04 (annotated)
- Committer:
- fionalin
- Date:
- Thu Aug 04 15:14:29 2022 -0400
- Revision:
- 2:d9745be6c253
hehe forgot to commit
Who changed what in which revision?
User | Revision | Line number | New 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 | }; |