Recent Posts

Pages: 1 2 [3] 4 5 ... 10
Device Hacking / Re: OBD II Bike Connector - Pa...
Last post by Scissor - Today at 07:13 pm
Then reading freezed frames is working by a counter, not the returned number!?
You got 01, 02, 03, I got 01, 02, 07.  I´d anticipate that I should have read 07 instead of 03.
I think you made a typo, you don't receive 01, 02 and 07 but 10 01, 10 02 and 15 07. These are your DTC(groups?).

The 01, 02, 03 is just the freezeframe counter.


13 02  -  53 03 10 01 10 02 15 07

12 01 01 54  -  52 01 15 07 01 54
12 02 01 54  -  52 02 10 02 01 54
12 03 01 54  -  52 03 10 01 01 54


13 02  -  53 01 15 04

12 01 01 54  -  52 01 15 04 01 54
12 02 01 54  -  52 02 00 00 01 54
12 03 01 54  -  52 03 00 00 01 54

It could be coincidental in your case, but it seems like the first DTC given by 13 02 is stored in freezeframe #3, the 2nd in freezeframe #2 and the 3rd in freezeframe #1. For me, the first (and only) DTC given with 13 02 is stored in freezeframe #1.

It could be possible that the most recent DTCs are added to the 13 02 response like:

53 n [DTC #1][DTC #2]...[DTC #n]

Such that the response of the freezeframes is like this:

52 01 [DTC #n] 01 54
52 n [DTC #1] 01 54

In our case only a maximum of 3 freezeframes could be stored obviously.

Therefore, by counting the number of DTCs given by 13 02, you can figure out which is the corresponding freezeframe. For example, 13 02 gives two DTCs: 53 02 aa bb cc dd. Now you know that the DTC aabb occured first and therefore the DTC ccdd is the most recent DTC. Hence, DTC ccdd is stored "on top"of the previous DTC i.e. in freezeframe #1, which you can request with 12 01 01 xx.

But why can the DTC be deleted and the frames are still there? Sure, they will be overwritten on the next malfunction. We will see.
I don't know. Perhaps it just is not possible, since the user does not know of it existence anyway.

Compare the response with the Z750 manual:
Code: [Select]
52 01 15 07 01 54 - 0x15 = 21dec = Crankshaft sensor malfunction, wiring open or short
52 02 10 02 01 54 - 0x10 = 16dec = Intake Air Pressure Sensor #2

The Z750 don´t have a second Intake Air Pressure sensor! I found error 16 only in the Z800 manual :-/
I had the same problem, error code 16 is not described in my manual. That's the reason why I think the two bytes represent one DTC. Otherwise you would not have the DTC 10 twice, but just once with an increased count rate for instance.

My DTC is 15 04 (HEX) = 21 04 (DEC), and the FI code I got was 31. I don't know how this is related though.

ECU ID is easy: 80 11 F1 01 1A 9D
That will definitely have a positive respond! Didn´t test more then 01.

More Infos should have been on 09 (documented somewhere...) But as it is not an official part of KWP2000, UDS or ISO 14230 it responded with an error:
09 00 - Info Types
09 01 - Numbers of VIN
09 02 - Vehicle Identification Number
Thanks! Will give that a try.

The KDS docu explaines how to handle with KIPASS Diagnosis. That´s the part about immobilizer and learning keys. That could possibly be the other DTC group.
Failure History - There are 4 options which errors can be displayed:
  • [Engine Information]: Displays current engine information.
  • [Warning Information]: Displays current failure information.
  • [Monitoring Information]: Displays current monitor information. (This function is not supported now.)
  • [All Information]

2 groups left... Like I´ve said: Warning and Failure?!?

If you take a look into KDSV3.0 Page 50, it lists a record/frame. As you can see, the values are in the correct order. EngineStopped + Failure Record are before Engine Starting Mode (6B)
63-65 could be that.
The failure Record seems to have some more information! Like a sub-error, which explains what happened.
Seems interesting indeed! Definitely this is related to all the 0s we get when requesting localids.

The printed report tells us what PID 1 is. It is the cranking motor, aka. starting switch :)
That was on PID 02 in my documents. 02 must be the emergency stop then.
I´ve never captured data during a start process ;)
I'm pretty sure PID 02 is the starter switch. I've logged it a couple of times, and sometimes I was lucky to capture the moment I pressed the starter switch and it turned from 0 to 1. PID 01 was always constant at 05 when I logged it.

It goes on, you can select which data to show. After Vehicle Speed, there are:
  • Engine Stopped
  • Throttle Sensor Failure
  • Inlet Air Pressure Sensor Failure
  • Inlet Air Temp  Sensor Failure
  • Water Temperature  Sensor Failure
  • Athmospheric Pressure Sensor Failure
  • ...

As you can see, there are many values which indicates a malfunction. In our tests, there have been many values 00 all the time. Or some, which have been 01 until I cleared the DTC. It´s a counter as "times" assumes.
The Sensors are in the same order like the values. We don´t know where it starts, but its something :)

