3. Design - papamac/PiGPIO GitHub Wiki

3.1 Top-Level Design

Figure 1 illustrates the top-level design of the Pi GPIO Plugin (PIG) in the context of the Indigo home automation system. It shows the data flow among the various hardware/software components that are needed for the overall PIG operation. These include Indigo software (yellow), Indigo devices (green), rgpio software (red), and Raspberry Pi hardware (blue). All interaction between the PIG plugin and other Indigo components occurs through the states and actions of the Indigo devices. Multiple Raspberry Pi computers connect the PIG plugin to external hardware interfaces using rgpio software running on the Mac and the Pi's.

3.1.1 Pi GPIO Plugin (PIG)

3.1.2 Pi GPIO Devices and io Devices

3.1.3 rgpio Python Library and Server Daemon

3.1.4 Raspberry Pi Hosts

3.2 Analog Processing

3.3 Digital Processing

3.4 GPIO Callback and Interrupt Relay

3.5 Logging

3.6 Device Configuration

3.7 Exception Handling and Recovery