Go to Post “Nothing defines humans better than their willingness to do irrational things in the pursuit of phenomenally unlikely payoffs” - Scott Adams - 114Klaatu0x72 [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 04-05-2010, 03:27 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: KwarQs 2010 C++ Code Released

I am glad you guys have similar idea of sharing information. I would go further to also share methodologies of how we did things such as source control, information sharing and other knowledge. It is always intriguing to learn how things are done differently and learn from it.

This is the first year our team uses C++. We have an ambition that we will develop a common robot task library that enables code reuse year after year instead of debugging similar yet different code over and over again. Therefore, we have put extraordinary effort in refactoring the code as generic as possible. As a result of developing this library, we also put in place a debugging infrastructure based on real time tracing. We would like to share this with other teams and receive feedback on how to improve this library. Since this is our first attempt, the library is in its infancy. There are a lot of functions we would like to add but aren't there yet. Currently, the library has the following support:
  • Tri-zone support for analog inputs: generating events when sensor value crosses some thresholds.
  • Event notification for digitial inputs: generating events when a digital input changes state.
  • Event notification for joystick buttons: generate one-shot event when a joystick button changes state.
  • Generic state machine: implementing a non-blocking state machine that allows other code to run while the state machine is waiting.
  • Event sub-system: implementing non-blocking waitable events for use by the state machines.
  • Accelerometer module: allows it to be used as a distance sensor for PID control.
  • Generic drive module: allows a event driven non-blocking drive subsystem.
  • Timer module: implements a timer callback mechanism.
  • Two variable PID control system: allowing PID to control drive and turn at the same time.
  • Debug tracing subsystem: allows code tracing of individual classes and modules during the debugging process.

Our source control site can be found at:
http://proj.titanrobotics.net/hg/Frc/2010/code

Comments and feedbacks are welcome.
__________________
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
2423 The KwarQs AmoryG Robot Showcase 3 03-31-2010 06:17 PM
Team 1676-2006 Source Code Released! nukem Programming 21 03-26-2006 11:17 PM
Example gyro code released. Kevin Watson Programming 60 03-17-2005 06:32 PM
Example accelerometer code released. Kevin Watson Programming 0 01-20-2005 03:45 AM
Infrared Beacon and Sensor Diagnostics Code Released Kevin Watson Programming 3 02-25-2004 05:50 PM


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