You should have found this one ;) :
Battery Voltage Malfunction -> Activated if battery voltage drops below 6.6V
I agree all the 0s in the range of 39-63 (27-3F in HEX) most likely are related to a malfunction timer. Could very well be that I activated that one! Where did you find that specific malfunction? I can only find the list above from the KDS V3 document.

You did some very good research and crosscorrelation, awesome!
I just received (2) of the DigiSparkPro Atmega167 Boards today.

They seem to Program and execute properly so far - no problems yet.

They Program directly on the pc Usb - just like the AtTiny85 (DigiSpark Boards).

You need to Install the DigiStump Software Drivers for the Arduino IDE.
Then on Arduino IDE choose either:
- Tools:Board:DigiSpark(16.5MHz) - for the AtTiny85
- Tools:Board:DigiSparkPro(16MHz) - for the AtTiny167

$6 for (2) of the AtTiny167 DigiSparkPro boards
$1.50 for (1) of the AtTiny DigiSpark boards
Project Guidance / Re: rf transmitter for gps
Last post by lloydturner - Today at 07:12 pm
To start with I'm not looking at anything particularly fancy, like 200ft or so? The further the better though! 
Project Guidance / Re: Carpenter Trying to Make a...
Last post by Robin2 - Today at 07:11 pm
No. I don't think an Arduino would be at all suitable - not fast enough, not enough memory, not a USB host. What you describe sounds like a small PC so a Raspberry Pi should be suitable.

Arduino Yún / Re: Rapid MySQL Updates
Last post by DarkSabre - Today at 07:11 pm


I'd never thought of declaring the Process globally and then running it elsewhere. By declaring it in the functions, I'd always been limited by destructor's imperative to clean up.

Running the php script continuously saves a significant amount time when I only send in a few data pairs at a time.

Before: 1 query took 655ms
Now: 1 query only takes 264ms

It also means that my Sketch doesn't actually have to wait for the global Asynchronous TrayWrite process to finish. Once all of the data-points have been loaded into STDIN followed by two blanks, I can move on in the sketch without worrying about the script ending. New data can be appended to STDIN before PHP even finishes with the last set if needed, since they are delineated by the two blank spaces. The only real limit is my Sketch execution speed.

I think I'm going to try to add some php to safeguard against the MySQL connection timing out (it sounds like the default time-out might be 8 hours), try to speed up my Sketch function, and then I'll post the revised Sketch and PHP.
What you guys think about Jones NPN Transistor H-bridge

Instead of BD679 just place Darlington with BC547s, is there any hope for this?
Project Guidance / Re: Simple Arduino Stacker Gam...
Last post by ieee488 - Today at 07:09 pm
Why don't you just use 4x4 since supposedly his code works for such a thing?
Project Guidance / Re: Control a small battery po...
Last post by Robin2 - Today at 07:09 pm
I think you would need another Arduino and a wireless receiver at the receiving end - i.e. as part of your mysterious "small battery powered device"

You need to provide a link to the datasheet for the device. Or if it is something you made yourself you need to describe it in more detail.

Not necessarily, he might be able to tell from the slope or other information which part of the curve he is on. For example, if you use RPM to calculate vehicle speed you just need to keep track of what gear you are in. You might not even need a separate sensor for that. As long as you always go from one gear to another in order, you just need to keep track of the discontinuities in the rpm values.
Project Guidance / Re: rf transmitter for gps
Last post by ieee488 - Today at 07:08 pm
Pages: 1 2 [3] 4 5 ... 10

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131