From 31686afee01d0fa0c94307897b8f7a33b2cf2244 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 20 May 2014 03:13:40 +0200 Subject: added conversion from speed value to rpm --- tube-rotator/stepper.c | 6 ++++++ tube-rotator/stepper.h | 1 + tube-rotator/tube-rotator.c | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'tube-rotator') diff --git a/tube-rotator/stepper.c b/tube-rotator/stepper.c index 064db5a..a498b43 100644 --- a/tube-rotator/stepper.c +++ b/tube-rotator/stepper.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "stepper.h" @@ -125,3 +126,8 @@ uint16_t stepper_get_speed(void) { return target_speed; } + +uint8_t stepper_get_speed_rpm(void) +{ + return (uint8_t)lround( ( (double)F_CPU / (double)(51200 * (target_speed + 1) ) ) * 60.0 ); +} diff --git a/tube-rotator/stepper.h b/tube-rotator/stepper.h index 8412782..e48be30 100644 --- a/tube-rotator/stepper.h +++ b/tube-rotator/stepper.h @@ -46,5 +46,6 @@ void stepper_set_speed(uint16_t new_speed); void stepper_inc_speed(void); void stepper_dec_speed(void); uint16_t stepper_get_speed(void); +uint8_t stepper_get_speed_rpm(void); #endif diff --git a/tube-rotator/tube-rotator.c b/tube-rotator/tube-rotator.c index dbce87e..e0b0255 100644 --- a/tube-rotator/tube-rotator.c +++ b/tube-rotator/tube-rotator.c @@ -53,7 +53,7 @@ void handle_cmd(uint8_t cmd) case '0': stepper_set_speed(STEPPER_SPEED_100RPM); break; default: printf("Error(cmd): unknown command %02X '%c'\r\n", cmd, cmd); return; } - printf("current speed: %4d \r", stepper_get_speed()); + printf("target speed: %3d rpm\r", stepper_get_speed_rpm()); } int main(void) -- cgit v1.2.3