Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Vendor Scan My Tesla, a CANBUS reader for Android

This site may earn commission on affiliate links.
Version 1.5.0 is out!

Factory reset this tab
Record button (long press for settings)
CAN dump (OBDLink MX hangs after a while)
Bluetooth/comms stability improvements
New BMS heat map, idea by André Kjellstrup
Redesigned most tabs
Removed Cells tab
New readings:
Coolant heater
Series/Parallel
Battery pumps
Powertrain pump
Radiator bypass
Chiller bypass
Coolant heater
PTC air heater
Refrigerant temp

37268360_869649503225559_63367986139889664_n.png
37267254_869652049891971_8091871471183331328_n.png
 
Also learned that dual motor cars (or perhaps all AP cars?) have 4 coolant pumps. The 4th was added in a hurry just before the release, slightly misspelled, 'Powetrain pump 2?', can be copied from the All tab. Will be spelled properly & added to the Temps tab in next release, until then you can copy it from All tab.
 
  • Like
Reactions: Darren S
...
New readings: Coolant heater / Series/Parallel / Battery pumps / Powertrain pump / Radiator bypass / Chiller bypass / Coolant heater / PTC air heater / Refrigerant temp

37267254_869652049891971_8091871471183331328_n.png

Looks like many of these will correspond to this info (Model S duel charger):
BELOW FROM:
Post date: Mar 25, 2017
Member: arnis
Location:Estonia
Tesla Thermal Management System - explanation

tesla-thermal-screen-jpg.219794


1. Main coolant radiator. Does not have a fan apparently. When vehicle is in motion air passes through the fins cooling the liquid. Coolant enters from the right side. This radiator can be bypassed with device #10.
2. Coolant circulation mode selector. A device that switches between two modes: Series and Parallel. If series, coolant passes from #1 to #3 and then from B to #7. If is parallel, one loop passes from #1 to #7 and other loop from B to #3.
3. 12V coolant pump. Percents indicate pump running speed. Slower speed consumes less energy, prolongs pump life and slows the coolant flow.
4. Adjustable coolant redirection valve. Sends 100% of coolant from #3 to #5, 100% form #3 to #13 or anything in between.
5. Coolant heater. Apparently is rated for 6kW. Runs on high voltage. If activated, coolant will be heated up. This is used to heat the Battery fast. Heat generated by #6 #8 #9# can also be used to for pack heating. Cold pack will also cool down those devices.
6. DC-DC converter. Takes energy from high voltage pack, keeps 12V battery charged and all 12V devices powered up. Small part of coolant is directed into this device as heat generation is small.
7. 12V coolant pump. This pump is required to keep second loop of coolant flowing if #2 is in parallel mode. Acts as a backup to #3. In series mode both pumps run at equal speed.
8. On-board charger. Is used for vehicle charging. Converts AC grid electricity to suitable DC for main battery. Second charger is not available any more. There is a coolant bypass. Likely required due to single charger has up to half the coolant throughput. Number on the left indicates temperature of the electronics inside.
9. Drivetrain. Coolant enters the motor. Circulates in the stator. Also circulates in inverter (power electronics) and then exits (with temperature value shown). Transmission (reduction gear and differential) doesn't require cooling though it gets some heat as it is between warm motor and inverter. Which raises the temperature of the oil and makes vehicle slightly more efficient. Also rotor temperature is shown (most likely calculated estimation) and Inverter electronics temperature (PCB).
10. Adjustable coolant redirection valve. Same as #4. Either sends 100% of coolant through the radiator, bypasses 100% or anything in between. If coolant is not directed to the radiator it can be used to heat the Battery.
11. AC condenser. Required to cool down refrigerant. Does have a fan. Fan speed indicated in percents. There are two condensers each having a 12V fan. Are between fog lights and front wheel arches. Air enters through louvers and exits to the wheel arc. Louvers can be closed for better drag coefficient.
12. Electric Air Conditioner Compressor. Runs on high voltage. It is used for two purposes. To cool the air for the cabin using #16 and/or to cool the glycol loop using #13. Percents indicate compressor running speed. If cooling requirements are very small compressor will be temporarily stopped to allow cabin air evaporator to stay above freezing point. Sensors before and after indicate temperature and pressure of the refrigerant before and after the compressor.
13. Refrigerant-coolant heat exchanger. Functions the same way as #11 #16 but instead of air it cools glycol coolant passing through it. While #16 is not allowed to get below 0*C/32*F chiller can go colder as coolant will freeze at much lower temperatures. Though it's more efficient to pass as much of coolant as possible. Chiller can be disabled with #14. To keep #16 functional (if user requested) #4 can redirect only some of the coolant.
14. Chiller activation valve. Is an on-off valve that either blocks the refrigerant from expanding into #13 or not.
15. Cabin evaporator activation valve. Is an on-off valve that either blocks the refrigerant from expanding into #16 or not.
16. Cabin air evaporator. Radiator inside HVAC system that cools the air that passes through. If climate control AC setting is "ON" or precooling is activated remotely this will cool and dry the air that passes it. Air gets here through cabin air filter and continues to #17.
17. Cabin air PTC heater element. Apparently is rated for 6kW maximum power. Runs on high voltage. Due to it being Positive Thermal Coefficient device, it can generate 6kW of heat only if air that enters is very cold and is moving very fast. If the element gets hot, it will reduce its draw even if it is activated to 100%. Usually air that exits doesn't get scalding hot no matter what. Temperatures between 55*C - 80*C can be expected at full requested power.

