Go to Post Our Digital Sidecar can attract metal chips from distant planets. - electroken [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: 6 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 01-19-2012, 11:13 PM
RufflesRidge RufflesRidge is offline
Registered User
no team
 
Join Date: Jan 2012
Location: USA
Posts: 985
RufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant future
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by mikets View Post
That's what I thought, but I got it off the latest from first forge.
http://firstforge.wpi.edu/sf/scm/do/...cts.wpilib/scm
I don't think that code is updated any more. Instead the source is installed by the update. Into C:\windriver\wpilib as a zip file if I remember right. I believe the update is just a self-extracting archive so you should be able to dig the source out of it by renaming it to .zip if you're on a Linux machine
Reply With Quote
  #2   Spotlight this post!  
Unread 01-19-2012, 11:19 PM
aeniug2's Avatar
aeniug2 aeniug2 is offline
Registered User
AKA: Joseph
FRC #2879 ("Orange Thunder")
Team Role: Mentor
 
Join Date: Apr 2010
Rookie Year: 2010
Location: St. Louis park
Posts: 150
aeniug2 will become famous soon enoughaeniug2 will become famous soon enough
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by RufflesRidge View Post
I don't think that code is updated any more. Instead the source is installed by the update. Into C:\windriver\wpilib as a zip file if I remember right. I believe the update is just a self-extracting archive so you should be able to dig the source out of it by renaming it to .zip if you're on a Linux machine
you do remember right
thats where I get the source code I read to learn more about motor control and joysticks.
__________________
Reply With Quote
  #3   Spotlight this post!  
Unread 01-19-2012, 11:26 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by RufflesRidge View Post
I don't think that code is updated any more. Instead the source is installed by the update. Into C:\windriver\wpilib as a zip file if I remember right. I believe the update is just a self-extracting archive so you should be able to dig the source out of it by renaming it to .zip if you're on a Linux machine
Thank you for reminding me. I used to get the source from there but ever since I enlisted to the first forge sources, I thought it would be the latest there but I guess I am wrong. But if the zip'd version is the latest (WPILibC++Source20120108rev2993.zip), then it is even worse because according to sensorbase.h, all modules default to slot 1!
Code:
        static UINT32 GetDefaultAnalogModule() { return 1; }
        static UINT32 GetDefaultDigitalModule() { return 1; }
        static UINT32 GetDefaultSolenoidModule() { return 1; }
__________________
Reply With Quote
  #4   Spotlight this post!  
Unread 01-19-2012, 11:28 PM
RufflesRidge RufflesRidge is offline
Registered User
no team
 
Join Date: Jan 2012
Location: USA
Posts: 985
RufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant future
Re: 4-slot cRIO and default modules

That's because it's not a slot number. The whole paradigm for referencing the modules has changed to support the 4-slot cRIO. The 1st of each module (analog, digital, solenoid) in slots 1-3 is module 1 of that type. The 2nd instance (slot 4 on 4-slot, slots 5-7 on 8-slot) is module 2 of each type.
Reply With Quote
  #5   Spotlight this post!  
Unread 01-19-2012, 11:39 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Ah I see. So in other words, all the methods involving modules (previously slots) are incompatible with previous versions. For example, for the gyro module, one of the constructors Gyro(UINT8 moduleNumber, UINT32 channel) is no longer compatible with the previous version Gyro(UINT32 slot, UINT32 channel). If I have old code that instantiate a gyro with a secondary Analog module in slot 3, for example. The code would look like Gyro(3, 1). But for this year, I have to put the secondary analog module in slot 5 (assuming a 8-slot cRIO) and initiate it with Gyro(2, 1). Does it sound about right?

Does it mean that I can no longer put the modules anywhere I want but it has to be "Analog, Digital, Solenoid, ???" in that order? Or the WPILib is smart enough so that I can put, for example, 3 analog modules anywhere, and I can address them by naming them 1 (1st instance of analog), 2 (2nd instance of analog) and 3 (3rd instance of anlog) since it can read the module ID in each slot.
__________________

Last edited by mikets : 01-19-2012 at 11:42 PM.
Reply With Quote
  #6   Spotlight this post!  
Unread 01-19-2012, 11:44 PM
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,547
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: 4-slot cRIO and default modules

Quote:
Originally Posted by mikets View Post
Does it mean that I can no longer put the modules anywhere I want but it has to be "Analog, Digital, Solenoid, ???" in that order?
You've never been able to put the modules anywhere you wanted. Analog were slots 1 &2 (rules dictated you had to use slot 1), Digital were slots 4 & 6 (rules dictated you had to use slot 4), Solenoid were 7 & 8.
Reply With Quote
  #7   Spotlight this post!  
Unread 01-19-2012, 11:46 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by Joe Ross View Post
You've never been able to put the modules anywhere you wanted. Analog were slots 1 &2 (rules dictated you had to use slot 1), Digital were slots 4 & 6 (rules dictated you had to use slot 4), Solenoid were 7 & 8.
I meant "in theory". I am trying to understand the new paradigm, not that I really want to stick 3 analog modules in the cRIO.
__________________
Reply With Quote
  #8   Spotlight this post!  
Unread 01-19-2012, 11:44 PM
RufflesRidge RufflesRidge is offline
Registered User
no team
 
Join Date: Jan 2012
Location: USA
Posts: 985
RufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant futureRufflesRidge has a brilliant future
Re: 4-slot cRIO and default modules

That all sounds about right, other than that you could never put the modules wherever you wanted as far as I know. I believe it used to be Analog in 1 and 2 (may have been 1 and 3), Digital in 4 and 6 and solenoid in 7 and 8.

And yes, backward code comparability has not been maintained. All code that specifically referenced slot numbers (other than analog slot 1 which is 1 either way) must be updated to work in order to work with the new libraries and image.

EDIT: Just saw your edit. You must put Analog, Digital, Solenoid in that order in slots 1-3 on either cRIO (solenoid may be omitted). On the 4 slot, the 4th slot can be any module. On the 8 slot the pattern repeats with slots 5-7 with 4 and 8 left empty (any of the "extra" modules may be omitted, but the modules may not be shuffled around).

There's a description of the new paradigm in the C++ Getting Started Guide: http://firstforge.wpi.edu/sf/go/doc1197?nav=1

Last edited by RufflesRidge : 01-19-2012 at 11:50 PM.
Reply With Quote
  #9   Spotlight this post!  
Unread 01-19-2012, 11:52 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by RufflesRidge View Post
EDIT: Just saw your edit. You must put Analog, Digital, Solenoid in slots 1-3 on either cRIO. On the 4 slot, the 4th slot can be any module. On the 8 slot the pattern repeats with slots 507 with 4 and 8 left empty.
So again, just to make sure I understand it correctly. In theory, if I put three analog modules in the 8-slot cRIO, the first one in slot 1, the second one in slot 4 and the third one in slot 5 (I suppose this is still legal ). I can address them by:
Code:
Gyro(1, 1);    //Gyro in slot 1, channel 1
Gyro(2, 1);    //Gyro in slot 4, channel 1
Gyro(3, 1);    //Gyro in slot 5, channel 1
Does it sound right? If so, they should have called it "instance" instead of "moduleNumber".
__________________

Last edited by mikets : 01-19-2012 at 11:54 PM.
Reply With Quote
  #10   Spotlight this post!  
Unread 01-20-2012, 12:37 AM
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by mikets View Post
So again, just to make sure I understand it correctly. In theory, if I put three analog modules in the 8-slot cRIO, the first one in slot 1, the second one in slot 4 and the third one in slot 5 (I suppose this is still legal ). I can address them by:
Code:
Gyro(1, 1);    //Gyro in slot 1, channel 1
Gyro(2, 1);    //Gyro in slot 4, channel 1
Gyro(3, 1);    //Gyro in slot 5, channel 1
Does it sound right? If so, they should have called it "instance" instead of "moduleNumber".
Not right. No modules are supported in Slots 4 or 8 of an 8-slot FRC-cRIO.
Reply With Quote
  #11   Spotlight this post!  
Unread 01-20-2012, 12:41 AM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Quote:
Originally Posted by Alan Anderson View Post
Not right. No modules are supported in Slots 4 or 8 of an 8-slot FRC-cRIO.
You said no modules are supported in slot 4 or 8. Is it because it's not allowed by the rules or is it because the code won't accept anything in slot 4 or 8?
__________________
Reply With Quote
  #12   Spotlight this post!  
Unread 01-20-2012, 09:54 AM
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,547
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: 4-slot cRIO and default modules

Quote:
Originally Posted by mikets View Post
You said no modules are supported in slot 4 or 8. Is it because it's not allowed by the rules or is it because the code won't accept anything in slot 4 or 8?
The code doesn't support it because the hardware (FPGA) doesn't support it.
Reply With Quote
  #13   Spotlight this post!  
Unread 01-20-2012, 01:24 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: 4-slot cRIO and default modules

Sorry about beating the dead horse but I am just curious about why the cRIO has the extra slot and the FPGA does not support it. It seems to me the extra slot is very useful especially in the 4-slot cRIO. For example, it is quite easy to run out of digital I/O channels with encoders taking 2 channels each, teams may want to stick another digital module in slot 4, for example.
Also RufflesRidge mentioned slot 4 of the 4-slot cRIO can take any modules.
__________________
Reply With Quote
  #14   Spotlight this post!  
Unread 01-20-2012, 01:40 PM
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,697
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: 4-slot cRIO and default modules

You can stick whichever module you need in slot-4 of the cRIO FRC II.
The older cRIO FRC I, was just given the 3+0+3+0 pattern as a design choice. We are unlikely to mix the two up.

The FPGA is really full with all it's been given to do.
Excess capacity got sucked up to benefit us in other much more potentially useful ways.

All resources are limited in one way or another.
Engineering is designing and choosing between the optimal tradeoffs for our application.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle

Last edited by Mark McLeod : 01-20-2012 at 01:44 PM.
Reply With Quote
  #15   Spotlight this post!  
Unread 01-20-2012, 05:00 PM
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
Smile Re: 4-slot cRIO and default modules

Quote:
Originally Posted by mikets View Post
So again, just to make sure I understand it correctly. In theory, if I put three analog modules in the 8-slot cRIO, the first one in slot 1, the second one in slot 4 and the third one in slot 5 (I suppose this is still legal ). I can address them by:
Code:
Gyro(1, 1);    //Gyro in slot 1, channel 1
Gyro(2, 1);    //Gyro in slot 4, channel 1
Gyro(3, 1);    //Gyro in slot 5, channel 1
Does it sound right? If so, they should have called it "instance" instead of "moduleNumber".
You must have grown up only on a Windows machine. Windows only supports (without weird hacks) absolute paths for shortcuts. If you had grown up with Linux you would have used the symbolic links method (relative paths - module numbers not slot numbers). Then the code wouldn't have to be changed .

Speaking of dead horses...this is just wrong. LOL

- Bryce
__________________
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


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