From f9ce5f4d2ca847b342ae708de3a7f1a75a33fe1e Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 16 Mar 2017 06:44:32 -0600 Subject: Added _delay_4ms() thing from new smaller biscotti. Will need it for crescendo. --- tk-delay.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tk-delay.h b/tk-delay.h index 324077a..e62aa4c 100644 --- a/tk-delay.h +++ b/tk-delay.h @@ -23,6 +23,7 @@ #ifdef OWN_DELAY #include "tk-attiny.h" #include +#ifdef USE_DELAY_MS // Having own _delay_ms() saves some bytes AND adds possibility to use variables as input void _delay_ms(uint16_t n) { @@ -37,15 +38,27 @@ void _delay_ms(uint16_t n) while(n-- > 0) _delay_loop_2(BOGOMIPS); //#endif } +#endif #ifdef USE_FINE_DELAY void _delay_zero() { _delay_loop_2(BOGOMIPS/3); } #endif +#ifdef USE_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 void _delay_s() // because it saves a bit of ROM space to do it this way { + #ifdef USE_DELAY_MS _delay_ms(1000); + #endif + #ifdef USE_DELAY_4MS + _delay_4ms(250); + #endif } #endif #else -- cgit v1.2.3 From ba71d216803199f6447f4f9ec309d3c89ef775a2 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 18 Mar 2017 18:52:09 -0600 Subject: Fixed LVP. Verified it works on FET+1 and attiny25. Added presets for MTN17DDm FET+1. Moved FAST/PHASE definitions to tk-attiny.h. These are really a per-layout option so it's better there. --- tk-attiny.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tk-attiny.h b/tk-attiny.h index 4058fea..98552e3 100644 --- a/tk-attiny.h +++ b/tk-attiny.h @@ -73,6 +73,9 @@ //#define TEMP_DIDR ADC4D #define TEMP_CHANNEL 0b00001111 +#define FAST 0xA3 // fast PWM both channels +#define PHASE 0xA1 // phase-correct PWM both channels + #endif // FET_7135_LAYOUT #ifdef TRIPLEDOWN_LAYOUT @@ -106,6 +109,9 @@ //#define TEMP_DIDR ADC4D #define TEMP_CHANNEL 0b00001111 +#define FAST 0xA3 // fast PWM both channels +#define PHASE 0xA1 // phase-correct PWM both channels + #endif // FET_7135_LAYOUT #ifdef FERRERO_ROCHER_LAYOUT @@ -118,6 +124,8 @@ * ---- */ // TODO: fill in this section, update Ferrero_Rocher code to use it. +#define FAST 0x23 // fast PWM channel 1 only +#define PHASE 0x21 // phase-correct PWM channel 1 only #endif // FERRERO_ROCHER_LAYOUT #ifdef NANJG_LAYOUT @@ -131,6 +139,10 @@ #define ADC_PRSCL 0x06 // clk/64 #define PWM_LVL OCR0B // OCR0B is the output compare register for PB1 + +#define FAST 0x23 // fast PWM channel 1 only +#define PHASE 0x21 // phase-correct PWM channel 1 only + #endif // NANJG_LAYOUT #ifndef PWM_LVL -- cgit v1.2.3 From e9165e8ca3d6aaa9e3b3b5795e4a4ca15523226f Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 18 Mar 2017 23:00:28 -0600 Subject: Made tk-delay.h allow use of both _delay_ms() and _delay_4ms(). --- tk-delay.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tk-delay.h b/tk-delay.h index e62aa4c..78cb188 100644 --- a/tk-delay.h +++ b/tk-delay.h @@ -53,11 +53,12 @@ void _delay_4ms(uint8_t n) // because it saves a bit of ROM space to do it this #ifdef USE_DELAY_S void _delay_s() // because it saves a bit of ROM space to do it this way { - #ifdef USE_DELAY_MS - _delay_ms(1000); - #endif #ifdef USE_DELAY_4MS _delay_4ms(250); + #else + #ifdef USE_DELAY_MS + _delay_ms(1000); + #endif #endif } #endif -- cgit v1.2.3 From 651b2c8bdc72364f7602db356f21d2a061f82ebf Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sun, 26 Mar 2017 15:18:03 -0600 Subject: Fixed a compiler warning about tk-random.h. --- tk-random.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tk-random.h b/tk-random.h index d559659..b2ff296 100644 --- a/tk-random.h +++ b/tk-random.h @@ -22,7 +22,10 @@ uint8_t pgm_rand() { static uint16_t offset = 255; - offset = (offset + 1) & 0x3ff | 0x0100; + // loop through ROM space, but avoid the first 256 bytes + // because the beginning tends to have a big ramp which + // doesn't look very random at all + offset = ((offset + 1) & 0x3ff) | 0x0100; return pgm_read_byte(offset); } -- cgit v1.2.3