B. (battery) Main traction high voltage battery. Some data is shown on the picture.
Trend - Temp - Trend is coolant temperature that enters the battery. If it is hotter, battery will heat up. If is colder, it will cool the pack. Coolant temperature after the pack is to the left, below #7.
Max/Min Cell Temp: extreme values of the sensors in the pack. There are lots of those all mostly being very close to each other.
Passive Cooling Target: this is the value system tries to bring the pack to passively. If B is below this value, heat that has been generated by #6 #8 #9 will bypass #1 and will be absorbed by the B.
Active Cooling Target: this is the upper value for B temperature. If #1 is not capable to cool enough and trend is to go above that value, active cooling measures will increase. This means: #14 activates #13 and #4 selects a portion of coolant to be chilled. Depending on requirements #13 speeds up, as will fans on #11. At some point if cooling is not capable to cope other parameters can be limited (charging speed, vehicle power/regen limits).
Active Heating Target: This is the lower value for B. Anything below that and vehicle will use active measures to heat the pack. Apparently #5. It appears that active heating to that limit can be disabled with range mode. This will compromise battery charging capability/regen a lot and also some of the power output.

There are some more pictures that help to understand Parallel-Series loops and values. <snip> See thread URL above.

ABOVE FROM:
Post date: Mar 25, 2017
Member: arnis
Location:Estonia
Tesla Thermal Management System - explanation
 
Last edited:
Yes, we are still missing a few items from that picture (fan speeds, refrigerant pressure, compressor %, charger temp), but I've found pretty much everything else, plus PTC air heater %, battery (coolant) heater, even coolant heater exit temperature, the last 3 should prove interesting when winter comes. Regarding #17 above, I have read more than 100 C air coming out of the air heater. Hopefully those readings are correct, they still stand to be corrected or confirmed, they are part of the HVAC tab, and are guesswork on my side - I am pretty sure of the scaling, but not the naming or actual placement of the sensors.

Now I (still) need your help to decode more readings, version 1.5.0 finally puts all the tools in your hands to log (CAN dump) and decipher (Canbus Analyzer) new canbus signals. We need to find the fans, charger temp, the refrigerant valves maybe, anything else interesting?
 
