My simple configuration (CRIUS) compiled in the Arduino configuration. So far only tested using MultiWiiConf.
To do:
1. Arduino defines pins this way (Stupid!!!)
Code: Select all
static const uint8_t A2 = 16;
C does not accept it as a compile-time constant, which causes compile error in Output.c. I hacked around it for ProMini. Need to do it for other boards too. I suspect that these definitions also take some real memory, which is duplicated for each C source.
2. Arduino compiles C files without the -std=gnuc99 options. Statements like
Code: Select all
for(uint8_t i=0...
are invalid. Must move the definitions of the iterator outside the for loop. I done it in some places (maybe missed some). I refuse to touch some functions in LCD.h which are _)(*&%**&^%*
Find the code here, or use:
Code: Select all
git clone --branch=Use_C_Files git://github.com/itain/multiwii-firmware.git MultiWii
-- Itai
PS. I decided to post this here and not in the 32bit because I'm actually interested in 8 bit arch that is not supported by Arduino. Has anyone looked at the xmega processors? I think it would be interesting to port to ATXMega32A4U (or other XMegas).