Your SlideShare is downloading. ×
concurrency.cc OSHUG #3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

concurrency.cc OSHUG #3

1,158
views

Published on

The slides we presented at the third meeting of the Open Source Hardware Users Group in London on the 1st of July 2010. …

The slides we presented at the third meeting of the Open Source Hardware Users Group in London on the 1st of July 2010.

More details about the event at: http://oshug.org/event/3
More details about the Concurrency Project at: http://concurrency.cc

Contains slides from Adam Sampson (http://offog.org)

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,158
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. concurrency.cc Hardware Projects  Omer Kilic  University of Kent (Ack to: Matt Jadud, Christian Jacobsen, Adam Sampson)
  • 2. Arduino is great! Open Source Cross Platform Cheap, flexible, easily available Abundant projects/articles/howtos Standard tools across a range of boards
  • 3. A great tool for... Education Hacking/Prototyping
  • 4. We discussed... and discussed...
  • 5. The Concurrency Board Developed by Omer Kilic, based on the Arduino  Duemilanove Reference Design and inspired by many of  the Freeduino clones.
  • 6. A family shot
  • 7. The Cardboarduino Developed by Matt Jadud, based on the  PAPERduino by Guilherme Martins.
  • 8. Photo by Matt Jadud
  • 9. Photo by Matt Jadud
  • 10. Interested? Design files will be on the web site real soon! http://concurrency.cc/hardware/ Join our mailing list: http://concurrency.cc/docs/mailinglists
  • 11. Plumbing the Arduino Adam Sampson University of Kent (and a cast of thousands, including Matt Jadud,  Christian Jacobsen, Omer Kilic, Carl Ritson...)
  • 12. A brief history lesson ● In the 1980s, INMOS created the Transputer ● … and an unusual programming language, called occam ● Further developed at Kent in the 1990s and 2000s: occam-pi ● Here's what it looks like...
  • 13. C++: doThing(); doOtherThing(); occam: SEQ doThing() doOtherThing()
  • 14. PROC main () WHILE TRUE SEQ digitalWrite (13, HIGH) delay (200) digitalWrite (13, LOW) delay (200) :
  • 15. PROC blink (VAL INT pin, period) WHILE TRUE SEQ digitalWrite (pin, HIGH) delay (period) digitalWrite (pin, LOW) delay (period) : PROC main () blink (13, 200) :
  • 16. PROC main () blink (13, 200) :
  • 17. occam: PAR x y C++: ??!?!!!?
  • 18. PROC main () PAR blink (13, 300) blink (14, 500) :
  • 19. This is a channel.
  • 20. sender receiver
  • 21. inputPin outputPin
  • 22. inputPin invert outputPin
  • 23. Concurrency in action ● We call this “process-oriented programming” ● Build your program out of little, isolated components, and connect them together ● Plumbing is a library of ready-made components (like inputPin, invert and blink) for the Arduino
  • 24. 64 LEDs (well, 128, actually...)
  • 25. One
  • 26. How does that work? buffer buffer buffer ... buffer
  • 27. How does that work? buffer buffer buffer ... buffer column column column ... column
  • 28. How does that work? black. source buffer buffer buffer ... buffer hole column column column ... column
  • 29. Distributed embedded system black. source buffer buffer buffer ... buffer hole column column column ... column
  • 30. First node source buffer buffer buffer ... buffer serial.tx column column column ... column
  • 31. Other nodes serial.rx buffer buffer buffer ... buffer serial.tx column column column ... column
  • 32. The RepRap ● X, Y and Z axes with steppers and endstops ● Print head with heater, temperature sensor and extruder motor ● Serial interface to accept commands from a host computer
  • 33. Plumbing the RepRap heater thermostat temp. sensor motor x motor. motor motor. motor serial.port command.parser control motor. axis. y control control endstop endstop z endstop extruder
  • 34. How do I learn more? ● Read the book! ● Available from our web site along with the software (all open source): http://concurrency.cc/ ● For more about occam-pi: http://occam-pi.org/ ● Thanks – any questions?