I've got a problem using the app with a cheap ELM327 clone (ver 2.1, using BT Classic), but I think you can help with a minor change. See the following Raw Log.
Initializing adapter...
ATZ
ATZ
ATE0
ATE0
Connecting to car...
ATSP0
ATH1
ATS0
ATCAF0
STDI
Adapter error ?
>
Using ELM327 command set
ATMA
Setting filters...
ATCM 7FF
ATCF 382
ATMA
2374541001700000000
247667DC60200B02700
51EB0DAAFDAA8DAABDA
20E10422200BF000E00
40E00
00E200D200004FFF0D5
22840C0F0CD
102487AF5A6E6
4DFF03
36801E95015600821FF
7E80000000000000000
21900407F007E020000
2070000C0FF68011400
2274C05CF730900ECD1
2374541001700000000
247667DC60200B02700
26855001F00
BUFFER FULL
>
ATMA
7171900000000000000
62AA0000000000000FF
22840C000B2
1023A7AF6A6E84DFF03
2880000FC7F00
3580403300150000020
40830
2980000FC7F00
26A2D0200
00E200D200004FF1067
22840C0107F
1022D7AF5A6EA
1022D7AF5A6EA4DFF03
4280030
00E200D200004FF202D
22840C02035
102207AF5A6EA4DFF03
2BFFFFFFEFFFFFF9F53
2100000EC11118C00
2880000FC7F00
2980000FC7
2980000FC7F00
2090000000068011400
2294405BB720500E
BUFFER FULL
>
ATMA
2394541001700000000
24
249667DD00200902700
7190200000
7190200000000000000
71E040090D50000
71E040090D500000000
51E01310031F130EE30
20E1042
20E10422200BF000E00
40E00
00E200D2000
00E200D200004FFD052
22840C0D04A
102317A05A70A
102317A05A70A4EFF03
36801E95015600821FF
21
21900407F007E020000
2187D0
2187D00FF07FFDFCF67
2070000000068011400
2274
2274805DB731A00ECD1
2374541001700000000
2476
BUFFER
BUFFER FULL
>
ATMA
26855001F009C011B00
00E200D200004FFE018
2980000FC7F00
51A4709000000002800
2170040000080020000
00E200D200004FF9041
22840C09059
10
24A7A04A7094EFF03
233270CFF0000000000
22300
223000000006D000081
22C4C056C743200ECD1
20C0000000000002001
23C4145007878640646
23E3004
23E3004000000000F00
24CCCFF000000580200
40C0
40C00
45C427A050E00004A7A
547C5FF
5
BUFFER FU
BUFFER FULL
>
ATMA
76C0481238884E38700
00E200D200004FFA00B
2980000FC7F00
00E200D200004FF5074
22840C0506C
23840640000000040BA
1023D7A04A70A4EFF03
21300000000C0010000
37800800080008
00080
2781200400AA48060E6
21C0008008488020018
25C0102000AC0
25C0102000AC0FF0000
As you can see, the mask and filter are not having any effect. After recreating the condition using a BT Terminal app, I determined that if you hit it with an ATSP0 after the BUFFER FULL error, the mask and filter will have the desired effect. Seems like an easy fix. Thanks.
 
Yes, we are still missing a few items from that picture (fan speeds, refrigerant pressure, compressor %, charger temp), but I've found pretty much everything else, plus PTC air heater %, battery (coolant) heater, even coolant heater exit temperature, the last 3 should prove interesting when winter comes. Regarding #17 above, I have read more than 100 C air coming out of the air heater. Hopefully those readings are correct, they still stand to be corrected or confirmed, they are part of the HVAC tab, and are guesswork on my side - I am pretty sure of the scaling, but not the naming or actual placement of the sensors.

Now I (still) need your help to decode more readings, version 1.5.0 finally puts all the tools in your hands to log (CAN dump) and decipher (Canbus Analyzer) new canbus signals. We need to find the fans, charger temp, the refrigerant valves maybe, anything else interesting?
How can I help with this decoding of CanBus signals by using the app?
 
  • Helpful
Reactions: Darren S
I've got a problem using the app with a cheap ELM327 clone (ver 2.1, using BT Classic), but I think you can help with a minor change. See the following Raw Log.
As you can see, the mask and filter are not having any effect. After recreating the condition using a BT Terminal app, I determined that if you hit it with an ATSP0 after the BUFFER FULL error, the mask and filter will have the desired effect. Seems like an easy fix. Thanks.

Very interesting! Great research you have done here.

But ATSP0 = set protocol 'auto', correct? That disconnects and auto detects reconnects the baud rate and other settings of the canbus, or actually it will start auto-detecting when you send the next ATMA. And it takes a LONG time. As you can see the buffer is full after just a few milliseconds with the cheaper adapters, meaning this command will have to be sent maybe more than once per second, and the data rate will be utterly hopeless.

Please test this, ATSP0, then see how fast ATMA will start sending data after that.
If it solves the problem, we can sendt ATSP(x), where X is the correct code of the tesla protocol, not sure which one is the correct but we can find out.
 
How can I help with this decoding of CanBus signals by using the app?

You can analyze RAW logs and canbus dump files generated with the app with 'Canbus Analyzer': amund7/CANBUS-Analyzer

I want to make an instructional video how to use this software, but haven't found the time yet. Download it, try to figure out how to get started, ask when you get stuck.

Take a look at comma.ai's videos on how to use their software 'cabana' to decode and reverse engineer canbus signals, that's how I learned, and what my Canbus Analyzer is based on / inspired by.
 
Last edited:
Please test this, ATSP0, then see how fast ATMA will start sending data after that.
If it solves the problem, we can sendt ATSP(x), where X is the correct code of the tesla protocol, not sure which one is the correct but we can find out.
See if this BT Terminal output provides any useful insights.

