tom_van wrote:
I believe that finer backlight control is available in lower levels of chelsea fw too.
Try to trace ChelseaPictureShare::m_ChelseaPicture_SetEnergySavingBacklight()
tom_van is spot-on, as usual

. ChelseaPictureShare::m_ChelseaPicture_SetEnergySavingBacklight is indeed lowest-level function for backlight control (at least in B650/FRCQ B-series sets with T-CHL* firmware;
it may be very much different in Chelsea based PDPs, and/or Chelsea LED TVs - especially in LED sets with local dimming).
Looks like there are 4 chelsea register ranges/arrays involved:
1) 0x30220684: nice one, I believe this is chelsea main PWR (digital) backlight setting register. Typical (?) values ( esaving == off): 0x33-0x100 (backilght "0" -> 0x33, "1" -> 0x42, "2" -> 0x51, ..., "10" -> 0x100).
Pretty good candidate for fine-grained backlight control. Writable, I did some preliminary tests, seems to work like a charm.
2) 0x30220680: 0x100 for esaving == auto, 0x00 otherwise (from ChelseaPictureShare::m_SetDimmingReg())
3) 0x30220660: another interesting one (I don't know what it is exactly; perhaps it's main chelsea register for analog dimming ?). Usually it holds some fixed (?) values for different picture modes; writable; quite funny effects for low values (really dark backlight levels possible - but screen becomes not uniform for very low settings) and high values (very bright backlight, heavy screen flickering). I guess it may be a good one, too, especially if you want to set your TV on fire

. Seriously, I think it may be a little dangerous (for your TV inverter, and perhaps for you as well); please, be cautious.
4) 0x30220630-0x0x3022063c, 0x0x30220618-0x3022062c, 0x30220640-0x30220650, 0x0x30220658: ???. Details in ChelseaPictureShare::m_SetDimmingShape(); looks like some predefined sets of values for esaving == auto mode; otherwise: no idea.