A few small quality of life changes to the software:
Firmware:
Prints the flap character array over serial (JSON) during initialization.
Adds an __unused__ attribute to the new operator override used for static placement of the module objects, which was creating a warning during compilation.
Scripts:
Reads the reported flap character array if present during initialization, and uses that instead of _ALPHABET to filter characters. This allows the Python script to talk to displays with any character set without having to modify the script's array. Includes a KeyError catch to support previous firmware that does not report its character set.
Truncates the text being sent (set_text()) to the size of the display (number of modules). This prevents verification issues when the number of modules in the firmware is smaller than the length of the text being sent, as the firmware's buffer will also truncate the string.
A few small quality of life changes to the software:
Firmware:
__unused__
attribute to thenew
operator override used for static placement of the module objects, which was creating a warning during compilation.Scripts:
_ALPHABET
to filter characters. This allows the Python script to talk to displays with any character set without having to modify the script's array. Includes aKeyError
catch to support previous firmware that does not report its character set.set_text()
) to the size of the display (number of modules). This prevents verification issues when the number of modules in the firmware is smaller than the length of the text being sent, as the firmware's buffer will also truncate the string.