Ford Focus RS Forum banner
461 - 480 of 1,178 Posts
When you launch the car on a non LSD version and one front wheel breaks traction wouldn't the traction control apply some brake to that wheel to stop the wheel spin and transfer some drive to the other wheel?

Ciao
Yes, if it was a FWD-only car. I'm assuming (at this point) that the RS uses the rear torque biasing as well.
 
You can use the ubuntu image and click on the terminal.
Use that to update.

When inside the Ubuntu Virtual Machine you can click on the 3rd icon from the top, on the left which is the terminal.
View attachment 344343

From there it will open a terminal window for you to type your commands.
It should already take you to the directory /home/daftracing and you can type:
cd DaftWorks

If not you can just type the command:
cd /home/daftracing/DaftWorks

View attachment 344345
From there @Kacper has conveniently set it up to easily pull the latest code.

Just type:
git pull

and you are updated. This should update your files on the Virtual Machine with the latest master branch files.
Thank you! got it updated
 
Thank you! got it updated
You can use the ubuntu image and click on the terminal.
Use that to update.

When inside the Ubuntu Virtual Machine you can click on the 3rd icon from the top, on the left which is the terminal.
View attachment 344343

From there it will open a terminal window for you to type your commands.
It should already take you to the directory /home/daftracing and you can type:
cd DaftWorks

If not you can just type the command:
cd /home/daftracing/DaftWorks

View attachment 344345
From there @Kacper has conveniently set it up to easily pull the latest code.

Just type:
git pull

and you are updated. This should update your files on the Virtual Machine with the latest master branch files.
Don't forget to run build.sh script in the vbf directory after the update.
 
i'm sure this has been discussed but I may have missed it, I've been through 24 pages of this thread and i'm very excited!! Very eager to jump on board! Now there are different versions of the carloop hardware does it have to be the "Carloop Basic"?
 
Do you have evidence that engine oil/coolant temps can influence the shutdown? I’ve never seen those gauges hit the red zone when I experience rdu shutdown.

I’m stock and I plan to keep it that way. Honestly not that bothered by the issue - I’ve always felt that I can get a good session in before it limps on me. I run in the Southwest where temps are usually 90-100+ so I see it as par for the course.

I didn’t want to hijack the thread - just was the first time I’ve seen actual data on temps (thanks @TomekRST) but was surprised he only collected data for 8 min. If Tomek still has temp sensors installed on an RS (ideally stock) then getting data from a whole session that eventually provoked rdu shutdown would seem to be very informative.
I personally have never had the RDU shut down on me outside of playing with drift mode one time (and I know it wasn't overheated) ... I'm basing this purely off of others who have track their cars heavily, Mishimoto's RDU cooler research and the fact that the RSAA focused on keeping the PTU cool with an additional oil cooler (didn't even bother with an RDU cooler).

The way the track bois extended it was through swapping out their radiator and running a stock tune. They were still eventually hit with the shutdown/limp mode because the car still has cooling issues even with an aftermarket radiator.
 
Thanks again for all the work! I apologize ahead of time for this...but, I was hoping Kacper would enlighten us a bit more on his process to create and change modules, so we could fish for ourselves a bit. I have a extra PDM/DDM I'd love to try and break!!!:coffee:

Could you go over your process in more detail on how you RE the code (would make a great video :) )? e.g. does dumping CAN traffic of desired button press let you find its address and other info, is it as simple as just capturing CAN traffic during a pre-programmed event and using that code to you benefit. I found a tool for editing vbf files and a document explaining how the .VBF works and that made quite a bit of sense, but what program/suite allows you to see code in a readable form so it can be edited? (this is editing address 0x136a correct? [ $ perl -e 'print "\xAA\x00" x5' | dd of=/tmp/G1F7-14C367-AL.vbf.0x00c08000 bs=1 seek=$((0x136a)) conv=notrunc] ) https://github.com/daftracing/VBFlasher#use-perl-to-tune-your-car

1.How do you derive at a editable file from the encoded CAN traffic. e.g. I want to dump the traffic from the PDM and DDM when the puddle lights are active. Then if its possible force that state from a long button press of something on the LIN or a button on the CAN to create a "show mode". Can we see LIN traffic and interact from those presses (possible rear fog solution)? Can we add our own button addresses to the CAN network like a Aftermarket ECU?
2. then create a VBF back from that edited code to a create file worth uploading? This seems like the easy part. https://github.com/daftracing/VBFlasher#recreate-vbf-file

Thanks and sorry again!!! :p
I think you've mixed 2 topics here :)

1. CAN Bus traffic
Focus has 2 (actually 3 but it's not important...) CAN buses: CAN HS and CAN MS. PCM, RDU, ABS, BCM etc live on CAN HS (for high speed - 500k) RFA, HVAC, DDM etc live on CAN MS (medium speed 125k). Some live on both (BCM, APIM, IPC). The "standard" OBD pins are connected to CAN HS, Carloop can directly speak to RDU/ABS/PCM.

Here's a good read about it: https://ioactive.com/pdfs/IOActive_Adventures_in_Automotive_Networks_and_Control_Units.pdf
There were few threads on this forum about decoding the meaning of the CAN frames - should be easy to find.

You can use my VM and a Carloop to sniff the traffic, analyse it and send your own custom frames or replay captured traffic. Try moving the revs w/ engine off as an easy target (and see if your car generates fake engine noise lol)

open up the terminal:
$ cd ./DaftWorks
$ ./devsetup.py
$ candump slcan0

and you should see all the CAN HS traffic.

By sending your own messages you can interact with the modules and instruct them to do things they were designed to do. That includes upgrading the software they are running.
So unless there's a firmware update going on there's NO code flying over the CAN bus. It's just a tone of simple messages like "I'm revving this high" or "this button was pressed".

2. Software the modules are running

Each module has a microcontroller (MCU) that is responsible for the actual operation, communication, diagnostic etc. All these functionalities are implemented in the software ("firmware"). The architecture of these MCU varies but to name a few in RS we have Infineon Tricore in PCM, Infineon XC2000 (Siemens C166v2) in the RDU, Freescale MPC56x/ST SPC56x in ABS/KVM/BCM. We of course have no access to the source code but we do have some visibility on the "firmware" update process.

The general layout of the "firmware" looks like this:
1. Low level stuff (generally speaking diagnostic session functionalities)
2. Strategy: the machine code of the "normal" operation
3. Calibration: data (tables, parameters, etc)

(2) and (3) can usually be updated and in our case Ford is distributing firmware updates as an VBF files for (2) and (3) separately. Dealer would use IDS to perform the update.

If we want to change the way the module works we can alter (2) or (3) or both. We also need to be able to deliver the patched firmware to the module but with VBFlasher you mentioned we have this covered. So the workflow will be like this: 1. extract raw binaries from vbf, 2. edit the binaries, 3. recreate vbf from the edited binaries. 4. flash it.

(3) Calibration (Static Data):
The extracted binary is a data segment, you can just use a hexeditor or "Chip tuning weapon of choice" to change the values if you (or this tool) know where the interesting stuff is.
The knowledge comes from analysing (3). The example you brought (G1F7-14C367-AL) was RDU calibration file (in Ford's terms). We know that RDU oil cut-off temp is an array of 5 16-bit little endian values residing at the memory address 0xc0936a. The content of this raw binary will be placed at the virtual address 0xc08000 hence the file offset 0x136a. As an easy task try to find (and change) re-enable temp settings (which are 140oC by default). Then it's easy to create something like DS3 option in the DaftRS toolset.

(2) Strategy (Machine Code):
Here the extracted binaries are code segments. This is the actual machine code the processor on the module runs. For static analysis the usual suspects are IDA Pro, Ghidra and Radare but it greatly depends on the architecture. Simulators are also available in most cases. You can also try different HW/SW tricks to live debug... Once you know what and where to patch/inject you will need an assembler (or assembly functionality of the before-mentioned tools) to turn your code into bytes that can be put into the binary using a hex editor.

In the RDU case (G1F7-14C366-AL-DAFT) I have already prepared the ground but you will still need an understanding of the C166 architecture and assembly + hardware sandbox with a spare RDU electronics is a must. I can start a separate thread on this if anyone is ready to join the effort of preparing the new "mods".

This is a good read to start from: https://www.keil.com/dd/docs/datashts/infineon/xc2000_sys_um.pdf

kacper
 
Yes, if it was a FWD-only car. I'm assuming (at this point) that the RS uses the rear torque biasing as well.
Not sure about that. I'll need to do some research.
EDIT... the TC system not only applies braking force to the spinning wheel but also sends a torque reduction message to the PCM to reduce torque via engine timing and injector pulse width so it reduces power as well until the traction is regained. All this up to a speed of 100KPH (60mph) from which point the braking system is left out of the equation and the traction is controlled by torque reduction only via the PCM.

Ciao
 
So after reading most of this. What do I need to be able to do this?

It'll bring you to post #330 where the instructions and links to download the files.

You'd need a Carloop basic at least.
 
Please forgive my noobness... Coming from an ST for 5 years, and loved it. Now I have this RS beast...

Never done an LC start. While this is a tangent to the thread, I don't want to derail it, but I thought a few simple questions on LC here could be answered without much of a side-discussion...

1. To LC, you "dump" the clutch, right? I thought I knew what this meant, googled it, and I was right -- you basically just let pop and fully engage without any control, right? This scares me. I need reassurance.

2. This would seem very bad for the clutch, wearing it excessively and unevenly. Again, probably just my paranoia, the damn thing is designed for this. Also just need reassurance.

3. (On topic) I've watched the videos in this thread -- impressive. Gotta wonder, though, why the RDU isn't calibrated that way in the first place, to minimize wheel spin on LC, squeeze as much traction and power to acceleration rather than heating tire rubber on a spin. So why isn't it calibrated that way? I want to do this mod, but this worries me that we're over-stressing components driving the rear, and are going to break something.
There are three restrictors and two check valves on the clutch line that make sure your clutch does not really engage more harshly than the rest of the transmission can cope with. This is the reason why Ford tells people to just dump the clutch. The flywheel is so heavy the car literally launches on inertia alone, and drops 1000 rpm or so while doing so, while one of the front wheels breaks traction and spins a little. All in all this results in a half-decent, half ugly launch.
 

It'll bring you to post #330 where the instructions and links to download the files.

You'd need a Carloop basic at least.
Thank you!!!
 
As I understand, it's possible to make the RDU request data from 3rd party calculator (PC or Carloop).
I'm excited to see the final application of all of this!
This mean that we would be able to change RDU mapping on the fly, right? It will be extremely usefull to adapt the car to the track conditions on the fly (rainy, dry, curvy, straight, drift,...).
 
First, thank you for all the hard work! I tried both the RDU mod and the ABS mod and here are some perspectives:

I always felt the outer wheel bias was too much on the RS. I drive in track mode most of the time and I always wanted more overall rear torque but less outer wheel bias, so I started with your experimental +25 with vectoring off (T11) and here is what I found: the first impression was when backing of from my driveway and when making a sharp turn backwards the rear wheels scrubbed with some rear axle noise.

Forward motion felt good, although on two occasions I definitely felt the front wheels loose traction, which leads me to suspect the car was in FWD. I could repro the behavior described earlier on this thread where the car lost traction just after shifting to 2nd gear so maybe some internal threshold was exceeded and the RDU briefly disabled itself? Not sure what happened but definitely unexpected. On light curves at highway speed it is very apparent that the rear pushes straight when adding throttle, which is not surprising at 50/50 L/R torque, also knowing the rear wheels spin faster on this car.

In fast corners I could put A LOT more throttle A LOT sooner than stock and it felt very good, where stock wants to swap ends. In tight corners, I could really tell there is no differentiation and the inner wheel fights the corner, both wheels scrub and the grip is jerky. So mixed feelings with T11, some very good but overall I don't think it's a good setup for me as-is, and the sudden front spin in 2nd gear is a bit concerning.

Then I tried the T5, and those who love what Ford gave us with this trick transmission should be very happy: that's a lot more of it. I could feel instantly there was more torque to the rear, but unfortunately (for me) this also magnified the outer wheel bias which I believe is already too much stock. Other than that, I could not fault the behavior: it makes the car a little more fun without adverse effects and this may well be the best choice for most enthusiasts.

When driving near the limit, the very strong bias towards the outer wheel makes it too easy to lose rear grip and prevents to open the throttle soon and wide. What would be nice to try is less L/R bias, but not a fixed 50/50 which does not work well in tight corners. Since the bias is driven by the steering angle maybe you can divide the angle value by 2 or 4, so we still get some differentiation and outer wheel bias, but much less?

Overall, this is awesome! Ford takes months and many test drivers to sort out the car so it may take some time to find a good alternate setup.

The ABS/drift-stick mod works perfectly. One change I'd do is to restrict that mode to the two "track only" drive modes (namely Track and Drift) and disable it in Normal and Sport for safety. If someone inadvertently touches the handbrake in a fast curve the car will crash for sure so it’s a little dangerous to have that mode armed at all times for those like me who always disable ESC. I think message 0x420 contains the drive mode, you could maintain an ‘off_road’ flag that would be true only in Track and Drift, and add it as a condition when you test the hb switch. Also the feature is not very useful below a certain speed so it could also be disabled below 15 or 20 km/h.

For those who wonder what the Ford drift-stick or Kacper SoftStick can do, it's basically an assisted hand-brake that locks the rear wheels just as if you pulled the hand brake very hard by hand.

It's a bit of an on-off switch and there is a slight delay and no feel (as a hydraulic handbrake provides) as it's electronic. It's not easy to use and frankly the name is not well chosen, it's only useful for tight hairpins and for inversions (u-turns) which are a form of tight hairpins, and probably to initiate doughnuts. In most other situations the driver is at great risk of losing control of the car, so proceed with caution.

At the Ford Performance Academy, I'd say that about 75% of the drivers were unable to take advantage of the drift stick even on a wet surface and under the guidance of professional instructors. It was described as a fun gimmick of limited use.

Most drivers pull the stick at a low speed and what happens is the rear just squats and the car slows down and stalls. This is what happened most often. The second most common mistake was to pull the stick before the car started rotating, again squatting and slowing down but not turning. Then those who were more adventurous just spun: if you wait until the rear starts sliding to release the thing it's too late already and the car spins.

There is a sweet spot between stalling and spinning but it's not easy to find it and be consistent, it requires lots of practice.
 
I totaly respect your perspectives, but as you see on my videos, Tomek's / Kacper's ABS mod is quite easy to use and is really really effective
I hope this will encourage others to practice...
If I/we were running a ludicrous number of 360 and 180 single-cone reversals like in the super-tight courses you're running then yes, the hand brake-rotation turns can be done quicker. However, in your videos I can see you losing a lot of time while dragging the rear around with the hand brake.
 
If I/we were running a ludicrous number of 360 and 180 single-cone reversals like in the super-tight courses you're running then yes, the hand brake-rotation turns can be done quicker. However, in your videos I can see you losing a lot of time while dragging the rear around with the hand brake.

Aplogies in advance for being off topic, but I can't help to remember this scene in my head after reading this post:


advance to the 4:00 mark!

You're wlecome 😁
 
If I/we were running a ludicrous number of 360 and 180 single-cone reversals like in the super-tight courses you're running then yes, the hand brake-rotation turns can be done quicker. However, in your videos I can see you losing a lot of time while dragging the rear around with the hand brake.
I admit that I still need more practice, but properly done, it allow to keep rev and position the car in tight turns.
AWD is new to me.
It was just to reply to @axelr , that with a minimum practice, it's managable and lot of fun.
It was just to encourage others to try.
* most of time my FoRS is just few seconds after 600bhp evos instead it's not really perfect.
 
461 - 480 of 1,178 Posts