The device modules provide access to the kernel device drivers for i2c, spi, 1 Wire, UART and the system file interface for the gpio pins on the Raspberry Pi.
Loading and configuring the kernel device drivers can be controlled by the utility raspi-config and configuring the device tree in your /boot/config.txt file.
See : Configuring Raspberry Pi
Access to some selected individual componenents is provided by the Interface Modules which provide a higher level interface to the appropriate HiPi::Device::* module
For example, the MCP23017 chip is a popular port extender that can be used with the Raspberry Pi to give access to 16 further GPIO pins through an i2c connection.
The module HiPi::Interface::MCP23017 provides a high level interface and uses HiPi::Device::I2C internally to communicate with the chip over the i2c bus
If you have a component for which there is no HiPi::Interface module you can use the appropriate HiPi:Device::* module directly.
It would be great if you wrapped your resulting code in a HiPi::Interface::* module and contributed the result to this distribution or directly to CPAN yourself.
The following five HiPi::Device modules are provided.