From 3489015ff245861355f73674f79801279d95ea39 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Fri, 3 Nov 2023 11:05:59 -0600 Subject: renamed tk*.h to arch/*.h or fsm/*.h (part 1) to get them out of the root dir, and to start cleaning up mcu/arch code --- tk-attiny.h | 157 ------------------------------------------------------------ 1 file changed, 157 deletions(-) delete mode 100644 tk-attiny.h (limited to 'tk-attiny.h') diff --git a/tk-attiny.h b/tk-attiny.h deleted file mode 100644 index 9532ed5..0000000 --- a/tk-attiny.h +++ /dev/null @@ -1,157 +0,0 @@ -// tk-attiny.h: Attiny portability header. -// Copyright (C) 2014-2023 Selene ToyKeeper -// SPDX-License-Identifier: GPL-3.0-or-later -#pragma once - -// This helps abstract away the differences between various attiny MCUs. - -// Choose your MCU here, or in the main .c file, or in the build script -//#define ATTINY 13 -//#define ATTINY 25 - -/******************** hardware-specific values **************************/ -#if (ATTINY == 13) - #define F_CPU 4800000UL - //#define EEPSIZE 64 - #define V_REF REFS0 - #define BOGOMIPS 950 - #define ADMUX_VCC 0b00001100 - #define DELAY_ZERO_TIME 252 - #define SWITCH_PORT PINB // PINA or PINB or PINC - #define VOLTAGE_ADC_DIDR DIDR0 // this MCU only has one DIDR -#elif (ATTINY == 25) - // TODO: Use 6.4 MHz instead of 8 MHz? - #define F_CPU 8000000UL - //#define EEPSIZE 128 - #define V_REF REFS1 - #define BOGOMIPS (F_CPU/4000) - #define ADMUX_VCC 0b00001100 - #define ADMUX_THERM 0b10001111 - #define DELAY_ZERO_TIME 1020 - #define SWITCH_PORT PINB // PINA or PINB or PINC - #define VOLTAGE_ADC_DIDR DIDR0 // this MCU only has one DIDR -#elif (ATTINY == 85) - // TODO: Use 6.4 MHz instead of 8 MHz? - #define F_CPU 8000000UL - //#define EEPSIZE 512 - #define V_REF REFS1 - #define BOGOMIPS (F_CPU/4000) - // (1 << V_REF) | (0 << ADLAR) | (VCC_CHANNEL) - #define ADMUX_VCC 0b00001100 - // (1 << V_REF) | (0 << ADLAR) | (THERM_CHANNEL) - #define ADMUX_THERM 0b10001111 - #define DELAY_ZERO_TIME 1020 - #define SWITCH_PORT PINB // PINA or PINB or PINC - #define VOLTAGE_ADC_DIDR DIDR0 // this MCU only has one DIDR -#elif (ATTINY == 1634) - #define F_CPU 8000000UL - #define V_REF REFS1 - #define BOGOMIPS (F_CPU/4000) - // DS table 19-3, 19-4, 1.1V ref / VCC - #define ADMUX_VCC 0b00001101 - // (1 << V_REF) | (THERM_CHANNEL) - // DS table 19-3, 19-4, internal sensor / 1.1V ref - #define ADMUX_THERM 0b10001110 - #define DELAY_ZERO_TIME 1020 - //#define SWITCH_PORT PINA // set this in hwdef - //#define VOLTAGE_ADC_DIDR DIDR0 // set this in hwdef -#elif (ATTINY == 412) || (ATTINY == 416) || (ATTINY == 417) || (ATTINY == 816) || (ATTINY == 817) || (ATTINY == 1616) || (ATTINY == 1617) || (ATTINY == 3216) || (ATTINY == 3217) - #define AVRXMEGA3 - #define F_CPU 10000000UL - #define BOGOMIPS (F_CPU/4700) - #define EEPSIZE 128 - #define DELAY_ZERO_TIME 1020 -#else - #error Hey, you need to define ATTINY. -#endif - -// auto-detect eeprom size from avr-libc headers -#ifndef EEPSIZE -#ifdef E2SIZE -#define EEPSIZE E2SIZE -#else -#define EEPSIZE (E2END+1) -#endif -#endif - - -#include - -/******************** I/O pin and register layout ************************/ -#ifdef HWDEFFILE -#include "tk.h" -#include incfile(HWDEFFILE) -#endif - -#if 0 // placeholder - -#elif defined(NANJG_LAYOUT) -#include "hwdef-nanjg.h" - -#elif defined(FET_7135_LAYOUT) -#include "hwdef-FET_7135.h" - -#elif defined(TRIPLEDOWN_LAYOUT) -#include "hwdef-Tripledown.h" - -#elif defined(FERRERO_ROCHER_LAYOUT) -#include "hwdef-Ferrero_Rocher.h" - -#endif // no more recognized driver types - -#ifndef LAYOUT_DEFINED -#error Hey, you need to define an I/O pin layout. -#endif - -#if (ATTINY==13) - // no changes needed -#elif (ATTINY==25) || (ATTINY==45) || (ATTINY==85) - // use clock_prescale_set(n) instead; it's safer - //#define CLOCK_DIVIDER_SET(n) {CLKPR = 1<