RPi3 GPIO confinement from a SNAP called from another SNAP

Thanks for the suggestion @jdstrand.

When I run “snap interfaces” I get this:

fad0@localhost:~/dubot$ snap interfaces
Slot Plug
:account-control -
:alsa -
:autopilot-introspection -
:bluetooth-control -
:broadcom-asic-control -
:browser-support -
:camera -
:classic-support classic
:core-support core:core-support-plug
:dcdbas-control -
:docker-support -
:firewall-control -
:framebuffer -
:fuse-support -
:gpg-keys -
:gpg-public-keys -
:gpio-memory-control -
:greengrass-support -
:hardware-observe -
:hardware-random-control -
:hardware-random-observe -
:home botswana
:io-ports-control -
:joystick -
:kernel-module-control -
:kubernetes-support -
:kvm -
:log-observe snappy-debug
:lxd-support -
:mount-observe -
:netlink-audit -
:netlink-connector -
:network botswana,rocketchat-server
:network-bind botswana,rocketchat-server
:network-control -
:network-observe -
:network-setup-control -
:network-setup-observe -
:opengl -
:openvswitch-support -
:physical-memory-control botswana
:physical-memory-observe botswana
:ppp -
:process-control botswana
:raw-usb -
:removable-media -
:shutdown -
:snapd-control -
:ssh-keys -
:ssh-public-keys -
:system-observe botswana
:system-trace -
:time-control -
:timeserver-control -
:timezone-control -
:tpm -
:uhid -
pi3:bcm-gpio-0 -
pi3:bcm-gpio-1 -
pi3:bcm-gpio-10 -
pi3:bcm-gpio-11 -
pi3:bcm-gpio-12 -
pi3:bcm-gpio-13 -
pi3:bcm-gpio-14 -
pi3:bcm-gpio-15 -
pi3:bcm-gpio-16 -
pi3:bcm-gpio-17 -
pi3:bcm-gpio-18 -
pi3:bcm-gpio-19 -
pi3:bcm-gpio-2 -
pi3:bcm-gpio-20 -
pi3:bcm-gpio-21 -
pi3:bcm-gpio-22 -
pi3:bcm-gpio-23 -
pi3:bcm-gpio-24 -
pi3:bcm-gpio-25 -
pi3:bcm-gpio-26 -
pi3:bcm-gpio-27 -
pi3:bcm-gpio-3 -
pi3:bcm-gpio-4 botswana:gpio
pi3:bcm-gpio-5 -
pi3:bcm-gpio-6 -
pi3:bcm-gpio-7 -
pi3:bcm-gpio-8 -
pi3:bcm-gpio-9 -
pi3:bt-serial -
pi3:i2c-0 -
pi3:i2c-1 -
pi3:i2c-2 -

This is after I have connected all botswana plugs. I am using an edge version of ubuntu core 16 and that is why the pi3 slots exists. The stable version does not have them. I do not see the two interfaces you suggest: /dev/gpiomem and the gpio-memory-control interface. What version of ubuntu core has these? My c program access /dev/mem which is mapped to the physical-memory and I’m not having an issue with it. I only have issues when I try to install the snap with “strict” confinement.

The issue is not straight forward because I am calling the gpio program from a coffee script that is linked to a chatbot running in rocketchat. Rocketchat is one snap. The chatbot and gpio are in another snap. I can get gpio to work on the command line, but not when called from the chatbot if the snap is in strict confinement…