mr.rc-cam wrote:I went back through the latest V1.9 I2C hardware specific code and cannot see anything that would directly cause the hang. The earlier V1.9 code would cause a I2C hang, but that issue had been fixed with the Nov-12 code release.
what comes to mind that my adxl345 has the same address as the default wmp. Even though the adxl345 is configured in, does the MWii somehow probe for something using the wmp address, which is now the adxl address and thus creating a conflict?
-READ button in GUI still works
For a moment that bit of news got me excited. But I understand that the values that are shown when the GUI's READ button is pressed are pre-read in the background with all the other data. Since your GUI ran for a short time it collected these values in its data buffer. When you pressed the READ button they became visible even though the GUI is no longer receiving data.
Eventually we should alter the GUI code in such a way that for a READ it invalidates the variables used after the values have been pushed into the GUI representation.
BTW, the V1.9 release uses some new tricks to simplify the compiling efforts. It no longer requires the user to state the Arduino board type in the def.h file; The compiler does this for you. So please check a couple things:
1. Open the IDE's Help->About menu. What Arduino compiler version does it show?
2. Open Tool->Board menu. Exactly which CPU is selected?
Also, V1.9 has the FreeIMUv1 defined in it, so maybe it would be best to omit your TRI60.h file and configure your model using the traditional methods (via config.h). BTW, I noticed two "#define ADXL345_ADDRESS 0xA6" in your TRI60.h file so one of them should be deleted.
cool. On mac the about does not state anything useful. But I followed my arduino 022 down into its guts. Guess what I found:
Code: Select all
mcx:bin js$ cat avr-gcc
#!/bin/sh
if readlink "`dirname "$0"`/../etc/options/gcc-version" | grep 3 >/dev/null 2>&1; then
exec -a "$0" "`dirname "$0"`/../avr-3/bin/gcc" "$@"
else
exec -a "$0" "`dirname "$0"`/../avr-4/bin/gcc" "$@"
fi
Now my arduino.app(on mac) is located in a directory 03_Arduino! Seems I have been using avr-3 all the time because of a too simplistic avr script?
Update: just renamed the directory, does not seem make a difference for me. So avr-3 or avr-4 probably does not matter here for my problem.
Board type is set to 'Nano/Atmega328.
About my private #include tri60.h: as I am working on the code way too often to add a feature I have come to using this approach. Benefits are
- can leave config.h untouched
- have each copter's specific settings all in one place
- can switch between my copters by way of changing this one include
I agree this current TRI60.h has become a mess; I pasted stuff over from defs.h for testing purposes.
With current compiler settings, the redefinition does not even produce a warning. The latest define wins. No problems there.
FWIW, it would be helpful to zip up your entire file set and post it here. I can load your exact code into my model and see if I get a GUI hang. Of course I don't use the same IMU board, but I still think it would be helpful to see if the problem can be duplicated.
EDIT: I read elsewhere that you have made improvements to the GUI. So please verify that you are using the unmodified MultiWiiConf_1_9 that was distributed with V1.9. This will help reduce the unexpected surprises.
[/quote]
I concurr, it is good to limit side effects. for the tests I did use the latest official v1.9.