Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network/remote control #5

Open
BobSaidHi opened this issue Mar 12, 2023 · 1 comment
Open

Network/remote control #5

BobSaidHi opened this issue Mar 12, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request programming
Milestone

Comments

@BobSaidHi
Copy link
Owner

No description provided.

@BobSaidHi BobSaidHi added enhancement New feature or request programming labels Mar 12, 2023
@BobSaidHi
Copy link
Owner Author

BobSaidHi commented Feb 21, 2024

Bitserial is unpleasant and a proper HTTP API may be a less than optimal solution.

Background Research

Relevant Discussion- JSON vs. serialzation

Flinging JSON back and forth could work but could become a bit too verbose. Alternatively, SCPI may not be much better. (To be sent over socketrs w/ Python Twisted)

Comparison:

{
    "joystickLeft": {
        "x": 0.0,
        "y": 0.0
    },
    "joystickRight": {
        "x": 0.0,
        "y": 0.0
    },
    "buttons": {
        "a": false,
        "b": false,
        "c": false,
        "d": false
    }
}
JoyStickLeft: 0.0,0.0
JoyStifckRight: 0.0,0.0
BUTtons: False,False,False,False
JSL: 0.0,0.0
JSR: 0.0,0.0
BUT: 0,0,0,0

Alternatively, MQTT is similar to NetworkTables (Spec) but simpler (publish/subscribe system)

Also, look into MsgPac or similar to convert high level API into binary serial api.

Conclusion

  • Read up serialization, TCP sockets, serial transmission, serialization of data in Python Twisted
  • Consider just using MQTT if it's not that much more work or has better features

@BobSaidHi BobSaidHi self-assigned this Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request programming
Projects
None yet
Development

No branches or pull requests

1 participant