From 086aaabd39d3c6736ace56f2badac06b75567651 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Fri, 18 Aug 2017 23:31:11 -0600 Subject: First RoundTable example actually works (simple momentary 1-mode UI). Changed how tk-attiny.h detects whether a layout was defined. Changed how tk-attiny.h detects number of PWM channels for new-style layouts. Added no-underscore versions of delay functions. Lots of RoundTable refactoring and blank-filling. --- tk-delay.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tk-delay.h') diff --git a/tk-delay.h b/tk-delay.h index 78cb188..a05f5c1 100644 --- a/tk-delay.h +++ b/tk-delay.h @@ -25,6 +25,7 @@ #include #ifdef USE_DELAY_MS // Having own _delay_ms() saves some bytes AND adds possibility to use variables as input +#define delay_ms _delay_ms void _delay_ms(uint16_t n) { // TODO: make this take tenths of a ms instead of ms, @@ -40,17 +41,20 @@ void _delay_ms(uint16_t n) } #endif #ifdef USE_FINE_DELAY +#define delay_zero _delay_zero void _delay_zero() { _delay_loop_2(BOGOMIPS/3); } #endif #ifdef USE_DELAY_4MS +#define delay_4ms _delay_4ms void _delay_4ms(uint8_t n) // because it saves a bit of ROM space to do it this way { while(n-- > 0) _delay_loop_2(BOGOMIPS*4); } #endif #ifdef USE_DELAY_S +#define delay_s _delay_s void _delay_s() // because it saves a bit of ROM space to do it this way { #ifdef USE_DELAY_4MS -- cgit v1.2.3 From ef05435261fac31790303dbff16bcc194e9e5cb5 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 19 Aug 2017 15:33:33 -0600 Subject: Fixed unreliability of short-click detection. (it was doing stuff like "press, release, release, timeout" so it didn't match "press, release, timeout") (it may have also been missing the exact tick it needed, so I made it use >= instead of ==, but this is theoretical and harmless if I was wrong) Made baton mode memory work a bit better for both regular and strobe modes. Made baton fast strobe pulses shorter for better motion freezing. Added USE_DELAY_ZERO option as an alternate for USE_FINE_DELAY. --- tk-delay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tk-delay.h') diff --git a/tk-delay.h b/tk-delay.h index a05f5c1..0619419 100644 --- a/tk-delay.h +++ b/tk-delay.h @@ -40,7 +40,7 @@ void _delay_ms(uint16_t n) //#endif } #endif -#ifdef USE_FINE_DELAY +#if defined(USE_FINE_DELAY) || defined(USE_DELAY_ZERO) #define delay_zero _delay_zero void _delay_zero() { _delay_loop_2(BOGOMIPS/3); -- cgit v1.2.3 From d0219fc267b3741e9ff84643a5f381d3c229f18a Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 21 Oct 2017 06:44:40 -0600 Subject: Made DELAY_ZERO_TIME a per-MCU option; hopefully will sync to PWM better that way. Added BLF Q8 driver type, but it's basically identical to the D4 except in name. (can be used to auto-detect whether to use indicator LED, and what the diode drop constant should be) --- tk-delay.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tk-delay.h') diff --git a/tk-delay.h b/tk-delay.h index 0619419..7b00ac0 100644 --- a/tk-delay.h +++ b/tk-delay.h @@ -43,7 +43,8 @@ void _delay_ms(uint16_t n) #if defined(USE_FINE_DELAY) || defined(USE_DELAY_ZERO) #define delay_zero _delay_zero void _delay_zero() { - _delay_loop_2(BOGOMIPS/3); + //_delay_loop_2((BOGOMIPS/3) & 0xff00); + _delay_loop_2(DELAY_ZERO_TIME); } #endif #ifdef USE_DELAY_4MS -- cgit v1.2.3