| puzzlebox
    | 
Puzzle module driver (superset of pbdrv) More...
pbdrv-mod is a superset of pbdrv, and includes functions specific to puzzle bus modules. pbdrv-mod compiles to an object file instead of a static library because it may depend on functions from external libraries. pbdrv-mod is still considered standalone, but requires either using an existing driver, or (partially) implementing the driver functions.
Like pbdrv, pbdrv-mod can be used by including this folder in your CMakeLists.txt file and linking the library with your executable. Please see the drivers page for target-specific usage instructions.
pb_* functions have a weak implementation, which may be overwritten by a custom implementation. This allows you to use the default implementation where possible, and only implement extensions required for your puzzle module.| Components | |
| Module | |
| Puzzle module metadata and auxiliary utility functions. | |
| I²C | |
| I²C send/receive handlers. | |
| Drivers | |
| Platform-specific pbdrv-mod implementations. | |
| Extensions | |
| Platform-specific pbdrv implementations. | |
| Hook | |
| Functions for (partially) overriding default behavior. | |
| Buffer | |
| Binary data buffer type used in pbdrv. | |
| Memory | |
| Platform-specific memory management functions. | |
| Message | |
| Message (de)serialization. | |
| Routing | |
| Parsed message handler routing. | |
| Send | |
| Functions for directly creating serialized message buffers. | |
| Serial | |
| Internal (de)serialization functions using mpack. | |
| Types | |
| Datatypes used within pbdrv. | |
| Bus | |
| Constants for the puzzle bus hardware. | |