aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-03 11:17:34 -0600
committerSelene ToyKeeper2023-11-03 11:17:34 -0600
commit481634c860e76159852c4e6f6de92905028a9e4e (patch)
treecdadbceb57769181885bce23a2abe4b51ea4e6d4
parentrenamed tk*.h to arch/*.h or fsm/*.h (part 1) (diff)
downloadanduril-481634c860e76159852c4e6f6de92905028a9e4e.tar.gz
anduril-481634c860e76159852c4e6f6de92905028a9e4e.tar.bz2
anduril-481634c860e76159852c4e6f6de92905028a9e4e.zip
renamed tk*.h in file contents, and deleted unused files
Diffstat (limited to '')
-rw-r--r--arch/adc-calibration.h64
-rw-r--r--arch/delay.h4
-rw-r--r--arch/mcu.h4
-rw-r--r--arch/random.h14
-rw-r--r--arch/voltage.h178
-rw-r--r--fsm/spaghetti-monster.h4
-rw-r--r--hw/lumintop/blf-gt/hwdef.h2
-rw-r--r--hw/lumintop/fw3x-lume1/hwdef.h2
-rw-r--r--hw/mateminco/mf01s/hwdef.h2
-rw-r--r--ui/anduril/anduril.c2
-rw-r--r--ui/fireflies-ui/fireflies-ui.c2
-rw-r--r--ui/rampingios/rampingiosv3.c2
-rw-r--r--ui/werner/werner.c2
13 files changed, 13 insertions, 269 deletions
diff --git a/arch/adc-calibration.h b/arch/adc-calibration.h
deleted file mode 100644
index f0b05ab..0000000
--- a/arch/adc-calibration.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// tk-calibration.h: Attiny calibration header.
-// Copyright (C) 2015-2023 Selene ToyKeeper
-// SPDX-License-Identifier: GPL-3.0-or-later
-#pragma once
-
-// This allows using a single set of hardcoded values across multiple projects.
-
-/********************** Voltage ADC calibration **************************/
-// These values were measured using RMM's FET+7135.
-// See battcheck/readings.txt for reference values.
-// the ADC values we expect for specific voltages
-#define ADC_44 194
-#define ADC_43 189
-#define ADC_42 184
-#define ADC_41 178
-#define ADC_40 173
-#define ADC_39 168
-#define ADC_38 163
-#define ADC_37 158
-#define ADC_36 152
-#define ADC_35 147
-#define ADC_34 142
-#define ADC_33 137
-#define ADC_32 131
-#define ADC_31 126
-#define ADC_30 121
-#define ADC_29 116
-#define ADC_28 111
-#define ADC_27 105
-#define ADC_26 100
-#define ADC_25 95
-#define ADC_24 90
-#define ADC_23 84
-#define ADC_22 79
-#define ADC_21 74
-#define ADC_20 69
-
-#define ADC_100p ADC_42 // the ADC value for 100% full (resting)
-#define ADC_75p ADC_40 // the ADC value for 75% full (resting)
-#define ADC_50p ADC_38 // the ADC value for 50% full (resting)
-#define ADC_25p ADC_35 // the ADC value for 25% full (resting)
-#define ADC_0p ADC_30 // the ADC value for 0% full (resting)
-#define ADC_LOW ADC_30 // When do we start ramping down
-#define ADC_CRIT ADC_27 // When do we shut the light off
-
-
-/********************** Offtime capacitor calibration ********************/
-// Values are between 1 and 255, and can be measured with offtime-cap.c
-// See battcheck/otc-readings.txt for reference values.
-// These #defines are the edge boundaries, not the center of the target.
-#ifdef OFFTIM3
-// The OTC value 0.5s after being disconnected from power
-// (anything higher than this is a "short press")
-#define CAP_SHORT 190
-// The OTC value 1.5s after being disconnected from power
-// Between CAP_MED and CAP_SHORT is a "medium press"
-#define CAP_MED 94
-// Below CAP_MED is a long press
-#else
-// The OTC value 1.0s after being disconnected from power
-// Anything higher than this is a short press, lower is a long press
-#define CAP_SHORT 115
-#endif
-
diff --git a/arch/delay.h b/arch/delay.h
index 502e6ab..487291f 100644
--- a/arch/delay.h
+++ b/arch/delay.h
@@ -1,10 +1,10 @@
-// tk-delay.h: Smaller, more flexible _delay_ms() functions.
+// delay.h: Smaller, more flexible _delay_ms() functions.
// Copyright (C) 2015-2023 Selene ToyKeeper
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#ifdef OWN_DELAY
-#include "tk-attiny.h"
+#include "arch/mcu.h"
#include <util/delay_basic.h>
#ifdef USE_DELAY_MS
// Having own _delay_ms() saves some bytes AND adds possibility to use variables as input
diff --git a/arch/mcu.h b/arch/mcu.h
index 9532ed5..5de6ea9 100644
--- a/arch/mcu.h
+++ b/arch/mcu.h
@@ -1,4 +1,4 @@
-// tk-attiny.h: Attiny portability header.
+// arch/mcu.h: Attiny portability header.
// Copyright (C) 2014-2023 Selene ToyKeeper
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
@@ -79,7 +79,7 @@
/******************** I/O pin and register layout ************************/
#ifdef HWDEFFILE
-#include "tk.h"
+#include "fsm/tk.h"
#include incfile(HWDEFFILE)
#endif
diff --git a/arch/random.h b/arch/random.h
deleted file mode 100644
index ad65660..0000000
--- a/arch/random.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// tk-random.h: Smaller pseudo-random function(s).
-// Copyright (C) 2015-2023 Selene ToyKeeper
-// SPDX-License-Identifier: GPL-3.0-or-later
-#pragma once
-
-uint8_t pgm_rand() {
- static uint16_t offset = 255;
- // 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);
-}
-
diff --git a/arch/voltage.h b/arch/voltage.h
deleted file mode 100644
index 36ce9c8..0000000
--- a/arch/voltage.h
+++ /dev/null
@@ -1,178 +0,0 @@
-// tk-voltage.h: Voltage / battcheck functions.
-// Copyright (C) 2015-2023 Selene ToyKeeper
-// SPDX-License-Identifier: GPL-3.0-or-later
-#pragma once
-
-#include "tk-attiny.h"
-#include "tk-calibration.h"
-
-#if defined(TEMPERATURE_MON) || defined(THERMAL_REGULATION)
-#ifdef TEMP_10bit
-#define NEED_ADC_10bit
-#define get_temperature read_adc_10bit
-#else
-#define get_temperature read_adc_8bit
-#endif
-
-inline void ADC_on_temperature() {
- // TODO: (?) enable ADC Noise Reduction Mode, Section 17.7 on page 128
- // (apparently can only read while the CPU is in idle mode though)
- // select ADC4 by writing 0b00001111 to ADMUX
- // 1.1v reference, left-adjust, ADC4
- #ifdef TEMP_10bit
- ADMUX = (1 << V_REF) | (0 << ADLAR) | TEMP_CHANNEL;
- #else
- ADMUX = (1 << V_REF) | (1 << ADLAR) | TEMP_CHANNEL;
- #endif
- // disable digital input on ADC pin to reduce power consumption
- //DIDR0 |= (1 << TEMP_DIDR);
- // enable, start, prescale
- ADCSRA = (1 << ADEN ) | (1 << ADSC ) | ADC_PRSCL;
-}
-#endif // TEMPERATURE_MON
-
-#ifdef VOLTAGE_MON
-#define NEED_ADC_8bit
-inline void ADC_on() {
- // disable digital input on ADC pin to reduce power consumption
- DIDR0 |= (1 << ADC_DIDR);
- // 1.1v reference, left-adjust, ADC1/PB2
- ADMUX = (1 << V_REF) | (1 << ADLAR) | ADC_CHANNEL;
- // enable, start, prescale
- ADCSRA = (1 << ADEN ) | (1 << ADSC ) | ADC_PRSCL;
-}
-
-#define get_voltage read_adc_8bit
-#else
-inline void ADC_off() {
- ADCSRA &= ~(1<<7); //ADC off
-}
-#endif
-
-#ifdef NEED_ADC_8bit
-uint8_t read_adc_8bit() {
- // Start conversion
- ADCSRA |= (1 << ADSC);
- // Wait for completion
- while (ADCSRA & (1 << ADSC));
- // Send back the result
- return ADCH;
-}
-#endif
-
-#ifdef NEED_ADC_10bit
-uint16_t read_adc_10bit() {
- // Start conversion
- ADCSRA |= (1 << ADSC);
- // Wait for completion
- while (ADCSRA & (1 << ADSC));
- // Send back the result
- //return (ADCH<<8) | (ADCL); // ADLAR=0
- //return (ADCH<<2) | (ADCL>>6); // ADLAR=1
- ADCSRA |= 0x10; // clear ADIF flag, else only first reading works
- return ADC; // ADLAR=0
-}
-#endif
-
-#ifdef USE_BATTCHECK
-#ifdef BATTCHECK_4bars
-PROGMEM const uint8_t voltage_blinks[] = {
- // 0 blinks for less than 1%
- ADC_0p, // 1 blink for 1%-25%
- ADC_25p, // 2 blinks for 25%-50%
- ADC_50p, // 3 blinks for 50%-75%
- ADC_75p, // 4 blinks for 75%-100%
- ADC_100p, // 5 blinks for >100%
- 255, // Ceiling, don't remove (6 blinks means "error")
-};
-#endif // BATTCHECK_4bars
-#ifdef BATTCHECK_8bars
-PROGMEM const uint8_t voltage_blinks[] = {
- // 0 blinks for less than 1%
- ADC_30, // 1 blink for 1%-12.5%
- ADC_33, // 2 blinks for 12.5%-25%
- ADC_35, // 3 blinks for 25%-37.5%
- ADC_37, // 4 blinks for 37.5%-50%
- ADC_38, // 5 blinks for 50%-62.5%
- ADC_39, // 6 blinks for 62.5%-75%
- ADC_40, // 7 blinks for 75%-87.5%
- ADC_41, // 8 blinks for 87.5%-100%
- ADC_42, // 9 blinks for >100%
- 255, // Ceiling, don't remove (10 blinks means "error")
-};
-#endif // BATTCHECK_8bars
-#ifdef BATTCHECK_VpT
-/*
-PROGMEM const uint8_t v_whole_blinks[] = {
- // 0 blinks for (shouldn't happen)
- 0, // 1 blink for (shouldn't happen)
- ADC_20, // 2 blinks for 2V
- ADC_30, // 3 blinks for 3V
- ADC_40, // 4 blinks for 4V
- 255, // Ceiling, don't remove
-};
-PROGMEM const uint8_t v_tenth_blinks[] = {
- // 0 blinks for less than 1%
- ADC_30,
- ADC_33,
- ADC_35,
- ADC_37,
- ADC_38,
- ADC_39,
- ADC_40,
- ADC_41,
- ADC_42,
- 255, // Ceiling, don't remove
-};
-*/
-PROGMEM const uint8_t voltage_blinks[] = {
- // 0 blinks for (shouldn't happen)
- ADC_25,(2<<5)+5,
- ADC_26,(2<<5)+6,
- ADC_27,(2<<5)+7,
- ADC_28,(2<<5)+8,
- ADC_29,(2<<5)+9,
- ADC_30,(3<<5)+0,
- ADC_31,(3<<5)+1,
- ADC_32,(3<<5)+2,
- ADC_33,(3<<5)+3,
- ADC_34,(3<<5)+4,
- ADC_35,(3<<5)+5,
- ADC_36,(3<<5)+6,
- ADC_37,(3<<5)+7,
- ADC_38,(3<<5)+8,
- ADC_39,(3<<5)+9,
- ADC_40,(4<<5)+0,
- ADC_41,(4<<5)+1,
- ADC_42,(4<<5)+2,
- ADC_43,(4<<5)+3,
- ADC_44,(4<<5)+4,
- 255, (1<<5)+1, // Ceiling, don't remove
-};
-inline uint8_t battcheck() {
- // Return an composite int, number of "blinks", for approximate battery charge
- // Uses the table above for return values
- // Return value is 3 bits of whole volts and 5 bits of tenths-of-a-volt
- uint8_t i, voltage;
- voltage = get_voltage();
- // figure out how many times to blink
- for (i=0;
- voltage > pgm_read_byte(voltage_blinks + i);
- i += 2) {}
- return pgm_read_byte(voltage_blinks + i + 1);
-}
-#else // #ifdef BATTCHECK_VpT
-inline uint8_t battcheck() {
- // Return an int, number of "blinks", for approximate battery charge
- // Uses the table above for return values
- uint8_t i, voltage;
- voltage = get_voltage();
- // figure out how many times to blink
- for (i=0;
- voltage > pgm_read_byte(voltage_blinks + i);
- i ++) {}
- return i;
-}
-#endif // BATTCHECK_VpT
-#endif
-
diff --git a/fsm/spaghetti-monster.h b/fsm/spaghetti-monster.h
index e28f64a..c035d5b 100644
--- a/fsm/spaghetti-monster.h
+++ b/fsm/spaghetti-monster.h
@@ -13,7 +13,7 @@
* - ...
*/
-#include "tk-attiny.h"
+#include "arch/mcu.h"
#include <avr/eeprom.h>
#include <avr/power.h>
@@ -36,7 +36,7 @@
#if defined(USE_DELAY_MS) || defined(USE_DELAY_4MS) || defined(USE_DELAY_ZERO) || defined(USE_DEBUG_BLINK)
#define OWN_DELAY
-#include "tk-delay.h"
+#include "arch/delay.h"
#endif
#ifdef USE_DEBUG_BLINK
diff --git a/hw/lumintop/blf-gt/hwdef.h b/hw/lumintop/blf-gt/hwdef.h
index 60306bf..bf3790d 100644
--- a/hw/lumintop/blf-gt/hwdef.h
+++ b/hw/lumintop/blf-gt/hwdef.h
@@ -63,7 +63,7 @@ enum CHANNEL_MODES {
#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
#define VOLTAGE_CHANNEL 0x01 // MUX 01 corresponds with PB2
#define VOLTAGE_ADC ADC1D // Digital input disable bit corresponding with PB2
-// inherited from tk-attiny.h
+// inherited from arch/mcu.h
//#define VOLTAGE_ADC_DIDR DIDR0 // DIDR for ADC1
// 1.1V reference, left-adjust, ADC1/PB2
//#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | (1 << ADLAR) | VOLTAGE_CHANNEL)
diff --git a/hw/lumintop/fw3x-lume1/hwdef.h b/hw/lumintop/fw3x-lume1/hwdef.h
index 4025861..943921f 100644
--- a/hw/lumintop/fw3x-lume1/hwdef.h
+++ b/hw/lumintop/fw3x-lume1/hwdef.h
@@ -125,7 +125,7 @@ enum CHANNEL_MODES {
#define ADC_22 450
#endif
-// Default ADMUX_THERM for Temperature is: 0b10001110 in tk-attiny.h
+// Default ADMUX_THERM for Temperature is: 0b10001110 in arch/mcu.h
// REFS[1:0] as 10 for analog reference at internal 1.1Vref
// MUX[3:0] as 1110 for ADC'12' - temperature sensor internal
diff --git a/hw/mateminco/mf01s/hwdef.h b/hw/mateminco/mf01s/hwdef.h
index a346807..12451d7 100644
--- a/hw/mateminco/mf01s/hwdef.h
+++ b/hw/mateminco/mf01s/hwdef.h
@@ -62,7 +62,7 @@ enum CHANNEL_MODES {
#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
#define VOLTAGE_CHANNEL 0x01 // MUX 01 corresponds with PB2
#define VOLTAGE_ADC ADC1D // Digital input disable bit corresponding with PB2
-// inherited from tk-attiny.h
+// inherited from arch/mcu.h
//#define VOLTAGE_ADC_DIDR DIDR0 // DIDR for ADC1
// 1.1V reference, left-adjust, ADC1/PB2
//#define ADMUX_VOLTAGE_DIVIDER ((1 << V_REF) | (1 << ADLAR) | VOLTAGE_CHANNEL)
diff --git a/ui/anduril/anduril.c b/ui/anduril/anduril.c
index 92b878c..e72c3b5 100644
--- a/ui/anduril/anduril.c
+++ b/ui/anduril/anduril.c
@@ -41,7 +41,7 @@
// Anduril config file name (set it here or define it at the gcc command line)
//#define CFG_H cfg-blf-q8.h
-#include "tk.h"
+#include "fsm/tk.h"
#include incfile(CFG_H)
diff --git a/ui/fireflies-ui/fireflies-ui.c b/ui/fireflies-ui/fireflies-ui.c
index 34f8293..29269e0 100644
--- a/ui/fireflies-ui/fireflies-ui.c
+++ b/ui/fireflies-ui/fireflies-ui.c
@@ -78,7 +78,7 @@
//#define START_AT_MEMORIZED_LEVEL
/***** specific settings for known driver types *****/
-#include "tk.h"
+#include "fsm/tk.h"
#include incfile(CONFIGFILE)
///// Fireflies-specific configuration
diff --git a/ui/rampingios/rampingiosv3.c b/ui/rampingios/rampingiosv3.c
index e990a5a..787b45d 100644
--- a/ui/rampingios/rampingiosv3.c
+++ b/ui/rampingios/rampingiosv3.c
@@ -54,7 +54,7 @@
#define USE_RAMP_CONFIG
/***** specific settings for known driver types *****/
-#include "tk.h"
+#include "fsm/tk.h"
#include incfile(CONFIGFILE)
diff --git a/ui/werner/werner.c b/ui/werner/werner.c
index f3241ee..c1823cf 100644
--- a/ui/werner/werner.c
+++ b/ui/werner/werner.c
@@ -39,7 +39,7 @@
/***** specific settings for known driver types *****/
#ifdef CONFIGFILE
-#include "tk.h"
+#include "fsm/tk.h"
#include incfile(CONFIGFILE)
#else
#error You need to define CONFIGFILE