View Single Post
Old 17-12-2021, 12:14 AM   #527
jakka351
Regular Member
 
jakka351's Avatar
 
Join Date: Oct 2015
Posts: 237
Unhappy Re: FORD technical service bulletin : ICC touch screen display

Quote:
Originally Posted by JasonACT View Post
No idea sorry, that value does not appear in any of my CAN-BUS recordings on my FG2. Nor does it appear in the WSMs.

Just going back to your quote:



See page 413-01-50 (instrument cluster) WSM for the FG(1) (section 9.3.33) "Transmission Shift Alarm":



No such statement is included in the FG2 WSM. Most of the really technical details (CAN ids) are gone too for the FG2.

It may be something you can set on the FG(1) or it may be the "secondary boot loader" that allows you to save and restore an EEPROM image... I don't really know (yet).

I wrote:



Again, maybe the SBL can do this??

When I changed the number of chimes (that weird config thing) it didn't actually work! So, a bug in the firmware.

I.E.
The 4A part:
the '4' part=4*50=200 RPM offset which you need to drop below before the alarm goes off again.
the 'A' part is the number of chimes, A hex is 10 decimal, and... which doesn't work properly in the FG2, you only ever get 10 or 15 or something like that depending on what you set.

The FG2 WSM states, the 3 repeating values I saw are for the different engine types (4cyl eco-boost, I6 & v8).

In the Instrument Cluster manual (mk1) it does say that the RPM threshold is a configurable value - doesn't say how. You would assume they had to set them at some point when assembling the cars, unless they came pre-set from supplier. But still all of the settings and configs would be double checked before releasing a vehicle.



I cheated, and used python-can to set mine


if message.arbitration_id == RpmMessage and message.data[0] == ShiftAlertByte0:
Data2 = message.data[2]
Data3 = message.data[3]
Data4 = message.data[4]
Data5 = message.data[5]
Data6 = message.data[6]
Data7 = message.data[7]
trigger = can.Message(
arbitration_id=RpmMessage, data=[0x66, 0x66, Data2, Data3, Data4, Data5, Data6, Data7], is_extended_id=False
)
if message.arbitration_id == RpmMessage and message.data[0] >= ShiftAlertByte0 and message.data[1] in ShiftAlertByte1:
cleanline()
cleanline()
print(message)
print("shift!", time)
task = bus.send_periodic(trigger, 0.01)
assert isinstance(task, can.CyclicSendTaskABC)
time.sleep(1)
task.stop()
time.sleep(3)
pcm = 0x7E0
cleardtc = can.Message(
arbitration_id=pcm, data=[0x03, 0x14, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00], is_extended_id=False
)
bus.send(cleardtc, timeout=None)
#flush_tx_buffer()


jakka351 is offline   Reply With Quote
2 users like this post: