Hi BWR,
I was very interested to read your message. I had a 2006 R1200 and I built a turn signal cancelling module using a couple of 4000 series CMOS logic chips. It worked like this. If you were on a motorway or multi-lane road and you were changing lane, you ‘flicked’ the turn signal button - in other words, pressed it quickly. The module detected this quick press and after 4 flashes of the turn signal, my module cancelled the flashing automatically.
If you wanted the turn signal to work like normal, for example at a junction, you held the turn signal button down for a fraction longer (> 500ms) and the module did not trigger, so you cancelled the signal using the TSC switch as normal.
I got really used to this and it was great not having to cancel the signals for changing lanes, and exiting roundabouts etc. but I now have a 2017 R1200 and of course my module does not work as it relied on individual wires for ‘turn left’, ‘turn right’ and ‘cancel signal’ So I was just doing some research myself on the LIN BUS to see if I can use a microcontroller (maybe a PIC) to do the same function as my old CMOS logic unit would do.
You are totally correct in your post and I also found out that data from the turn signal switch unit is passed onto a BUS (I guess it’s LIN but I don’t know for sure yet). I know this because Clearwater, who make LED lights, also manufacture a unit they call the CAN-OPENER which detects the turn signal cancel switch and the left and right turn signal switch from the TPM connector at the rear of the bike. They use these signals to set preferences on their LED controller - like from their instruction manual it says stuff like “hold down the TSC switch for 5 seconds, then press the left turn signal switch”. This means that the turn signal data is available outside the main control unit.
Of course their unit does not transmit any data onto the bus, it only monitors the data to control their LED lamps which are plugged into the CAN-Opener.
Rather than build an interface between the STS module and the BUS, might as well just write the code to do the self-cancelling, since you are going to have to use a microcontroller to read and filter the data packets.
Have you found out for sure yet if the turn and cancel switch signals are transmitted on the LIN BUS ?
Useful LIN information here… Looks like the slave (aka switch) only responds to a request packet if it has something to tell the controller, kind of…
Controller -> Turn switch : anything to tell me?
Turn switch -> Controller : yes - I am being pressed