Adds keyboard emulation feature, and implementation that uses this project: https://github.com/rcooke-warwick/test-rpi-keyboard running on a rpi 0 configured to gadget mode - connected to the autokit via a usb to serial cable. We are using serial to send the keys to be pressed to the pi0 keyboard emulator to maintain the USB physical interface - and using the network would add further complications.
We also add the up-board device type - the motivator for this feature, which requires key presses at boot time to select the USB storage media as the boot device.
some notes:
increased the resolution of the screen capture, as it helped with remote debugging
the up-board, and I have a feeling other similar boards that require this method to select the boot device, didn't present the boot select menu, or might not have even booted at all, without a HDMI "monitor" attached. This meant that if screen capture was enabled, provisioning worked, but if it wasn't it would fail, as no boot menu ever manifested. Enabling screen capture all the time would result in the host filling up with captured images - so I added a "fake" capture option, which routes captured images to a null sink where they aren't saved - but it still captures them and acts like a "monitor" as far as the up board is concerned. This works.
The timing between key presses can change things - its configured with an env var KEY_DELAY variable.
There were issues when using the latest serialport node package with our alpine container. I had to downgrade it to 9.0.0 to be able to get it to work - otherwise it would cause a segfault and the container would crash
Adds keyboard emulation feature, and implementation that uses this project: https://github.com/rcooke-warwick/test-rpi-keyboard running on a rpi 0 configured to gadget mode - connected to the autokit via a usb to serial cable. We are using serial to send the keys to be pressed to the pi0 keyboard emulator to maintain the USB physical interface - and using the network would add further complications.
We also add the up-board device type - the motivator for this feature, which requires key presses at boot time to select the USB storage media as the boot device.
some notes:
serialport
node package with our alpine container. I had to downgrade it to 9.0.0 to be able to get it to work - otherwise it would cause a segfault and the container would crashChange-type: patch