18:52:58.983 Connecting to V-LINK ...
18:52:59.940 Connected
18:53:00.857 atz
18:53:01.801
18:53:01.824
18:53:01.824 ELM327 v2.1
18:53:01.824
18:53:01.824 >18:53:02.335 ate0
18:53:02.341 ate0
18:53:02.351 OK
18:53:02.351
18:53:02.351 >18:53:02.430 atsp0
18:53:02.438 OK
18:53:02.442
18:53:02.442 >18:53:02.532 ath1
18:53:02.543 OK
18:53:02.548
18:53:02.548 >18:53:02.631 ats0
18:53:02.644 OK
18:53:02.650
18:53:02.650 >18:53:02.732 atcaf0
18:53:02.743 OK
18:53:02.747
18:53:02.747 >18:53:02.833 atma
18:53:02.841 SEARCHING...
18:53:02.856 23E3004000000000F00
18:53:02.871 24CCCFF000000580200
18:53:02.871 40C00
18:53:02.871 45CFF74050E00001A75
18:53:02.877 54775FF
18:53:02.877 2BFFFFFFEFFFFFF7F33
18:53:02.882 54975FF
18:53:02.886 76C0900000040300003
18:53:02.889 1020075E3A6C34DFF03
18:53:02.899 2880000FC7F00
18:53:02.899 3580403300150000020
18:53:02.909 408C0
18:53:02.909 2980000FC7F00
18:53:02.909 00E2082200004FFB0A3
18:53:02.916 2231E086D0047000081
18:53:02.925 22840C0B0DE
18:53:02.925 2339A0BFF1F00980300
18:53:02.928 71E0300B02FFF0F0030
18:53:02.931 51EE130E030DA30D
18:53:02.940 BUFFER FULL
18:53:02.947
18:53:02.951 >18:53:03.027 atcm7af
18:53:03.036 OK
18:53:03.050
18:53:03.053 >18:53:03.125 atcf328
18:53:03.136 OK
18:53:03.142
18:53:03.142 >18:53:03.234 atma
18:53:03.243 1020C75E2A6C14DFF03
18:53:03.253 4280030
18:53:03.253 3470000000000000000
18:53:03.258 1020C75E2A6C14DFF03
18:53:03.288 2187D00FF07FFDF6F07
18:53:03.288 1020B75E3A6C64DFF03
18:53:03.288 00E2082200004FF2048
18:53:03.288 22840C02035
18:53:03.288 3570000000000000000
18:53:03.288 22C6905A46F1800ECD1
18:53:03.307 20C0000000000002001
18:53:03.307 23C4143007878640644
18:53:03.307 23E3004000000000F00
18:53:03.307 24CCCFF000000580200
18:53:03.315 40C00
18:53:03.319 2BFFFFFFEFFFFFFBF73
18:53:03.327 45CF874050E00000B75
18:53:03.327 BUFFER FULL
18:53:03.333
18:53:03.333 >18:53:03.490 atsp0
18:53:03.498 OK
18:53:03.504
18:53:03.504 >18:53:03.587 atma
18:53:03.596 SEARCHING...
18:53:03.663 338440055002A011D1D
18:53:03.689 36801E95015600821FF
18:53:03.801 36801E95015600821FF
18:53:03.892 36801E95015600821FF
18:53:03.932 3780080008000800080
18:53:03.997 36801E95015600821FF
18:53:04.144 36801E95015600821FF
18:53:04.348 36801E95015600821FF
18:53:04.415 36801E95015600821FF
18:53:04.494 36801E95015600821FF
18:53:04.553 36801E95015600821FF
18:53:04.598 3289F9FE50100000000
18:53:04.606 36801E95015600821FF
18:53:04.659 338440055002A011D1D
18:53:04.699 36801E95015600821FF
18:53:04.790 36801E95015600821FF
18:53:04.904 36801E95015600821FF
18:53:04.944 3780080008000800080
18:53:05.008 36801E95015600821FF
18:53:05.101 36801E95015600821FF
18:53:05.212 36801E95015600821FF
18:53:05.303 36801E95015600821FF
18:53:05.394 36801E95015600821FF
18:53:05.514 36801E95015600821FF
18:53:05.577 3289F9FE50100000000
18:53:05.589 36801E95015600821FF
18:53:05.665 338440055002A011D1D
18:53:05.703 36801E95015600821FF
18:53:05.794 36801E95015600821FF
18:53:05.909 36801E95015600821FF
18:53:05.952 3780080008000800080
18:53:05.991 36801E95015600821FF
18:53:06.108 36801E95015600821FF
18:53:06.205 36801E95015600821FF
18:53:06.296 36801E95015600821FF
18:53:06.412 36801E95015600821FF
18:53:06.503 36801E95015600821FF
18:53:06.590 3289F9FE50100000000
18:53:06.597 36801E95015600821FF
18:53:06.655 338440055002A011D1D
18:53:06.695 36801E95015600821FF
18:53:06.811 36801E95015600821FF
18:53:06.901 36801E95015600821FF
18:53:06.940 3780080008000800080
18:53:07.004 36801E95015600821FF
18:53:07.094 36801E95015600821FF
18:53:07.211 36801E95015600821FF
18:53:07.299 36801E95015600821FF
18:53:07.414 36801E95015600821FF
18:53:07.503 36801E95015600821FF
18:53:07.591 3289F9FE50100000000
18:53:07.599 36801E95015600821FF
18:53:07.656 338440055002A011D1D
18:53:07.706 36801E95015600821FF
18:53:07.814 36801E95015600821FF
18:53:07.903 36801E95015600821FF
18:53:07.943 3780080008000800080
18:53:08.006 36801E95015600821FF
18:53:08.096 36801E95015600821FF
18:53:08.212 36801E95015600821FF
18:53:08.302 36801E95015600821FF
18:53:08.390 36801E95015600821FF
18:53:08.512 36801E95015600821FF
18:53:08.575 3289F9FE50100000000
18:53:08.592 36801E95015600821FF
18:53:08.657 338440055002A011D1D
18:53:08.696 36801E95015600821FF
18:53:08.814 36801E95015600821FF
18:53:08.902 36801E95015600821FF
18:53:08.941 3780080008000800080
18:53:09.004 36801E95015600821FF
18:53:09.143 36801E95015600821FF
18:53:09.279 36801E95015600821FF
18:53:09.347 36801E95015600821FF
18:53:09.484 36801E95015600821FF
18:53:09.553 36801E95015600821FF
18:53:09.591 3289F9FE50100000000
18:53:09.594 36801E95015600821FF
18:53:09.660 338440055002A011D1D
18:53:09.701 36801E95015600821FF
18:53:09.792 36801E95015600821FF
18:53:09.908 36801E95015600821FF
18:53:09.949 3780080008000800080
18:53:10.013 36801E95015600821FF
18:53:10.104 36801E95015600821FF
18:53:10.198 36801E95015600821FF
18:53:10.289 36801E95015600821FF
18:53:10.397 36801E95015600821FF
18:53:10.495 36801E95015600821FF
18:53:10.589 3289F9FE50100000000
18:53:10.612 36801E95015600821FF
18:53:10.657 338440055002A011D1D
18:53:10.696 36801E95015600821FF
18:53:10.813 36801E95015600821FF
18:53:10.890 36801E95015600821FF
18:53:10.955 3780080008000800080
18:53:10.994 36801E95015600821FF
18:53:11.109 36801E95015600821FF
...
I'm not sure what you mean by a LONG time, but it looks like about 0.25 seconds (actually even less). Besides, if your mask and filter are sufficiently strict, it keeps the extra traffic out of the buffer, at least for a while. This cheap adapter will only be usable in tightly focused situations, but as of now I can't use it at all.

