If you use the fillEllipse function on an Adafruit Feather ESP32-S3 TFT board, the board hangs/crashes completely.
It may happen on other ESP32 based boards but I'm unable to check.
The reason is that at the start of the function startWrite() is called. Then drawFastHLine functions are used to draw the lines.
However, drawFastHLine also calls startWrite(). startWrite calls SPI_BEGIN_TRANSACTION() and this nesting of SPI_BEGIN_TRANSACTION causes a deadlock that hangs the board.
The fix is to replace the drawFastHLine calls with writeFastHLine calls as we are already in a "draw" function.
If you use the fillEllipse function on an Adafruit Feather ESP32-S3 TFT board, the board hangs/crashes completely.
It may happen on other ESP32 based boards but I'm unable to check.
The reason is that at the start of the function startWrite() is called. Then drawFastHLine functions are used to draw the lines.
However, drawFastHLine also calls startWrite(). startWrite calls SPI_BEGIN_TRANSACTION() and this nesting of SPI_BEGIN_TRANSACTION causes a deadlock that hangs the board.
The fix is to replace the drawFastHLine calls with writeFastHLine calls as we are already in a "draw" function.