Go to Post In real life, I use almost nothing I learned from football except that with a bit of hard work you can get somewhere. Oh, and I have bad knees on top of that. I could have (and wished I would have) learned that from a FIRST FRC team instead. - JesseK [more]
Home
Go Back   Chief Delphi > Technical > Electrical
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Spotlight this post!  
Unread 30-01-2016, 13:48
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: Roborio comms with arduino over USB

Quote:
Originally Posted by The Doctor View Post
Recently I've been experimenting with sending status codes to an Arduino from the RoboRio. I've so far tried toggling serial from the MXP to the arduino, and serial over USB between them. Neither of these have worked yet. I was wondering if any teams had input on how to send single byte status packets?

Current robot code (java):

Code:
arduino = new SerialPort(19200,SerialPort.Port.kUSB);
...
byte mode1 = 0;  //////// 0b<red><blue><fms><auton><teleop><disabled><enabled><attached>
				if (ds.getAlliance() == DriverStation.Alliance.Red)  mode1 |= 0b10000000;
				if (ds.getAlliance() == DriverStation.Alliance.Blue) mode1 |= 0b01000000;
				if (ds.isFMSAttached())                              mode1 |= 0b00100000;
				if (ds.isAutonomous())                               mode1 |= 0b00010000;
				if (ds.isOperatorControl())                          mode1 |= 0b00001000;
				if (ds.isDisabled())                                 mode1 |= 0b00000100;
				if (ds.isEnabled())                                  mode1 |= 0b00000010;
				if (ds.isDSAttached())                               mode1 |= 0b00000001;
				
				byte[] mode2 = {mode1};
				arduino.write(mode2, 1);
The problem is that the instantiation of the SerialPort object causes the robot code to error and restart. The exact error can't be copied out of the DS, but it's something along the lines of this:

Code:
RuntimeException: HAL: -VISA: Resource not found at [SerialPortJNI.serialInitializePort]
Has anyone gotten Rio-to-Arduino comms to work using Serial?
I got it working. I never tried an Uno or Mega, but the Pro with the FTDI USB to Serial does work. The Uno or Mega might work, but the Uno clone using a CH340 or CH341 USB to Serial did not work.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
 


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 06:20.

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