The Tesla CAN protocol is number 6, but atsp6 does not have the same beneficial effect as atsp0. Perhaps there is something about the auto-detecting routine that clears an error flag or buffer, and allows the adapter to obey the mask and filter.

Notice that I sent the mask and filter, but not the atsp0, and the adapter ignored them and got a second BUFFER FULL error. Then I sent atsp0 without resending the mask and filter. Only then did the adapter obey. By the way, if the mask and filter are sent before the first atma, then everything works correctly on the first try.
 
I can't off the top of my head tell what these filters should let through:
18:53:02.951 >18:53:03.027 atcm7af
18:53:03.053 >18:53:03.125 atcf328

But I have a theory you got it backwards, that those filters actually work, but after you do ATSP0 the filters are reset, and the reason you see so mostly 368-packets is because there are a lot of them.

The reason I do ATMA before setting the filters is that my early development showed exactly the opposite of what you say, that the filters wouldn't work unless I ran a short ATMA after ATSP0, before setting the filters.
This might of course be a wrongful assumption based on the 3 adapters I have available, and that other adapters behave differently.

If my theory is right, you would see the same amount of 368-packets when doing a can dump, or when doing an ATMA right after ATZ, try that and report back please.
 
Those filters were off the top of my head; they were not meant to be meaningful. However, they did allow the correct messages through after the atsp0. The reason 368 was so common was that it is a 10 Hz message, while the other three (328, 338 and 378) are 1 Hz messages. I received 100% of all four during the 7.5 seconds shown. During a CAN dump I only receive about 7% of any particular message. It doesn't matter whether it is a 100 Hz or 10 Hz or 1 Hz message, it is always about 7%. Therefore during a CAN dump I only get about 40-45 of the 368 messages per minute, while I get 600 of them per minute when using a working filter. My problem is that I can't get a working filter with my adapter and your app as your app is currently constructed.

