Ik zit met een probleemje, ik wil graag een ID message blokkeren van een extern apparaat voor voor 2 seconden, in die 2 seconden moet de arduino (mijn code met het zelfde ID maar dan met een andere waarde door sturen) en dan weer mag het externe apparaat weer zijn orginele code door sturen. de interupt mag alleen 1 bepaald id blokeren. niet dat alle message van andere apparaten worden geblokeerd.
Wie kan mij hier in helpen?
ik gebruik een arduino uno met een canbus shield van seeed studio met een mcp2515 chip.
dan zul je de arduino als master moeten zetten en als jouw id dan binnenkomt via een andere kanaal als slave weer moeten versturen. datbetekent dus dat de signalen langzamer worden, want je moet de bus onderbreken om het te veranderen.
ik gebruik het zelfde ID als de ECU van de auto waar mee ik de RPM op het instrumenten paneel aanstuur
nu is het probleem:
dat mijn instrumenten paneel in de war raakt.
ik wil dat mijn code eerst voorrang heeft dan die van de ECU
dit stuurt mijn ECU: 0x280 , 0x49 , 0x0E , 0x00, 0x00, 0x0E , 0x00 , 0x1B , 0x0E );
en dit stuur ik met mijn arduino : 0x280 , 0x49 , 0x0E , 0x00, 0x65, 0x0E , 0x00 , 0x1B , 0x0E );
hoe kan ik het zelfde ID gebruiken en mijn code voor een paar keer voor laten gaan en de ecu code blokkeren op byte [4], inplaats van dat de auto ECU er door heen praat.
Krijgt jouw paneel altijd alleen maar het ID plus die 8 waardes door, of komt er nog meer ?
En praat je paneel ook terug ?
Als je antwoorden respectievelijk ja en nee zijn, dan heeft shooter je vraag al beantwoord:
Jouw module moet de bus naar het instrumentenpaneel onderbreken, de verzonden waardes uit de ECU ontvangen, en dan op een ander kanaal die waardes spoofen, waarbij dus jouw waarde [4] vervalst word.
Je hebt dan dus een aparte CAN ontvanger, en een aparte CAN zender nodig.
Zo hoef je dus niets met die 2 seconden te doen, maar kun je dat alsnog doen wanneer je wil dat je wijzer heen en weer springt tussen verschillende waardes.
Dat laatste zou ik niet willen, maar ik weet ook niet wat je exact van plan bent.