diff --git a/inc/main.h b/inc/main.h index ee604a8..d23adbc 100644 --- a/inc/main.h +++ b/inc/main.h @@ -106,7 +106,7 @@ uint16_t ReadFader(void); /** * @brief Reads the ADC value from the Speed pot. */ -uint16_t ReadSpeed(void); +uint8_t ReadSpeed(void); /** diff --git a/src/main.c b/src/main.c index 1862a3d..67a588f 100644 --- a/src/main.c +++ b/src/main.c @@ -83,7 +83,7 @@ void InitProg(void) { InitTimer0(); } -uint16_t ReadSpeed(void) { +uint8_t ReadSpeed(void) { // Initialize ADC ADMUX = (0 << MUX1) | (1 << MUX0); // Select ADC1 (PB2) ADCSRA = (1 << ADEN) | (1 << ADPS1) | (1 << ADPS0); // Enable ADC, prescaler 8 @@ -91,7 +91,7 @@ uint16_t ReadSpeed(void) { ADCSRA |= (1 << ADSC); // Start conversion while (ADCSRA & (1 << ADSC)) { } // Wait for conversion to finish - return ADC; + return (uint8_t)(ADC >> 2); } @@ -132,6 +132,7 @@ uint8_t MotorGetSavedPos(void) { void MotorMoveTo(uint8_t target) { + double speed_delay = ReadFader(); uint8_t pos = (uint8_t)(ReadFader() >> 2); while (diff(target, pos) > 8) {