Go to Post Surely, we've seen enough new and interesting implementations of technology in FIRST that we won't keep limiting our imagination to the tried and true. - Madison [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-09-2005, 13:06
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Analog-to-Digital Converter Code

For those who might be interested, I've just posted new analog-to-digital converter interface code for IFIs robot controllers. A few advantages of using this software include parallel, non-blocking operation of the ADC hardware, precise control over the sampling period, which is important for signal processing and control applications and the ability to make measurements with greater precision using a technique called oversampling. The code can be found here: http://kevin.org/frc. As always, if you find a bug in the code or a problem with the documentation, please let me know.

-Kevin

Here's the readme file:

Code:
 
The source code in adc.c/.h contains software to setup and run
your robot controllers analog-to-digital converter in the 
background. A few advantages of using this software include 
parallel, non-blocking operation of the ADC hardware, precise 
control over the sampling period, which is important for signal 
processing and control applications and the ability to make more 
precise measurements using oversampling. Number of channels, 
sample rate and oversampling parameters can be changed by 
editing adc.h and re-compiling.
 
This software makes the assumption that when it's running, it 
solely controls the analog to digital conversion hardware.
 
WARNING: The higher sampling rates can place quite a load on
the robot controllers CPU. If you get the red-light-of-death
or notice any general wackiness in the operation of your
robot, first try a lower sampling rate to determine if this
is the problem. In general, you should select the lowest
sampling rate that meets your performance criteria.
 
This source code will work with the Robovation (A/K/A EDU-RC) 
robot controller and the FIRST Robotics robot controller.
 
The included project files were built with MPLAB version 7.20.
If your version of MPLAB complains about the project version, 
the best thing to do is just create a new project with MPLAB's 
project wizard. Include every file except: FRC_alltimers.lib 
and ifi_alltimers.lib and you should be able to build the code.
 
****************************************************************
 
Eight things must be done before this software will work 
correctly with your robot controller:
 
1) A #include statement for the adc.h header file must be 
included at the beginning of each source file that calls the 
functions in adc.c. The statement should look like this: 
#include "adc.h".
 
2) Initialize_ADC() must be called from user_routines.c/
User_Initialization().
 
3) On the EDU-RC, all analog inputs must be configured as 
INPUTs in user_routines.c/User_Initialization().
 
4) The call to Set_Number_of_Analog_Channels() must be removed
or commented out in user_routines.c/User_Initialization().
 
5) The timer 2 interrupt handler, Timer_2_Int_Handler(), and
ADC interrupt handler, ADC_Int_Handler(), must be installed in
User_Routines_Fast.c/InterruptHandlerLow(). See the included 
copy of User_Routines_Fast.c to see how this is done.
 
6) Define the number of analog channels that you'd like this
software to track by opening adc.h and following the embedded
instructions above #define NUM_ADC_CHANNELS.
 
7) For advanced users, analog channels can be oversampled to
decrease noise and gain resolution in your analog measurements.
The oversampling ratio can be changed from the default x16
by commenting-out the line #define ADC_SAMPLES_PER_UPDATE_16
found in adc.h and then removing the // from in front of one
of the other options. Measurement range and resolution can be 
determined from this table:
 
ADC Samples Effective
Averaged Bits of Measurement Voltage
Per Update Resolution Range Per Bit
___________ __________ ___________ _________
1 10 0-1023 4.88 mV
2 10 0-1023 4.88 mV
4 11 0-2047 2.44 mV
8 11 0-2047 2.44 mV
16 12 0-4095 1.22 mV
32 12 0-4095 1.22 mV
64 13 0-8191 610 uV
128 13 0-8191 610 uV
256 14 0-16383 305 uV
8) Finally, pick the master sample rate by selecting one of the available rates found in adc.h. The update rate can be determined using this formula: Update Rate = Sample Rate / (Samples Per Update * Number Of Channels) **************************************************************** Here's a description of the functions in adc.c: Get_ADC_Result_Count() This function returns an unsigned char containing the number of ADC updates generated since Reset_ADC_Result_Count() or Initialize_ADC() were called. Use this function to determine when fresh analog to digital conversion data is ready. Reset_ADC_Result_Count() This function can be called to reset the ADC update counter to zero. Get_ADC_Result() This function can be called to retreive analog to digital conversion results. Call this function with an unsigned char containing the ADC channel you'd like data from. This function will return an unsigned int with the last conversion result. Convert_ADC_to_mV() This function converts the value generated by the ADC to millivolts. Initialize_ADC() This function initializes the ADC hardware and software. It should be called from user_routines.c/User_Initialization(). Once called, analog to digital conversions will automatically take place in the background. Disable_ADC() This function disables the ADC hardware and software. To minimize the load on the microcontroller, this function should be called when the ADC functionality is no longer needed. Initialize_Timer_2() This function initializes and starts timer 2, which initiates a new analog to digital conversion each time the timer 2 interrupt service routine is called. This is called by Initialize_ADC() above and shouldn't be called directly. Disable_Timer_2() This function is called from Disable_ADC() to disable timer 2 and shouldn't be called directly. Timer_2_Int_Handler() This function is automatically called when timer 2 causes an interrupt and shouldn't be called directly. New analog to digital conversions are initiated from this function. ADC_Int_Handler() This function is automatically called when new analog to digital conversion data is ready and shouldn't be called directly.
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org

