diff --git a/code/main.c b/code/main.c index 03c3f1f..26cec5f 100644 --- a/code/main.c +++ b/code/main.c @@ -26,7 +26,7 @@ // Rotary Encoder Parameters #define ROT_PULSE_COUNT 12 #define ROT_DETENTS 24 -#define ROT_WHEEL_RAD 13.125 +#define ROT_WHEEL_RAD 13 //#define ROT_CW_UP // Input masks @@ -41,7 +41,7 @@ #define INPUT_MASK (BUTTON_M | ENCODER_M) // Event queue macros -#define MAX_EVENT_COUNT 16 +#define MAX_EVENT_COUNT 64 #define PTR_INC(x) ((x) = events + ((((x) - events) + 1) % MAX_EVENT_COUNT)) enum event_e @@ -311,19 +311,8 @@ int main() if (rot_value / (ROT_PULSE_COUNT * 4 / ROT_DETENTS) != 0) { - int8_t rot_abs; - int8_t adjust; - - rot_abs = rot_value; - adjust = 1; - if (rot_value < 0) - { - rot_abs = -rot_abs; - adjust = -1; - } - - rot_value -= (rot_abs * adjust); - count_value_fine += (rot_coeff * adjust * rot_abs); + count_value_fine += rot_coeff * rot_value; + rot_value = 0; if (count_value_fine < 0) { @@ -950,8 +939,8 @@ void write_eeprom_val(uint16_t idx, uint32_t value, uint8_t dir) void do_sleep() { - // Disable clock to Timer1, USI, ADC - PRR |= (1 << PRTIM1) | (1 << PRUSI) | (1 << PRADC); + // Disable clock to USI, ADC + PRR |= (1 << PRUSI) | (1 << PRADC); // Enable sleep MCUCR |= (1 << SE); @@ -967,8 +956,8 @@ void do_sleep() // Disable sleep MCUCR &= ~(1 << SE); - // Enable clock to Timer1, USI, ADC - PRR &= ~((1 << PRTIM1) | (1 << PRUSI) | (1 << PRADC)); + // Enable clock to USI, ADC + PRR &= ~((1 << PRUSI) | (1 << PRADC)); } void update_display(uint32_t value, uint32_t highlight, uint8_t dir, uint8_t dir_highlight)