Looking for a picture of the LX470 climate control screen

This site may earn a commission from merchant affiliate
links, including eBay, Amazon, Skimlinks, and others.

Please a excuse a layman trying to understand how this works. The Teyes unit, Does it interface directly with the vehicle's can-bus wires, and you can send data to the can-bus through the OS? Does the Teyes retain the black AC amplifier mounted behind the factory screen?
Here's the basics - which will also help @wildsmith a bit. More details later:

The Teyes connects into the car in two ways. First, with direct wiring from the Teyes to the car's wiring harness. This is used to play audio to the speakers, detect the car's ACC turned on, provide power, etc. The second way it communicates with the car is via the canbus, which is a network communication system in the car that links all the ECUs together (kind of).

The Teyes doesn't connect to the CanBus directly because there are so many different types of cars with different types of canbus. Instead, each Teyes comes with a CanBus Decoder box. Those are made by a bunch of different companies that reverse engineer the CanBus communication in the vehicle and put all that logic into the CanBus Decoder box. The company that figured out the LC100 canbus and provides the decoder is Luzheng. That's why when you setup your Teyes canbus settings, you choose "LZ". That's the manufacturer of the canbus decoder. The Canbus decoder provides a serial interface to the Teyes and translates that to the two-wire canbus signal to the car.

There's not, as far as I know, a logical mapping between the data send from the Teyes to the Canbus decoder, and then from the decoder to the vehicle. For example, the canbus code for "Set the climate control to Auto" is 21. I'm not confident that 21 is also the code used between the decoder and the vehicle.

From the top, here's how the climate control app I built works:
1) It calls a system service running on the Teyes that provides CanBus notifications and commands. I send the command code 21 and command data "true" to set the climate system to Auto.
2) That service accepts the command and calls a JNI service, written in C++.
3) That JNI service has a serial port open to the canbus decoder box and sends the command code 21 and the data to the decoder.
4) The decoder translates that to the correct canbus command for our trucks and places the command on the canbus network
5) The truck accepts the command and sets the climate control to Auto. This will, in turn, result in the A/C turning on, for example.
6) The truck puts a "A/C is now on" notification on the canbus.
7) The canbus decoder sees that message and relays it over the serial port to the JNI service.
8) The JNI service relays it to the android service
9) The android service looks and says, "do any apps want to be notified of the A/C on notification?". It sees that my app is interested and sends the A/C on notificaiton to my app.
10) My app sets the A/C icon appropriately.

The interesting thing about all of this is that my app and the Teyes in general, is pretty "dumb". It doesn't know that turning the fan off also turns the A/C off. It doesn't know that going into defrost mode also disables the other vents. The truck climate ECU handles all of that. The teyes and the climate control app just send commands and interpret notifications.

Hope that provides some insight!
 
Here's the basics - which will also help @wildsmith a bit. More details later:

The Teyes connects into the car in two ways. First, with direct wiring from the Teyes to the car's wiring harness. This is used to play audio to the speakers, detect the car's ACC turned on, provide power, etc. The second way it communicates with the car is via the canbus, which is a network communication system in the car that links all the ECUs together (kind of).

The Teyes doesn't connect to the CanBus directly because there are so many different types of cars with different types of canbus. Instead, each Teyes comes with a CanBus Decoder box. Those are made by a bunch of different companies that reverse engineer the CanBus communication in the vehicle and put all that logic into the CanBus Decoder box. The company that figured out the LC100 canbus and provides the decoder is Luzheng. That's why when you setup your Teyes canbus settings, you choose "LZ". That's the manufacturer of the canbus decoder. The Canbus decoder provides a serial interface to the Teyes and translates that to the two-wire canbus signal to the car.

There's not, as far as I know, a logical mapping between the data send from the Teyes to the Canbus decoder, and then from the decoder to the vehicle. For example, the canbus code for "Set the climate control to Auto" is 21. I'm not confident that 21 is also the code used between the decoder and the vehicle.

From the top, here's how the climate control app I built works:
1) It calls a system service running on the Teyes that provides CanBus notifications and commands. I send the command code 21 and command data "true" to set the climate system to Auto.
2) That service accepts the command and calls a JNI service, written in C++.
3) That JNI service has a serial port open to the canbus decoder box and sends the command code 21 and the data to the decoder.
4) The decoder translates that to the correct canbus command for our trucks and places the command on the canbus network
5) The truck accepts the command and sets the climate control to Auto. This will, in turn, result in the A/C turning on, for example.
6) The truck puts a "A/C is now on" notification on the canbus.
7) The canbus decoder sees that message and relays it over the serial port to the JNI service.
8) The JNI service relays it to the android service
9) The android service looks and says, "do any apps want to be notified of the A/C on notification?". It sees that my app is interested and sends the A/C on notificaiton to my app.
10) My app sets the A/C icon appropriately.

The interesting thing about all of this is that my app and the Teyes in general, is pretty "dumb". It doesn't know that turning the fan off also turns the A/C off. It doesn't know that going into defrost mode also disables the other vents. The truck climate ECU handles all of that. The teyes and the climate control app just send commands and interpret notifications.

Hope that provides some insight!
Great insight
 
Impressive. The project went from zero to 100 faster than anything I can afford!
 
Here's the code for the app.


Here's a gist with the codes that you can use to interpret changes to the truck's systems:


The way to approach this if you want to do something similar is to:
1) Grab the latest CC3 firmware from the web
2) Use Firmware Tools Workbench to mount it on linux (FYT Firmware Workbench 2.0 - https://forum.xda-developers.com/t/fyt-firmware-workbench-2-0.4444267/)
3) Use a decompiler (like Jadx) to decompile the elable/app/com.syu.canbus apk file
4) Check out the file carinfo/lz/lexusIS/LuzLexusIsFrontAitControlAct
 
this is huge. Even the factory option to turn off the weirdly frequent climate popup is a bonus by itself. I thought something was wrong with the wiring or controls everytime the climate poped up. thanks!
 
@cryptyk Not a designer but I was thinking of something nostalgic of the good old navi. What do you think about this design?



design2.png

climate100-design-assets.png
 
Last edited:
Definitely. Can you let me know what the temperature range is on a stock Celsius truck, between lo and high?
Ahh - don't have a standard screen anymore.:) I do remember 17c being the lowest number.

The range of the T'eyes CC is:

HI
32c
then 0.5c increments from 31.5c to 17.5c
17c
LO

Fan settings go from 1 to 7, only the "OFF" button turns the fan setting to "0".
 
Last edited:
@cryptyk have you found anytime to update the UI on Climate 100? I've been using the Climate 100 a lot those bigger buttons would be nice. :)

I updated the design so the button look more like buttons

1680456432133.png
 
@cryptyk have you found anytime to update the UI on Climate 100? I've been using the Climate 100 a lot those bigger buttons would be nice :)
Unfortunately not. I with in an industry that's really busy this time of year but should have some free time after mid April
 

Users who are viewing this thread

Back
Top Bottom