CrossGuard
Loading...
Searching...
No Matches
pigpio_stub.h
1// pigpio_stub.h - Stub for pigpio library functions
2// Created by Saleem Hamo on 20/03/2024.
3
4#if !defined(__linux__) || !defined(__arm__)
5#pragma once
6
7#include <iostream>
8
9// Define constants to mimic the pigpio library's constants for pin states and modes.
10extern const int PI_OUTPUT;
11extern const int PI_INPUT;
12extern const int PI_HIGH;
13extern const int PI_LOW;
14
15// Constants for pull-up/downs and interrupt edges
16#define PI_PUD_UP 0
17#define PI_PUD_DOWN 0
18#define PI_PUD_OFF 0
19#define FALLING_EDGE 0
20
21// Function declarations to mimic those in the pigpio library.
22int gpioInitialise();
23
24void gpioTerminate();
25
26void gpioSetMode(unsigned pin, unsigned mode);
27
28void gpioWrite(unsigned pin, unsigned level);
29
30int gpioRead(unsigned pin);
31
32// Simulate a delay for a specified number of microseconds.
33void gpioDelay(unsigned micros);
34
35// Simulate a microsecond tick counter.
36unsigned gpioTick();
37
38// Simulate setting a GPIO alert function with an additional user parameter.
39int gpioSetAlertFuncEx(unsigned pin, void (*func)(int, int, unsigned, void *), void *user);
40
41// Function to mimic setting an interrupt service routine (ISR) for a GPIO pin, with an additional user parameter.
42int gpioSetISRFuncEx(unsigned pin, int edge, int timeout, void (*func)(int, int, unsigned, void *), void *user);
43
44// Add the function declaration for gpioSetPullUpDown
45// This function is supposed to mimic setting the pull-up/pull-down resistors for a GPIO pin.
46void gpioSetPullUpDown(unsigned pin, unsigned pud);
47
48// Simulate a callback function for a GPIO pin.
49void simulateCallback(unsigned pin, int level, unsigned tick);
50
51#endif
void gpioTerminate()
Terminate the GPIO simulation.
Definition pigpio_stub.cpp:53
int gpioRead(unsigned pin)
Read the level of a GPIO pin.
Definition pigpio_stub.cpp:98
int gpioSetAlertFuncEx(unsigned pin, void(*func)(int, int, unsigned, void *), void *user)
Set a callback function for GPIO pin alert events.
Definition pigpio_stub.cpp:150
const int PI_OUTPUT
Output mode for GPIO pin.
Definition pigpio_stub.cpp:19
int gpioInitialise()
Initialize the GPIO simulation.
Definition pigpio_stub.cpp:40
void gpioDelay(unsigned micros)
Simulate a delay in microseconds.
Definition pigpio_stub.cpp:121
const int PI_INPUT
Input mode for GPIO pin.
Definition pigpio_stub.cpp:20
const int PI_LOW
Low level for GPIO pin state.
Definition pigpio_stub.cpp:22
void gpioSetMode(unsigned pin, unsigned mode)
Set the mode of a GPIO pin.
Definition pigpio_stub.cpp:67
void simulateCallback(unsigned pin, int level, unsigned tick)
Simulate a callback function call for a specific GPIO pin.
Definition pigpio_stub.cpp:172
unsigned gpioTick()
Get the current value of the simulated tick counter.
Definition pigpio_stub.cpp:134
const int PI_HIGH
High level for GPIO pin state.
Definition pigpio_stub.cpp:21
void gpioWrite(unsigned pin, unsigned level)
Write a level to a GPIO pin.
Definition pigpio_stub.cpp:82