Last edited by Kevin Watson : 05-09-2005 at 14:22. Reason: Added adc_readme.txt text
  #2   Spotlight this post!  
Unread 05-09-2005, 13:41
mechanicalbrain's Avatar
mechanicalbrain mechanicalbrain is offline
The red haired Dremel gnome!
FRC #0623 (Ohm robotics)
Team Role: Electrical
 
Join Date: Apr 2005
Rookie Year: 2004
Location: Virginia
Posts: 1,221
mechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond reputemechanicalbrain has a reputation beyond repute
Send a message via AIM to mechanicalbrain Send a message via Yahoo to mechanicalbrain
Re: Analog-to-Digital Converter Code

wow thanks allot!
__________________
"Oh my God! There's an axe in my head."
623's 2006 home page
random mechanicalbrain slogans

  #3   Spotlight this post!  
Unread 16-12-2005, 02:14
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Analog-to-Digital Converter Code

I've updated the ADC code to version 0.3. The new version uses the "special event trigger" functionality of the CCP2 module to automatically start an analog to digital conversion without software intervention. This new version generates half of the interrupts/sec of version 0.2. As always, the code can be found here: http://kevin.org/frc

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org

Last edited by Kevin Watson : 16-12-2005 at 02:18. Reason: Added link to the code.
  #4   Spotlight this post!  
Unread 10-01-2006, 23:20
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Well, I finally posted the ADC and Gyro code for the 2006 robot controller. Sorry about the delay, but I ran into a nasty bug that caused me to spend a few days in the fourth and fifth levels of programmer hell. The bug was in the design of the PIC18F8722 (yes, a bug in the sillicon) and I had to figure out what was going on. Anyway, the gyro code works really, really well with the gyro in the kit of parts. The accelerometers also work really well, but I need to do more testing before I unleash that code.


-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #5   Spotlight this post!  
Unread 12-01-2006, 03:48
Joel J's Avatar
Joel J Joel J is offline
do you..
no team
 
Join Date: May 2001
Rookie Year: 2000
Location: San Jose, CA
Posts: 1,445
Joel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Let's suppose there are four analog signals being sampled and "buffered" by your code. The gyro is running on ADC_CH0 and the other three channels are for other devices. How do we know when the gyro specifically has new data available? I saw the ~update_count~ variable, but it seemed to just indicate when any new sample is available, not when the sample for a specific channel is. Am I going to have to modify your code (maybe add an array of update_counts, with each index correspondent with the channel's freshness of data?) to allow this functionality, or is it already there and I'm just not seeing it?
__________________
Joel Johnson

Division By Zero (229) Alumni, 2003-2007
RAGE (173) Alumni, 1999-2003
  #6   Spotlight this post!  
Unread 12-01-2006, 11:47
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Quote:
Originally Posted by Joel J.
Let's suppose there are four analog signals being sampled and "buffered" by your code. The gyro is running on ADC_CH0 and the other three channels are for other devices. How do we know when the gyro specifically has new data available? I saw the ~update_count~ variable, but it seemed to just indicate when any new sample is available, not when the sample for a specific channel is. Am I going to have to modify your code (maybe add an array of update_counts, with each index correspondent with the channel's freshness of data?) to allow this functionality, or is it already there and I'm just not seeing it?
The update flag only gets incremented after all enabled ADC channels have been refreshed. You can get less latency (if that's what you're after) by doing the modification you described, or by just moving the gyro to the last enabled channel and continue using Get_ADC_Result_Count().

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #7   Spotlight this post!  
Unread 17-01-2006, 12:33
PhilBot's Avatar
PhilBot PhilBot is offline
Get a life? This IS my life!
AKA: Phil Malone
FRC #1629 (GaCo: The Garrett Coalition)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Maryland
Posts: 747
PhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Hi Kevin...

