In order to test the club status service on a regular desktop Linux (or macOS or Windows) system before we embark on cross-compiling and testing on real hardware, a simple integration test was written, which uses mocks for the GPIO and I2C peripherals.
In the source code for the project covered in Chapter 3, Developing for Embedded Linux and Similar Systems, the files for these peripherals are found in the wiring folder of that project.
We start with the wiringPi.h header:
#include <Poco/Timer.h>
#define INPUT 0
#define OUTPUT 1
#define PWM_OUTPUT 2
#define GPIO_CLOCK 3
#define SOFT_PWM_OUTPUT 4
#define SOFT_TONE_OUTPUT 5
#define PWM_TONE_OUTPUT 6
We include a header from the POCO framework to allow us to easily create a timer instance later on. Then, we define...