From adc04cbabe0773835ef2c83d132502ef87ce5a62 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 19 May 2014 02:01:08 +0200 Subject: introduced some default speeds --- tube-rotator/stepper.c | 17 +++++------------ tube-rotator/stepper.h | 11 ++++++++--- tube-rotator/tube-rotator.c | 25 ++++++++----------------- 3 files changed, 21 insertions(+), 32 deletions(-) (limited to 'tube-rotator') diff --git a/tube-rotator/stepper.c b/tube-rotator/stepper.c index 24ce37b..83b1026 100644 --- a/tube-rotator/stepper.c +++ b/tube-rotator/stepper.c @@ -27,13 +27,6 @@ uint8_t step_table [] = { - /* full steps */ - /* 6, // 0110 */ - /* 5, // 0101 */ - /* 9, // 1001 */ - /* 10, // 1010 */ - - /* half steps */ 2, // 0010 6, // 0110 4, // 0100 @@ -57,7 +50,7 @@ uint16_t current_speed; void stepper_init(void) { - target_speed = STEPPER_DEFAULT_SPEED; + target_speed = STEPPER_SPEED_DEFAULT; STEPPER_PORT &= ~(0xF << STEPPER_FIRST_BIT | 1<= STEPPER_MIN_SPEED && new_speed <= STEPPER_MAX_SPEED) + if(new_speed >= STEPPER_SPEED_MIN && new_speed <= STEPPER_SPEED_MAX) target_speed = new_speed; } void stepper_inc_speed(void) { - target_speed = (target_speed >= STEPPER_MAX_SPEED) ? target_speed : target_speed + 1; + target_speed = (target_speed >= STEPPER_SPEED_MAX) ? target_speed : target_speed + 1; } void stepper_dec_speed(void) { - target_speed = (target_speed <= STEPPER_MIN_SPEED) ? target_speed : target_speed - 1; + target_speed = (target_speed <= STEPPER_SPEED_MIN) ? target_speed : target_speed - 1; } diff --git a/tube-rotator/stepper.h b/tube-rotator/stepper.h index ace7984..2e95736 100644 --- a/tube-rotator/stepper.h +++ b/tube-rotator/stepper.h @@ -23,9 +23,14 @@ #ifndef R3TUBE_stepper_h_INCLUDED #define R3TUBE_stepper_h_INCLUDED -#define STEPPER_MIN_SPEED 800 -#define STEPPER_DEFAULT_SPEED 200 -#define STEPPER_MAX_SPEED 80 +#define STEPPER_SPEED_MIN 500 +#define STEPPER_SPEED_MAX 80 + +#define STEPPER_SPEED_60RPM 311 +#define STEPPER_SPEED_120RPM 155 +#define STEPPER_SPEED_180RPM 103 + +#define STEPPER_SPEED_DEFAULT STEPPER_SPEED_120RPM void stepper_init(void); void stepper_start(void); diff --git a/tube-rotator/tube-rotator.c b/tube-rotator/tube-rotator.c index 0e8195f..de2bd49 100644 --- a/tube-rotator/tube-rotator.c +++ b/tube-rotator/tube-rotator.c @@ -37,23 +37,14 @@ void handle_cmd(uint8_t cmd) { switch(cmd) { - case '!': - reset2bootloader(); - break; - case 'r': - led_on(); - stepper_start(); - break; - case 's': - stepper_stop(); - led_off(); - break; - case '+': - stepper_inc_speed(); - break; - case '-': - stepper_dec_speed(); - break; + case '!': reset2bootloader(); break; + case 'r': led_on(); stepper_start(); break; + case 's': stepper_stop(); led_off(); break; + case '+': stepper_inc_speed(); break; + case '-': stepper_dec_speed(); break; + case '1': stepper_set_speed(STEPPER_SPEED_60RPM); break; + case '2': stepper_set_speed(STEPPER_SPEED_120RPM); break; + case '3': stepper_set_speed(STEPPER_SPEED_180RPM); break; default: printf("Error(cmd): unknown command %02X '%c'\r\n", cmd, cmd); return; } } -- cgit v1.2.3