Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

thecubic
Copy link

@thecubic thecubic commented Aug 18, 2018

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
Copy link
Contributor

cluckj commented Sep 25, 2018

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
Copy link
Collaborator

@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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants