GPIO (General Purpose I/O) allows a collection of pins to be grouped and accessed by name. The collection can be a physical port or a logical group. The actual wiring is done at start-up by the user and allows both other HAL modules and user applications to abstract away from schematic differences.

Init Initialize the class variable. A call to this function is required as it will wire the instance with physical I/O ports. A GPIO class can be wired to a port on the MCU, or each pin can be wired separately. Init is always MCU specific and not portable since it is involved in wiring the HAL.
Wire Used as part of the initialization to wire each pin to a physical pin on the MCU. Wiring can be done as part of Init for an entire port, or by using Wire for each pin separately. Wire is also needed to set configuration of the pin.
digitalWrite Set the GPIO Pin to 1 or 0.
digitalRead Read the GPIO value.