0x81C030A2  C0 5B 40 1 89 3 14 0
but the problem is it's not that simple to mess around with my car and I want to know if it's even possible.
It's being sent continuously (even though nothing is touched), first byte always changing in every message, it's order: 0x00, 0x40, 0x80, 0xC0
So if I understand correctly, there are two messages on the bus, with same ID and window rolling mechanism interprets one message from my arduino to roll the window, and then comes message from window switch controller telling to do nothing with that window, since switch is physically not touched and this situation is probably causing such behavior, am I right?
As I understand, there's no way to catch that broadcasted message from switches controller and prevent it from reaching window rolling mechanism, so is there any way to override window switch controller message?
Or is there anything else I can do? How do diagnostics software roll windows and activate all other devices? Do they use some special diagnostics messages?
There are many ways this could be done by diagnostic equipment. One would be to have an additional ID for the same function. You could try the following. Some windows can be controlled by two door switches. e.g. the back window can be controlled by the passenger and the driver. See how this is handled. If both switches send messages continuously there must be a way for the door to know what to do.
Posting to the bus is tricky for several reasons:- Most (if not all) message-types are repeatedly transmitted by the car (up to 35 times/second). This means that a frame posted by you is almost immediately overruled by an ordinary frame. Preventing this is a challenge.- You are writing frames with the same identifier as normal car frames. To prevent collisions (possibly resulting in bus-offs), special actions must be taken.