Add extra logging to understand which ECU-s are on the bus#47
Conversation
…his will address the problem when we join the bus late.
|
I reviewed the patch, and it looks like this PR now covers more than ECU logging: diagnostics, TC status/version behavior, and some DDOP handling. Are you mainly opening this PR as diagnostic-only work to understand the bus/address-claim problem, or do you want it to also look at the address-claim behavior and become the fix for issue #36? As a first step, I’m wondering whether #36 should be handled by detecting other |
|
Hello @sujandumaru ! nice to see your interest. Yes we have a few annoying bugs that I'd like to figure out. Sometimes we need to reboot the screen / implement so it recognize our TC. When we join the bus late we're not always recognized. Hence I started to move towards TC V4 features (that could happily live with TC V3 implementation). Other TC on the BUS && address conflict: But some systems doesn't allow to associate priority to TC. I think the above PR might help with some cases. |
|
Thank you @gunicsba for the clarification. That makes sense, and these sound like useful areas to investigate. I looked through the added logs, and they seem very helpful for understanding the late-join / recognition cases. For the address-conflict side, even though part of it may depend on Open-Agriculture/AgIsoStack-plus-plus#685, I’m wondering if we could add a few more logs to better understand how our TC is claiming/connecting on the bus:
Would that be useful for narrowing down the address-conflict cases? |
…ionPayload exchange from PR #47 - Settings: add get/set_tc_version, get/set_language_code, get/set_country_code with JSON persistence - MyTCServer: accept configurable TaskControllerVersion (default SecondEditionDraft) - app: initialize tcFunctionalities announcing TC-BAS + TC-SC (1 boom / 64 sections) - app: create tcServer with version and locale from settings - app: drive bidirectional VersionPayload exchange via ProcessData PGN callback
|
@sujandumaru I started to split the changes from this PR into several smaller dedicated PR-s. The logging part I've not done yet as I think we should do a fresh start for those and implement these messages how you described. Before making any functions: Each should include the number, manufacturer. There must be a periodic WARN message if there's a TC on the bus that made us not be able to claim the preferred address. (To be honest we should be able to set a priority for our own TC but this is something I've not seen in Valtra, Massey Ferguson, Fendt. However John Deere TC allows to set a priority so there we might be able to fight for the right address.) For now I'd keep ours as-is. |
* Carry forward tcFunctionalities, TC version/locale settings, and VersionPayload exchange from PR #47 - Settings: add get/set_tc_version, get/set_language_code, get/set_country_code with JSON persistence - MyTCServer: accept configurable TaskControllerVersion (default SecondEditionDraft) - app: create tcServer with version and locale from settings --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
There are some cases where we have conflicts.
In theory our TC should be the highest prioirty on the bus. We definitely have a bug in the address claim.
Printing the existing ECU-s should help to understand this problem better.