* Add support for MKS Robin TFT display
- Add support for MKS Robin TFT display and encoder for MKS Robin board.
- Generic 128x64 UI with x2 upscale is used (for now).
- Tested on MKS Robin TFT V2.0 with ST7789V controller.
* Make ExtUI respect MAXTEMP limits
- Temperatures are now clamped by MAXTEMP limits rather than arbitrary values.
* Speed up USB init, add status
- Speed up USB initialization
- Show status message if init failed
* Enable status messages for EXTENSIBLE_UI
* Adjust max limit to MAX_TEMP - 15
* Misc. tweaks to formatting, const, etc.
Implement initial support for MKS Robin (STM32F103ZET6) board.
Custom build script is used to generate encrypted firmware compatible with original MSK Robin bootloader (i.e. safe firmware update from SD card and possibility to go back to original close-source firmware).
* Remove duplicate calls to PrepareSector
Some flash memory API calls require that a call to `PrepareSector` is done before use. However this call is already made by the LPC1768 framework so the calls in this code are not required.
* Ensure correct alignment of RAM buffer
The LPC176X flash API requires that the RAM buffer used for write operations must be word-aligned. This change ensures that this is the case.
Access to the DWT peripheral for the `CYCCNT` register needs to happen before `main()`. The code needs to be called after the setup of the system clocks, so the right place is between the `premain()` and `main()` function of the STM32 Arduino core.
This patch moves the DWT access code to a new function, which is then placed between `premain()` and `main()`.
- Remove `print_job_timer.stop()` from `disable_all_heaters`
- Call `print_job_timer.stop()` for relevant `disable_all_heaters()`.
- Split up `kill()` for watchdog interrupt safety
- Fix an error in the return value of `sd_mmc_spi_read_capacity` which was causing the host OS to read beyond the last sector in the card.
- Clean up the USB flashdrive code and add better debugging.