openaps / openaps-menu

3 stars 18 forks source link

fixup scripts; add Makefile for buttons (not a.out) #19

Open thecubic opened 6 years ago

thecubic commented 6 years ago

This is really just generalized scripts cleanup; it moves a.out buttons to just a buttons executable with a Makefile (and removes it from revision control - it's going to be executed as root).

setup.sh will now do the build if the helper binary is not present, and also it will not change already correctly-configured GPIO settings (re-exporting is an error), and does an access check with guidance when not permitted (the caller only needs to be in the gpio group)

# without gpio access
thecubic@cyborg:~/src/openaps-menu/lib/pi-buttons $ ./setup.sh
./setup.sh must be run with GPIO permissions (typically gpio group membership or root/sudo)
...
thecubic@cyborg:~/src/openaps-menu $ ./openaps-menu.sh
GPIO 17 already exported
GPIO 22 already exported
GPIO 27 already exported
GPIO 17 already direction inwards
GPIO 17 signal edge already both
GPIO 22 already direction inwards
GPIO 22 signal edge already both
GPIO 27 already direction outwards
building buttons executable
make: Entering directory '/home/thecubic/src/openaps-menu/lib/pi-buttons'
cc    -c -o buttons.o buttons.c
cc -o buttons buttons.o  -lpthread -lrt
make: Leaving directory '/home/thecubic/src/openaps-menu/lib/pi-buttons'

Testing: I am looping with this and it works

root     11369     1  0 15:31 ?        00:00:09 node /root/src/openaps-menu/index.js
root     11378 11369  0 15:31 ?        00:00:00 ./buttons
cluckj commented 6 years ago

Thanks for the cleanup :) the original button code was a quick-and-dirty hack to make the buttons usable while Bryan was working on these (which we should be moving to when I have a chance to write the installer): https://github.com/bnielsen1965/node-pi-buttons https://github.com/bnielsen1965/pi-buttons

bnielsen1965 commented 6 years ago

@cluckj I have a setup script for pi-buttons service that I am using in another project, it might work for your needs or provide a starting point...

https://github.com/bnielsen1965/Explorer_HAT_Test_Fixture/blob/master/Software/scripts/pi-buttons-install.sh

scottleibrand commented 6 years ago

@cluckj want to review this and merge when ready, or LMK if you need perms?