[Android Head-Units] willston:
Hi guys,

So I just recently got a Dasaita PX6 MCPE for my 2014 Honda Accord. The screen is so bright its insane, my dashboard can't even match it at the brightest night setting. Daytime it is good, but I can't dim the display enough for night use. I've contacted Dasaita about it and there response was "put window tint on your radio". The problem is it wouldn't be bright enough for day with window tint on it :/

I'm wondering if anyone has had any success with these units to make the screen brightness at night dimmer. I've tried using apps like Lux but my display is still putting out too much light. I live in the country and am on very dark roads, its tolerable when I hit the city. Right now I have to keep the screen off while driving on my road.

Now naturally, I'm not just posting "how do you fix it": instead I'd like to share what I've done so far and see if anyone else has any ideas:

1) Finding the PWM device in the kernel. Using the ADB root shell I've looked around to find some PWM devices. I figured they must be controlling the display brightness using one of the RK3399 PWM outputs. After a lot of searching, I found a PWM device which somewhere had been labelled as Backlight:

```

$ more pwm

platform/ff420030.pwm, 1 PWM device

pwm-0 (vdd-log ): requested enabled period: 24997 ns duty: 4246 ns polarity: inverse

platform/ff420010.pwm, 1 PWM device

pwm-0 (backlight ): requested enabled period: 24997 ns duty: 0 ns polarity: normal

```

`ff420010.pwm`

I tried sending a new brightness to the device by editing the power file in `/sys/devices/platform/ff420010.pwm/pwm/pwmchip0/power` using `echo "250" > power` but it didn't change anything. Perhaps I'm not editing this file right, but in my experiences in the past this is usually how screen brightness is controlled, via PWM driven off the main processor (for embedded applications of course).

If we can find how this device is driven, (wether its the MCU or CPU) I'm confident we can dim the display. I think the frequency for the PWM is too high, so even though the duty cycle may only be 5%, we get very little range as our eyes are compensating for it. I contacted Dasaita with this information and theory behind it but they don't care (they already have my money of course). This is something I've observed with LED's in the past when I set the PWM frequency too high.

2) My next plan was to modify the actual device driver circuit and add a RC filter so when the device was being given a shorter duty cycle it would start to ground out some of the power, effectively adding more range, as when the duty cycle neared 100% it would be DC and the circuit would no longer pass any power to ground. At this point I was still under the assumption that the backlight was LED, as it is 2020 of course. Upon further inspection I realized that it is not driven by LED, but is a CCFL driven display. I unplugged the harness for the backlight and voltages were above 30v, and you could hear the circuit trying to ignite the bulb. To be extra sure, the measured impedance across the terminals was immeasurable with my equipment. I have very little experience with this kind of florescent so I started messing around and was able to get the device to dim by putting a resistor inline, but the driver was struggling (you could hear it hissing) and I lost all range on the devices dimmer.

My theory is that the display is actually running off the MCU and not from the CPU... even though I can't prove it and it doesn't make sense to do it like that. Its a CCFL so it can't be easily dimmed with hardware modifications that I can do.

If anyone has any input on how to make the display dimmer it would be super appreciated. Normally I would find another solution but this is the only radio I can find for my car that isn't god awful. I'm pretty new to Android, but come from a Linux and embedded systems background so perhaps there is something I'm missing?