# Controller A debug console and configuration shield for serial TTL muxers. See the ```muxers``` folder for what connects to this shield. ## Hardware / BoM | Item | Quantity | Unit Cost | | ---- | -------- | --------- | | [Keyboard FeatherWing (Keyboard + LCD)](https://www.tindie.com/products/arturo182/keyboard-featherwing-qwerty-keyboard-26-lcd/) | 1 | $55.00 | | [Feather nRF52840 Express](https://www.adafruit.com/product/4062) | 1 | $24.95 | ## Libraries Used ### Local These librarires are used by the project and contained in the ```src/``` folder local to the project. - [GUIslice 0.15](https://github.com/ImpulseAdventure/GUIslice) - [SdFat 1.1.4](https://github.com/greiman/SdFat) ### External These libraries are used by the project and can be installed via the Arduino IDE library manager. - [CircularBuffer](https://github.com/rlogiacco/CircularBuffer) - [bbq10keyboard](https://github.com/arturo182/arduino_bbq10kbd) - [Adafruit_ILI9341](https://github.com/adafruit/Adafruit_ILI9341) - [Adafruit_NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) ## Hardware Docs - [https://www.solder.party/docs/keyboard-featherwing/downloads/](https://www.solder.party/docs/keyboard-featherwing/downloads/) - [https://github.com/arturo182/bbq10kbd_i2c_sw](https://github.com/arturo182/bbq10kbd_i2c_sw) - [https://github.com/lvgl/lv_arduino](https://github.com/lvgl/lv_arduino) ## Implementation (Incomplete) - Simple display of serial in/out via lcd - Button for accessing symbols and control sequences via pop-up list that aren't on keyboard - Button for accessing password selection pop-up to help with password entry over serial - This should be configured via a text file on the sd card - Way to display pinouts stored on micro sd card - **YOU WILL NEED TO UPDATE THE CODE TO ADD NEW IMAGES** - Max number of files is 20 - Max filename length is 24 (this includes the ```.``` and extension of the file) - The pinouts should be stored as bmp files *up to* 24 bit - Pinouts should be sized as close to 320x240 as possible - Pinouts should be stored at ```/pinouts``` on the root of the SD card - Configuration read from muxes (if attached) ## Implementation (Complete) - Battery level on feather neopixel (green = >80% ; yellow >=40% ; orange >= 25% ; red < 25%) - User LED (red) always on when feather is running - Battery level shown as progress bar in the upper right corner of the screen - Config screen for Raspberry Pi UART/Speed - SD card support (REQUIRED actually) - SD Card information screen - Keyboard setup - 5 way switch for UI navigation instead of touch screen - Button 4 as a way to switch between screens ## Building / Uploading The ```make.ps1```, ```build.ps1``` and ```upload.ps1``` scripts can be used to build/upload this project. These scripts call the ```arduino-cli``` commands programatically.