From c2b3e88787c00476d00ec897d9337d80183d93f8 Mon Sep 17 00:00:00 2001
From: Ronald <ronald.a.sousa@googlemail.com>
Date: Mon, 3 Feb 2014 15:35:23 +0000
Subject: [PATCH] Changed 1284p fuse setting for Arduino_1.x.x

- Remove the two version of 16mHz. Crystal and resonator use the same
fuse setting. Also, Arduino IDE only showed the first one 16Mhz as a
board option.

- Added 20Mhz board option.

Symptoms for incorrect fuse setting:
- X axis move in one direction
- limit switches fail to trigger
- unable to reprogram the device via bootloader
- stops working when the reset switch is pressed.
- device fails to bootup when power by a slow raise power supply.

Solution:
- Disabled the jtag
- set the correct clock selection bit
- set the correct bootloader memory size
- enable brown-out setting
- enable clock power up delay
---
 .../hardware/Sanguino/boards.txt              | 44 +++++++++----------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt b/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt
index c1a1f08ab6..2bec14eab3 100644
--- a/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt
+++ b/ArduinoAddons/Arduino_1.x.x/hardware/Sanguino/boards.txt
@@ -27,9 +27,9 @@ atmega12848m.upload.protocol=stk500
 atmega12848m.upload.maximum_size=131072
 atmega12848m.upload.speed=19200
 
-atmega12848m.bootloader.low_fuses=0xFD
-atmega12848m.bootloader.high_fuses=0x9A
-atmega12848m.bootloader.extended_fuses=0xFF
+atmega1284.bootloader.low_fuses=0xD6
+atmega1284.bootloader.high_fuses=0xDA
+atmega1284.bootloader.extended_fuses=0xFD
 atmega12848m.bootloader.path=atmega
 atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex
 atmega12848m.bootloader.unlock_bits=0x3F
@@ -48,9 +48,9 @@ atmega1284.upload.protocol=stk500
 atmega1284.upload.maximum_size=131072
 atmega1284.upload.speed=57600
 
-atmega1284.bootloader.low_fuses=0xFF
-atmega1284.bootloader.high_fuses=0x9A
-atmega1284.bootloader.extended_fuses=0xFF
+atmega1284.bootloader.low_fuses=0xD6
+atmega1284.bootloader.high_fuses=0xDA
+atmega1284.bootloader.extended_fuses=0xFD
 atmega1284.bootloader.path=atmega
 atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
 atmega1284.bootloader.unlock_bits=0x3F
@@ -60,26 +60,24 @@ atmega1284.build.mcu=atmega1284p
 atmega1284.build.f_cpu=16000000L
 atmega1284.build.core=arduino
 atmega1284.build.variant=standard
-#
-
 ##############################################################
 
-atmega1284.name=Sanguino W/ ATmega1284p 16mhz ceramic resonator
+atmega1284m.name=Sanguino W/ ATmega1284p 20mhz
 
-atmega1284.upload.protocol=stk500
-atmega1284.upload.maximum_size=131072
-atmega1284.upload.speed=57600
+atmega1284m.upload.protocol=stk500
+atmega1284m.upload.maximum_size=131072
+atmega1284m.upload.speed=57600
 
-atmega1284.bootloader.low_fuses=0xD6
-atmega1284.bootloader.high_fuses=0xDC
-atmega1284.bootloader.extended_fuses=0xFD
-atmega1284.bootloader.path=atmega
-atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
-atmega1284.bootloader.unlock_bits=0x3F
-atmega1284.bootloader.lock_bits=0x0F
+atmega1284m.bootloader.low_fuses=0xD6
+atmega1284m.bootloader.high_fuses=0xDA
+atmega1284m.bootloader.extended_fuses=0xFD
+atmega1284m.bootloader.path=atmega
+atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
+atmega1284m.bootloader.unlock_bits=0x3F
+atmega1284m.bootloader.lock_bits=0x0F
 
-atmega1284.build.mcu=atmega1284p
-atmega1284.build.f_cpu=16000000L
-atmega1284.build.core=arduino
-atmega1284.build.variant=standard
+atmega1284m.build.mcu=atmega1284p
+atmega1284m.build.f_cpu=20000000L
+atmega1284m.build.core=arduino
+atmega1284m.build.variant=standard
 #
-- 
GitLab