summaryrefslogtreecommitdiffstats
path: root/firmware/main.c
diff options
context:
space:
mode:
authorcpldcpu <cpldcpu@gmail.com>2014-03-16 08:13:29 +0100
committercpldcpu <cpldcpu@gmail.com>2014-03-16 08:13:29 +0100
commitca5b4534b621a0100cc5aa2ea9babb6f7bafd037 (patch)
tree0457a37c46dd0a6af4661048a98ec5a9d95828d9 /firmware/main.c
parentc6fd947a101dfc5f0cf021b4892d00abaa9fa252 (diff)
downloadmicronucleus-ca5b4534b621a0100cc5aa2ea9babb6f7bafd037.tar.gz
micronucleus-ca5b4534b621a0100cc5aa2ea9babb6f7bafd037.tar.bz2
micronucleus-ca5b4534b621a0100cc5aa2ea9babb6f7bafd037.zip
firmware: Attiny841 first working config
Diffstat (limited to 'firmware/main.c')
-rw-r--r--firmware/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/main.c b/firmware/main.c
index 486a26b..13484d3 100644
--- a/firmware/main.c
+++ b/firmware/main.c
@@ -169,9 +169,16 @@ static uint8_t usbFunctionSetup(uint8_t data[8]) {
static void initHardware (void)
{
// Disable watchdog and set timeout to maximum in case the WDT is fused on
+#ifdef WDTCSR
+ // New ATtinies841/441 use a different unlock sequence and renamed registers
+ MCUSR=0;
+ CCP = 0xD8;
+ WDTCSR = 1<<WDP2 | 1<<WDP1 | 1<<WDP0;
+#else
MCUSR=0;
WDTCR = 1<<WDCE | 1<<WDE;
WDTCR = 1<<WDP2 | 1<<WDP1 | 1<<WDP0;
+#endif
/* initialize */
#if OSCCAL_RESTORE