Regarding the question of whether my adapter requires an atma before setting the filters, I am certain that it does not. See the following for my evidence.
18:01:00.375 Connecting to V-LINK ...
18:01:01.511 Connected
18:01:03.305 atz
18:01:03.315 atz
18:01:04.240
18:01:04.247
18:01:04.247 ELM327 v2.1
18:01:04.247
18:01:04.247 >18:01:05.446 ate0
18:01:05.454 ate0
18:01:05.467 OK
18:01:05.467
18:01:05.467 >18:01:05.554 atsp0
18:01:05.559 OK
18:01:05.570
18:01:05.570 >18:01:05.650 ath1
18:01:05.660 OK
18:01:05.668
18:01:05.668 >18:01:05.751 ats0
18:01:05.765 OK
18:01:05.771
18:01:05.771 >18:01:05.854 atcaf0
18:01:05.862 OK
18:01:05.868
18:01:05.868 >18:01:05.958 atcm7ff
18:01:05.970 OK
18:01:05.975
18:01:05.975 >18:01:06.052 atcf102
18:01:06.062 OK
18:01:06.070
18:01:06.070 >18:01:06.153 atma
18:01:06.162 SEARCHING...
18:01:06.177 1022D74F4A6E44DFF03
18:01:06.177 1024574F3A6E74DFF03
18:01:06.187 1023974F4A6EA4DFF03
18:01:06.197 1021F74F5A6EA4DFF03
18:01:06.214 1023874F4A6E94DFF03
18:01:06.221 1022C74F3A6E94DFF03
18:01:06.227 1022C74F4A6E74DFF03
18:01:06.242 1020874F5A6ED4DFF03
18:01:06.246 1022D74F4A6E84DFF03
18:01:06.261 1022C74F3A6E64DFF03
18:01:06.270 1023974F3A6E54DFF03
18:01:06.278 1024574F4A6EA4DFF03
18:01:06.289 1022C74F4A6E84DFF03
18:01:06.298 1023874F3A6E94DFF03
18:01:06.308 1022074F3A6E64DFF03
18:01:06.320 102FA73F4A6EB4DFF03
18:01:06.327 1023874F5A6EB4DFF03
18:01:06.340 1020674F2A6EA4DFF03
18:01:06.347 1021F74F3A6E74DFF03
18:01:06.358 1022B74F4A6EA4DFF03
18:01:06.379 1021D74F5A6EC4DFF03
18:01:06.379 1022A74F4A6EA4DFF03
18:01:06.386 1024474F3A6E64DFF03
18:01:06.396 1023674F4A6E74DFF03
18:01:06.408 1024374F5A6EA4DFF03
18:01:06.420 1021E74F4A6E84DFF03
18:01:06.427 1021F74F3A6E34DFF03
18:01:06.439 1024674F4A6EA4DFF03
18:01:06.450 1024474F5A6EA4DFF03
18:01:06.462 1021374F5A6E94DFF03
18:01:06.484 1022C74F4A6E34DFF03
18:01:06.484 1023974F3A6EA4DFF03
18:01:06.490 1024574F4A6E94DFF03
18:01:06.497 1022C74F4A6E84DFF03
18:01:06.509 1023A74F3A6E64DFF03
18:01:06.519 1023974F3A6E84DFF03
18:01:06.532 1023974F4A6E84DFF03
18:01:06.541 1023974F5A6EC4DFF03
18:01:06.550 1023974F3A6E54DFF03
18:01:06.562 1022C74F4A6E44DFF03
18:01:06.576 1023A74F4A6E94DFF03
18:01:06.584 1022D74F5A6EB4DFF03
18:01:06.593 1023B74F4A6E94DFF03
18:01:06.599 1021574F3A6E64DFF03
18:01:06.610 1022174F3A6E64DFF03
18:01:06.624 1024774F4A6E94DFF03
18:01:06.631 1021374F4A6EA4DFF03
18:01:06.638 1023774F3A6E64DFF03
18:01:06.652 1023874F3A6EA4DFF03
18:01:06.661 1024574F4A6EB4DFF03
18:01:06.668 1023A74F4A6E84DFF03
18:01:06.678 1024574F3A6E74DFF03
18:01:06.688 1023A74F3A6E94DFF03
18:01:06.698 1023874F4A6EC4DFF03
18:01:06.709 1024574F5A6EA4DFF03
18:01:06.719 1022C74F3A6E74DFF03
18:01:06.732 1022174F3A6E64DFF03
18:01:06.741 1020774F4A6EC4DFF03
18:01:06.752 1024674F5A6E94DFF03
18:01:06.782 1023A74F4A6E74DFF03
18:01:06.782 1021474F3A6E84DFF03
18:01:06.782 1022D74F4A6EB4DFF03
18:01:06.791 1022C74F5A6EA4DFF03
18:01:06.797 1022B74F4A6E64DFF03
18:01:06.816 1024574F3A6E34DFF03
18:01:06.823 1024574F3A6E84DFF03
18:01:06.830 1023974F4A6EC4DFF03
18:01:06.844 1023874F4A6E94DFF03
18:01:06.852 1021F74F3A6E94DFF03
18:01:06.861 1023774F4A6EA4DFF03
18:01:06.871 1023874F4A6EA4DFF03
18:01:06.884 1023974F4A6E94DFF03
18:01:06.895 1022074F4A6E84DFF03
18:01:06.905 1021F74F3A6E74DFF03
18:01:06.914 1021E74F4A6EB4DFF03
18:01:06.922 1024474F5A6E94DFF03
18:01:06.929 1022B74F3A6E64DFF03
18:01:06.940 1022B74F3A6E64DFF03
18:01:06.948 1020674F3A6EC4DFF03
18:01:06.960 1020674F5A6EA4DFF03
18:01:06.968 1022B74F4A6E84DFF03
18:01:06.985 1023974F3A6E54DFF03
18:01:06.990 1022B74F4A6EA4DFF03
18:01:07.000 1024674F4A6E94DFF03
18:01:07.014 1022E74F4A6E84DFF03
18:01:07.018 1022E74F3A6E94DFF03
18:01:07.029 1023A74F4A6E94DFF03
18:01:07.039 1023B74F4A6EE4DFF03
18:01:07.048 1023A74F4A6E94DFF03
18:01:07.061 1024774F3A6E74DFF03
18:01:07.068 1023A74F3A6E84DFF03
18:01:07.078 1022C74F4A6EB4DFF03
18:01:07.088 1022174F4A6EB4DFF03
18:01:07.100 1023A74F3A6E64DFF03
18:01:07.110 1021474F3A6E84DFF03
18:01:07.118 1024674F4A6E84DFF03
18:01:07.128 1023974F4A6E94DFF03
18:01:07.141 102FA73F3A6E64DFF03
18:01:07.154 1023A74F2A6E14DFF03
18:01:07.160 1022D74F3A6E64DFF03
18:01:07.173 1022C74F3A6EA4DFF03
18:01:07.179 1022C74F3A6E54DFF03
18:01:07.191 1023A74F2A6E54DFF03
18:01:07.203 1022174F3A6E74DFF03
18:01:07.208 1023A74F4A6E94DFF03
18:01:07.223 1020674F3A6E74DFF03
18:01:07.232 1023974F2A6E54DFF03
18:01:07.239 1022C74F2A6E84DFF03
18:01:07.252 1022C74F3A6E74DFF03
18:01:07.258 1023974F3A6E64DFF03
18:01:07.271 1021F74F2A6E64DFF03
18:01:07.281 1023A74F2A6E84DFF03
18:01:07.293 1024774F4A6EB4DFF03
18:01:07.306 1023A74F3A6E44DFF03
18:01:07.310 1022D74F2A6E74DFF03
18:01:07.319 1022174F3A6E54DFF03
18:01:07.327 1023A74F3A6E84DFF03
18:01:07.342 1022C74F3A6E64DFF03
18:01:07.350 1024474F2A6E74DFF03
18:01:07.358 1021F74F3A6E64DFF03
...
You said that your opinion that your 3 adapters require the atma first was formed during early development. May I respectfully suggest that you revisit that issue in light of all the changes made and knowledge gained since then.

If you confirm that your 3 adapters are fundamentally different from mine, would it be possible to put a setting in the wrench menu so the user could indicate which type of ELM327 adapter they are using? Advice could be to try it both ways and use the setting that seems to perform better. Sending the atma before the filters clearly disrupts my adapter and turns an already marginal performer into something virtually unusable.
 
Those filters were off the top of my head; they were not meant to be meaningful. However, they did allow the correct messages through after the atsp0. The reason 368 was so common was that it is a 10 Hz message, while the other three (328, 338 and 378) are 1 Hz messages. I received 100% of all four during the 7.5 seconds shown. During a CAN dump I only receive about 7% of any particular message. It doesn't matter whether it is a 100 Hz or 10 Hz or 1 Hz message, it is always about 7%. Therefore during a CAN dump I only get about 40-45 of the 368 messages per minute, while I get 600 of them per minute when using a working filter. My problem is that I can't get a working filter with my adapter and your app as your app is currently constructed.

Regarding the question of whether my adapter requires an atma before setting the filters, I am certain that it does not. See the following for my evidence.

You said that your opinion that your 3 adapters require the atma first was formed during early development. May I respectfully suggest that you revisit that issue in light of all the changes made and knowledge gained since then.

If you confirm that your 3 adapters are fundamentally different from mine, would it be possible to put a setting in the wrench menu so the user could indicate which type of ELM327 adapter they are using? Advice could be to try it both ways and use the setting that seems to perform better. Sending the atma before the filters clearly disrupts my adapter and turns an already marginal performer into something virtually unusable.
I have *all* the adapters, can I help in any way?
 
