concurrency.cc OSHUG #3

  • 1,050 views
Uploaded 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)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,050
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
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?