brilliantlabsAR / frame-codebase

The complete codebase for Frame
https://www.brilliant.xyz
Other
146 stars 30 forks source link

[feature request] Turn dithering off on the ECX336CN #182

Closed josuah closed 2 months ago

josuah commented 2 months ago

Optionally turning dithering off would reduce the color space, in particular in low brightness situations, but is required when eye condition make dithering damageful.

To turn DITHERON off, the bit 1 of config 0x05 needs to be changed from true (as we configure it) to false (default): https://github.com/brilliantlabsAR/frame-codebase/blob/main/source/application/display_configuration.h#L40

[EDIT: updated the register: it is bit 3, not bit 1]

0xCB -> 0xC3

josuah commented 2 months ago

If this is a customizable option, it need to either stay off by default, either have some way to store configuration in a persistent way that is not overwritten any time Noa is loaded, to avoid any exposure to hurtful light for affected users.

JordansGithub commented 2 months ago

This would be amazing for the large population of people who have screen sensitivity issues like me! If you can have a accessibility toggle to remove all forms of pixel flicker/dithering (even spatial)that would be huge for us screen sufferers🥹

josuah commented 2 months ago

An alternative suggested by @JordansGithub by email is to add a command to change arbitrary display setting.

As long as none of them can cause hardware damage, this could allow all sorts of future tinkering without requiring to upgrade the firmware, in the same way as this was done: https://github.com/brilliantlabsAR/monocle-micropython/pull/281

rohitrathnam commented 2 months ago

Tested this setting {0x05, 0xC3}, dithering on/off works: PR

josuah commented 2 months ago

Wonderful reactivity! I mirror the gratitude from the user who requested it!