Re: Handling of Interval CAN messages

"Rufus V. Smith" <[email protected]>
Newsgroups gmane.comp.hardware.bus.can
Organization FW Telematics
Message-ID <[email protected]>
Hi Josh,

     Most CAN messaging (in my somewhat limited experience) is really 
"state" information, rather than "event" information.   You are looking 
to cause a "light on" event.  Unfortunately the way the light works is 
by receiving the light switch state, and using that to turn off/on the 
light output.  If there is any notion of "event", it is done by the 
device receiving the switch state, and noticing it has changed from the 
prior "state".

   The button appears to be alternate action, rather than momentary.   
That is, push it once, it goes on and stays on, push it again and it 
goes off and says off.    If it was momentary, it would only be on WHILE 
IT WAS BEING PUSHED, and off upon release. The light controller would 
keep it's own memory of the light state, and your method may have worked.

Rufus

On 1/20/2015 12:26 PM, Joshua B wrote:
> Hello Everyone,
>
> I'm new to the list and also new to CAN. My interest in CAN started 
> when I decided I wanted to know what all was happening with the 
> network in my modern car. This led to me finally picking up a Kvaser 
> interface and monitoring the CAN bus. My first goal was to try track 
> the CAN ID & message that is sent when a specific interior button is 
> pressed. Once I found the message, I then wanted to attempt sending 
> the message myself to see if I could get the same result without 
> physically pressing the button.
>
> The first phase of this was a success, but it wasn't as simple as I 
> expected... It turns out that when the button if depressed (off) the 
> network is transmitting a specific message in 2ms intervals. The 
> message is the same except the last byte loops from 0 to 255 over and 
> over.
>
> When the button is pressed (on) the message flips the values of 2 
> bytes and then continues the loop of the last byte from 0 to 255 in 
> the same interval...
>
>     Button OFF = 0         211     7 0 6 192  15   0   0 0-255 <--Byte
>     Loops
>
>     Button ON   = 0         211       7 8  14 192  15   0   0 0-255
>     <---Byte Loops
>
> My initial thought was that I could just send the "ON" message and 
> hopefully the already steady interval messages would somehow follow 
> suit. That sadly wasn't the case. When I sent my message, the dash 
> light indicator for the button simply blinked instead of staying on 
> because the car was still sending the loop of "OFF" messages. I could 
> script flooding the "ON" messages, but this wouldn't be the proper fix 
> and I assume the function of the button wouldn't be stable.
>
> So my question is what is the best way to go about dealing with 
> interval packets like this? Is there a way I can get the network to 
> drop the packets?
>
> -- 
> Thanks, Josh


-- 
Rufus V. Smith
FW Telematics
303 Norwich-New London Tpke.
Uncasville, CT 06382

[email protected]

(860) 848-6600 x 115
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.