From 5d0534df47119192b6c5c0412c0d9d2792bf3a54 Mon Sep 17 00:00:00 2001 From: Maximilian Stiefel Date: Sun, 7 Feb 2021 21:58:04 +0100 Subject: [PATCH] Beginning of bigger refactoring process --- hal/stepper.cpp | 11 +++++++++++ include/a4988.h | 2 +- include/stepper.h | 27 +++++++++++++++++++++++++++ main.cpp | 12 ++++++++++-- 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 hal/stepper.cpp create mode 100644 include/stepper.h diff --git a/hal/stepper.cpp b/hal/stepper.cpp new file mode 100644 index 0000000..d59b085 --- /dev/null +++ b/hal/stepper.cpp @@ -0,0 +1,11 @@ +#include +namespace simon { + namespace stepper { + c_stepper::c_stepper(const settings_t* const stepper_set, + a4988::a4988_settings_t* a4988_set) + : m_set(stepper_set), m_a4988(a4988_set) + { + + } + } +} diff --git a/include/a4988.h b/include/a4988.h index 81e8d67..a2981cc 100644 --- a/include/a4988.h +++ b/include/a4988.h @@ -60,7 +60,7 @@ namespace simon { class c_allegro_4988 { public: - c_allegro_4988(a4988_settings_t* set); + explicit c_allegro_4988(a4988_settings_t* set); int enable(void); int disable(void); void kill(void); diff --git a/include/stepper.h b/include/stepper.h new file mode 100644 index 0000000..b281242 --- /dev/null +++ b/include/stepper.h @@ -0,0 +1,27 @@ +#ifndef INCLUDED_HAL_STEPPER +#define INCLUDED_HAL_STEPPER + +#include + +namespace simon { + namespace stepper { + + typedef struct { + const float gear_reduction; + const float steps_per_revolution; + } settings_t; + + class c_stepper + { + public: + c_stepper(const settings_t* const stepper_set, + a4988::a4988_settings_t* a4988_set); + private: + const settings_t* const m_set; + a4988::c_allegro_4988 m_a4988; + }; + + } // namespace stepper +} // namespace simon + +#endif /*INCLUDED_HAL_STEPPER*/ diff --git a/main.cpp b/main.cpp index 61946cf..e7658ae 100644 --- a/main.cpp +++ b/main.cpp @@ -1,13 +1,14 @@ #include #include +#include #include #include #include int main() { - using namespace simon::a4988; - a4988_settings_t a4988_set{ + using namespace simon; + a4988::a4988_settings_t a4988_set{ .gpio_en = 17, .gpio_step = 18, .gpio_dir = 22, @@ -15,11 +16,18 @@ int main() true, true, true } }; + stepper::settings_t stepper_set{ + .gear_reduction = 64.0f, + .steps_per_revolution = 32.0f + }; +/* c_allegro_4988 a4988(&a4988_set); std::thread t1(std::bind(&c_allegro_4988::run, &a4988)); a4988.post_move(32768, true, 100); a4988.kill(); t1.join(); +*/ + stepper::c_stepper(&stepper_set, &a4988_set); std::cout << "Hello camera" << std::endl; return 0; }