You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reducing the Brightness in the Android side is having dramatic color differences in the Neopixels output for PIX565 protocol. We are also doing this on the slower side of Javascript. So if we multiply a Red / Blue value of 100 * 0.1 (also 10% Brightness) the number sent to the Firmware is 10 (But compressed in the 565 scale) which makes all colors quite flat and a very greenish touch to whites. So it's decided that the Brightness reduction should be done in the last point of the chain, after decompression, after any protocol byte interpretation is done.
10% | sends 2 | multiplies *0.1 in the Firmware at the end of calculation
15% | sends 3 | multiplies *0.15
20% | 4
25% | 5
30% | 6
40% | 8
100% | 20. multiplies *1 so the value sent by the App stays the same (in 565 value)
Formula
byte[1]*0.1/2 => Result is assigned to respective R,G,B channels
Related to #16
Reducing the Brightness in the Android side is having dramatic color differences in the Neopixels output for PIX565 protocol. We are also doing this on the slower side of Javascript. So if we multiply a Red / Blue value of 100 * 0.1 (also 10% Brightness) the number sent to the Firmware is 10 (But compressed in the 565 scale) which makes all colors quite flat and a very greenish touch to whites. So it's decided that the Brightness reduction should be done in the last point of the chain, after decompression, after any protocol byte interpretation is done.
https://docs.google.com/spreadsheets/d/1_cM5DqNS2QT7wjXpPaah25jAjDLKErX8sIaCZKI4bcQ
In the App side:
New dropdown of Brightness
10% | sends 2 | multiplies *0.1 in the Firmware at the end of calculation
15% | sends 3 | multiplies *0.15
20% | 4
25% | 5
30% | 6
40% | 8
100% | 20. multiplies *1 so the value sent by the App stays the same (in 565 value)
Formula
byte[1]*0.1/2 => Result is assigned to respective R,G,B channels
Android reference: martinberlin/udpx-app#18
The text was updated successfully, but these errors were encountered: