Go to Post Goodness, YES. Please get a copy of the rules. It explains a lot, and if your robot does NOT follow the rules, you will not be allowed to compete. Really, it is very important. - DonRotolo [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rating: Thread Rating: 5 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 22-01-2010, 19:36
ellisk ellisk is offline
Registered User
FRC #1540
 
Join Date: Dec 2008
Location: Vancouver, WA
Posts: 41
ellisk is on a distinguished road
Black jaguars: not working

I am trying to get the new black jaguars working and am getting errors when I attempt to use them. Here is the setup and the errors I am getting:

First, the jaguars have been updated (done by another member of our team). I put the file at http://firstforge.wpi.edu/sf/frs/do/...agbridgeplugin onto the cRIO via FTP according to the directions at http://firstforge.wpi.edu/sf/sfmain/...ects.canjaguar, under the heading "Getting Started."

I got the Jaguar code from http://firstforge.wpi.edu/sf/frs/do/...anjaguar_for_c and modified it so that it compiles, as shown in this thread: http://www.chiefdelphi.com/forums/sh...ad.php?t=80706

The code I am using is:
Code:
// This code has been simplified for the purposes of posting.
#include "WPILib.h"
#include "CANJaguar.h"

class Spy : public SimpleRobot
{
	Joystick* leftStick;
	CANJaguar* frontRightMotor;

public:
	Spy(void)
	{
		GetWatchdog().SetEnabled(false);

		leftStick = new Joystick(1);
		frontRightMotor = new CANJaguar(1);
	}

	void Autonomous(void)
	{

	}

	void OperatorControl(void)
	{
		while (true)
			frontRightMotor->Set(leftStick->GetY());
	}
};

START_ROBOT_CLASS(Spy);
When I run the code, I get the following error, repeatedly, in the console (and the Jaguar, of course, does not run):
Code:
>>>>ERROR: status == -52007 (0xFFF34D9) in sendMessage() in C:/windriver/workspace/Spy/CANJaguar.cpp at line 176
I *assume* that the correct port is 1; we're daisy-chaining our CAN Jaguars, and the Jaguar of interest is the first one in the chain. I've also tried 0 as the port for the jaguar, which gives the same error.

Does anyone know what's going on? I would really appreciate any help.

Thanks,
Kevin
Reply With Quote
  #2   Spotlight this post!  
Unread 22-01-2010, 20:14
ellisk ellisk is offline
Registered User
FRC #1540
 
Join Date: Dec 2008
Location: Vancouver, WA
Posts: 41
ellisk is on a distinguished road
Re: Black jaguars: not working

I'm realizing that this really isn't a C++ Windriver specific question. Would a moderator mind moving my thread into the general programming forum? Thanks.
Reply With Quote
  #3   Spotlight this post!  
Unread 23-01-2010, 06:14
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

Quote:
Originally Posted by ellisk View Post
I *assume* that the correct port is 1; we're daisy-chaining our CAN Jaguars, and the Jaguar of interest is the first one in the chain. I've also tried 0 as the port for the jaguar, which gives the same error.
I certainly cannot be 0, since that is the broadcast address. 1 is what all Jaguars ship as. You must assign a unique ID to each Jaguar with a tool such as the bdc-comm utility from TI. This has nothing to do with wiring order. All Jags are on a shared bus. The CAN bus is wired straight through between the 2 CAN connectors on the Jags.

TI recommends that you use addresses in the range 2 - 63.

BTW, the error code is "Operation Timed Out".

Also, have you tested your serial cable adapter with a PC serial port and bdc-comm to make sure it's functioning properly? Is your serial cable plugged into the left RJ-12 plug on the Black Jag? Does the plugin appear to be loading properly on the console (you would have to use a network console to see it since your serial port is in use!)?

-Joe
Reply With Quote
  #4   Spotlight this post!  
Unread 23-01-2010, 19:37
ellisk ellisk is offline
Registered User
FRC #1540
 
Join Date: Dec 2008
Location: Vancouver, WA
Posts: 41
ellisk is on a distinguished road
Re: Black jaguars: not working

Thanks for the reply. I talked to the control systems people on my team and they set the ID of the black Jaguar using the bdc-comm utility to 2. I tried the code again, however, with the ID given in the constructor of the black jaguar to 2, and I still get the exact same behavior. So, while it seems that I did have the wrong port, that isn't the reason I get these errors. Any advice?

Thanks,
Kevin

EDIT: yes, the driver loads correctly, as seen from the network console. The black jaguar utilities show that the Jaguar is functioning fine and the wiring is fine. I'm very confused...

Last edited by ellisk : 23-01-2010 at 19:40.
Reply With Quote
  #5   Spotlight this post!  
Unread 23-01-2010, 19:42
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

What about the other list of suggestions in my last post? Also... if you have LabVIEW installed, you could run the voltage mode example to see what enumerates on your robot.

-Joe
Reply With Quote
  #6   Spotlight this post!  
Unread 23-01-2010, 19:47
ellisk ellisk is offline
Registered User
FRC #1540
 
Join Date: Dec 2008
Location: Vancouver, WA
Posts: 41
ellisk is on a distinguished road
Re: Black jaguars: not working

Yes, we've tried the other suggestions. The cable is fine, it's plugged in on the left, there is a 100 ohm resistor on the left jack, and I can see the driver loading on the console when the cRIO boots.

EDIT:
Here's the startup message from the cRIO's console:
Code:
FPGA Hardware GUID: 0xAD(a bunch of hex digits)
FPGA Software GUID: 0xAD(a bunch of hex digits)
FPGA Hardware Version: 2010
FPGA Software Version: 2010
FPGA Hardware Revision: 1.3.0
FPGA Software Revision: 1.3.0
* Loading StartupDlls: FRC_BlockJagBridgePlugin
FRC_BlockJagBridgePlugin was compiled from SVN revision 10
task 0x12d9610 (t2) deleted: erno=0 (0) status=0 (0)
* Loading StartupDls: FRC_UserProgram
...FRC_UserProgram failed to load.

NI-VISA Server 4.5 started successfully.
task 0xe414e8 (t1) deleted: errno=1835009 (0x1c001) status=1 (0x1)

Welcome to LabVIEW Real-Time 8.6.1f2
(the last line is odd, considering that it's not in LabVIEW mode...)

When I run the aforementioned program, I get the following error at startup, presumably from the call to Init of the CANJaguar in the constructor of the program:
Code:
>>>>ERROR: status == -63194 (0xFFFF0926) in InitJaguar() in C:/windriver/workspace/Spy/CANJaguar.cpp at line 32

Last edited by ellisk : 23-01-2010 at 19:58.
Reply With Quote
  #7   Spotlight this post!  
Unread 23-01-2010, 19:53
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

If you just unplug the serial connector from the cRIO and plug it into a PC, does bdc-comm see the Jaguars?
Reply With Quote
  #8   Spotlight this post!  
Unread 23-01-2010, 23:15
ChristopherBuck's Avatar
ChristopherBuck ChristopherBuck is offline
Registered User
FRC #0612
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: United States
Posts: 38
ChristopherBuck is a jewel in the roughChristopherBuck is a jewel in the roughChristopherBuck is a jewel in the rough
Re: Black jaguars: not working

Hi, we had a seemingly similar problem with our CAN bus setup (using LabView). the driverstation would display an error regarding "CAN-Recieve.vi" and "operation not completed in time" (or something like that), so a timeout error of sorts. essentially, the cRIO was not getting a confirmation of initial setup from the black jag, or other jaguar- I forget exactly which. Anyway, we went into the code for initializing a 4motor robot drive system. and modified it such that it bypassed this error point (removing CAN-Recieve.vi). Then it worked perfectly. So my guess is that you may be able to do something similar in C++.
Reply With Quote
  #9   Spotlight this post!  
Unread 23-01-2010, 23:33
Dale's Avatar
Dale Dale is offline
Head Coach & Mentor
AKA: Dale Yocum
FRC #1540 (Flaming Chickens)
Team Role: Coach
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Portland, OR
Posts: 504
Dale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud of
Re: Black jaguars: not working

Answering for ellisk and in answer jhersh's question... yes the same cable works fine off a PC to talk to the Jaguar via the command line and GUI interface. The firmware was updated and ID set. No other changes were made to the Jaguar's settings. Also, for what it's worth, different cRIOs exhibit the same problem.

Once thing we didn't do was wire any of the the RS-232 handshake lines in the connector, things like CTS, RTS, DTR, DSR. The manual didn't say anything about that so we're assuming the cRIO doesn't care. Is that true?
__________________
2016 PNW Championship Chairman's; 2016 Winner Oregon City District, 2015 PNW Championship Chairman's; 2015 PNW District Engineering Inspiration; 2015 PNW District Finalist; 2014 PNW Championship Chairman's; 2014 Championship Innovation in Controls; 2013 Chairman's (Oregon); 2013 Finalist (OKC); 2012 Winner (OKC); 2012 Chairman's (OKC); 2012 Woody Flowers (Oregon); 2011 Volunteer of the Year (Oregon); 2011 Finalist & Captain (San Diego); 2011 Innovation in Control (San Diego); 2010 & 2007 Chairman's (Oregon); 2010 Regional Champions (Colorado); 2010 Innovation in Control (Colorado); 2009 & 2008 Engineering Inspiration (Oregon); 2008 Regional Champions (Oregon); 2007 Regional Finalist (Oregon); 2005 Rookie Inspiration (PNW)

Last edited by Dale : 24-01-2010 at 01:47.
Reply With Quote
  #10   Spotlight this post!  
Unread 24-01-2010, 00:04
imac256 imac256 is offline
Registered User
AKA: Ian McInerney
FRC #2022 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jun 2009
Rookie Year: 2009
Location: Aurora, IL
Posts: 30
imac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of light
Re: Black jaguars: not working

As a side thought, is your CAN bus properly terminated? To make the CAN bus work it is my understanding that you need approximately a 100ohm resistor joining CANH and CANL on the last Jaguar. The pin outs can be found in the data sheet available here: http://www.luminarymicro.com/products/mdl-bdc24.html. I don't know if this will fix the problem but it may be something in the right direction.

-Ian
Programmer, Team 2022
Reply With Quote
  #11   Spotlight this post!  
Unread 24-01-2010, 00:12
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

Quote:
Originally Posted by Dale View Post
Once thing we didn't do was wire any of the the RS-232 handshake lines in the connector, things like CTS, RTS, DTR, DSR. The manual didn't say anything about that so we're assuming the cRIO doesn't care. Is that true?
The Jaguar only has connections for RX and TX.
Reply With Quote
  #12   Spotlight this post!  
Unread 24-01-2010, 00:31
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

Quote:
Originally Posted by ChristopherBuck View Post
Hi, we had a seemingly similar problem with our CAN bus setup (using LabView). the driverstation would display an error regarding "CAN-Recieve.vi" and "operation not completed in time" (or something like that), so a timeout error of sorts. essentially, the cRIO was not getting a confirmation of initial setup from the black jag, or other jaguar- I forget exactly which. Anyway, we went into the code for initializing a 4motor robot drive system. and modified it such that it bypassed this error point (removing CAN-Recieve.vi). Then it worked perfectly. So my guess is that you may be able to do something similar in C++.
That a great point... I forgot to ask if the robot was enabled when you got this error. The current image (v19) will not cause a reply if the robot is disabled. This means that, for the moment, you can't call any "Set" commands while the robot is disabled without an error. This will be addressed in the next update. It won't cause any trouble (the way the C++ library is written), but it will create some errors on the DS. As ChristopherBuck noted, in LabVIEW it is written with status chaining so one of these errors will prevent it from working from then on.
Reply With Quote
  #13   Spotlight this post!  
Unread 24-01-2010, 01:52
Dale's Avatar
Dale Dale is offline
Head Coach & Mentor
AKA: Dale Yocum
FRC #1540 (Flaming Chickens)
Team Role: Coach
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Portland, OR
Posts: 504
Dale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud ofDale has much to be proud of
Re: Black jaguars: not working

We do have the 100 ohm terminator in place. We know the Jaguars only have TX and RX but I wasn't clear whether the cRIO needed to have the other handshake lines jumpered at it's end. ellisk will have to answer about the robot being enabled.

They were trying a 2CAN ethernet adapter when I left the lab tonight to see if that yields better results. We'd still like to get the "official" RS-232 solution working though.
__________________
2016 PNW Championship Chairman's; 2016 Winner Oregon City District, 2015 PNW Championship Chairman's; 2015 PNW District Engineering Inspiration; 2015 PNW District Finalist; 2014 PNW Championship Chairman's; 2014 Championship Innovation in Controls; 2013 Chairman's (Oregon); 2013 Finalist (OKC); 2012 Winner (OKC); 2012 Chairman's (OKC); 2012 Woody Flowers (Oregon); 2011 Volunteer of the Year (Oregon); 2011 Finalist & Captain (San Diego); 2011 Innovation in Control (San Diego); 2010 & 2007 Chairman's (Oregon); 2010 Regional Champions (Colorado); 2010 Innovation in Control (Colorado); 2009 & 2008 Engineering Inspiration (Oregon); 2008 Regional Champions (Oregon); 2007 Regional Finalist (Oregon); 2005 Rookie Inspiration (PNW)
Reply With Quote
  #14   Spotlight this post!  
Unread 24-01-2010, 02:31
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Black jaguars: not working

Quote:
Originally Posted by Dale View Post
We know the Jaguars only have TX and RX but I wasn't clear whether the cRIO needed to have the other handshake lines jumpered at it's end.
The cRIO does support hardware flow control, but it's disabled by default and the BlakJagBridgePlugin does not enable it.

-Joe
Reply With Quote
  #15   Spotlight this post!  
Unread 25-01-2010, 13:05
Bryscus's Avatar
Bryscus Bryscus is offline
EE, CpE
AKA: Bryce B.
FRC #0180 (SPAM)
Team Role: Engineer
 
Join Date: Jan 2009
Rookie Year: 1999
Location: Jupiter, FL
Posts: 173
Bryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud ofBryscus has much to be proud of
Re: Black jaguars: not working

Quote:
Originally Posted by ellisk View Post
Yes, we've tried the other suggestions. The cable is fine, it's plugged in on the left, there is a 100 ohm resistor on the left jack, and I can see the driver loading on the console when the cRIO boots.
I have been having an issue with intermittent signals getting to the Jags. We currently have updated the firmware on both Jags connected (One black and one gray each with its respective firmware update) through the RS232 port on the cRio. There is a 100 ohm termination resistor inside the DB9 shield between CANL and CANH (the green and red wires). There is a 6 pin cable running from the RS232 to CAN inverter to the LEFT port of the black Jag. I have then tried both a 4pin and 6pin cable from the RIGHT port of the black Jag to the LEFT port of the gray Jag (just to see if I had made a bad cable). I then created a short Termination cable that only has a 100ohm resistor between the green and red wires. This short cable is plugged into the RIGHT port of the Gray Jag. I have tried communications with and without this termination cable and get similar results.

If I just send the Jags a constant max output value, they will run and then sputter, and then run, yada yada yada. It sounds as if I have a physical layer problem - i.e., signals not propagating properly.

Also, I have obviously been able to connect with BD-COM to assign IDs and re-flash the firmware...


So my questions are:

Should the termination resistor be on the cable at the LEFT port of the Gray Jag, or is it correct the way I have it?

Has anyone else been able to get a connection, but suffers from intermittent signal loss?

- Bryce

P.S. I have attached some pictures of errors that I am receiving in the NetConsole.

P.S.S. This is somewhat of a bummer, because I have written code to make use of the Speed and Position modes, but can't test it until I at least have a reliable communication interface...
Attached Thumbnails
Click image for larger version

Name:	CAN Problem - Black Jag.JPG
Views:	51
Size:	88.6 KB
ID:	8381  Click image for larger version

Name:	CAN Problem.JPG
Views:	29
Size:	85.1 KB
ID:	8382  
__________________
The opulence of the front office decor varies inversely with the fundamental solvency of the firm.
Reply With Quote
Reply


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Serial to CAN Gateway in new Black Jaguars? dmcguire3006 Electrical 54 26-01-2010 07:32
Jaguars arent working yoavh360 Electrical 6 19-01-2010 17:20
Victors and Jaguars not Receiving Signal? excel2474 Electrical 1 12-02-2009 16:41
jaguars suddenly not working Mr. E Technical Discussion 1 07-02-2009 21:09
Jaguars working with 2.4 Ghz R/C NOV8R Technical Discussion 0 09-01-2009 16:15


All times are GMT -5. The time now is 14: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