Go to Post One of those things I learned in kindergarten - never introduce myself to an “enraged” woman wielding a clipboard. - Mark McLeod [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

 
 
 
Thread Tools Rating: Thread Rating: 2 votes, 5.00 average. Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 23-02-2015, 19:26
seg9585's Avatar
seg9585 seg9585 is offline
Registered User
AKA: Eric
FRC #4276 (Surf City Vikings)
Team Role: Engineer
 
Join Date: Feb 2006
Rookie Year: 2001
Location: Boeing (Seal Beach, CA)
Posts: 520
seg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond reputeseg9585 has a reputation beyond repute
Issues with Serial Comm roboRio to RioDuino

All,
I have been trying to configure our RioDuino (plugged into the MXP port on the roboRio) for serial transfer, but the Java Serial class seems to be giving me quite a few problems.

On the arduino side, for purposes of troubleshooting I simplified the code to just listen for an ASCII character, store in a variable, then echo that character back to the serial port to be heard on the roboRio. This uses the Serial.read(); and Serial.write(); functions
I verified this works without issue when I transmit this character through the Arduino serial monitor

On the roboRio side, I use the SerialPort.writeString(myString); command to transmit that value, and the SerialPort.readString(1); command to listen to just 1 byte. I then print this value to the SmartDashboard

However I'm having problems on both sides of the transaction. On the roboRio readString(1); side, there appears to be buffering issues -- the data isn't getting cleared from the buffer so the resulting character is very delayed. I am aware there's a known bug and a patch out there which I haven't tried yet, so not too worried about that, but...

On the writeString(), I am getting very strange results read by the Arduino. For example, if I repeatedly send SerialPort.writeString("1"), I don't get the number 49 (ASCII 1) or "1" echoed in the Arduino Serial Monitor, but I get numbers like 204, 17, or some other random numbers. Sending multiple times produces different numbers every time, although some tend to repeat.

I'm not sure what to make of this. Is the Serial port malfunctioning, or maybe there's a bug in the WPI code? Do I need to "interpret" the incoming values a different way?
I realize I can use I2C for communication. I'm already using I2C for a different sensor so I can make use of it for this as well, but I would really like to figure out why I'm having so many problems with Serial.

FYI, yes I verified both roboRio and Arduino are using the same bitrate (9600)
__________________
My FIRST legacy:

Team 204 Student 2001, 2002 (Voorhees, NJ)
Team 1493 College Mentor 2006 - 2008 (Troy, NY)
Team 2150 Intern/Professional Mentor 2007, 2009 (Palos Verdes)
Team 4123 Lead Engineering Mentor 2012 (Bellflower, CA)
Team 4276 Engineering Mentor 2012-2016 (Huntington Beach, CA)
 


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 01:44.

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