• Save
concurrency.cc OSHUG #3
Upcoming SlideShare
Loading in...5
×
 

concurrency.cc OSHUG #3

on

  • 1,430 views

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)

Statistics

Views

Total Views
1,430
Views on SlideShare
1,196
Embed Views
234

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 234

http://omer.me 232
http://webcache.googleusercontent.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

concurrency.cc OSHUG #3 concurrency.cc OSHUG #3 Presentation Transcript

  • concurrency.cc Hardware Projects  Omer Kilic  University of Kent (Ack to: Matt Jadud, Christian Jacobsen, Adam Sampson)
  • Arduino is great! Open Source Cross Platform Cheap, flexible, easily available Abundant projects/articles/howtos Standard tools across a range of boards
  • A great tool for... Education Hacking/Prototyping View slide
  • We discussed... and discussed... View slide
  • The Concurrency Board Developed by Omer Kilic, based on the Arduino  Duemilanove Reference Design and inspired by many of  the Freeduino clones.
  • A family shot
  • The Cardboarduino Developed by Matt Jadud, based on the  PAPERduino by Guilherme Martins.
  • Photo by Matt Jadud
  • Photo by Matt Jadud
  • Interested? Design files will be on the web site real soon! http://concurrency.cc/hardware/ Join our mailing list: http://concurrency.cc/docs/mailinglists
  • Plumbing the Arduino Adam Sampson University of Kent (and a cast of thousands, including Matt Jadud,  Christian Jacobsen, Omer Kilic, Carl Ritson...)
  • 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...
  • C++: doThing(); doOtherThing(); occam: SEQ doThing() doOtherThing()
  • PROC main () WHILE TRUE SEQ digitalWrite (13, HIGH) delay (200) digitalWrite (13, LOW) delay (200) :
  • PROC blink (VAL INT pin, period) WHILE TRUE SEQ digitalWrite (pin, HIGH) delay (period) digitalWrite (pin, LOW) delay (period) : PROC main () blink (13, 200) :
  • PROC main () blink (13, 200) :
  • occam: PAR x y C++: ??!?!!!?
  • PROC main () PAR blink (13, 300) blink (14, 500) :
  • This is a channel.
  • sender receiver
  • inputPin outputPin
  • inputPin invert outputPin
  • 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
  • 64 LEDs (well, 128, actually...)
  • One
  • How does that work? buffer buffer buffer ... buffer
  • How does that work? buffer buffer buffer ... buffer column column column ... column
  • How does that work? black. source buffer buffer buffer ... buffer hole column column column ... column
  • Distributed embedded system black. source buffer buffer buffer ... buffer hole column column column ... column
  • First node source buffer buffer buffer ... buffer serial.tx column column column ... column
  • Other nodes serial.rx buffer buffer buffer ... buffer serial.tx column column column ... column
  • 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
  • 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
  • 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?