Glossary
Analog
In an electrical signal, existing in a continuous range, as opposed to the discrete ranges of digital.
Big-endian
Endianness system that stores the most significant byte of a word at the smallest memory address and the least significant byte at the largest memory address.
Bitmask
Data used in bitwise operations made up of a series of 0s and 1s (a.k.a bit field), often used in configuration to indicate setting various options on or off.
Byte Buffer
An instance of the following JavaScript types:
ArrayBuffer
(resizable or not)SharedArrayBuffer
(growable or not)Uint8Array
Int8Array
DataView
Digital
In an electrical signal, existing at binary values: on or off, zero or one. This can be used simply, e.g. on/off states of a switch or light, or digital signals can be toggled very quickly to encode complex messaging with communication protocols.
GPIO
General purpose input and output: electrical pins which can be configured for various purposes.
Host
Provides the runtime environment for the execution of scripts, as defined by the ECMAScript language specification.
I2C
Inter-Integrated Circuit: a controller/peripheral communication protocol that allows one device to control one or more connected devices through two wires, a clock signal (SCL) to keep the components in sync and a data line (SDA).
IO Bus
Object of two or more pins used to implement a communication protocol such as Serial, SPI, or I2C.
If there is more than one IO bus for a protocol, one may be designated as the default
bus of that type.
IP
Internet Protocol: the network layer communications protocol for sending data across networks to establish the Internet.
LED
Light-emitting diode
Little-endian
Endianness system that stores the most significant byte of a word at the largest memory address and the least significant byte at the smallest memory address.
Open drain
An output pin is a digital signal that is connected to the ground. Low signals stay connected to ground. High signals will short the pin to the power source and leave it floating.
Pins
Points of electrical connection with an integrated circuit (IC).
Pin specifier
A pin specifier is a JavaScript value used by IO classes to refer to hardware connections represented by pins. Typically these pins correspond to a particular connection point on the hardware package, although this is not required.
The value of a pin specifier is host-dependent. It is often a number corresponding to the logical GPIO pin number as per the hardware data sheet (e.g. GPIO 5), but it may be a string (“D1”) or even an object including a port specifier and pin number ({port: 1, pin: 5}
).
Port specifier
A port specifier is a JavaScript value used by IO classes to refer to a hardware interface. Port specifier values are defined by the host; usually either a number or string.
For example, consider a microcontroller may support two serial connections, each with different capabilities that may be configured to be available on a set of pins; the port specifier indicates which serial connection to use.
Pull-up
Ensures that given no input, the circuit assumes a default value, which is pulled high.
Pull-down
Ensures that given no input, the circuit assumes a default value, which is pulled low.
PWM
Pulse-width modulation: a hardware communication protocol where there is a digital signal fluctuating between values at a set period, and the message is encoded by changing the percentage of that period in which the signal stays at one of the values. This can be used to approximate an analog signal on a pin which only supports digital signaling. A common application is in motor controllers, mapping a servo motor position to the percentage of the time a signal is held high.
RX
Receive: the wire in a UART interface which receives data from the controlled device.
Serial
Also known as UART: a communication protocol that uses receive (RX) and transmit (TX) lines to interface with hardware.
SMBus
System management bus: an extension of the I2C protocol defined to communicate with low-bandwidth devices with stricter requirements in clock frequency range (10kHz to 100 kHz), voltage, and timing.
SPI
Serial Peripheral Interface; a controller/peripheral communication protocol that provides synchronous serial data transfer. Requires a minimum of 3 lines in addition to the power connections.
TCP
Transmission Control Protocol: a network protocol that allows two hosts to connect and exchange data with guaranteed ordering upon delivery.
TX
Transmit: the wire in a UART interface which sends data to the controlled device.
UART
Universal asynchronous receiver/transmitter also known as serial: a communication protocol that uses receive (RX) and transmit (TX) lines to interface with hardware.