I am new to C, C++, and programming in general. The only programming experience I have is in PBasic for the 3 years I have been involved in FIRST. I find I learn best through examples rather than long explanations. For that reason I was wondering if someone could give me a few examples here, as detailed as possible.
If anyone has a pump delay program that say, only let the pump turn on 300 cycles after the pressure sensor closed, and that turned the pump off as soon as the sensor opened. Also how many cycles is 1 second (i know it used to vary with length of code).
Also if someone has a pump delay that turns the pump off when one sensor opened, and on when the other one closed (as i think most teams used to do).
Please include which files to put what in and why. Like I said I am very new to this. any other codes you can offer would be much appreciated. the more I have to look at and compare the faster i will be able to learn it.
Thanks
There is no need to “guestimate”. The PIC has a number of timers built in… Please read the manual for details.
OK Here’s how to pull it off:
The main File you want to edit is User_Routines.c, not User_Routines_Fast, or anything else(for the main loop).
Scroll down to the Process_Master_uP Function. This is the main loop. Start writing after the Get_tx command.
Since User_Routines.C executes every 17ms, One Second is equal to 58 cycles.
This is how I handle my autonomous code(sorta):
counter ++; //This makes the counter value increase by one every cycle
if (counter > 300)
{
Do_Function_2
else
Do_Function_1
}
Thats the Guts of it. I would browse the alias.h file, so you can see what variables are mapped to what inputs/outputs.
If you’re having trouble with C, it’s not TOO different from basic, once you get used to it. You can find some info on C here:
http://www.strath.ac.uk/IT/Docs/Ccourse/
Just scroll around and take a look.
I personally spent this past summer reading Sams latest “Learn C++ in 24 hours” book, and my dad’s old Kernighan & Ritchie Books. I also keep the ol’ Harbison & Steele C reference manual around for when things get funny.
I think I might post a sample auto program up in the white papers and link it here. I use a table-based method of control. An array holds movement data, with the time for each function to last. This can be adapted with extreme ease.
Anyway, hope this helped a little bit.