Go Down

Topic: Updating the mighty-1284p core (Read 124087 times) previous topic - next topic

pico

In any case, that completes the first cut at porting all the 1.0.5 official libs to mighty-1284p core support. Nothing too difficult, as it turned out. But significantly, this gets us to an important "Everything you need to run Arduino on an ATmega1284P microcontroller" milestone.

So what's next?

I should note that (not by accident) the changes for the SD lib also straightforwardly adapt to Bill Greiman's SdFat lib.

Because of its many improvements over the official SD lib, I suspect SdFat is probably more widely used than the official SD lib.

I've been in contact with Bill G., and he is receptive to SdFat support for the new mighty-1284p core, although he is not sure when the next version of the SdFat lib will be released.

In any case, the patches for SdFat lib are ready to go -- it's just a question of where they get hosted, if at all, until the next release of SdFat. One possibility we could host them here under "patched-libs/unofficial", with the understanding that when the support becomes available in the mainstream release, then the interim patched version could be removed from the repo.

Thoughts? Are there any other third-party libs important enough that we should be thinking about pro-actively approaching the maintainers for mighty-1284p core support?

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

retrolefty

Quote

Thoughts? Are there any other third-party libs important enough that we should be thinking about pro-actively approaching the maintainers for mighty-1284p core support?


I've used the MsTimer2 library in the playground ( http://playground.arduino.cc/Main/MsTimer2 ) in several projects. I found it a simple way to utilize interrupt driven user functions and is a classic does-what-it-says-and-nothing-more kind of useful library to have on hand. I see that the source has lots of specific AVR stuff for many ATMEGA devices but nothing for the 1284P. So that would be my first choice.


oric_dan

Pico, it's good you've worked out the changes in the SD libraries. I've never used SD, so didn't investigate them previously, in regards my webpage for the 1284.

Also, a lot of people seem to use the maniac bug nRF2401 library, so you might take a look there. It's currently also an unsupported orphan, I should imagine.  Also, since the 1284 has two h.w. UARTs, it's much more useful for radios that use an RS232 I/F, such as XBee and BT. However, I don't know if there are any libraries for those radios.

JChristensen

Pico, excellent job and fast, too!  :smiley-eek:

I use Andrew Rapp's XBee library pretty much exclusively. Have yet to try it with the 1284P (it's in the queue) but it already has the capability to specify which serial port to use (and also SoftwareSerial). If it needs any mods to work with the 1284P, I'd be a bit surprised.

bperrybap

In  moving down a path of maintaining forked libraries,
I'd have a look at the libraries paul is hosting for his teensy products.
https://www.pjrc.com/teensy/td_libs.html
It is a good collection of many of the most popular libraries.
His versions are more up to date and often have bug fixes in them
They aren't just forked and modified for teensy but have been updated to also support
Teensy since he doesn't want to make them "teensy only".
He also has been open about adding in updates from others,
and when I've talked to him he's even been open about adding/allowing others to help maintain the libraries.

--- bill

larryd

Just wanted to say thank you to everyone who worked on this.
Tried to follow but a bit out of my league.
I can however press download.

Thanks Jack!
No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

JChristensen


Just wanted to say thank you to everyone who worked on this.
Tried to follow but a bit out of my league.
I can however press download.

Thanks Jack!


Thanks very much, it was definitely a group effort.
Bit out of my league too, when I started. Still is, just less so :D
A good example of open source collaboration!

larryd

For Bobuino is this correct, to make the oscillator full swing change this in boards.txt then burn the bootloader as usual?
From:
bobuino.bootloader.low_fuses=0xff
to this:
bobuino.bootloader.low_fuses=0x7f
No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

JChristensen


For Bobuino is this correct, to make the oscillator full swing change this in boards.txt then burn the bootloader as usual?
From:
bobuino.bootloader.low_fuses=0xff
to this:
bobuino.bootloader.low_fuses=0x7f


I think it should be 0xF7.

larryd

#399
Jun 21, 2014, 04:05 am Last Edit: Jun 21, 2014, 04:33 am by LarryD Reason: 1
Fingers too fast brain too slow.

Should have asked also, for the 1M bootloader do I make the following change in boards.txt?
From
bobuino.bootloader.file=optiboot_atmega1284p.hex
to
bobuino.bootloader.file=optiboot_mighty1284p_1M.hex
No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

JChristensen


Fingers too fast brain too slow.

Should have asked also, for the 1M bootloader do I make the following change in boards.txt?
From
bobuino.bootloader.file=optiboot_atmega1284p.hex
to
bobuino.bootloader.file=optiboot_mighty1284p_1M.hex


Here, that is usually caused by too much caffeine or not enough caffeine.   :D

Yes, that should do it for the bootloader, let us know how it works!

pekasus

Jack - I just wanted to follow up with you that I've since started using the new bootloader with old code from the previous version and it all works fine (I had only added the INPUT_PULLUP to the previous loader). From what I can tell, they appear to be compatible.

Pico - I am interested to see the changes required for the SDfat library as that is what I use. I don't recall any issues with the previous Mighty-1284 version.

Personally, I think we should make a new repo for the altered 1284 stuff since there is a group of people working on it. That way, we can collaborate on the wiki as well instead of keeping track of the different issues on the forum. As official libraries get updated to include compatibility to 1284, we can just include a link to the library to keep the amount of redundant data down.

At any rate, do you have a link where I could download the fixed version of SDfat for 1284?

Cheers!

JChristensen

@pekasus, thanks for the feedback. The patched libraries are part of the same repo: https://github.com/JChristensen/mighty-1284p

larryd

Tried this on the 1284WEENY see picture (Crossroads may be offering them at some point).
- Changing the LOW fuse to 0xF7 worked great! (WEENY has a bit more lead capacitance than a normal PCB and needs full swing)
- Changing to the 1M optiboot would NOT work, reverted back to optiboot_atmega1284p.hex this worked again.
Thanks again to all.

Good Idea when re-burning the bootloader is to first put a blank sketch on it.
Code: [Select]

//This cleans the current program from the controller

void setup()
{               
}

void loop()
{
}

No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

bluesmoke328


Pico, excellent job and fast, too!  :smiley-eek:


Just wanted to also say thanks to @Pico for his work on the libraries. Awesome!

Great timimg, as I've just put one of his (Pico's) "Skinny Bob" kits together today. It all went together very fast (less 1 hour, and I don't think I'm a fast solderer). Loaded some example sketches after installing mighty-1284p-1.0.5.zip and -- success!

Very satifying to start with a bag of parts in the afternoon and end up with a fully functioning board running programs just a few hours later!  :) :) :) Thanks again to everyone who made this possible.

(One thing I would suggest is updating the Installation instructions on the GitHub page to include installing the libraries.)

Go Up