https://github.com/deepsyx/pigpio-mock
Package used for locally developing node apps with pigpio.
https://github.com/deepsyx/pigpio-mock
hardware nodejs raspberry-pi
Last synced: about 1 year ago
JSON representation
Package used for locally developing node apps with pigpio.
- Host: GitHub
- URL: https://github.com/deepsyx/pigpio-mock
- Owner: deepsyx
- Created: 2017-07-19T12:53:53.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-06T17:46:12.000Z (over 3 years ago)
- Last Synced: 2025-03-29T09:22:13.666Z (about 1 year ago)
- Topics: hardware, nodejs, raspberry-pi
- Language: JavaScript
- Size: 60.5 KB
- Stars: 20
- Watchers: 3
- Forks: 9
- Open Issues: 12
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# Pigpio-mock
*Article: https://viktorkirilov.me/post/mocking-raspberry-gpios/*
A mock library used for raspberry pi development on your local machine. It copies all method from https://github.com/fivdi/pigpio and logs information to the console, instead of controlling the Raspberry's GPIO pins.
[](https://travis-ci.org/deepsyx/pigpio-mock) [](https://coveralls.io/github/deepsyx/pigpio-mock?branch=master)
# Example
You can also check `examples` folder.
const Gpio = require("pigpio-mock").Gpio;
const led = new Gpio(13, { mode: Gpio.OUTPUT });
let dutyCycle = 0;
setInterval(function() {
led.pwmWrite(dutyCycle);
dutyCycle += 50;
if (dutyCycle > 255) {
dutyCycle = 0;
}
}, 500);
should output:
[GPIO 13 / constructor] Initializing...
[GPIO 13 / constructor] Setting mode = 1
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 0
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 50
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 100
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 150
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 200
[GPIO 13 / pwmWrite-analogWrite] Setting dutyCycle = 250
# Installation
It is as simple as:
yarn add pigpio-mock
and you can use it in your code as:
const pigpio = process.env.NODE_ENV !== "production" ?
require("pigpio-mock") :
require("pigpio");
# Implemented classes:
- [x] Gpio
- [ ] GpioBank
- [ ] Notifier
# Contribution
All kind of contribution will be greatly appreciated.
#### Pull requests
* We're using https://github.com/enhancv/prettier for automatic code formating
* Please provide tests. We're aiming for 100% code coverage
#### Running tests
yarn test