-
Hi, I recently started looking around for a ISOBus TC client stack to integrate in my app and I came across this project and really like what I see (thanks!). I started kicking the tires on the stack with a Deere GS 4600 by running both the "task_controller_client" and the "seeder_example" from the advanced-example branch. The seeder_example is enlightening. The issue I am encountering is that more often then not, the TC doesn't link up with the GS4. I see comparable behavior for both aforementioned TC client examples. It is worth noting that the VT still works fine in the seeder example (it will alarm me that the TC isn't connected). Does anyone have any idea what could cause this? I've attached a candump of it not working in case that is relevant. Below is the log output when it doesn't connect.
Versus when it does link up:
Thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I think I know what the issue is - the NAME filter for the TC isn't specific enough for your use case. In most of our examples we filter what qualifies as a TC (or a VT) by function code. So, basically what I assume is happening is we're matching whichever function 130 device address claims first 😅 Easy fix though I think - you just need to add an additional filter for industry group 2 in seeder.cpp. Change these lines:
To:
Let me know if this clears up the issue for you! If it does, we should probably update our examples across the board to be more choosey about their partners. -Adrian |
Beta Was this translation helpful? Give feedback.
I think I know what the issue is - the NAME filter for the TC isn't specific enough for your use case.
In most of our examples we filter what qualifies as a TC (or a VT) by function code.
However, this isn't working for you because I can see you have another device on your bus with function code 130, but with industry group 3 (whereas a TC would be industry group 2). This device is identified as a "John Deere Land Leveling System Operator Interface".
So, basically what I assume is happening is we're matching whichever function 130 device address claims first 😅
Easy fix though I think - you just need to add an additional filter for industry group 2 in seeder.cpp.
Change these lines: