Energia

## Getting Started with Energia

Introduction: What is Energia? Installation: Step-by-step instructions for setting up the Energia and running your first Sketch on a Texas Instruments LaunchPad board. Windows Mac OS X Linux Environment: Description of the Energia development environment. Troubleshooting: Advice on what to do if things don't work. Preferences: the Energia preferences file contains many options for customizing the way Energia compiles and upload sketches. Build Process: find out what steps your sketch goes through on its way to the LaunchPad board. Pin Mapping: a complete list of all Pin Mapping images and instructions for each Energia supported hardware board. Libraries: a complete list of all add-on libraries supported by Energia. ## Foundations This page contains explanations of some of the elements of the LaunchPad hardware, Energia software and the concepts behind them. ### Basics Sketch: The various components of a sketch and how they work. ### Microcontrollers Digital Pins: How the pins work and what it means for them to be configured as inputs or outputs. Analog Input Pins: Details about the analog-to-digital conversion and other uses of the pins. PWM: How the analogWrite() function simulates an analog output using pulse-width modulation. Memory: The various types of memory available on the LaunchPad board. ### Programming Technique Variables How to define and use variables. Functions: How to define and use functions. Libraries: How to write your own library. ## Tutorials ### Core Functions Simple programs that demonstrate basic Energia commands. These are included with the Energia environment; to open them, click the Open button on the toolbar and look in the examples folder. #### 1.Basics BareMinimum: The bare minimum of code needed to start an Energia sketch. Blink: Turn an LED on and off. DigitalReadSerial: Read a switch, print the state out to the Energia Serial Monitor. AnalogReadSerial: Read a potentiometer, print it's state out to the Energia Serial Monitor. Fade: Demonstrates the use of analog output to fade an LED. ReadAnalogVoltage : Reads an analog input and prints the voltage to the serial monitor #### 2.Digital Blink Without Delay: blinking an LED without using the delay() function. Button: use a pushbutton to control an LED. Debounce: read a pushbutton, filtering noise. Button State Change: counting the number of button pushes. Input Pullup Serial: Demonstrates the use of INPUT_PULLUP with pinMode(). Tone: play a melody with a Piezo speaker. Pitch follower: play a pitch on a piezo speaker depending on an analog input. Simple Keyboard: a three-key musical keyboard using force sensors and a piezo speaker. Tone4: play tones on multiple speakers sequentially using the tone() command. #### 3.Analog AnalogInOutSerial: read an analog input pin, map the result, and then use that data to dim or brighten an LED. Analog Input: use a potentiometer to control the blinking of an LED. AnalogWrite: fade 7 LEDs on and off, one by one, using an MSP430G2 LaunchPad board. Calibration: define a maximum and minimum for expected analog sensor values. Fading: use an analog output (PWM pin) to fade an LED. Smoothing: smooth multiple readings of an analog input. #### 4.Communication These examples include code that allows the LaunchPad to talk to Processing sketches running on the computer. For more information or to download Processing, see processing.org. ReadASCIIString: parse a comma-separated string of ints to fade an LED ASCII Table: demonstrates Energia's advanced serial output functions. Dimmer: move the mouse to change the brightness of an LED. Graph: send data to the computer and graph it in Processing. Physical Pixel: turn a LED on and off by sending data to your LaunchPad from Processing. Virtual Color Mixer: send multiple variables from LaunchPad to your computer and read them in Processing. Serial Call Response: send multiple vairables using a call-and-response (handshaking) method. Serial Call Response ASCII: send multiple variables using a call-and-response (handshaking) method, and ASCII-encode the values before sending. SerialEvent: Demonstrates the use of SerialEvent(). Serial input (Switch (case) Statement): how to take different actions based on characters received by the serial port. #### 5.Control Structures If Statement (Conditional): how to use an if statement to change output conditions based on changing input conditions. For Loop: controlling multiple LEDs with a for loop. Array: a variation on the For Loop example that demonstrates how to use an array. While Loop: how to use a while loop to calibrate a sensor while a button is being read. Switch Case: how to choose between a discrete number of values. Equivalent to multiple If statements. This example shows how to divide a sensor's range into a set of four bands and to take four different actions depending on which band the result is in. Switch Case 2: a second switch-case example, showing how to take different actions based in characters received in the serial port. #### 6.Strings StringAdditionOperator: add strings together in a variety of ways. StringAppendOperator: append data to strings. StringCaseChanges: change the case of a string. StringCharacters: get/set the value of a specific character in a string. StringComparisonOperators: compare strings alphabetically. StringConstructors: how to initialize string objects. StringIndexOf: look for the first/last instance of a character in a string. StringLength & StringLengthTrim: get and trim the length of a string. StringReplace: replace individual characters in a string. StringStartsWithEndsWith: check which characters/substrings a given string starts or ends with. StringSubstring: look for "phrases" within a given string. ## Extending and Developing Energia
Software Writing a Library: creating libraries to extend the functionality of Energia. Goes step-by-step through the process of making a library from a sketch. Preferences: the Energia preferences file contains many options for customizing the way Energia compiles and upload sketches. Build Process: find out what steps your sketch goes through on its way to the LaunchPad board. Source: online browsing of the Energia source code (on an external website) Bugs: the current list of Energia software bugs (on an external website). Wiki: Energia project technical details, enhancements, issues, references can be found on the Wiki (on an external website). Energia sketches are C/C++ based and compiled with the open-source compiler MSPGCC. The Energia language comes from Wiring. The Energia environment is based on Processing and includes modifications made by Wiring. Hardware BYOB (Build Your Own BoosterPack): instructions for designing and building your own LaunchPad compatible BoosterPack. Other resources: Minty Boost process: no microcontroller, but a great explanation on how to put together a kit, from idea to product.
| Energia Source Code Official 43oh Energia Forum Official Stellarisiti Energia Forum Energia GitHub Wiki Board instructions and pin mapping: MSP430F5529 LaunchPad MSP430 LaunchPad MSP430 FraunchPad C2000 LaunchPad Stellaris LaunchPad Tiva C Series LaunchPad BoosterPack pin mapping: Educational BoosterPack Capacitive Touch BoosterPack Anaren CC110L AIR BoosterPack

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Energia getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Energia reference is based on Arduino reference. Code samples in the guide are released into the public domain.

©Energia | Edit Page | Page History | Printable View | All Recent Site Changes