The whole project source-code is currently hosted on GitHub:
The low-level parts (kernel modules / drivers, library, applications) - see SwitchSmart model for reference - are written in plain C. There are XML-RPC / JSON-RPC applications, exposing respective network interfaces, which then can be used by every single platform / language supporting those protocols.
For available (graphical) user interfaces please refer to UIs.
The repository's structure is as follows:
- drvs: contains the drivers for radio hardware
- HopeRF rfm12 - currently that's the only supported hardware. It has an SPI interface so communication between board and module happens via SPI. Since most boards don't have a native SPI interface GPIOs are used to emulate the SPI protocol (SPI via GPIO bitbanging).
- patches: contains kernel platform patches to basically mis-use GPIOs to emulate an SPI bus
- lib: the library containing the actual information about to be controlled devices
- app: mostly test applications directly linked against library
- uis: User interfaces - most of them use the XMl-RPC service