Skip to content

_set_size_and_colorspace: Boost pixel clock #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 12, 2021
Merged

Conversation

jepler
Copy link
Contributor

@jepler jepler commented Oct 12, 2021

@ladyada noticed that the pixel clock was very low, leading to a frame rate of just 7.6Hz from the camera. Because the structure of the parallel capture driver means dropping at least half of all frames, this led to a really low LCD refresh rate of just 3.8Hz.

Bump the PLL multiplier for non-JPEG modes from 8 to 32. This gives a capture framerate of about 30FPS and an LCD refresh rate of about 15Hz.

Going significantly higher (multiplier 48) gives a jumbled display, but even going slightly higher doesn't have a big effect on frame rate because the total LCD data transmission time of about 30ms starts to overlap with the next frame. Increasing the multiplier to 40 increases the capture frame rate to 40Hz but the LCD refresh rate decreaseds to just 13Hz, because only 1/3 of captured frames are displayed instead of 1/2. This is highly dependent on the LCD resolution & speed.

Limor noticed that the pixel clock was very low, leading to a frame rate
of just 7.6Hz from the camera.  Because the structure of the parallel
capture driver means dropping at least half of all frames, this led to
a really low LCD refresh rate of just 3.8Hz.

Bump the PLL multiplier for non-JPEG modes from 8 to 32.  This gives
a capture framerate of about 30FPS and an LCD refresh rate of about 15Hz.

Going significantly higher (multiplier 48) gives a jumbled display, but even
going slightly higher doesn't have a big effect on frame rate because the total
LCD data transmission time of about 30ms starts to overlap with the next frame.
Increasing the multiplier to 40 increases the capture frame rate to 40Hz but
the LCD refresh rate decreaseds to just 13Hz, because only 1/3 of captured
frames are displayed instead of 1/2.  This is highly dependent on the LCD
resolution & speed.
@ladyada ladyada merged commit 8cd38a6 into main Oct 12, 2021
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Oct 15, 2021
Updating https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3741 to 1.1.4 from 1.1.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_IS31FL3741#8 from jsymons/typing

Updating https://github.com/adafruit/Adafruit_CircuitPython_OV5640 to 1.0.1 from 1.0.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_OV5640#7 from adafruit/fix-effects-modes
  > Merge pull request adafruit/Adafruit_CircuitPython_OV5640#5 from adafruit/boost-pixel-clock

Updating https://github.com/adafruit/Adafruit_CircuitPython_Seesaw to 1.10.1 from 1.10.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_seesaw#86 from kattni/simpletest
@jepler jepler deleted the boost-pixel-clock branch October 17, 2021 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants