ICI, Intelligent C-programmable I/O (i:zi)
The Intelligent C-programmable I/O enables network designers to use event handlers to create their own application on a RIIoT leaf node (RC188x-SPR) using less than 100 lines of high-level C code.
The event handler reacts to a defined trigger and the performs the actions defined by the user. The user uses high-level C to define the trigger and the actions: an “if-this-than-that” topology. All code is hosted on the RF module.
This high-level abstraction level in the ICI allows designers with no understanding of a real time operating system — or knowledge of the chip-set architecture — to create an intelligent network node. For example, intelligent node coding can include:
- Initiating transmit to base-station based on local triggers
- Interfacing with any sensor or actuator, including complex bus interfaces
- Initiating complex event-driven control and/or transmit functions
- Processing of local signals
- Supporting advanced security measures
- Logging local data
- Creating local alarms
- Supporting an advanced RF protocol
An ICI code example
Example code to setup an application with I2C, GPIO, and periodic timer.
// I2C clock speed to the SHT35 sensor
// setup the button GPIO and event detection
GPIO.setHandler(GPIO_0, FALLING_EDGE, sendData);
// setup periodic timer events
readSensorTimer = Timer.create(PERIODIC, 30 * SECOND, readSensor);
If you are interested in the RIIoT Network solution that includes the ICI, please click here.
If you want to know more about the RC188x-SPR that includes the ICI, please click here.