Charles,
So, a minor complaint. None of your overlays configures ALL pins not used by hdmi( audio and video ) and all other pins not in use by the system ( eMMC, i2c-0/2, etc ). I had to use a cape I suppose Robert created:
debian@beaglebone:~$ dmesg |grep univ
[ 0.000000] Kernel command line: console=tty0 console=ttyO0,115200n8 bone_capemgr.enable_partno=univ-all root=/dev/mmcblk0p1 rootfstype=ext4 rootwait coherent_pool=1M quiet cape_universal=enable
[ 2.926016] bone_capemgr bone_capemgr: enabled_partno PARTNO ‘univ-all’ VER ‘N/A’ PR ‘0’
[ 2.926083] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,univ-all’
. . . Lots of noise . . .
[ 5.293487] bone_capemgr bone_capemgr: slot #4: dtbo ‘univ-all-00A0.dtbo’ loaded; overlay id #0
Here is the whole story. I was able to use config-pin to load the overlay that exports all hdmi pins, and all that. The problem is, I modified your version of config-pin because I do not wish to setup a sudo “rule”. Instead, I use a udev rule to change the group for the pin files, and loading that overlay through config-pin was not working. Since parts of that udev rule HAS to be done at boot.
Anyway, using the overlay Robert seems to have created ( univ-all ) seems to do the trick . . . Now, for your amusement . . .
testing of a custom board( cape ) using Javascript
and yes, it works perfectly.
“use strict”;
(function() {
var cp = require(’./config-pin.js’);
var leds = [‘P8.26’, ‘P8.18’, ‘P8.07’, ‘P8.08’, ‘P8.09’, ‘P8.10’];
var relays = [‘P8.27’, ‘P9.31’, ‘P9.29’, ‘P9.25’, ‘P9.30’, ‘P9.12’];
leds.forEach(function(s) {
cp.config(s, ‘low’);
});
relays.forEach(function(s) {
cp.config(s, ‘hi’);
});
setTimeout(function() {
leds.forEach(function(s) {
cp.config(s, ‘hi’);
});
relays.forEach(function(s) {
cp.config(s, ‘low’);
});
}, 2000);
})();