OCCRA
Go to Post Like my programming class teacher has said multiple times: "Stop complaining on reddit about your code not compiling and actually fix it". - [more]
Home
Go Back   Chief Delphi > Technical > Electrical > CAN
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 02-22-2016, 10:26 AM
The Doctor's Avatar
The Doctor The Doctor is offline
Robotics is life
AKA: Hackson
FRC #3216 (MRT)
Team Role: Programmer
 
Join Date: Mar 2014
Rookie Year: 2013
Location: United States
Posts: 159
The Doctor is on a distinguished road
PDP CAN receive timeout

We've been having this problem all year. Last year, I wrote a program to stream sensor readings to the DS for debugging purposes. This year, it didn't work. Most of the sensors still work, but this year the amperage readings on the PDP cause all kinds of CAN timeout errors.

The line of code that doesn't work:

Code:
for (int i = 0; i < 16; i++) 
    table.putNumber("pwr_c_" + i,pdp.getCurrent(i)); // current draw for all 16 channels
The error looks something like "CTRE CAN Receive Timeout".

I've tried this with two different Rios and two different PDBs, with no luck. The weird part is, the problem only affects the current readings. Voltage and temperature readings for the PDB are working fine.
__________________
Robots + Python + pentesting == me;
Blog ~ GitHub ~ Keybase
If you have a pressing issue to discuss with me, kik me at slush.puddles since I don't check CD very often.
Reply With Quote
  #2   Spotlight this post!  
Unread 02-13-2017, 11:41 PM
rtielking rtielking is offline
Registered User
FRC #4330
 
Join Date: Jan 2017
Location: St Louis
Posts: 3
rtielking is an unknown quantity at this point
Re: PDP CAN receive timeout

A couple of things to try when troubleshooting:
1. with the robot powered off, measure the resistance between the yellow and green wires. It should be 60 ohms if you have the correct number of terminating resisters which are two 120 ohm resisters. The roborio has one of the terminating resister and you should have one other. The PDP has a terminating resister jumper used to set or remove the PDP terminating resister. Our team forgot to take out the terminating resister from the PDP this year, and we have a third CAN sensor which had a terminating resister as well, so we weren't getting CAN traffic.
2. On the driver station, there is a little icon on the lower left which looks like a lightning bolt. Click that and you can see information on the CAN bus traffic like utilization and message errors.
Reply With Quote
  #3   Spotlight this post!  
Unread 02-14-2017, 10:11 AM
Lireal Lireal is offline
Registered User
AKA: Alex Colello
FRC #2141 (Spartonics)
Team Role: Programmer
 
Join Date: Jan 2015
Rookie Year: 2013
Location: Concord, California
Posts: 124
Lireal has a spectacular aura aboutLireal has a spectacular aura aboutLireal has a spectacular aura about
Re: PDP CAN receive timeout

We had this problem recently. It turned out that someone had changed the number of the PDP while updating it. Make sure that you PDP is numbered 0.
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


All times are GMT -5. The time now is 02:05 AM.

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