This article describes the capabilities and configuration associated with the Generic I/O driver in Tulip.

Capabilities

The Generic I/O driver allows input and output on the three banks of Digital pins on the IoT Gateway in Tulip Apps.

The driver reports pin up, pin down, and pin changed events to Tulip when the voltage on any of the 16 digital inputs crosses a 1.8v threshold. The 1.8v threshold is convenient for measuring outputs from devices operating at 3.3v - 24v. This can be used in a Tulip App trigger as shown below:

The driver supports setting the output on the 8 output pins to HIGH (24v) or LOW (0v) from an App in Tulip. Each output pin is capable of sourcing 500mA, but note that the total output across all 8 pins must remain below 1.5A. In this way, the output pins are meant for sending digital signals to relatively-high impedance devices as opposed to sending power. This can be used in a Tulip App Trigger as shown below:

Configuration

To configure your GPIO device to be used with Tulip, first ensure that everything is wired properly according to the device manufacturer's specifications and that the appropriate inputs or outputs are connected to the Tulip Gateway.

Note that devices such as switches and breakbeams may require pull-up or pull-down resistors to function properly. Sparkfun has a great article that explains this concept.

Then, visit the Gateway Portal page for your Gateway to configure the driver.

The relevant configuration screen is shown below.

The options are described in detail below:

  • Mute Pin-Up Events - By default, the Generic IO driver emits a pin up event in Tulip every time a pin's voltage crosses the 1.8v threshold moving from low to high. Checking this box prevents this event from being emitted.
  • Mute Pin-Down Events - By default, the Generic IO driver emits a pin down event in Tulip every time a pin's voltage crosses the 1.8v threshold moving from high to low. Checking this box prevents this event from being emitted.
  • Mute Pin-Changed Events - By default, the Generic IO driver emits a pin up event in Tulip every time a pin's voltage crosses the 1.8v threshold moving from low to high or high to low. Checking this box prevents this event from being emitted.
Did this answer your question?