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

Dashboard doesn't connect to robot with 2019 firmware #78

Closed
nick-ls opened this issue Jan 12, 2019 · 12 comments
Closed

Dashboard doesn't connect to robot with 2019 firmware #78

nick-ls opened this issue Jan 12, 2019 · 12 comments

Comments

@nick-ls
Copy link

nick-ls commented Jan 12, 2019

The latest commit of FRCDashboard is incompatible with either the router firmware or the roborio firmware (most likely this) updated in 2019. Neither the 10.xx.xx.1 address or roborio-xxxx-frc.local connects to the robot when replaced with our team number when it is on the WiFi network. We used this to configure our radio to the current firmware. This caused it to stop connecting. It does work, however, with a robot that has firmware from Recycle Rush in 2015. I am using commit 6481dbb with nothing changed but the address.value line in connections.js to our team number. Has the address value changed for connecting now, or is it another issue?

@ErikBoesen
Copy link
Member

Can you connect to those addresses at all, outside of FRC Dashboard? This doesn't seem like it'd be an FRC Dashboard problem since the software exclusively communicates by exchanging NetworkTables values.

@nick-ls
Copy link
Author

nick-ls commented Jan 12, 2019

I am not sure. I will test to see if those addresses are accessible outside of the dashboard when I can access the robot tomorrow, and give updates then. Thanks.

@nick-ls
Copy link
Author

nick-ls commented Jan 12, 2019

I got it to work! I changed this code in main.js to get the dashboard to autoconnect to the correct address. The roborio-xxxx-FRC.local wasnt working for us, but the 10.47.38.2:1735 ip address and port did allow network tables to exchange data. The function setLogin was unneeded for connecting in connection.js.

//main.js
ipc.on('connect', (ev, address, port) => {
	address = "10.47.38.2"; //default would be 10.xx.xx.2
	port = 1735; //port is the one specified here for network tables https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/144986-programming-your-radio#programmed_configuration
	console.log(`Trying to connect to ${address}:${port}`);
	let callback = (connected, err) => {
		console.log('Sending status');
		mainWindow.webContents.send('connected', connected);
	};
	client.start(callback, address, port);
});

@nick-ls nick-ls closed this as completed Jan 13, 2019
@samperlmutter
Copy link

My team is having this same problem, but the solution in this thread didn't seem to fix it. We're using the latest rio firmware version, and our code is here. We're also able to connect via a local networktables client.

@ErikBoesen
Copy link
Member

@rakusan2 Any ideas?

@rakusan2
Copy link
Contributor

@samperlmutter Have you tried the address 10.35.6.2
Also, are you getting any errors in the console?

@samperlmutter
Copy link

samperlmutter commented Mar 14, 2019

Yes we've tried ipv4 and mdns with and without specifying the port. The chrome console is reporting that it connected, but the terminal keeps saying "Sending status". Next time I'm with the robot I'll check and see if the default code on this repo works (though idk why it would since I made sure the only differences were ui.js and index.html)

@nick-ls
Copy link
Author

nick-ls commented Mar 14, 2019

@samperlmutter I've had that repeated message appear in logs while the dashboard was connected and successfully sending and receiving data. Despite it logging that it was connected, sending test keys/values could verify if it actually is connected or not. If you haven't tried sending test values yet, try modifying robot code to send an example value to the dashboard.

@samperlmutter
Copy link

I'm not sure what you mean by test keys or how they would be different from real keys. The real keys we're sending from the robot code don't trigger the network tables listeners on the dashboard. I've put logging in the listeners and they're not being fired. If I try and use it connected to network tables running locally on my laptop it works perfectly.

@nick-ls
Copy link
Author

nick-ls commented Mar 14, 2019

By "test keys" I meant keys to test if it could successfully send data. However, it sounds like it you have already done that. How I originally solved the connection issue was by using wireshark to log local network requests on the wifi network. I could see the IP and port that data was being sent over while correctly connected to network tables outside of the dashboard. Since you can recieve and send values over network tables, that solution might work for you.

@samperlmutter
Copy link

I'll try that later today, thanks.

@samperlmutter
Copy link

Just finished looking at wireshark and it's not showing me anything I didn't expect.
roborio-3506-frc.local (10.35.6.2) with destination port 1735

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants