Skip to content

Add Arduino IDE support for new boards #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 37 commits into from
Aug 25, 2016
Merged

Add Arduino IDE support for new boards #19

merged 37 commits into from
Aug 25, 2016

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Aug 25, 2016

per1234 added 30 commits August 19, 2016 03:58
In order to keep commit diffs readable I will henceforth remove hex
files in one commit, change files that would have made those hex files
out of sync in subsequent commits, and then rebuild the hex files in a
final commit.
SD CS pins are now defined using standard AVR register/bit notation.
This silences the "dereferencing type-punned pointer will break
strict-aliasing rules" warnings that make it hard for me to find any new
warnings in the build log. Ideally this warning should be fixed and then
this compiler option can be removed.
Change the variant indicator from "var" to "v". The bootloader filenames
are pretty long which could cause path length to be longer than the
maximum on some systems.
Variants are used for processors other than ATmega1284P so this name is
incorrect.
Untested because I don't own the hardware.
ATmega32/A doesn't support PCINT so this code causes a compiler error.
Other variants with PCINT support code don't have this issue because
they use macros only.
ATmega32/A doesn't support efuse but the Arduino AVR Boards avrdude
default recipe programs an efuse. To solve this issue without needing to
create a custom tool entry in platform.txt I made a dummy efuse in the
ATmega32 avrdude.conf entry(as shown in watterott/Wattuino@140b044).

The lack of efuse also prevents me from having a BOD menu as BOD is set
via lfuse on ATmega32/A, thus the combination Clock/BOD menu.

Untested because I don't own the hardware.
megacore-standard variant from MegaCore v1.0.3: https://github.com/MCUdude/MegaCore/releases/tag/v1.0.3

Untested because I don't own the hardware.
There is a bug(arduino/Arduino#5260) in the
Arduino IDE that causes the menu item text to not update from the
previously selected board if the menu title text is the same but the
MENU_ID is different. Arduino AVR Boards defines menu.cpu=Processor so I
must do the same to reduce the chances of a user encountering this
issue. Note that this issue still may be caused by other boards
packages.
Convert tabs to spaces.
Trim trailing spaces.
Changes made to support ATmega1281/2561's PCINT, PG5, and different timers. The same variant file can now be used to support Wiring 1.0 and 1.1 boards.
Wiring 1.1 pin mapping based on http://wiring.uniandes.edu.co/source/trunk/wiring/firmware/hardware/Wiring/Wiring1.1/BoardInfo.txt?revision=1232
Modified to support ATmega1281/2561's PCINT, PG5, and different timers.
Arduino.h doesn't define TIMER0. MegaCore fixes this by modifying
Arduino.h but I can't do this so I have to fake it in the pins_arduino.h
files.
Untested because I don't own the hardware.
SD CS pin 8 causes a compiler error so it is disabled. I will try to get this fixed in the next release.
Untested because I don't own the hardware.
ATmega1280, ATmega640
goldilocks/wildfirev2 variant
wildfirev3 variant
WiringS variant
WiringSPlayShield variant
Wiring1 variant
This file is necessary for compatibility with the Eclipse Arduino plugin
which will not show programmers for any other package.

Due to removeing the toolsDependencies items, avr_boot is currently
incompatible with the plugin but it appears the plugin developer may
have added compatibility for this configuration.

Programmers entries from Arduino AVR Boards 1.6.13.
…configurations

The Mighty 1284P variants are specifically configured for ATmega1284/P.
I can use the MightyCore standard and bobuino variants to support the
other parts but the Sleeping Beauty support had to be removed for the
other parts..
Arduino.h doesn't define TIMER0, which is used by ATmega32/A so the
definition needs to be added to the variant files.
@zevero zevero merged commit 355cf5f into zevero:gh-pages Aug 25, 2016
@zevero
Copy link
Owner

zevero commented Aug 25, 2016

just wow!!!

@per1234 per1234 deleted the gh-pages-add-processors branch August 25, 2016 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants