Thanks all for the great help. Here’s what we did this past few days.
(1) My son Alex fully assembled the robot kit according to all of the instructions and it worked perfectly the first time!!
(2) We learned how to download new firmware to the robot and run it.
(3) We learned how to rebuild source code using the MPLAB software and download it to the robot.
(4) We managed to modify the software to detect all of the various buttons and controls available on the wirleless transmitter. This was fun to do. We learned how to add ‘printf’ statements to see that our code changes were running as we expected.
So, here is where we are stuck. Now that we know how to read the inputs we would like to change how the outputs work. However, we have searched and searched the sample source code and cannot find the code which controls the motors!???
Obviously the motors are working since we can still drive the robot around.
Where can we learn about sending signals to the motor outputs?
One of my concerns with the source code is that, even though it has comments, it assumes that the reader already knows what a whole bunch of acronyms mean.
Example:
“/* EIGHTH: Set your PWM output type. Only applies if USER controls PWM 1, 2, 3, or 4. */”
This seems to assume the reader know what a ‘PWM’ is, or how to use it? What does PWM stand for? Where is the documentation that explains what all of these acronyms mean?
There is another comment that reads:
/* SEVENTH: Choose which processor will control which PWM outputs. */
Followed by the line of code:
Setup_PWM_Output_Type(IFI_PWM,IFI_PWM,IFI_PWM,IFI_PWM);
I really don’t know what this means. What is meant by ‘processor’. What is ‘IFI_PWM’?
I searched all of the code for words like ‘servo’ or ‘motor’ and nothing in the source refers to this.
My questions are as follows:
(1) Where in the provided source is the the code that takes the inputs from the transmitter and sends outputs to the motors?
(2) Is that code not provided? (It appears not to be, in which case how do you provide your own?)
(3) Where is the documentation for all of these acronyms so the beginning programmer can know what all of these things mean? It was easy enough to find the piece of code that processes all of the inputs and, with printf statements, we could reverse engineer which inputs corresponded to which controls on the transmitter. However, where is the documentation we could have read ahead of time about this?
Thanks, we are getting closer all of the time. My first thought was that the provided sample code would contain all of the source for controlling the robot and then we could just start modifying it from there as we learned more. However, even though we have found where all of the inputs can be processed, we can’t seem to find the code that controls sending outputs to the motors and such.
Any help, links, sample code, are appreciated.
Thanks,
John & Alex