I have modified the Arduino Core code to function with the AT90USB1287. I can build it successfully with the Arduino frontend, or Eclipse (Ganymede) C/C++ IDE).
I haven't got the hardware to test it thoroughtly as I have the AT90USBKey board, but haven't got lots of peripherals or a JTAG/ICE interface.
I'm still working on the USB comms (using LUFA open source code).
Just wondering how I can share it for testing, or even (eventually) get it integrated with the distribution version of the Arduino core?
Thanks
David
If it's open source, let us all see it. host both your schematic and source code, and bootloader code if possible.
We do not need a pretender (teensyduino) to ruin arduino's name.
I haven't written a bootloader since the ATMEL bootloader works fine for USB upload of firmware, so I don't have a source for that - they provide it as a hex, but the rest is just some slight modifications to the Arduino code, and using the LUFA open source library for USB comms (www.fourwalledcubicle.com/LUFA.php) (not integrated with Arduino code yet, but functions separately).
I don't really think it should be called a 'duino' yet (if ever) since I haven't created a new board (I use ATMELs demo board), and as you note, the bootloader is not open source), but thought it might be of use to someone who wants to do things a little differently, but still make use of the excellent Arduino code library.
Cheers
David
David,
I would recommend it to be put into a git repository, you can use http://github.com for example.
Best, Peter.
Exciting news, David! Keep us posted; I have an AT90USBKey I've never done anything useful with, and it'b be great to see what you can do with it.
I've uploaded the source to the google codes repository:-
http://code.google.com/p/at90usb1287-code-for-arduino-and-eclipse
This was a mod of Arduino 0012 code - I haven't looked at the 0013 core to see if there are any differences.
The upload includes the file 'modifications.txt' which notes what's been changed from the original 0012 core, and 'Novice Instructions for Eclipse.txt' which is how I set up my Eclipse build.
I've also included some 'reprap' source files, since they show how the build can be done under Eclipse. These are obviously unnecessary for other projects
David
hello zaig.
nice project idea.
im trying out your modifications for the at90usb1287 chip and at90usbkey.
i receive the following errors:
'DDRA' undeclared here (not in a function)
the same with DDRE, DDRF, and PORTA
for obvious reasons: clearly the atmega8 for the typical arduino project doesnt have these registers.
avr/io.h uses the define AVR_AT90USB1287 in order to load the proper avr/iousbxx6_7.h (for the series 6 and 7 usb chips)
but...
where do you suggest adding #define AVR_AT90USB1287 in code,,,or on the compiler arguments.
Also, pease add a simple main.c style project file, like Blinky using the (PORTD , 1<<4) red led on the at90usbkey.
that would be very excellento.
one further thing, why not add a complementary pins_at90usb1287.c (along with other appropriate headers) rather than replace pins_arduino.c
otherwise, cool idea and good job.
after some time,,,aka AFD (all frigging day)
tried the commandline arduino (makeFile). unfortunately required cygwin. not fun. and did not compile.
ended up using AVR Studio4. compiled. programmed it using an Dragon.
however, a blinky program did run as expected:
ledPin = 29
loop()
blahblah;
awesome job
Cheers aboston
I use Eclipse (Ganymede) with the AVR plugin, but I did test originally with Arduino 0012. Never bothered testing with 0013. I prefer the more sophisticated Eclipse IDE.
I just build the code to a hex file, and load it via USB using FLIP.
The pins file has the same name because noone seemed that interested in integrating it with the main distribution, so I didn't bother making it complementary. Feel free to rename and adjust it if you wish. I also modified most of the Arduino example files to build for the USBKey under Eclipse too.
0013 came out soon after I developed the USBKey fork, but I haven't tried to build using that source.
David
hello zaiq,
ive had some good success on osx. thank goodness: working with windows is a hairpuller. now just using avrdude and the dragon. all very nice.
have you ever done any interrupt routines on the at90usb, whether pin change PC or external interrupt. (noting that you did change WInterrupt.c to a degree.)
for example, how to get the joystick L,R,U,D and PUSH ... to fire events that are on PCINTs.
finally, did you use LUFA or atmel usb code. LUFA is a touch nicer, but quite cryptic code in comparision to arduino code.
See Google Code Archive - Long-term storage for Google Code Project Hosting. for modifications to the 0015 code to build under Eclipse. Also contained there (and in another post on YaBBForum) instructions for building LUFA under Eclipse to enable merging with Arduino code...
Cheers
David
I have recently integrated Arduino with LUFA to create LUFAduino. It also integrates FreeRTOS so that you can use delays and even multiple loop() statements without interfering with USB functionality.
If interested, please have a look at the code and help me debug it. It will work with any USB AVR that has > 2kbytes of SRAM.