I'm writing a Dart version of my Sharp LC-70UD27U TV remote control library . (My TV has an ethernet port and exposes a TCP server on which you can send commands.)
I'm pretty sure I just witnessed my TV doing time-travel.
I send messages one at a time, waiting for a response. Just now, after switching channels, I sent a `VOLM?` request, waited for the answer, then followed it by a `MUTE?` request. The volume was 18, and the TV isn't muted, so the answers should have been 18 and 2 respectively.
Here's the log:
I/flutter (32367): 2016-11-27T17:40:41.485525 ==> VOLM?
I/flutter (32367): 2016-11-27T17:40:41.486862 <== 2
I/flutter (32367): 2016-11-27T17:40:41.488129 ==> MUTE?
I/flutter (32367): 2016-11-27T17:40:41.489843 <== 18
HOW DID IT KNOW WHAT I WAS GOING TO ASK BEFORE I ASKED IT??? And why did it switch the answers around??
Not three seconds later the responses made sense, as they usually do:
I/flutter (32367): 2016-11-27T17:43:11.595704 ==> VOLM?
I/flutter (32367): 2016-11-27T17:43:11.604280 <== 18
I/flutter (32367): 2016-11-27T17:43:11.607810 ==> MUTE?
I/flutter (32367): 2016-11-27T17:43:11.612080 <== 2
I'm so confused. And a little scared.