Hi guys,
Background:
I'm running a robotics program for 14 years olds (
https://hr-robocon.org/) which uses a Raspberry Pi3b+, but some people are never happy and are complaining about system boot and shutdown times. Ever willing to throw myself into extra work, and keen to improve resilience against "abrupt power loss", TCL seems to be what I'm looking for... but I have a specific set of requirements which i'm having trouble with.
Detail:
Firstly, we have a mix of Pi3B and 3B+ I think means I need v10, but its still in beta. What does "Beta" mean for TCL?
The software stack consists of a PI, PI camera (Is this supported?), a custom board on I2C which provides Analog in, Digital IO and servos (I2C is supported as a kernal module), a motor controller hat which uses the GPIO and PWM (supported though wiringpi.tcz?). Students might extend the system by plugging in ardinio like devices (supported by usb-serial-4.19.13-piCore-v7.tcz). The board is shut down though a GPIO device tree module (all device tree stuff is supported because its just a RPI kernel - but you need to manually mount /boot?).
In development mode our system boots as a HostAP and dnsmasq (these appear to be missing on 10.x - are they inside some other package, do I have to build them some other way, or are they missing because they don't build yet?) redirects all traffic to a local port which serves a code development interface written in Python2 (python2.7.tcz), students write code through the interface and when they 'save' it the code is written to the PI filesystem so it persists from boot to boot (is filetool.sh -b meant to be used like this? Saving is reasonably infrequent.)
When the code is "run" any logs are displayed in the web interface and images that are taken by the camera are displayed. The images are analyzed by a python/C library, identifying simplified QR codes which the robot uses to navigate autonomously, these images and logs don't need to persist, but if a user has inserted a USB stick then they are saved there for inspection later.
Finally, during the competition there are 4 special USB sticks which allocate the corner of the arena to a robot (and hence which walls and cubes it hunts). The sticks are mounted using udev rules (I assume this supported, but I'm not sure how to make changes - do I make my own tcz, if so can you point me at instructions?) and at the next boot the brain is reconfigured to connect to an arena Access Point(wifi.tcz, wireless-4.19.13-piCore-v7.tcz, wpa_supplicant.tcz), with a fixed IP address (so the red corner is always 192.168.0.2 etc). I haven't worked out exactly why, but this requires a reboot to switch from HostAP mode.
Am I on the right track?