anyone hear of concurrency.cc

Found the site, and I'm going to try it, I needed simple multitasking and I couldn't figure out the QP state machine, way too complicated.
Seems like with simple code you can blink 2 or more things the same time on your arduino.
Only thing is I'm not sure of, trying to blink them for like min, hours or weeks also I read someplace it maxes out at 45 days not sure what that means. Looks cool though

PROC main ()
2 PAR
3 blink (12 , 500)
4 blink (11 , 500)

I read someplace it maxes out at 45 days not sure what that means

Intuitive I think it means that there is a unsigned long millis counter behind this that overflows after 2^32 milliseconds = 45+ days.

A quick look:

  • The parallel language looks quite interesting (but is not trivial) => bookmarked
  • The layout is Arduino alike, so shields may be compatible
  • unclear what the overhead is of the parallel language
  • single AA battery is a big ???

PLease keep us informed of your experiments!

Very interesting. Thanks for mentioning it.

Going to download the free pdf book and have a look.

Update
They have
All open source
PDF book very well written explains everything.
No community no one to ask Questions, they do have a mailing list I signed up for it.
You have to use their IDE seems a little better to me, it gives you more features.It couldn't find my com port had to tell it, found that strange with all the cool features and it couldn't do that, not a big deal though.
How it works is you load their software on the Arduino, then you can write your scketch normal like. It
creates an extra long scketch you don't see. You need to load it every time you upload, a simple push of a button.
They are selling these custom boards I don't get the point of, the magic is in the software, and it loaded on my arduino uno instant like.
Don't quote me but it was something like 36 same time way more then then your board has.
Easy peasy had two leds blinking same time in under a minute. Don't think this will work for me, I'm using optical relays and Off is On so the term Blink is a no go. Have fun

One you've mastered working without delay, blinking several LEDs (or switching relays or almost anything else) concurrently all at different rates is almost trivial using the standard IDE. Multitasking on an 8 bit processor with 2kbytes of ram has to be extremely rudimentary at best. In my opinion delay(); would be better left out of the programming language, it cripples the Arduino once you get past only doing one thing at once. I have an Arduino, controlling my central heating, monitoring my household gas and electricity usage (2 different ways), the output from my solar panels, light levels in two different rooms, temperures from 5 different sensors, displaying stuff on a 16*2 LCD (plain digital one not serial|) and blinking an LED to indicate electricity usage, some of it time critical all on one arduino all at the same time. No multitasking on a single Duemilanove (The Uno's forerunner) using only vanilla IDE 1.0. It outputs all the figures to a small linux server (actually a hacked NAS box becuase it doesn't use much juice) which plots graphs and makes them available on the internet. I'm struggling getting it to do any more because I'm about out of pins, using all the digital, 2 analogues and another 2 analogues used as digital's. The single sketch runs around 20k and uses around half the available ram. Its all standard C++ (I'm not that hot a programmer as to be using Assembler or Machine code). To be honest, what everyone points at for this (blink without delay) sucks, I don't understand it and its confusing. Think look at your watch, if its time, go and do it, if it isn't, go do something else or look at your watch again. Delay puts the world on hold until a time has elapsed.

Take a look:

http://pluggy.is-a-geek.com/index.html

Hi perkunas,

The tricky thing is that occam is a full programming language. You may also find this page that I put together for my students to be useful:

http://rockalypse.org/courses/cs220f11/guides/introducing-occam-pi/

"All open source"

Correct. Text, etc. CC licensed.

"PDF book very well written explains everything."

Thank you. It needs some updating, actually.

"No community no one to ask Questions, they do have a mailing list I signed up for it."

Our list, users@concurrency.cc, is where we encourage discussion. Do you think we need a forum? We've considered it, but it hasn't been something people have called for, really.

"You have to use their IDE seems a little better to me, it gives you more features.It couldn't find my com port had to tell it, found that strange with all the cool features and it couldn't do that, not a big deal though."

We use JEdit because it runs on all platforms, is open source, and allows us to write plugins. We can't easily add our language to the Arduino IDE, or we would. If the Arduino team ever wants to make that possible, we'll be the first on board.

"How it works is you load their software on the Arduino, then you can write your scketch normal like. It
creates an extra long scketch you don't see. You need to load it every time you upload, a simple push of a button."

Yes. You have to upload the firmware once (which is extra-long, as you say), and then, from then on, you should just be able to do short compile/uploads.

"They are selling these custom boards I don't get the point of, the magic is in the software, and it loaded on my arduino uno instant like."

We made a custom board which we were never able to bring to production. Fair enough, it is confusing, and I can try and make the confusing bits go away in a website refresh.

"Don't quote me but it was something like 36 same time way more then then your board has."

No sure what you mean, but yes, we can run a lot of parallel processes on the Arduino.

"Easy peasy had two leds blinking same time in under a minute. Don't think this will work for me, I'm using optical relays and Off is On so the term Blink is a no go. Have fun"

We program UAVs, ground-based robots, and environmental sensors in occam, so anything you want to you, in theory, you could. But, it would mean learning a language that is a bit different from C.

Good luck, and please ask questions on the list (users@concurrency.cc) if you have questions.

Cheers,
Matt