I have *all* the adapters, can I help in any way?
Indeed you probably can. The only adapters in question are the cheap ELM327 Bluetooth. The "more expensive, highly recommended" OBDLink MX/LX are not involved, and the BT Low Energy are not supported by the app. If you have one that qualifies (or several is even better) here is how to test them.

Create a new tab in the app and copy a single data line to it. To test a low speed, 1 Hz message, a good data line would be Nominal kWh Remaining. A medium speed, 10 Hz message could be tested by using BMS Max Charge kW. Only do one at a time; do not have both data lines in the tab at the same time. However, having separate tabs is OK.

Plug in the adapter being tested and start the app in the new tab. Once you have a reading, start recording a CSV Log (or let the log start recording automatically on startup.) Record for a minute or two, then stop.

Open the CSV Log. You should have two columns: a timestamp in milliseconds and the data reading. The number of rows is how we judge the results. If your adapter is like mine, you will have relatively few rows: about 5 per minute for the low speed data or about 50 per minute for the medium speed data. This means the adapter is not working well and probably indicates that the filters are not effective. However, if you have many more rows (60/min low speed or 600/min medium speed) then the adapter is like the app developer's three that are used for testing and indicates the filters are working. Repeat as willing with other adapters, if any.

Report the results. Thanks.
 
  • Informative
Reactions: Darren S
Indeed you probably can. The only adapters in question are the cheap ELM327 Bluetooth. The "more expensive, highly recommended" OBDLink MX/LX are not involved, and the BT Low Energy are not supported by the app. If you have one that qualifies (or several is even better) here is how to test them.

Create a new tab in the app and copy a single data line to it. To test a low speed, 1 Hz message, a good data line would be Nominal kWh Remaining. A medium speed, 10 Hz message could be tested by using BMS Max Charge kW. Only do one at a time; do not have both data lines in the tab at the same time. However, having separate tabs is OK.

Plug in the adapter being tested and start the app in the new tab. Once you have a reading, start recording a CSV Log (or let the log start recording automatically on startup.) Record for a minute or two, then stop.

Open the CSV Log. You should have two columns: a timestamp in milliseconds and the data reading. The number of rows is how we judge the results. If your adapter is like mine, you will have relatively few rows: about 5 per minute for the low speed data or about 50 per minute for the medium speed data. This means the adapter is not working well and probably indicates that the filters are not effective. However, if you have many more rows (60/min low speed or 600/min medium speed) then the adapter is like the app developer's three that are used for testing and indicates the filters are working. Repeat as willing with other adapters, if any.

Report the results. Thanks.
Crap, I'm so sorry. I meant all the charging adapters....
 
  • Funny
  • Disagree
Reactions: Nietschy and amund7
I can confirm that the current version of Scan My Tesla, the filters work correctly with all the pictured adapters in the 'reccommended adapters' info page.

I hear what you are saying, and will try to find a way to allow this. Problem is, there are so many wierd adapters now, I've even seen some that don't support the ATMA command.

Will try to implement something for you soon.
Also need to implement the OBDLink LX sleep commands.
BTW does anyone know if new OBDLink MX suffers from that same problem? Mine does not, but it's old (although has latest firmware).
 
Can you please do a brighter color scheme?! With sun shining on my phone it's sometimes very hard to read the numbers. :^)

I know I have to solve this, but not how. Color picker, or hex color input under settings? Themes? Night/day mode? Whichever colors I choose someone will hate them, so I want to make it completely customizable. Suggestions on how to make the UI surrounding this is much welcomed. Saveble to a file, so you can load and save different schemes, and share them on the net? I think the last point is key, you guys could send me your own favourites and the app could ship with a few of the best picks.
 
I would keep it super simple. Just a dark theme (like it is now) and a day theme where the background is white (or something bright) and the letters/numbers dark. Don't waste time on custom stuff and color pickers and all that. Takes time and effort for little benefit.

Have you ever looked into the bluetooth 4.0 stuff? I would really love to get rid of the flawed MX adapter that is causing all the problems diconnecting.