Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Interactive DashBoard (http://www.chiefdelphi.com/forums/showthread.php?t=58312)

6600gt 31-07-2007 04:45

Interactive DashBoard
 
5 Attachment(s)
Hi everyone, it has been over a year and I am finally ready to release a beta version. I hope you guys like it.

I knew that no matter how much I begged and screamed, the robot would never be completed with enough time for any decent programming time left. I knew many were on the same boat. Thus, I embarked on developing a program that would allow for more to be accomplished in less time. You never have enough time for programming! Debugging was the most time consuming part of the software development. Since the IFI hardware restrictions don’t allow for the use of In-circuit debuggers, I realized that viewing variables values as they progressed through a function was the best way to debug. This application is intended to improve debugging efficiency by reducing the number of code downloads, allowing to view 10 different variables simultaneously and graph 5 of them, view tons of camera data, and directly control PWMs for hardware diagnostics, all at the same time and in real time. No re-flashing is required to change which variable is being viewed in each column!

This program has been in development for over a year. The DataView has been field tested during the 2007 season and proven to be very effective. It has been the most complex project I have ever worked on with a combination of RC hardware and software along with Visual C++ application development. I have tried to maintain efficiency and reliability in the RC code. But on the Visual C++ application side I only worried about reliability since the PC processor is far more capable and thus, easily able to process application code.

CAUTION: I have tried my best to put the highest priority on safety. The PWM control has not been field tested, thus I cannot guarantee %100 safety while using the PWM. Yet the system has many fail-safes. If the program cord is disconnected, serial port turned off, or the RESET/STOP is clicked, the pwms, relays, and joysticks controls will all reset to default (127 or 0).

NOTE: The reason for its current release is to see if people are interested, and for me to understand problems other might have with their RC or PC while implementing this setup. Right now only the DataView (without data logging), Camera, and PWM work. If people are interested and not too many serious problems are experienced, then a more complete package will be released.

If you want to test it out first, I have included a compiled hex file for the 06-7 RC with the source code. Download this to the RC using the IFI loader and fire up DashBoard for testing. You still need to follow instructions 1 and 2 from “How to get started” in the DashBoard_readme.doc


Requirements:
PC:
.NET Framework 2 or above
MPLAB
RC:
Kevin Watson’s Serial Port
Kevin Watson’s Camera Code (if using the camera feature)
Up the RX1 buffer to 64 in serial_ports.h

If you guys have critiques on anything, please let me know. This is my first release ever so I really don't know what I am doing. I need to give a special thanks to Kevin Watson for all his marvelous code.

6600gt 31-07-2007 11:41

Re: Interactive DashBoard
 
1 Attachment(s)
I can only upload 5 files at a time so here is the last picture. What do you guys think?

eshteyn 31-07-2007 13:53

Re: Interactive DashBoard
 
the program is absolutely fantastic, you did an amazing job

6600gt 31-07-2007 14:07

Re: Interactive DashBoard
 
Quote:

Originally Posted by eshteyn (Post 637292)
the program is absolutely fantastic, you did an amazing job

Thanks, did you have any problems with the instructions or getting it running?

EVERYONE:
I might not have made this clear because it got buried in the instructions, but you need to DISABLE ANY DIAL-UP/FAX modems on your computer(use the device manager). I don't know if this affects USB to Serial converters. For some reason it screws with the serial port and outputs garbage data.

EHaskins 31-07-2007 14:22

Re: Interactive DashBoard
 
Looks great! I haven't had a chance to test it on a robot, but it looks like it could be a lot of help debugging.

bear24rw 31-07-2007 17:06

Re: Interactive DashBoard
 
This looks awsome i'll definitely be trying it out next time i get a chance

6600gt 02-08-2007 16:33

Re: Interactive DashBoard
 
How many are interested?

Has any one gotten a chance to test it?

I would like some feedback on how it's working for others so I can make the required modifications.

lynca 03-08-2007 14:35

Re: Interactive DashBoard
 
It would be nice if this code could be modified to also work with the vex system. That will give a wider user base to develop the features of an interactive dashboard. Hopefully soon we will have a common serial interface to control the FRC RC with a any type of programming language. Overall, great potential !

bear24rw 03-08-2007 17:22

Re: Interactive DashBoard
 
Quote:

Originally Posted by lynca (Post 637680)
Hopefully soon we will have a common serial interface to control the FRC RC with a any type of programming language.

That really wouldnt be that hard to do, we just need to make a standard protocal. Then you can control it through a program running on your computer or you could add a seperate board running, say java that would communicate with the RC over the serial port

whytheheckme 03-08-2007 21:27

Re: Interactive DashBoard
 
zor!

This looks rockin'!!

I can't wait to try it out. This sounds like a 74-hour-marathon-programmer's dream app!

Keep up the good work!

Jacob

6600gt 03-08-2007 22:36

Re: Interactive DashBoard
 
Quote:

Originally Posted by lynca (Post 637680)
It would be nice if this code could be modified to also work with the vex system. That will give a wider user base to develop the features of an interactive dashboard. Hopefully soon we will have a common serial interface to control the FRC RC with a any type of programming language. Overall, great potential !

I believe most people that use vex, probably use Easy C. I don't have either the vex system or the Easy C system to play with. But all we have to do is port over Kevin Watson's serial port code and my DashBoard code and it should work very. I can port over the DashBoard code but I need some one else who knows how to work with interrupts on the Vex to port over the serial code. We could probably have a checkbox or something on the DashBoard, to switch between the RC and the Vex.

EHaskins 03-08-2007 23:14

Re: Interactive DashBoard
 
I've successfully used Kevin's Serial, Camera, and ADC code on the Vex platform.

Since the processors used in the pre-2006 FRC RC is the same as the Vex controller, following Kevin's instructions to run his code on the old or EDU controllers will work for Vex. The only difference is that you need to use the Vex library, which is in the vex "starter code" available here.

EDIT: The instructions I refer to are in the readmes for each of Kevin's projects.

6600gt 04-08-2007 11:23

Re: Interactive DashBoard
 
Quote:

Originally Posted by EHaskins (Post 637730)
I've successfully used Kevin's Serial, Camera, and ADC code on the Vex platform.

Since the processors used in the pre-2006 FRC RC is the same as the Vex controller, following Kevin's instructions to run his code on the old or EDU controllers will work for Vex. The only difference is that you need to use the Vex library, which is in the vex "starter code" available here.

EDIT: The instructions I refer to are in the readmes for each of Kevin's projects.

You used MPLAB and C18 for this, right? I don't know much about Vex but what do most people use to program their VEX system, MPLAB or Easy C?

If you have gotten the serial port code to work, then all you have to do is include the DashBoard.c/h and setup the user_routines.c similar to the sample code(or follow the DashBoard_readme.doc instructions)...maybe get rid of the camera stuff...Does anyone use the camera with the VEX?

EHaskins 04-08-2007 15:49

Re: Interactive DashBoard
 
Quote:

Originally Posted by 6600gt (Post 637754)
You used MPLAB and C18 for this, right? I don't know much about Vex but what do most people use to program their VEX system, MPLAB or Easy C?

If you have gotten the serial port code to work, then all you have to do is include the DashBoard.c/h and setup the user_routines.c similar to the sample code(or follow the DashBoard_readme.doc instructions)...maybe get rid of the camera stuff...Does anyone use the camera with the VEX?

I use c18 for Vex, the IDE I use changes frequently, but it's normally MPLab. From what I've seen most people are using EasyC for Vex, but like I said the processor is almost the same as the FRC RC, so most tools are compatible with both.

I've used the camera without any issues, there are porting instructions for that code as well.

6600gt 06-08-2007 04:11

Re: Interactive DashBoard
 
Quote:

Originally Posted by EHaskins (Post 637782)
I use c18 for Vex, the IDE I use changes frequently, but it's normally MPLab. From what I've seen most people are using EasyC for Vex, but like I said the processor is almost the same as the FRC RC, so most tools are compatible with both.

I've used the camera without any issues, there are porting instructions for that code as well.

I would gladly help anyone port over the code to VEX. Still, has anyone gotten a chance to test it?

To continue progress, which one should I continue working on right now:
  • Joystick (Allows you to simulate all of the OI inputs from the PC)
  • DataView data Logging into text file
  • Text file based PWM name memory


All times are GMT -5. The time now is 22:38.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi