Difference between revisions of "Example io demo"
Line 2: | Line 2: | ||
This is a guide to the '''io demo''' C example project included in the EMAC OE SDK. | This is a guide to the '''io demo''' C example project included in the EMAC OE SDK. | ||
− | + | '''IO''' is an acronym standing for ''Input Output''. Data going in and data coming out. | |
− | |||
− | |||
− | |||
− | |||
+ | '''Input''' is data going into your machine. Your machine is receiving data, via a port or header, from an external piece of hardware. A mouse or a joystick. Keyboards, electronic rain-guages, digital telescopes, burglar alarms and the internet. These all produce streams of data that your machine can store, process, fold, weave and/or otherwise react to. What your machine does with the data, specifically, depends what software you've got running. The '''io demo''' is an example of such software. | ||
+ | '''Output''' is data coming out of your machine. Your machine is sending data, via a port or header, to an external piece of hardware. It's telling that piece of hardware to do something. It's telling a hard drive to store some bytes of data, or an LED to blink, or a robotic tentacle to wiggle. | ||
+ | |||
+ | Combined, that's '''IO'''. It's how your machine converses with the world outside it's solipsistic silicon village. Without it your spendy machine is little more than a sexy paperweight. | ||
+ | |||
+ | The '''io demo''' gives us four nice demonstrations of SOM-150ES carrier board IO. We keep it simple. As you might imagine there are some extremely sophisticated IO technologies out there (USB, Ethernet...) but that's a discussion for another time. Here we're just going to work with our general-purpose input-output header: a row of pins that can read or render a binary value. It's straightforward stuff. Understanding the principals outlined here will equip you to hold meaningful digital conversations with anything from a toaster to a space shuttle. | ||
== Opening, Building and Uploading the Project Files == | == Opening, Building and Uploading the Project Files == |
Revision as of 11:56, 27 November 2013
This is a guide to the io demo C example project included in the EMAC OE SDK.
IO is an acronym standing for Input Output. Data going in and data coming out.
Input is data going into your machine. Your machine is receiving data, via a port or header, from an external piece of hardware. A mouse or a joystick. Keyboards, electronic rain-guages, digital telescopes, burglar alarms and the internet. These all produce streams of data that your machine can store, process, fold, weave and/or otherwise react to. What your machine does with the data, specifically, depends what software you've got running. The io demo is an example of such software.
Output is data coming out of your machine. Your machine is sending data, via a port or header, to an external piece of hardware. It's telling that piece of hardware to do something. It's telling a hard drive to store some bytes of data, or an LED to blink, or a robotic tentacle to wiggle.
Combined, that's IO. It's how your machine converses with the world outside it's solipsistic silicon village. Without it your spendy machine is little more than a sexy paperweight.
The io demo gives us four nice demonstrations of SOM-150ES carrier board IO. We keep it simple. As you might imagine there are some extremely sophisticated IO technologies out there (USB, Ethernet...) but that's a discussion for another time. Here we're just going to work with our general-purpose input-output header: a row of pins that can read or render a binary value. It's straightforward stuff. Understanding the principals outlined here will equip you to hold meaningful digital conversations with anything from a toaster to a space shuttle.
Contents
Opening, Building and Uploading the Project Files
1. Open the C/C++ editing perspective.
stub
2. Open the io demo project files.
stub
3. Build the io demo project.
stub
4. Upload the io demo binary to the target machine.
stub
Description, Usage and Expected Behaviour
This is a demo program illustrating how to access different SOM-150ES carrier board io. To use this program you will need a SOM-150ES carrier board.
500px
SOM-150ES carrier board
Usage for io_demo
io_demo
Running the program brings up a menu of demos.
i2c menu
Press a,c,i or r to run a demo. Press x to exit.
A/D Demo
File:Io demo terminal session sample 0.png
Count Demo
Refer to the SOM-150ES carrier board surface mount LEDs LD1-LD8 for output.
The board counts from 0 to 15 in binary, reflecting the steps of this operation in the LEDs. When it's finished LD1 and LD6 are lit.
Input to Output Demo
Refer to the SOM-150ES carrier board surface mount LEDs LD1-LD8 for output.
The board lights all 8 LEDs.
Ring Demo
Refer to the SOM-150ES carrier board surface mount LEDs LD1-LD8 for output.
The board lights the LEDs in numeric sequence, 1-8, then repeats; looping until a key is pressed.