Excellent code. I'm trying to get some early Auto-Heading code testing done using an existing Robot. I was hoping I could use the team's little 2003 EDU robot as a test platform.

I'm an experienced embedded programmer, but new to the IFI hardware.

I tried deploying your gyro code on the small EDU controller. I discovered that when I included the new ADC module I got a program run error light, so I dropped back to the standard iti_utilities code for the ADC conversion. (I assumed a basic hardware incompatibility....)

My only problem is that now I'm not sure where to put the call to Process_Gyro_Data().

I'd like to put it in User_Routines_Fast.c but I don't have your ADC code installed so I don't know when the converters have got new values. D'oh.

Am I flogging a dead horse here, or is there a simple way to use the standard IFI analog utilities to drive your Gyro code? I'm only using a single analog channel (for the Gyro) so that may simplify things. I don't need fully calibrated data for my initial testing... I just need it to basically run. If I can get the calls IN, I can get the rest to work.

Thanks for your time.
Phil.


Quote:
Originally Posted by Kevin Watson
Well, I finally posted the ADC and Gyro code for the 2006 robot controller. .

-Kevin
  #8   Spotlight this post!  
Unread 17-01-2006, 12:40
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Quote:
Originally Posted by PhilBot
Hi Kevin...

Excellent code. I'm trying to get some early Auto-Heading code testing done using an existing Robot. I was hoping I could use the team's little 2003 EDU robot as a test platform.

I'm an experienced embedded programmer, but new to the IFI hardware.

I tried deploying your gyro code on the small EDU controller. I discovered that when I included the new ADC module I got a program run error light, so I dropped back to the standard iti_utilities code for the ADC conversion. (I assumed a basic hardware incompatibility....)

My only problem is that now I'm not sure where to put the call to Process_Gyro_Data().

I'd like to put it in User_Routines_Fast.c but I don't have your ADC code installed so I don't know when the converters have got new values. D'oh.

Am I flogging a dead horse here, or is there a simple way to use the standard IFI analog utilities to drive your Gyro code? I'm only using a single analog channel (for the Gyro) so that may simplify things. I don't need fully calibrated data for my initial testing... I just need it to basically run. If I can get the calls IN, I can get the rest to work.

Thanks for your time.
Phil.
Phil,

Gyro code for the EDU-RC can be found on my website.

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #9   Spotlight this post!  
Unread 17-01-2006, 13:18
PhilBot's Avatar
PhilBot PhilBot is offline
Get a life? This IS my life!
AKA: Phil Malone
FRC #1629 (GaCo: The Garrett Coalition)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Maryland
Posts: 747
PhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Oops.

I'm in "drinking from a fire-hose" mode and never seem to look in the right place for information. Just when I think I've downloaded enough... I find more.. After posting, I discovered your adc_readme file which let me go through and add your stuff to our teem's prior EDU-RC code. Now I don't get an error & the gyro seems to be working as with the 2006RC.

Now with this new information I can double check against your webiste archives if need be.

Thanks.
I'll look harder next time.
Phil

Quote:
Originally Posted by Kevin Watson
Phil,

Gyro code for the EDU-RC can be found on my website.

-Kevin
  #10   Spotlight this post!  
Unread 17-01-2006, 14:45
Der Rowan's Avatar
Der Rowan Der Rowan is offline
Registered User
AKA: Capn Rowan
FRC #1531 (Lake Effect)
Team Role: Engineer
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Oswego, NY
Posts: 6
Der Rowan is an unknown quantity at this point
Send a message via AIM to Der Rowan
Smile Re: Analog-to-Digital Converter Code

Hello all,

First off, I want to thank kevin for writing this code.
This *should* help us use all those sensors we just looked at and admired last year as rookies.

Unfortunately, our team is not gifted with a large number (read - 0) dedicated programmers. So I'm not too far ahead of the kids at this point which disappoints me because I cant really help them the way I should be (when I barely know anything myself).

But I did read all the readme.txt files associated with the code Kevin's supplied, and I have 2 main questions which deal with getting the code and hardware on the same page.

1. After I hook up my PWMs to the sensor (take your pick) and plug it into the RC's analog input, how do I make the code know which port I'm looking at?

and

