Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   RoboDS First Test (http://www.chiefdelphi.com/forums/showthread.php?t=136894)

Ben Wolsieffer 16-09-2015 08:33

Re: RoboDS First Test
 
I tested the app last week, and sadly it still does not work. I am quite confused by what it is doing currently, as it appears to be crashing the communication software on the robot.

When I start sending packets to the robot, it never sends anything back. Afterward, when I try to drive the robot with the normal driver station, the robot does not respond until it is rebooted. As far as I can see, there is nothing wrong with the format of the packets being sent, but something is obviously wrong.

I'll try to figure out more when I get time.

raystubbs 16-09-2015 09:23

Re: RoboDS First Test
 
How many connection packets do you send at the beginning? How long do you wait for a response? Also you can look for errors and restart the program by ssh-ing into the box and manually relaunching the binary.

The binary is probably in the default home directory, but otherwise it can be found in the program's build script on your workstation.

raystubbs 16-09-2015 09:59

Re: RoboDS First Test
 
Found a problem in PacketManager:

Code:

if (connected && !timeSent) {
        driverStationPacket.addTime();
        timeSent = true;
}

This sends the connection/time packet as the first packet, the RIO never actually processes it. You need to send normal packets until the RIO responds for the first time, after the first response THEN you send the time packet and the RIO will accept it.

Here is my implementation:
https://github.com/raystubbs/RioComA...omManager.java lines 171-197

Ben Wolsieffer 17-09-2015 09:59

Re: RoboDS First Test
 
Quote:

Originally Posted by raystubbs (Post 1496161)
Found a problem in PacketManager:

Code:

if (connected && !timeSent) {
        driverStationPacket.addTime();
        timeSent = true;
}

This sends the connection/time packet as the first packet, the RIO never actually processes it. You need to send normal packets until the RIO responds for the first time, after the first response THEN you send the time packet and the RIO will accept it.

Here is my implementation:
https://github.com/raystubbs/RioComA...omManager.java lines 171-197

I don't think that is the problem, because the connected flag is not set until the first packet is received from the robot, so the time is not sent until this happens. Also, my packet captures show that the time is not being sent.

raystubbs 17-09-2015 12:32

Re: RoboDS First Test
 
Oh OK.

ShotgunNinja 21-09-2015 13:10

Re: RoboDS First Test
 
Wow, I'm looking forward to this app being more complete; maybe if I convince a nearby team to let me mentor, I'll be able to get access to a bot and start testing this out. I'm a software engineer by trade, and I've been looking to get involved with something FIRST-related and 'Droid-y.


All times are GMT -5. The time now is 16:24.

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