Go to Post Now there is something I am going to suggest to my team...."testing before ship (bag)"....on second thought, maybe I'll just ref! - ExTexan [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 Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-03-2013, 11:45
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 588
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
New REQUIRED version of C++ libraries

There was an issue with the C++ NetworkTables implementation that only appeared when there were several robots all updating a number of variables very frequently. This usually occurred with SmartDashboard but would also fail with the default LabVIEW dashboard and NetworkTables or any other NetworkTables client program on the robot network.

There is a new version of WPILib that will be required for C++ teams that has been posted here:

http://firstforge.wpi.edu/sf/frs/do/...ate_rev_362 2

Install the update on your development system. Then rebuild your robot program and redeploy.

Brad
__________________
Brad Miller
Robotics Resource Center
Worcester Polytechnic Institute
Reply With Quote
  #2   Spotlight this post!  
Unread 05-03-2013, 13:02
JesseK's Avatar
JesseK JesseK is offline
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,637
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

Will this be in an email update or on the FRC Blog?
Do you expect any logic issues after the update?
Is there a way to get ONLY items 1,2 & 7 rather than all of them?
I'm not familiar with the Smart Dashboard -- that's the driver's display side of things? We use C++ on the robot, but write a custom Java display for the driver's station. (I'm not the lead robot programming mentor; I'm the System Architect for the 3 software systems we'll have -- sorry I'm don't know more)

While I'm sure code works right now, any required update after competitions have started is a pretty big deal for teams who can't test the updates on their robot ahead of time. More information is definitely needed.
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub
Reply With Quote
  #3   Spotlight this post!  
Unread 05-03-2013, 14:52
Jefferson Jefferson is offline
Registered User
AKA: Jeff Clements
FRC #0016 (Bomb Squad)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Mountain Home, AR
Posts: 257
Jefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant futureJefferson has a brilliant future
Re: New REQUIRED version of C++ libraries

Thanks for your work to resolve these issues. I think we were affected in one match during Week 1. Glad to hear there is a resolution.
I'm curious, though, how this will be enforced. Terms like "mandatory" and "required" are used, but as far as I know, there is no way to check the version of WPILib that the code was compiled with. Nor is there anything in the rules requiring specific libraries.
I hope there will be some help during inspection to help teams through this. I don't think we can rely on CD and those of us watching FirstForge to get the word out to all teams.

On a related note, I thought some of the changes in the FMS this season were to limit the impact that data traffic from one team could have on another. Did I misunderstand, or was the issue not fully addressed?
Reply With Quote
  #4   Spotlight this post!  
Unread 05-03-2013, 15:04
Jon Stratis's Avatar
Jon Stratis Jon Stratis is offline
Electrical/Programming Mentor
FRC #2177 (The Robettes)
Team Role: Mentor
 
Join Date: Feb 2007
Rookie Year: 2006
Location: Minnesota
Posts: 3,738
Jon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

Any bets on the number of teams that will need to get this update from my USB drive at LSR on Thursday?
__________________
2007 - Present: Mentor, 2177 The Robettes
LRI: North Star 2012-2016; Lake Superior 2013-2014; MN State Tournament 2013-2014, 2016; Galileo 2016; Iowa 2017
2015: North Star Regional Volunteer of the Year
2016: Lake Superior WFFA
Reply With Quote
  #5   Spotlight this post!  
Unread 05-03-2013, 15:19
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,561
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by JesseK View Post
Will this be in an email update or on the FRC Blog?
It is supposed to be in today's team update.
Reply With Quote
  #6   Spotlight this post!  
Unread 05-03-2013, 16:30
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 588
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
Re: New REQUIRED version of C++ libraries

I didn't see it in the email blast but it should be in the team update. You can verify that it is installed by looking in the c:\windriver\wpilib folder and looking at the version on the source code zip file. It should be 3622 if the update was installed.

The changes numbered 3, 4, 5, and 6 should not effect anyone not using those features (changes are very local) and the features had serious defects before the update. Was there a particular change you were concerned about?

Brad
__________________
Brad Miller
Robotics Resource Center
Worcester Polytechnic Institute

Last edited by BradAMiller : 05-03-2013 at 16:35.
Reply With Quote
  #7   Spotlight this post!  
Unread 05-03-2013, 16:47
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,050
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by BradAMiller View Post
There was an issue with the C++ NetworkTables implementation that only appeared when there were several robots all updating a number of variables very frequently.
Wait a second... I thought all of the robots were supposed to be isolated from each other?
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote
  #8   Spotlight this post!  
Unread 05-03-2013, 17:54
rrossbach rrossbach is offline
Registered User
AKA: Ron R
FRC #2607 (RoboVikings)
Team Role: Mentor
 
Join Date: Nov 2008
Rookie Year: 2008
Location: Warrington PA
Posts: 90
rrossbach is a splendid one to beholdrrossbach is a splendid one to beholdrrossbach is a splendid one to beholdrrossbach is a splendid one to beholdrrossbach is a splendid one to beholdrrossbach is a splendid one to beholdrrossbach is a splendid one to behold
Re: New REQUIRED version of C++ libraries

Brad -
I could check this by looking at the sources, but....

My understanding is that the WPILib Java implementation closely tracks the C++ implementation.

Does the NetworkTables issue also exist in the Java implementation?

- Ron
Team #2607 controls mentor
__________________

FIRST Mid-Atlantic Volunteer
FRC Team #2607 Mentor
Reply With Quote
  #9   Spotlight this post!  
Unread 05-03-2013, 19:51
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 588
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by rrossbach View Post
Brad -
I could check this by looking at the sources, but....

My understanding is that the WPILib Java implementation closely tracks the C++ implementation.

Does the NetworkTables issue also exist in the Java implementation?

- Ron
Team #2607 controls mentor
It does track closely like you said, but the issue was in some C++ specific socket creation code and that Java library does not have the same issue.

Also, I'd like to add that the new version of the library was run successfully on Saturday afternoon and Sunday in California last week and for Sunday in Michigan (I think) for all the C++ teams at those events. So we believe that the changes are very safe and would have never rolled it out mid-event if we were thought it would add risk to the success of teams at those events.

Brad
__________________
Brad Miller
Robotics Resource Center
Worcester Polytechnic Institute

Last edited by BradAMiller : 05-03-2013 at 19:58.
Reply With Quote
  #10   Spotlight this post!  
Unread 05-03-2013, 20:11
Mike Copioli's Avatar
Mike Copioli Mike Copioli is offline
You make it pretty We make it dance
no team (Retired(3539, 217))
Team Role: Engineer
 
Join Date: Jan 2006
Rookie Year: 2001
Location: Romeo
Posts: 453
Mike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond reputeMike Copioli has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

Brad,

Thank you for this update.

What is the observed robot behavior that this fixes?
__________________
Mike Copioli
CTRE Hardware Engineer
http://www.ctr-electronics.com

Team 3539 The Byting Bull Dogs
2013 Michigan State Champions
Team 217 The Thunder Chickens
2006 World Champions
2008 World Champions
2009 Michigan State Champions
Reply With Quote
  #11   Spotlight this post!  
Unread 06-03-2013, 12:51
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,050
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by Mike Copioli View Post
Brad,

Thank you for this update.

What is the observed robot behavior that this fixes?
A diff can be seen here. Looks like the big changes are disabling TCP_NODELAY, requiring a newer version of the Jaguar firmware, and fixing the way it searches for entries.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote
  #12   Spotlight this post!  
Unread 06-03-2013, 19:42
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,561
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

It's the night before week 2 competition starts and only 119 downloads of the update (compared to 600 or 700 downloads of the first two updates, and 2000 downloads of the kickoff version).
Reply With Quote
  #13   Spotlight this post!  
Unread 07-03-2013, 15:47
taichichuan's Avatar
taichichuan taichichuan is offline
Software Mentor
AKA: Mike Anderson
FRC #0116 (Epsilon Delta)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Herndon, VA
Posts: 328
taichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud of
Send a message via AIM to taichichuan
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by virtuald View Post
A diff can be seen here. Looks like the big changes are disabling TCP_NODELAY, requiring a newer version of the Jaguar firmware, and fixing the way it searches for entries.
Hmm... Disabling TCP_NODELAY. That will add several ms of latency to the link. Was there a problem in polling the socket connection that required this? Just curious because in almost 30 years of working with VxWorks, you typically want to *add* TCP_NODELAY to reduce communicaitons latency rather than remove it.

TIA,

Mike
Reply With Quote
  #14   Spotlight this post!  
Unread 10-03-2013, 22:02
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,748
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: New REQUIRED version of C++ libraries

I haven't seen the code, but my understanding is that at last some of the writes were done a byte at a time -- likely with the iostream ++ syntax. That plus the no-delay resulted in lots of packets that made the router unhappy.

I agree with your comment about no-delay. I'd expect the latency to be around as much as 100ms.

Greg McKaskle
Reply With Quote
  #15   Spotlight this post!  
Unread 10-03-2013, 22:32
taichichuan's Avatar
taichichuan taichichuan is offline
Software Mentor
AKA: Mike Anderson
FRC #0116 (Epsilon Delta)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Herndon, VA
Posts: 328
taichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud oftaichichuan has much to be proud of
Send a message via AIM to taichichuan
Re: New REQUIRED version of C++ libraries

Quote:
Originally Posted by Greg McKaskle View Post
I haven't seen the code, but my understanding is that at last some of the writes were done a byte at a time -- likely with the iostream ++ syntax. That plus the no-delay resulted in lots of packets that made the router unhappy.

I agree with your comment about no-delay. I'd expect the latency to be around as much as 100ms.

Greg McKaskle
Hi Greg,

Yeah, I could believe that. Given the number of packets in normal driver station comms, I could see that there's likely a fair amount of 802.3x flow control packets if the switches are being overrun. However, this sounds like a hack. VxWorks is a very deterministic O/S. If it's resorting to very short payloads, it's likely because there's a resource starvation going on someplace and this is a quick hack to get past the problem. I've seen multiple places in WPILib that look like desktop folks trying to understand operating in real-time -- unsuccessfully. But, they keep introducing additional layers of abstraction hoping to make things easier. However, abstraction layers have a price. I suspect that this small payload issue is one of those prices.

How much longer are we using this control system? There are many ways to improve performance on the 'bot without losing the 3 language support. I've been a long time user and developer on VxWorks. But the reality is that WRS, really isn't doing much to promote the use of VxWorks on the 'bot. They're really missing an opportunity, IMHO.

Thanks,

Mike
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 04:25.

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