gyroflow / flowshutter

Firmware for FC based gyro logger device
https://docs.gyroflow.xyz/flowshutter/flowshutter/
Other
166 stars 12 forks source link

[OLED Driver] Split framebuffer by pages #114

Closed DusKing1 closed 2 years ago

DusKing1 commented 2 years ago

It's time for a roundup of these OLED driver updates happening today.

The I2C OLED update will cause a ~12ms block in the current code. This is very difficult for us to accept - it will cause an RX loss warning on the flight controller and a series of unpredictable consequences.

This PR will split the original OLED refresh action from a full-frame refresh (512 bytes) to a four-sub-frame step-by-step refresh (128 bytes for each).

Although the PR did not improve the blocking situation, the original blocking task has been split into four blocking subtasks, which the queue scheduling method can be used to reorganize these tasks later to alleviate the blocking situation.