The pair of remotes seems to work at first power-up :-)
I made a little script:
#!/bin/bash
echo 4 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio4/direction
echo 11 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio11/direction
echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction
while true
do
# wrap around display so each round of 4017 is aligned
for i in 1 2 3 4 5 6 7 8 9 10
do
echo 1 > /sys/class/gpio/gpio7/value
sleep 0.01
echo 0 > /sys/class/gpio/gpio7/value
sleep 0.01
echo -n " "$(</sys/class/gpio/gpio4/value)","$(</sys/class/gpio/gpio11/value)
done
echo
done
and the output is as expected !root@pi:/home/pi# ./test_pins.sh
(nothing connected)
0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
(connecting one remote)
0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0
(connecting another remote)
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
(pressing one button)
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,1 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
(release)
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
0,0 0,0 0,0 0,0 1,0 0,0 0,1 0,0 0,0 0,0
....
Now I have to write the sync algorithms and create FSMs in C...
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.