chipKIT® Development Platform

Inspired by Arduino™

Core compatibility with Arduino 1.0 and Arduino 1.5

Created Sat, 06 Apr 2013 19:00:11 +0000 by Jacob Christ


Jacob Christ

Sat, 06 Apr 2013 19:00:11 +0000

Is anyone interested getting together in Google hangouts to discuss working on chipKIT core compatibility with Arduino 1.0 and Arduino 1.5 topic?

Jacob


avenue33

Sat, 06 Apr 2013 20:29:32 +0000

Just a question: can't we go directly to Arduino 1.5?

Arduino 1.5 has introduced a much cleaner structure with platforms (eg. Arduino) and architectures (eg. AVR, SAM).

Each architecture folder includes all the related folders (eg. cores, firmwares, libraries, system, variants). See picture.


Jacob Christ

Sat, 06 Apr 2013 23:33:59 +0000

I believe Rick Anderson (considered to be the MPIDE maintainer by many) has suggested going straight to 1.5 as well. Rick has also mentioned that the Arduino 1.5 IDE appears to have pull upstream contributions from MPIDE and thus the task of getting there may not be too difficult.

Gene from Digilent has said (and I agree with him) that it would be great if we could have one tool that could compile sketches for 0023, 0100 and 0150 maybe by use of a #define at the top of your sketch.

Jacob


avenue33

Sun, 07 Apr 2013 08:51:12 +0000

The real difference for the functions is between Arduino 0023 and 1.0.

Please refer to the Arduino 1.0 Release Notes and the article Arduino 1.0 is Out: Here’s What You Need To Know. I've discussed to pros and cons here.

Arduino 1.0 brings numerous and in-depth modifications compared to Arduino 0023,

  • Wire.send(...) becomes Wire.write(...), as Wire.receive() is replaced by Wire.read(),
  • String functions are now in-place, s=s.trim(); is changed for s.trim();
  • Serial.print() behaviour has changed,
  • and other details as well. The lack of compatibility is really annoying. Arduino 1.0 could have been released as a set of extra libraries.

Arduino 1.0 and 1.5 share the same functions. The difference is the inner structure.


majenko

Sun, 07 Apr 2013 09:32:27 +0000

I vote for 1.5 as well. If we're wanting multi-platform, it's better to go for a system that's already geared properly towards multi-platform than one that could have multi-platform fudged into it.

It would be nice to have it much easier to add other platforms as simple add-ons that could be extracted into the tree without needing a whole new mpide version. I am thinking support for things like the MSP430 chips from IT, etc. Make one truly global IDE for all the boards out there :)


avenue33

Sun, 07 Apr 2013 13:43:11 +0000

I am thinking support for things like the MSP430 chips from IT, etc. Make one truly global IDE for all the boards out there :)

The LaunchPads MSP430 and Stellaris are already supported by Energia,

Energia is a rapid electronics prototyping platform for the Texas Instruments msp430 LaunchPad. Energia is based on Wiring and Arduino and uses the Processing IDE. The sources for the project are on the Energia github.com project page.

I'm a member of the Energia team.

GitHub repository: [url]http://github.com/energia/Energia[/url]


majenko

Sun, 07 Apr 2013 15:13:01 +0000

Yes, but that's yet another IDE to install, maintain, etc. I want to have it all in one, which mpide is supposed to be, no?


Jacob Christ

Sun, 07 Apr 2013 16:30:05 +0000

avenue33,

Thanks for the links they will be a helpful for guidance.

majenko,

From what I understand the original intent of MPIDE was to support many different platforms (not just chipKIT and Arduino). I've also spoken with the maintainer of Eneigia and he is willing to work with us as well, but nothing further has come of this. I think it would be awesome if we could do this but my main emphasis is on PIC32 (due mainly to lack of time to devote to other processors). It would be cool to one day see support for PIC18 parts as well.

all,

Here is work that my colleague (mikes here on this board) has done that brings the SD lib in 0023 up to 1.0 (except that it does not use size_t types). This allows us to open more than one file at a time on SD cards. We didn't go as far as trying to make the print()'s return size_t because it didn't server our needs at the time.

https://github.com/mskoczen/chipKIT32-MAX/commits/sd-1.0

Jacob


Jacob Christ

Tue, 09 Apr 2013 02:26:10 +0000

So over the weekend downloaded Ardunio IDE 1.5 and tried to get the 0023 MPIDE tool to work. I couldn't even get the boards to be recognized. I didn't spend much time on it but I wanted to share my failure. I think Rick Anderson has looked at this a bit more than me and I'm just trying to dig into this so it will be a lot of learning for myself.

I guess my though was to leapfrog to 1.5 per avenue33's suggestion.

Jacob


ricklon

Thu, 18 Apr 2013 00:46:39 +0000

I posted to the wrong thread with the latest from Arduino 1.5.x. They have merged more changes in including changes to libraries.

If you all haven't taken a look at the new build system (compilation and upload) and library format it in Arduino 1.5.x, now's a good time. Cristian has done a lot of work implementing the system and documenting it: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification If you're maintaining a hardware folder / boards.txt file or library, you'll probably want to start migrating to the new format. (The 1.5.x does support old-style libraries but they might not work on the new SAM -- ARM -- architecture.) It shouldn't be difficult but does require some changes.

We should take these recommendations and changes into account.


ricklon

Sun, 23 Jun 2013 18:59:27 +0000

I'd like to have a regular Google Hangout to check in on these changes.

Also, we're going to got to Arduino 1.5+ because MPIDE and chipKIT uses the technique developed in MPIDE in Arduino 1.5.


avenue33

Sun, 23 Jun 2013 19:39:50 +0000

Great news!

Arduino 1.5 provides a cleaner structure for platforms (Arduino) and architectures (Arduino/AVR, Arduino/SAM).

The only problem with 1.5 is the way the libraries are designed, in a rather complicated way.


Jacob Christ

Mon, 24 Jun 2013 03:23:50 +0000

Rick,

Any suggestions on hangout times?

Jacob