General:
For future projects involving audio:
- Be aware that PIC microcontrollers do NOT have very much program space, so you must take care to write efficient code.
- Be sure to thoroughly read and understand the communications protocol. You do not want to be the team with the false implementation on competition day.
- Leave some room between any extreme servo angles and your operating conditions. The servo will drain a lot of current at the extremes.
For future projects involving audio:
- If your teammates can't hear you loudly, check your computers microphone input volume settings first.
- Invest in earplugs early. Either way, your ears will be ringing for days afterwards.
- Massive functions have the potential to break a page boundary in the PIC memory. The use of helper functions can break down the overall size of the function.
- Remember, the PIC is not the Tiva! The PIC is not as fast, does not have as much memory, and has limited instructions in comparison to the Tiva. Be mindful of how space and operationally efficient your code is. Lookup tables are your friend.
- Document your code well! When teammates are trying to debug your code, this will help tremendously.
- When using the PIC, the fewer the ISRs the better. Also, since you can't post in an ISR, you can create an event checker to check for the interrupt flag, but not actually enable the interrupt, so the flag setting will no trigger a hardware interrupt.