[Ovmsdev] esp32can issue
tom at carrott.org
Thu Aug 16 16:58:05 HKT 2018
On my Leaf the bus seems to stop quite often, so the reset would have to
operate quite often too. Perhaps increment a metric when the reset fires
so we can monitor how often it is happening?
On 16/08/18 01:46, Mark Webb-Johnson wrote:
> Sorry, forgot to mention: another option is to poll the bus manually
> if an interrupt hasn’t been received in N seconds. Check the status
> registers and if everything is not perfect then reset the controller.
>> On 15 Aug 2018, at 9:45 PM, Mark Webb-Johnson <mark at webb-johnson.net
>> <mailto:mark at webb-johnson.net>> wrote:
>> This was my worry for both esp32 can and mcp2515. We get an
>> interrupt, but for some reason the status is not showing anything to
>> do, so we return from the interrupt. Then, the status changes. Or,
>> for a particular status we had to do something that we didn’t. The
>> bus is locked up, and the interrupt never fires again, so we never
>> get called. I wonder if we just fired the interrupt handler again
>> manually, would it recover?
>> When this happens, do we need to power off then on the can bus, or is
>> a ‘can canX stop’ ‘can canX start …’ sufficient?
>> Perhaps a general solution would be a watchdog. If the CAN bus does
>> not receive anything for N seconds (perhaps 60), then restart the
>> controller? We could simply protect it from restarting twice (a
>> simple check of the counters), so worse case this would restart once
>> 60 seconds after a bus normally went idle. Or is that too kludgy?
>> Regards, Mark.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OvmsDev