2. How do I test / troubleshoot / even see the output from the sensor?
Is there some easy way to use a "print to a .txt file" or something? (something I'd try on a PC) Better yet, what is the BEST way to get all the information? I'm seeing outputs in some of these posts mentioning the same kind of scaling that you see when you output to one of the motors. So should I find some way to get the info back to the dashboard (which I still need to set up). Even with that, we need to integrate (for many of the sensors) and seeing the value at any one time wont tell us too much.

Hope I'm not being too redundant or posting in the wrong place. If any of my questions indicate that I'm just fundamentally wrong, point that out too, please.

It's all for the kids and the future,
Aaron
__________________
Where's my Burger's vector?
  #11   Spotlight this post!  
Unread 18-01-2006, 14:05
Dave75 Dave75 is offline
Registered User
AKA: Dave Blackburn
FRC #0075 (RoboRaiders)
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Hillsborough, NJ
Posts: 6
Dave75 is an unknown quantity at this point
Re: Analog-to-Digital Converter Code

Quote:
Originally Posted by Kevin Watson
Well, I finally posted the ADC and Gyro code for the 2006 robot controller. ...
Kevin,

The adc_readme.txt says to remove the call to Set_Number_of_Analog_Channels() in user_routines.c. But the user_routines.c file included in the same zip (frc_adc.zip) still has it in. Same situation in the user_routines.c file in the frc_gyro.zip.

So, should the call remain as is, or be commented out?

Thanks
  #12   Spotlight this post!  
Unread 18-01-2006, 14:13
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Analog-to-Digital Converter Code

Quote:
Originally Posted by spiff
Kevin,

The adc_readme.txt says to remove the call to Set_Number_of_Analog_Channels() in user_routines.c. But the user_routines.c file included in the same zip (frc_adc.zip) still has it in. Same situation in the user_routines.c file in the frc_gyro.zip.

So, should the call remain as is, or be commented out?

Thanks
Hmmm... I guess I should follow my own instructions <grin>. Actually, it doesn't matter as long as the call to Initialize_ADC() happens after the call to Set_Number_of_Analog_Channels() (it does in all the ADC-related code I've posted). If you're happy with my code, I'd just remove the call to Set_Number_of_Analog_Channels(), otherwise just comment it out in case you want to fall back to IFI's code.

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #13   Spotlight this post!  
Unread 20-01-2006, 22:47
Chriszuma's Avatar
Chriszuma Chriszuma is offline
Jack of all trades
AKA: Chris Hammond
FRC #0068 (Truck Town Thunder)
Team Role: Alumni
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Clarkston, MI
Posts: 290
Chriszuma is just really niceChriszuma is just really niceChriszuma is just really niceChriszuma is just really nice
Send a message via AIM to Chriszuma
Re: Analog-to-Digital Converter Code

Okay, I know this is getting kind of abstract, and not truly necessary to a "black box" understanding of this code, but how exactly does oversampling work? I looked it up on wikipedia, and all i got was more confused. I understand that is is supposed to give more precision, but I really don't understand how.

Thanks.
__________________
2006 T3 World Tour: Great Lakes - Waterloo - Palmetto - IRI
2006 Awards: Motorola Quality - RadioShack Innovation in Control

My website: http://zuma.phire.org/
Truck Town Thunder's website: http://trucktownthunder.com/
  #14   Spotlight this post!  
Unread 20-01-2006, 23:24
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,113
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: Analog-to-Digital Converter Code

Oversampling is essentially taking a number of samples and averaging them. If you average four samples, you get the equivalent of two more bits of resolution, but it takes four times as long to get the value. It trades time for precision.
  #15   Spotlight this post!  
Unread 21-01-2006, 01:15
Chriszuma's Avatar
Chriszuma Chriszuma is offline
Jack of all trades
AKA: Chris Hammond
FRC #0068 (Truck Town Thunder)
Team Role: Alumni
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Clarkston, MI
Posts: 290
Chriszuma is just really niceChriszuma is just really niceChriszuma is just really niceChriszuma is just really nice
Send a message via AIM to Chriszuma
Re: Analog-to-Digital Converter Code

so then does it take values 4x faster? It seems like taking the average over 4 program cycles would make it less precise.
__________________
2006 T3 World Tour: Great Lakes - Waterloo - Palmetto - IRI
2006 Awards: Motorola Quality - RadioShack Innovation in Control

My website: http://zuma.phire.org/
Truck Town Thunder's website: http://trucktownthunder.com/
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
Out of the Box Camera Code russell Programming 9 21-10-2009 05:28
Updated: Example Gyro Interface Code Kevin Watson Programming 2 28-03-2005 04:36
Example gyro code released. Kevin Watson Programming 60 17-03-2005 18:32
Team THRUST - Kevin's Code and Camera Code Combine Chris_Elston Programming 3 31-01-2005 22:28
heres the code. y this not working omega Programming 16 31-03-2004 15:18


All times are GMT -5. The time now is 16:09.

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