![]() |
RoboDS Android 2015 Driverstation
RoboDS is a project that I've been working on since the Hub City Regionals. I almost have all I need to release the alpha version. I've figured out almost all I need of the driverstation communication protocol; all I lack is to reverse engineer the DS connection packet, if anyone is willing to help with this I would really appreciate it, and I'd be able to release the app much sooner.
|
Re: RoboDS Android 2015 Driverstation
Quote:
|
Re: RoboDS Android 2015 Driverstation
Quote:
EDIT: Nevermind looks like its just a driver station simulator. Still interesting though, because it looks like it has the packet format for the FMS as well. |
Re: RoboDS Android 2015 Driverstation
Quote:
|
Re: RoboDS Android 2015 Driverstation
Quote:
EDIT: Ok, I take that back, after reviewing the source I realized that this is for the pre-2015 protocol. The 2015 control system uses a new protocol and I've figured out most of it but I don't know much about the connection packet. The connection packet is sent after the DS receives its first packet from the RoboRio, it is the normal communications packet with a ~21 byte extension that I presume contains connection information. I know that it contains a time zone in some of its bytes but that does not account for the full length of the packet. Any and all help is appreciated, thanks. |
Re: RoboDS Android 2015 Driverstation
Quote:
https://github.com/Dreadbot/WPILib/b...tion/FRCComm.h Thanks. EDIT: Except I can't find an FRCComm.cpp so I may still be stuck. |
Re: RoboDS Android 2015 Driverstation
Heh, I hadn't noticed that it was pre-2015. Good to know.
|
Re: RoboDS Android 2015 Driverstation
As a developer for the Cross Platform DriverStation.js we too have been working to reverse engineer the 2015 protocol, not that we have made it too far...
What we DO have is here: https://github.com/gluxon/node-drive.../2015-Protocol |
Re: RoboDS Android 2015 Driverstation
Quote:
The rest of the data is divided into joystick structures, each structure has the following: 1 byte: Size, in bytes, of the joystick structure 1 byte: Unknown, according to my memory it has always been 12, 0x0c in hex. 1 byte: 'a' the number of axis' available on the joystick. 'a' bytes: The values of each of the axis'. 1 byte: 'b' the number of buttons on the joystick. 'b'/8 rounded up, bytes: The state of every button, one per bit, button 1 is far right and button 'b' is far left. 3 bytes: Unknown, always seems to be 01-ff-ff. The data for any other joysticks follows. This may be slightly wrong, I do not have a perfect memory but I think this is mostly correct. If you want details or clarifications then contact me and I'll find my notes. If you find anything new with the 'Connection Packet' structure please let me know, thanks. |
| All times are GMT -5. The time now is 01:40. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi