diff options
| author | Marti Bolivar <mbolivar@mit.edu> | 2010-12-21 10:27:37 -0500 | 
|---|---|---|
| committer | Marti Bolivar <mbolivar@mit.edu> | 2010-12-21 10:27:37 -0500 | 
| commit | c45bccad44187da27505cf5808424e709e3f54a1 (patch) | |
| tree | 18a459a50f8d0551ba046e30462c93999d982725 /docs/source/lang/unimplemented | |
| parent | 84fd2532a7f23d20354ff590790b3f892cb7e7d7 (diff) | |
| parent | d5ad2a27f4e69e6cc9324331945937c983c30366 (diff) | |
| download | librambutan-c45bccad44187da27505cf5808424e709e3f54a1.tar.gz librambutan-c45bccad44187da27505cf5808424e709e3f54a1.zip  | |
Merge branch 'master' into debug-serialusb.
Chose debug-serialusb version in cases of conflict.
Conflicts:
	libmaple/usb/usb_callbacks.c
Diffstat (limited to 'docs/source/lang/unimplemented')
| -rw-r--r-- | docs/source/lang/unimplemented/notone.rst | 50 | ||||
| -rw-r--r-- | docs/source/lang/unimplemented/pulsein.rst | 82 | ||||
| -rw-r--r-- | docs/source/lang/unimplemented/shiftout.rst | 136 | ||||
| -rw-r--r-- | docs/source/lang/unimplemented/stringclass.rst | 6 | ||||
| -rw-r--r-- | docs/source/lang/unimplemented/stringobject.rst | 89 | ||||
| -rw-r--r-- | docs/source/lang/unimplemented/tone.rst | 81 | 
6 files changed, 444 insertions, 0 deletions
diff --git a/docs/source/lang/unimplemented/notone.rst b/docs/source/lang/unimplemented/notone.rst new file mode 100644 index 0000000..485c9c5 --- /dev/null +++ b/docs/source/lang/unimplemented/notone.rst @@ -0,0 +1,50 @@ +.. _lang-notone: + +noTone() +======== + +Description +----------- + +Stops the generation of a square wave triggered by +`tone <http://arduino.cc/en/Reference/Tone>`_\ (). Has no effect if +no tone is being generated. + + + +**NOTE:** if you want to play different pitches on multiple pins, +you need to call noTone() on one pin before calling tone() on the +next pin. + + + +Syntax +------ + +noTone(pin) + + + +Parameters +---------- + +pin: the pin on which to stop generating the tone + + + +Returns +------- + +nothing + + + +See also +-------- + + +-  `tone <http://arduino.cc/en/Reference/Tone>`_ () + + + +.. include:: /lang/cc-attribution.txt diff --git a/docs/source/lang/unimplemented/pulsein.rst b/docs/source/lang/unimplemented/pulsein.rst new file mode 100644 index 0000000..2b52428 --- /dev/null +++ b/docs/source/lang/unimplemented/pulsein.rst @@ -0,0 +1,82 @@ +.. _lang-pulsein: + +pulseIn() +========= + +Description +----------- + +Reads a pulse (either HIGH or LOW) on a pin. For example, if +**value** is **HIGH**, **pulseIn()** waits for the pin to go +**HIGH**, starts timing, then waits for the pin to go **LOW** and +stops timing. Returns the length of the pulse in microseconds. +Gives up and returns 0 if no pulse starts within a specified time +out. + + + +The timing of this function has been determined empirically and +will probably show errors in longer pulses. Works on pulses from 10 +microseconds to 3 minutes in length. + + + +Syntax +------ + +pulseIn(pin, value) +pulseIn(pin, value, timeout) + + + +Parameters +---------- + +pin: the number of the pin on which you want to read the pulse. +(*int*) + + + +value: type of pulse to read: either +`HIGH <http://arduino.cc/en/Reference/Constants>`_ or +`LOW <http://arduino.cc/en/Reference/Constants>`_. (*int*) + + + +timeout (optional): the number of microseconds to wait for the +pulse to start; default is one second (*unsigned long*) + + + +Returns +------- + +the length of the pulse (in microseconds) or 0 if no pulse started +before the timeout (*unsigned long*) + + + +Example +------- + +:: + + + +    int pin = 7; +    unsigned long duration; + +    void setup() +    { +      pinMode(pin, INPUT); +    } + +    void loop() +    { +      duration = pulseIn(pin, HIGH); +    } + + + + +.. include:: /lang/cc-attribution.txt diff --git a/docs/source/lang/unimplemented/shiftout.rst b/docs/source/lang/unimplemented/shiftout.rst new file mode 100644 index 0000000..ff3852f --- /dev/null +++ b/docs/source/lang/unimplemented/shiftout.rst @@ -0,0 +1,136 @@ +.. _lang-shiftout: + +shiftOut() +========== + +Description +----------- + +Shifts out a byte of data one bit at a time. Starts from either the +most (i.e. the leftmost) or least (rightmost) significant bit. Each +bit is written in turn to a data pin, after which a clock pin is +pulsed to indicate that the bit is available. + + + +This is a software implementation; Arduino (as of 0019) also +provides an `SPI library <http://arduino.cc/en/Reference/SPI>`_ +that uses the hardware implementation. + + + +Syntax +------ + +shiftOut(dataPin, clockPin, bitOrder, value) + + + +Parameters +---------- + +dataPin: the pin on which to output each bit (*int*) + + + +clockPin: the pin to toggle once the **dataPin** has been set to +the correct value (*int*) + + + +bitOrder: which order to shift out the bits; either **MSBFIRST** or +**LSBFIRST**. +(Most Significant Bit First, or, Least Significant Bit First) + + + +value: the data to shift out. (*byte*) + + + +Returns +------- + +None + + + +Note +---- + +The **dataPin** and **clockPin** must already be configured as +outputs by a call to +`pinMode <http://arduino.cc/en/Reference/PinMode>`_\ (). + + + +**shiftOut** is currently written to output 1 byte (8 bits) so it +requires a two step operation to output values larger than 255. + +:: + +    // Do this for MSBFIRST serial +    int data = 500; +    // shift out highbyte +    shiftOut(dataPin, clock, MSBFIRST, (data >> 8)); +    // shift out lowbyte +    shiftOut(data, clock, MSBFIRST, data); + +    // Or do this for LSBFIRST serial +    data = 500; +    // shift out lowbyte +    shiftOut(dataPin, clock, LSBFIRST, data); +    // shift out highbyte +    shiftOut(dataPin, clock, LSBFIRST, (data >> 8)); + + + +Example +------- + +*For accompanying circuit, see the `tutorial on controlling a 74HC595 shift register <http://arduino.cc/en/Tutorial/ShiftOut>`_.* + + + +:: + +    //**************************************************************// +    //  Name    : shiftOutCode, Hello World                         // +    //  Author  : Carlyn Maw,Tom Igoe                               // +    //  Date    : 25 Oct, 2006                                      // +    //  Version : 1.0                                               // +    //  Notes   : Code for using a 74HC595 Shift Register           // +    //          : to count from 0 to 255                            // +    //**************************************************************** + +    //Pin connected to ST_CP of 74HC595 +    int latchPin = 8; +    //Pin connected to SH_CP of 74HC595 +    int clockPin = 12; +    ////Pin connected to DS of 74HC595 +    int dataPin = 11; + +    void setup() { +      //set pins to output because they are addressed in the main loop +      pinMode(latchPin, OUTPUT); +      pinMode(clockPin, OUTPUT); +      pinMode(dataPin, OUTPUT); +    } + +    void loop() { +      //count up routine +      for (int j = 0; j < 256; j++) { +        //ground latchPin and hold low for as long as you are transmitting +        digitalWrite(latchPin, LOW); +        shiftOut(dataPin, clockPin, LSBFIRST, j); +        //return the latch pin high to signal chip that it +        //no longer needs to listen for information +        digitalWrite(latchPin, HIGH); +        delay(1000); +      } +    } + + + + +.. include:: /lang/cc-attribution.txt diff --git a/docs/source/lang/unimplemented/stringclass.rst b/docs/source/lang/unimplemented/stringclass.rst new file mode 100644 index 0000000..b893e83 --- /dev/null +++ b/docs/source/lang/unimplemented/stringclass.rst @@ -0,0 +1,6 @@ +.. _lang-stringclass: + +String Class +============ + +.. include:: /lang/cc-attribution.txt diff --git a/docs/source/lang/unimplemented/stringobject.rst b/docs/source/lang/unimplemented/stringobject.rst new file mode 100644 index 0000000..e47ed7e --- /dev/null +++ b/docs/source/lang/unimplemented/stringobject.rst @@ -0,0 +1,89 @@ +.. _lang-stringobject: + +String +====== + +Description +----------- + +The String class, part of the core as of version 0019, allows you to +use and manipulate strings of text in more complex ways than character +arrays do. You can concatenate Strings, append to them, search for and +replace substrings, and more. It takes more memory than a simple +character array, but it is also more useful. + + + +For reference, character arrays are referred to as strings with a +small s, and instances of the String class are referred to as +Strings with a capital S. Note that constant strings, specified in +"double quotes" are treated as char arrays, not instances of the +String class. + + + +Functions +--------- + + +-  `String <http://arduino.cc/en/Reference/StringConstructor>`_\ () +-  `charAt <http://arduino.cc/en/Reference/StringCharAt>`_\ () +-  `compareTo <http://arduino.cc/en/Reference/StringCompareTo>`_\ () +-  `concat <http://arduino.cc/en/Reference/StringConcat>`_\ () +-  `endsWith <http://arduino.cc/en/Reference/StringEndsWith>`_\ () +-  `equals <http://arduino.cc/en/Reference/StringEquals>`_\ () +-  `equalsIgnoreCase <http://arduino.cc/en/Reference/StringEqualsIgnoreCase>`_\ () +-  `getBytes <http://arduino.cc/en/Reference/StringGetBytes>`_\ () +-  `indexOf <http://arduino.cc/en/Reference/StringIndexOf>`_\ () +-  `lastIndexOf <http://arduino.cc/en/Reference/StringLastIndexOf>`_\ () +-  `length <http://arduino.cc/en/Reference/StringLength>`_\ () +-  `replace <http://arduino.cc/en/Reference/StringReplace>`_\ () +-  `setCharAt <http://arduino.cc/en/Reference/StringSetCharAt>`_\ () +-  `startsWith <http://arduino.cc/en/Reference/StringStartsWith>`_\ () +-  `substring <http://arduino.cc/en/Reference/StringSubstring>`_\ () +-  `toCharArray <http://arduino.cc/en/Reference/StringToCharArray>`_\ () +-  `toLowerCase <http://arduino.cc/en/Reference/StringToLowerCase>`_\ () +-  `toUpperCase <http://arduino.cc/en/Reference/StringToUpperCase>`_\ () +-  `trim <http://arduino.cc/en/Reference/StringTrim>`_\ () + + + +Operators +--------- + + +-  `[] (element access) <http://arduino.cc/en/Reference/StringBrackets>`_ +-  `+ (concatenation) <http://arduino.cc/en/Reference/StringPlus>`_ +-  `== (comparison) <http://arduino.cc/en/Reference/StringComparison>`_ + + + +Examples +-------- + + +-  `StringConstructors <http://arduino.cc/en/Tutorial/StringConstructors>`_ +-  `StringAdditionOperator <http://arduino.cc/en/Tutorial/StringAdditionOperator>`_ +-  `StringIndexOf <http://arduino.cc/en/Tutorial/StringIndexOf>`_ +-  `StringAppendOperator <http://arduino.cc/en/Tutorial/StringAppendOperator>`_ +-  `StringLengthTrim <http://arduino.cc/en/Tutorial/StringLengthTrim>`_ +-  `StringCaseChanges <http://arduino.cc/en/Tutorial/StringCaseChanges>`_ +-  `StringReplace <http://arduino.cc/en/Tutorial/StringReplace>`_ +-  `StringCharacters <http://arduino.cc/en/Tutorial/StringCharacters>`_ +-  `StringStartsWithEndsWith <http://arduino.cc/en/Tutorial/StringStartsWithEndsWith>`_ +-  `StringComparisonOperators <http://arduino.cc/en/Tutorial/StringComparisonOperators>`_ +-  `StringSubstring <http://arduino.cc/en/Tutorial/StringSubstring>`_ + + + +See Also +-------- + + +-  `Character array strings <http://arduino.cc/en/Reference/String>`_ +-  `Variable Declaration <http://arduino.cc/en/Reference/VariableDeclaration>`_ + + + + +.. include:: /lang/cc-attribution.txt diff --git a/docs/source/lang/unimplemented/tone.rst b/docs/source/lang/unimplemented/tone.rst new file mode 100644 index 0000000..f83bf6b --- /dev/null +++ b/docs/source/lang/unimplemented/tone.rst @@ -0,0 +1,81 @@ +.. _lang-tone: + +tone() +====== + +Description +----------- + +Generates a square wave of the specified frequency (and 50% duty +cycle) on a pin. A duration can be specified, otherwise the wave +continues until a call to +`noTone <http://arduino.cc/en/Reference/NoTone>`_\ (). The pin can be +connected to a piezo buzzer or other speaker to play tones. + + + +Only one tone can be generated at a time. If a tone is already +playing on a different pin, the call to tone() will have no effect. +If the tone is playing on the same pin, the call will set its +frequency. + + + +Use of the tone() function will interfere with PWM output on pins 3 +and 11 (on boards other than the Mega). + + + +**NOTE:** if you want to play different pitches on multiple pins, +you need to call noTone() on one pin before calling tone() on the +next pin. + + + +Syntax +------ + +tone(pin, frequency) +tone(pin, frequency, duration) + + + +Parameters +---------- + +pin: the pin on which to generate the tone + + + +frequency: the frequency of the tone in hertz + + + +duration: the duration of the tone in milliseconds (optional) + + + +Returns +------- + +nothing + + + +See also +-------- + + +-  `noTone <http://arduino.cc/en/Reference/NoTone>`_\ () +-  `analogWrite <http://arduino.cc/en/Reference/AnalogWrite>`_\ () +-  `Tutorial:Tone <http://arduino.cc/en/Tutorial/Tone>`_ +-  `Tutorial:Pitch follower <http://arduino.cc/en/Tutorial/Tone2>`_ +-  `Tutorial:Simple Keyboard <http://arduino.cc/en/Tutorial/Tone3>`_ +-  `Tutorial: multiple tones <http://arduino.cc/en/Tutorial/Tone4>`_ + + +-  `Tutorial: PWM <http://arduino.cc/en/Tutorial/PWM>`_ + + + +.. include:: /lang/cc-attribution.txt  | 
