chipKIT® Development Platform

Inspired by Arduino™

Multithreading

Created Thu, 09 Jun 2011 14:12:43 +0000 by trandi


trandi

Thu, 09 Jun 2011 14:12:43 +0000

Is it possible using the Multi platform IDE ?

The Arduino language doesn't even have the appropriate keywords as the Atmega is not powerful enough...

And yes, I have just spent several hours searching on these forums and around the net, but to no avail, there's no information out there...

Many thanks in advance, dan


WestfW

Fri, 10 Jun 2011 02:58:39 +0000

Not without adding an multithreading kernel (the Arduino code has no "kernel" at all, just some library functions.) Which is sort of a research subject (FreeRTOS has been ported to AVR under Arduino, and also runs on PIC32. http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1256745982 But it's not widely used...)

The AVRs have an annoying low ratio of RAM to Registers, making full thread context saves not all that practical. A PIC32 (especially the MEGA32) should be able to do better.


trandi

Fri, 10 Jun 2011 09:09:59 +0000

Thank you for your quick answer and the link !

I guess my question was "is there any plan on having a multithreading kernel for the chipKIT that we can use through the Multi Platform IDE", even if it works ONLY on the PIC32 boards not on the original Arduino...

And the answer seems to be NO. Here's a reply that I got from the digilentic guys :

" Hello Dan,

Our IDE does not bring threaded libraries to either our boards or Arduino based boards currently. Currently there are no plans to bring threading to the platform. There is nothing on the hardware that would prevent you from implementing your own threaded library, but there is no system in place that will just let you use threads. "

thanks, dan


madf

Fri, 10 Jun 2011 14:26:58 +0000

It is not really multi-threading but you may try to use the Aiko library.

"Aiko is an Arduino library that is designed to make it easy to write “event-driven” sketches consisting of many subsections that may either run independently or interact with each other in a complex way."

Maybe I am wrong or did not properly understand the multi-threading logic, but it seems to me that in absence of rtos on arduino like board maybe the Aiko library can help.

I have tried it on several occasions and it produced decent results as long as the sketch is not to much complicated (maybe because my programming is bad like my English).

Hope it helps.

P.S: "Your post looks too spamy for a new user, please remove off-site URLs" Sorry but you will have to google it.

Kind regards.

Mickele