Add and update I2C topics (#602)

* Add and update I2C topics

* Throw in some edits for the serial buffer apis

* Add an example to serial read buffer
This commit is contained in:
Galen Nickel
2017-12-11 22:34:33 -08:00
committed by Peli de Halleux
parent f2f097a9ed
commit 985ad3d8e3
8 changed files with 165 additions and 51 deletions

View File

@@ -1,40 +1,33 @@
# I2C Write Number
# i2c Write Number
Write the specified number to the specified 7-bit I2C address in the
specified number format.
Write a number to a device at an I2C address using a specified number format.
```sig
pins.i2cWriteNumber(0, 0, NumberFormat.Int8LE, true);
```
### ~hint
**Simulator**
This function needs real hardware to work with. It's not supported in the simulator.
### ~
## Parameters
* ``address``: the 7-bit I2C address to which to send ``value``
* ``value``: the number to send to ``address``
* ``format``: the number format for ``value``. Formats include
**Int8LE**, **UInt8LE**, **Int16LE**, **UInt16LE**, **Int32LE**,
**Int8BE**, **UInt8BE**, **Int16BE**, **UInt16BE**, and
**Int32BE**.
* **Int** stands for "integer", and **UInt** stands for "unsigned integer".
* **LE** stands for "little-endian" and **BE** stands for "big-endian".
* The number in each format name stands for the number of bits in the format.
* ``repeated`` repeated start, true - don't send stop at end
* **address**: the 7-bit I2C address of the device to send to send **value** to.
* **value**: the number to send to **address**.
* **format**: the [NumberFormat](/types/buffer/number-format) for **value**.
* **repeated**: if `true`, a [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure the number is written to the device with out an interruption. If set to `false` (the default), the data is written without setting a start condition more than once.
## Example
The following example sends the value `2055` to the 7-bit I2C
address `32` in big-endian 32-bit integer format.
Send the value `2055` to the 7-bit I2C address as a 32-bit number. The `32`, big-endian, and integer chosen for the format.
```blocks
pins.i2cWriteNumber(32, 2055, NumberFormat.Int32BE);
```
### ~hint
This function is not supported in the simulator.
### ~
## See also
[I2C](https://en.wikipedia.org/wiki/I%C2%B2C)
[What's I2C?](http://www.i2c-bus.org/), [number format](/types/buffer/number-format)