Go to Post And the rest of the team helped them, encouraged them, and made a big deal about how awesome it was that we were competing for the Chairman's Award. - Carolyn_Grace [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-04-2015, 17:42
raystubbs's Avatar
raystubbs raystubbs is offline
Programmer, Builder, Designer
FRC #2657 (Thundercats)
Team Role: Student
 
Join Date: Mar 2014
Rookie Year: 2012
Location: Deming NM
Posts: 121
raystubbs will become famous soon enough
Arrow 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.
__________________
"If all else fails, read the instructions."
  #2   Spotlight this post!  
Unread 08-04-2015, 18:25
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by raystubbs View Post
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.
Use the source, Luke!
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #3   Spotlight this post!  
Unread 08-04-2015, 18:59
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,106
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by virtuald View Post
Is that the actual driver station source code? I always assumed it was closed source, plus I thought it was written in LV.

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.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.

Last edited by Thad House : 08-04-2015 at 19:03.
  #4   Spotlight this post!  
Unread 08-04-2015, 19:36
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by Thad House View Post
Is that the actual driver station source code? I always assumed it was closed source, plus I thought it was written in LV.

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.
You're correct that the DS is closed source and written in LV. I believe it is a test harness used for running the WPILib integration tests, which needs to be able to speak the DS protocol.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #5   Spotlight this post!  
Unread 08-04-2015, 22:18
raystubbs's Avatar
raystubbs raystubbs is offline
Programmer, Builder, Designer
FRC #2657 (Thundercats)
Team Role: Student
 
Join Date: Mar 2014
Rookie Year: 2012
Location: Deming NM
Posts: 121
raystubbs will become famous soon enough
Thumbs up Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by virtuald View Post
Thanks a lot for this, it should work perfect. If I'd known about it sooner I could have saved a LOT of work.

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.
__________________
"If all else fails, read the instructions."

Last edited by raystubbs : 08-04-2015 at 22:26.
  #6   Spotlight this post!  
Unread 08-04-2015, 22:47
raystubbs's Avatar
raystubbs raystubbs is offline
Programmer, Builder, Designer
FRC #2657 (Thundercats)
Team Role: Student
 
Join Date: Mar 2014
Rookie Year: 2012
Location: Deming NM
Posts: 121
raystubbs will become famous soon enough
Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by virtuald View Post
Even if the source you gave me is outdated, it gave me an idea of where to find the current version. I never even looked because I assumed it was closed and protected. But here is the 2015 FRCComm.h file if anyone is interested.

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.
__________________
"If all else fails, read the instructions."

Last edited by raystubbs : 08-04-2015 at 22:50.
  #7   Spotlight this post!  
Unread 08-04-2015, 23:10
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: RoboDS Android 2015 Driverstation

Heh, I hadn't noticed that it was pre-2015. Good to know.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #8   Spotlight this post!  
Unread 13-04-2015, 11:15
gixxy's Avatar
gixxy gixxy is offline
Programming and Arduino Mentor
AKA: Gustave Michel III
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Nov 2011
Rookie Year: 2012
Location: Ruston, LA
Posts: 207
gixxy is on a distinguished road
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
__________________
Programmer - A creature known for converting Caffeine into Code.
Studying Computer Science @ Louisiana Tech University
Associate Consultant @ Fenway Group

2012-13: 3946 - Head of Programming, Electrical and Web
2014 - 3468 - Programming Mentor
2015 - Present - Lurker
  #9   Spotlight this post!  
Unread 13-04-2015, 12:26
raystubbs's Avatar
raystubbs raystubbs is offline
Programmer, Builder, Designer
FRC #2657 (Thundercats)
Team Role: Student
 
Join Date: Mar 2014
Rookie Year: 2012
Location: Deming NM
Posts: 121
raystubbs will become famous soon enough
Re: RoboDS Android 2015 Driverstation

Quote:
Originally Posted by gixxy View Post
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
I don't have my notes with me right now but here is what comes after your general packet data, according to my memory:

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.
__________________
"If all else fails, read the instructions."
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 21:03.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi