@mc007ibi
Could you post the code you used to get your figures so we can repeat your tests?
Code: Select all
use strict';
var Gpio = require('../').Gpio,
led = new Gpio(17, {mode: Gpio.OUTPUT}),
time,
ops,
i;
time = process.hrtime();
for (i = 0; i !== 2000000; i += 1) {
led.digitalWrite(1);
led.digitalWrite(1);
led.digitalWrite(0);
led.digitalWrite(0);
}
time = process.hrtime(time);
ops = Math.floor((i * 4) / (time[0] + time[1] / 1E9));
console.log(' ' + ops + ' write ops per second');
Code: Select all
#!/usr/bin/env python27
import RPi.GPIO as GPIO
from datetime import datetime
import time
GPIO.setmode(GPIO.BCM) # set board mode to Broadcom
countingb=0
countington=0
timington=time.time()
averagington=0
average=0
maxington=0
minington=0
GPIO.setwarnings(False) #this supresses error messages to avoid clutter
GPIO.setup(2, GPIO.IN, pull_up_down=GPIO.PUD_UP) #set pull up resistor so grounding will change it
GPIO.setup(3, GPIO.OUT) #set gpio 4 to output mode
GPIO.setup(4, GPIO.OUT) #set gpio 4 to output mode
#GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
#************** end setup *****************************
# `
timington = time.time()+1
while True:
GPIO.output(4, 1)
GPIO.output(4, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
GPIO.output(3, 1)
GPIO.output(3, 0)
countington=countington+1
if ((timington)<time.time()):
print(countington, end=" ")
countingb=countingb+1
average=average+countington
if average>2000000000:
average=countington
countingb=1
averagington=average/countingb
if(countington>maxington):
maxington=countington
print(" ")
print ("max=",maxington," min=",minington," avr=",averagington)
if(minington==0):
minington=countington
if(countington<minington):
minington=countington
print(" ")
print ("max=",maxington," min=",minington," avr=",averagington)
countington=0
timington=time.time()+1