efp3
0
I've not thought much about it, but all you need to do is send the series of HTTP CGI requests for the keypresses/screengrabs you mention. Python makes that part trivial.
My biggest worry would be how to synchronize things. I'd suggest that before committing to any keypress you grab the screen and verify the menu text (say, lower 5 lines or whatever) and the selected region matches what you want. Don't want to dead-head your main pump because it was 1/2 second too fast on the button presses. What happens if you're in Service Mode, for example? Or it's flashing the "SPA will start after warmup period" or whatever text...
The grab complete screen CGI is already there (the javascript webpage uses it), but maybe a "get selected text" and a "get line X" CGI would be helpful? Both could be done in your client relatively easily, otherwise.
And if we reset the interface and started from scratch (say I add a cgi keypressower event ) that would ensure you're not in some funky mode to begin with...to some degree, but doesn't help Service Mode or Timeout...
Other fly in the ointment is "does the controller recognize keystrokes while sending the screen refresh?" If yes, you can do this mighty fast and almost blind. If no, then you've got to keypress, wait for screen to redraw, send next key, ...
My biggest worry would be how to synchronize things. I'd suggest that before committing to any keypress you grab the screen and verify the menu text (say, lower 5 lines or whatever) and the selected region matches what you want. Don't want to dead-head your main pump because it was 1/2 second too fast on the button presses. What happens if you're in Service Mode, for example? Or it's flashing the "SPA will start after warmup period" or whatever text...
The grab complete screen CGI is already there (the javascript webpage uses it), but maybe a "get selected text" and a "get line X" CGI would be helpful? Both could be done in your client relatively easily, otherwise.
And if we reset the interface and started from scratch (say I add a cgi keypressower event ) that would ensure you're not in some funky mode to begin with...to some degree, but doesn't help Service Mode or Timeout...
Other fly in the ointment is "does the controller recognize keystrokes while sending the screen refresh?" If yes, you can do this mighty fast and almost blind. If no, then you've got to keypress, wait for screen to redraw, send next key, ...