Skip to content

Package used for locally developing node apps with pigpio.

Notifications You must be signed in to change notification settings

deepsyx/pigpio-mock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Build Status Coverage Status

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:

  • Gpio
  • GpioBank
  • Notifier

Contribution

All kind of contribution will be greatly appreciated.

Pull requests

Running tests

yarn test

About

Package used for locally developing node apps with pigpio.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •