tips for developing:
- for testing, use xx_text() in debug.c. any code inside this function will run when you click "don't click me" under the debug menu.
- use bmp_printf() in debug loop task (debug.c) to print the value of a certain location in memory if you want to nkow it's value. ie: bmp_printf( FONT_MED, 0, 100, "value of 0x1234: 0x%x", MEM(0x1234) );
- use bmp_hexdump() to view areas of memory live on screen. an example is in the debug loop task already commeneted so you know how to use it. *make sure the length viewed is a multiple of 32*
- my latest IDC file for the 500d v1.1.1 firmware can be found here:
http://dl.dropbox.com/u/33161628/500d.111.0xff010000.coutts.idc.zip- for help setting up a mac (10.6/10.7) for compiling ML / the arm-console, see my page:
http://magiclantern.wikia.com/wiki/Magic_Lantern_Development_on_Mac- use the LED to help you track where code is hanging up at. use GuiEdLedOn(); to turn the led on and GuiEdLedOff(); to turn it off (blue led that is). The stubs are already in the 500d's stubs.S file.
- audio.c still needs finished. My routine for setting gain works, but I cant figure out how to configure the chip for audio monitoring, or to toggle agc on/off (I can turn it off but that's it). This is my (incomplete) version of audio.c I was going to use only for the 500d:
http://pastebin.com/NAX87R2Y- to make a change that only applies to the 500d, use "#ifdef CONFIG_500D" and "#endif" around the block of code in question. Refer to how it's used all over ML right now for a reference.
im available to answer questions almost all day (im always on google talk either from my phone or computer throughout the day): andrewjohncoutts@gmail.com
After you work with ML for long enough you really become familiar with it. I forget who said it, but ML really is like an SDK - it gives us a framework to build from, and there are a lot of powerful tools / routines already written which are available at your disposal.