Go to Post Hey, SHIFT HAPPENS.... - David Kelly [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

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-10-2010, 21:53
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Several questions (language comparison)

Quote:
Originally Posted by Radical Pi View Post
Team 639 used a rotating kicker and had a IR sensor that pulsed a Digital Line whenever the kicker reached a certain angle.
Why did you need an ISR to handle this? Was 20ms not fast enough?



  #2   Spotlight this post!  
Unread 05-10-2010, 22:46
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Several questions (language comparison)

Quote:
Originally Posted by Ether View Post
Why did you need an ISR to handle this? Was 20ms not fast enough?
Our kicker rotated and launched outward when the kick button was pressed. The rotations were at an extremely high speed. To prevent the kicker from coming out at an unpredictable and generally unfavorable angle, we used the sensor as an interrupt to make sure the kicker could come out at a predictable angle. As the speed of the rotator increased, the range of angles for a good kick decreased, so the room for error in the timing of the code wouldn't allow for timing of the kick to occur in the main loop. The interrupt checks a flag for whether to kick, and also will delay the kick as needed to compensate for the speed of the kicker (without the extra timing code, the kicker only works around 75% power)
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
  #3   Spotlight this post!  
Unread 05-10-2010, 23:07
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Several questions (language comparison)

Quote:
Originally Posted by Radical Pi View Post
The interrupt checks a flag for whether to kick, and also will delay the kick as needed to compensate for the speed of the kicker (without the extra timing code, the kicker only works around 75% power)
What is the worst-case execution time of the ISR from the time it receives control until it returns? Do you enable interrupts in the ISR, or leave them disabled?



  #4   Spotlight this post!  
Unread 05-10-2010, 23:20
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Several questions (language comparison)

Quote:
Originally Posted by Ether View Post
What is the worst-case execution time of the ISR from the time it receives control until it returns? Do you enable interrupts in the ISR, or leave them disabled?
I'm not sure of the exact number as I didn't write the timing code for it, but I think the time to run it is almost nothing. The only slow operation is the wait to delay the kick, but that would be a very small wait.

The interrupt is setup through WPILib, so I have no idea if interrupts during interrupts are enabled (never seen any problems though).
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
  #5   Spotlight this post!  
Unread 06-10-2010, 00:20
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Several questions (language comparison)

Quote:
Originally Posted by Radical Pi View Post
I'm not sure of the exact number as I didn't write the timing code for it, but I think the time to run it is almost nothing. The only slow operation is the wait to delay the kick, but that would be a very small wait.
When you say "very small" do you mean, say, a few microseconds?

Or are you talking milliseconds?



  #6   Spotlight this post!  
Unread 08-10-2010, 12:18
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Several questions (language comparison)

Quote:
Originally Posted by Ether View Post
When you say "very small" do you mean, say, a few microseconds?

Or are you talking milliseconds?
I think it's in the single digit milliseconds, but again I'm making a guess from the speed of our kicker
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
Closed Thread


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
Several questions... elbuo NI LabVIEW 0 16-02-2010 02:14
joystick comparison within percentage IceStorm NI LabVIEW 4 20-03-2009 00:19
Aluminum sprockets for drive train - several questions M. Mellott Technical Discussion 16 16-12-2008 15:53
Several questions Amittt 3D Animation and Competition 8 02-02-2006 18:21
Comparison Paper ? Steve W General Forum 13 09-11-2004 16:37


All times are GMT -5. The time now is 03:33.

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