Müller MIDI 3.0 - Sprayer - button behavior
Opened this issue · 13 comments
The following things I noticed in regards of buttons.
Reported hardware capabilities: 6 buttons was not working for me.
Currently I'm running:
640 size
60x60 buttons
8 soft keys
This way it does load, and I'm able to modify a few parameters as well.
There's this button that has 2 purposes. It loads the next page when we do a single press, and it exits goes back when we do a long press.
With 900 size and 10/12 softkeys it looks much better but still can't access all pages or traverse back from some menu
Did a quick video as well:
https://youtu.be/4OK18cD5-Bk
And attaching the logs as well
AgISOVirtualTerminalLogs_10_Oct_2024_12_18_31am.zip
The video definitely helps... it is interesting that it is complaining about invalid mask object IDs, as the ECU clearly thinks those are real/valid masks.
If I can figure out the issue with those masks, that should fix most things you are seeing. At this point I think I might want to write a little tool that just pulls all IOP data out of a CAN log so I can troubleshoot these issues faster...
Displaying soft keys in a second column probably does also make sense.
And I think it's possible the VT server isn't sending the still-held message for a button press? I will check that and see.
If you look in the app data folder for the VT, can you possibly send/attach the IOP files? By default they are located at %appdata%\Open-Agriculture\iso_data
Attaching the iop files as well:
a00c80000c421b07.zip
I think I have addressed a portion of this (the errors when changing masks) in this commit of the stack Open-Agriculture/AgIsoStack-plus-plus@9c578cb
Will keep looking into the other parts
It's a LOT better!
I've been able to visit about 99% of the menus, which is really great.
Settings, calibration, etc all works.
I'm still unable to traverse back from some menus :/
In the configurator there are maximum 4 working screens. (I only configured the 1st and 2nd)
It seems we're displaying the 2nd screen (i.e. 7 buttons)
Having the screen wider would be better as this way sometimes the buttons are outside of the visible area.
I made another quick video (Sadly I had to reset the ECU a few times to get back to the main menu.)
https://www.youtube.com/watch?v=PH00Q9zbJWs
AgISOVirtualTerminalLogs_12_Oct_2024_12_20_05am.zip
a00c80000c421b07 (2).zip
@ad3154 the functionality does work as in I'm able to go back.
this menu and its submenus work well:
I'm able to move between main pages and pressing the button long I'm able to exit too.
However there are a few buttons that broke which used to work.
Can't enter the settings menu. (It exits within 100ms.)
Can't start spraying.
Can't move to 2nd page.
The circled one I'm not sure.
Thanks @martonmiklos for the fix, this way I'm able to go around most of the menus.
However for some reason after a while the setting pages just exit back to the main menu.
I was able to traverse into the sub menu one time but once I exit with long press I'm only able to go back to the same menu but not the others.
It's like something stuck.
Attaching the logs:
It might be irrelevant, but I do see a few of similar:
[VT Server]: Client 135 change size command: invalid object type for object 5605
messages.
I do not have tooling for IOP decompilation at hand right now, however I do have a patch which addresses set size commands sent for OutputString objects:
Open-Agriculture/AgIsoStack-plus-plus#507
It is likely not relevant here (I barely think that back buttons would react only with some string resizes) but it might worth trying.
In the YT video you posted I have seen these messages:
however I do not see them in the current log.
What I do see here as suspicious:
[VT Server]: Client 135 change numeric value command: change object ID 12092 to be 945 [VT Server]: Client 135 change numeric value command: change object ID 12093 to be 945 [VT Server]: Client 135 change child location failed because the target object with ID 12093 isn't applicable
Can you confirm that these messages has relation to the failed button presses?