GUI and firmware mod to help dynamic propeller balancing

This forum is dedicated to software development related to MultiWii.
It is not the right place to submit a setup problem.
Software download
Post Reply
Jibeer
Posts: 3
Joined: Fri Mar 18, 2011 10:05 pm

GUI and firmware mod to help dynamic propeller balancing

Post by Jibeer »

My two cents : DynEquMultiWii_17 and DynEqMulitWiiConf_17.

The idea is simple : in the GUI, an enable/disable toggle is now associated to each motor, on the right slide of each motor speed vertical slider. So then we can easily enable/disable a motor with these toggles, and once the "write" button is pressed, (don't miss to press write each time you change the value of a toggle !) and once the copter is armed, we can see how good/bad the selected motor and its propeller contributes to the global amount of vibrations. By slightly modifying the propeller position relative to the rotating part of the motor, we can then find the best propeller position where we have the lowest amount of vibes. Repeat for each motor, and voila ! Your copter is perfectly dynamically balanced. Enable again all the motors (don't miss to press "write" button) and then enjoy a vibe free flight....

In two words, these toggles allows to individually optimize up the propeller position on each motor, while the GUI is used as an "vibroscope"....(Tip : use the scale value to zoom on the graph...)

The mod is based on code release 1_7, and there's only code added relative to these toggles, nothing else has been added or removed. Warning, as the GUI has to sent to the arduino the motor toggles state (communication protocols has an additional parameter), and as the arduino has to store the state of these motor toggles, this DynEqMultiWiiConf_17 GUI can only work with its associated DynEqMultiWii_17
Note : the read button allows to retrieve the current motor toggle values stored in the arduino eeprom.

This mod helped me a lot to have a successful quadX maiden....till I had a propeller lost while in flight....and crashed....
So it will help me again to dynamic balance the new motor and its new propeller... ;) .

Thanks to the whole community for this fantastic project !
Jibeer
Attachments
DynEq.zip
(32.29 KiB) Downloaded 284 times

gompf-2
Posts: 136
Joined: Sun Jun 05, 2011 11:46 am

Re: GUI and firmware mod to help dynamic propeller balancing

Post by gompf-2 »

Thanks!

Alexinparis
Posts: 1630
Joined: Wed Jan 19, 2011 9:07 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Alexinparis »

This should be an interesting tool to tune the mechanical aspects of a multirotor.
Before I encountered hardware problems, I didn't thing it was important to have a vibration free copter.

But now, I know it's very important to have a perfect flying attitude.
Otherwise, it would fly for sure, but not as you can expect.
Well balanced propellers and a rigid frame are probably the most important factor.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: GUI and firmware mod to help dynamic propeller balancing

Post by PatrikE »

Just an Idé.

A Quick VibrationTest before Takeoff.
I think fy90q have this warning.

It checks vibrations in the frame just before Takeoff, rcCommand[THROTTLE] 1300 - 1400

#define VibrationTest
And adjust How sensitive it should be.

Code: Select all

 // VibrationTest before TakeOff.  ( Indicate with Blinking LED  )
 // PatrikE
 //*******************************************************************************************************************************
#ifdef VibrationTest
 #define  VibeLimit  100  //  Higher = less sensitive
  uint16_t  Vibrations = 0;
   for(axis=0;axis<3;axis++)(Vibrations += abs(gyroADC[axis]));
  if(  rcCommand[THROTTLE]>1300 && rcCommand[THROTTLE]<1400 && Vibrations>VibeLimit && armed ){ blinkLED(5,5,1);}
#endif
 //*******************************************************************************************************************************


/Patrik

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

Great idea! I'm just about to attach the props to my hexacopter and this will make tracking down vibration a lot easier.

Thanks! :)


David

Jibeer
Posts: 3
Joined: Fri Mar 18, 2011 10:05 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Jibeer »

Hogster wrote:Great idea! I'm just about to attach the props to my hexacopter and this will make tracking down vibration a lot easier.

Thanks! :)


David


BTW, in case of you prefer the standalone version of the GUI for windows, you can find it attached here :
[url]
http://www.rcgroups.com/forums/showpost ... ount=17371[/url]

Enjoy

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

Hi Jibeer :)

I've just tried to upload this code, and it gives me the following errors, with:

/*********** RC alias *****************/ highlighted in the code ...

Do you know what's going wrong here?

Cheers :)


David


DynEqMultiWiiV1_7:282: error: expected unqualified-id before 'public'
DynEqMultiWiiV1_7:283: error: expected unqualified-id before 'public'
DynEqMultiWiiV1_7:284: error: expected unqualified-id before 'public'
DynEqMultiWiiV1_7:285: error: expected unqualified-id before 'public'
DynEqMultiWiiV1_7:286: error: expected unqualified-id before 'public'
DynEqMultiWiiV1_7:287: error: expected unqualified-id before 'public'
DynEqMultiWiiConf1_7:0: error: 'import' does not name a type
DynEqMultiWiiConf1_7:1: error: 'import' does not name a type
DynEqMultiWiiConf1_7:2: error: 'import' does not name a type
DynEqMultiWiiConf1_7:4: error: 'Serial' does not name a type
DynEqMultiWiiConf1_7:5: error: 'ControlP5' does not name a type
DynEqMultiWiiConf1_7:6: error: 'Textlabel' does not name a type
DynEqMultiWiiConf1_7:7: error: 'ListBox' does not name a type
DynEqMultiWiiConf1_7:9: error: 'cGraph' does not name a type
DynEqMultiWiiConf1_7:30: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:31: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:32: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:33: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:34: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:35: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:36: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:37: error: 'cDataArray' does not name a type
DynEqMultiWiiConf1_7:39: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:40: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:41: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:42: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:43: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:44: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:45: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:46: error: 'Numberbox' does not name a type
DynEqMultiWiiConf1_7:48: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:49: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:51: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:52: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:53: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:56: error: 'Toggle' does not name a type
DynEqMultiWiiConf1_7:59: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:60: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:61: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:63: error: 'Slider' does not name a type
DynEqMultiWiiConf1_7:65: error: 'Button' does not name a type
DynEqMultiWiiConf1_7:67: error: 'Button' does not name a type
DynEqMultiWiiConf1_7:68: error: 'Button' does not name a type
DynEqMultiWiiConf1_7:70: error: 'color' does not name a type
DynEqMultiWiiConf1_7:71: error: 'color' does not name a type
DynEqMultiWiiConf1_7:72: error: 'color' does not name a type
DynEqMultiWiiConf1_7:88: error: conflicting declaration 'int nunchukPresent'
DynEqMultiWiiV1_7:303: error: 'nunchukPresent' has a previous declaration as 'uint8_t nunchukPresent'
DynEqMultiWiiConf1_7:91: error: conflicting declaration 'int cycleTime'
DynEqMultiWiiV1_7:296: error: 'cycleTime' has a previous declaration as 'uint16_t cycleTime'
DynEqMultiWiiConf1_7:101: error: 'CheckBox' does not name a type
DynEqMultiWiiConf1_7:106: error: conflicting declaration 'int motorTogglesByte'
DynEqMultiWiiV1_7:1533: error: 'motorTogglesByte' has a previous declaration as 'uint8_t motorTogglesByte'
DynEqMultiWiiConf1_7:108: error: 'PFont' does not name a type
DynEqMultiWiiV1_7.cpp: In function 'void setup()':
DynEqMultiWiiConf1_7:124: error: redefinition of 'void setup()'
DynEqMultiWiiV1_7:1808: error: 'void setup()' previously defined here
DynEqMultiWiiConf1_7:125: error: 'OPENGL' was not declared in this scope
DynEqMultiWiiConf1_7:125: error: 'size' was not declared in this scope
DynEqMultiWiiConf1_7:126: error: 'frameRate' was not declared in this scope
DynEqMultiWiiConf1_7:128: error: 'font8' was not declared in this scope
DynEqMultiWiiConf1_7:128: error: 'createFont' was not declared in this scope
DynEqMultiWiiConf1_7:129: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:130: error: 'font15' was not declared in this scope
DynEqMultiWiiConf1_7:132: error: 'controlP5' was not declared in this scope
DynEqMultiWiiConf1_7:132: error: expected type-specifier before 'ControlP5'
DynEqMultiWiiConf1_7:132: error: expected `;' before 'ControlP5'
DynEqMultiWiiConf1_7:135: error: 'g_graph' was not declared in this scope
DynEqMultiWiiConf1_7:135: error: expected type-specifier before 'cGraph'
DynEqMultiWiiConf1_7:135: error: expected `;' before 'cGraph'
DynEqMultiWiiConf1_7:137: error: 'commListbox' was not declared in this scope
DynEqMultiWiiConf1_7:139: error: 'red_' was not declared in this scope
DynEqMultiWiiConf1_7:140: error: 'class HardwareSerial' has no member named 'list'
DynEqMultiWiiConf1_7:141: error: 'class HardwareSerial' has no member named 'list'
DynEqMultiWiiConf1_7:144: error: 'txtlblWhichcom' was not declared in this scope
DynEqMultiWiiConf1_7:146: error: 'buttonSTART' was not declared in this scope
DynEqMultiWiiConf1_7:147: error: 'buttonSTOP' was not declared in this scope
DynEqMultiWiiConf1_7:149: error: 'buttonNunchuk' was not declared in this scope
DynEqMultiWiiConf1_7:150: error: 'buttonI2cAcc' was not declared in this scope
DynEqMultiWiiConf1_7:151: error: 'buttonI2cBaro' was not declared in this scope
DynEqMultiWiiConf1_7:152: error: 'buttonI2cMagneto' was not declared in this scope
DynEqMultiWiiConf1_7:155: error: 'buttonI2cAccActive' was not declared in this scope
DynEqMultiWiiConf1_7:156: error: 'buttonI2cBaroActive' was not declared in this scope
DynEqMultiWiiConf1_7:157: error: 'buttonI2cMagnetoActive' was not declared in this scope
DynEqMultiWiiConf1_7:170: error: 'axSlider' was not declared in this scope
DynEqMultiWiiConf1_7:171: error: 'aySlider' was not declared in this scope
DynEqMultiWiiConf1_7:172: error: 'azSlider' was not declared in this scope
DynEqMultiWiiConf1_7:173: error: 'gxSlider' was not declared in this scope
DynEqMultiWiiConf1_7:174: error: 'gySlider' was not declared in this scope
DynEqMultiWiiConf1_7:175: error: 'gzSlider' was not declared in this scope
DynEqMultiWiiConf1_7:176: error: 'baroSlider' was not declared in this scope
DynEqMultiWiiConf1_7:177: error: 'magSlider' was not declared in this scope
DynEqMultiWiiConf1_7:179: error: 'confP_ROLL' was not declared in this scope
DynEqMultiWiiConf1_7:180: error: 'Controller' was not declared in this scope
DynEqMultiWiiConf1_7:181: error: 'confI_ROLL' was not declared in this scope
DynEqMultiWiiConf1_7:183: error: 'confD_ROLL' was not declared in this scope
DynEqMultiWiiConf1_7:185: error: 'confP_PITCH' was not declared in this scope
DynEqMultiWiiConf1_7:187: error: 'confI_PITCH' was not declared in this scope
DynEqMultiWiiConf1_7:189: error: 'confD_PITCH' was not declared in this scope
DynEqMultiWiiConf1_7:191: error: 'confP_YAW' was not declared in this scope
DynEqMultiWiiConf1_7:193: error: 'confI_YAW' was not declared in this scope
DynEqMultiWiiConf1_7:195: error: 'confD_YAW' was not declared in this scope
DynEqMultiWiiConf1_7:197: error: 'confP_LEVEL' was not declared in this scope
DynEqMultiWiiConf1_7:199: error: 'confI_LEVEL' was not declared in this scope
DynEqMultiWiiConf1_7:201: error: request for member 'setDecimalPrecision' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:201: error: request for member 'setMultiplier' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:202: error: request for member 'setDirection' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:202: error: request for member 'setMin' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:202: error: request for member 'setMax' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:202: error: request for member 'setColorBackground' in 'rollPitchRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:203: error: request for member 'setDecimalPrecision' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:203: error: request for member 'setMultiplier' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:204: error: request for member 'setDirection' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:204: error: request for member 'setMin' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:204: error: request for member 'setMax' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:204: error: request for member 'setColorBackground' in 'yawRate', which is of non-class type 'uint8_t'
DynEqMultiWiiConf1_7:205: error: 'dynamic_THR_PID' was not declared in this scope
DynEqMultiWiiConf1_7:208: error: 'confRC_RATE' was not declared in this scope
DynEqMultiWiiConf1_7:210: error: 'confRC_EXPO' was not declared in this scope
DynEqMultiWiiConf1_7:215: error: 'LevelCheckbox' was not declared in this scope
DynEqMultiWiiConf1_7:216: error: 'color' was not declared in this scope
DynEqMultiWiiConf1_7:221: error: 'BaroCheckbox' was not declared in this scope
DynEqMultiWiiConf1_7:227: error: 'MagCheckbox' was not declared in this scope
DynEqMultiWiiConf1_7:233: error: 'CamStabCheckbox' was not declared in this scope
DynEqMultiWiiConf1_7:239: error: 'CamTrigCheckbox' was not declared in this scope
DynEqMultiWiiConf1_7:246: error: 'buttonREAD' was not declared in this scope
DynEqMultiWiiConf1_7:247: error: 'buttonWRITE' was not declared in this scope
DynEqMultiWiiConf1_7:248: error: 'buttonCALIBRATE' was not declared in this scope
DynEqMultiWiiConf1_7:250: error: 'rcStickThrottleSlider' was not declared in this scope
DynEqMultiWiiConf1_7:251: error: 'rcStickPitchSlider' was not declared in this scope
DynEqMultiWiiConf1_7:252: error: 'rcStickRollSlider' was not declared in this scope
DynEqMultiWiiConf1_7:253: error: 'rcStickYawSlider' was not declared in this scope
DynEqMultiWiiConf1_7:254: error: 'rcStickAUX1Slider' was not declared in this scope
DynEqMultiWiiConf1_7:255: error: 'rcStickAUX2Slider' was not declared in this scope
DynEqMultiWiiConf1_7:256: error: 'rcStickCAM1Slider' was not declared in this scope
DynEqMultiWiiConf1_7:257: error: 'rcStickCAM2Slider' was not declared in this scope
DynEqMultiWiiConf1_7:259: error: 'motSliderV0' was not declared in this scope
DynEqMultiWiiConf1_7:260: error: 'motSliderV1' was not declared in this scope
DynEqMultiWiiConf1_7:261: error: 'motSliderV2' was not declared in this scope
DynEqMultiWiiConf1_7:262: error: 'motSliderV3' was not declared in this scope
DynEqMultiWiiConf1_7:263: error: 'motSliderV4' was not declared in this scope
DynEqMultiWiiConf1_7:264: error: 'motSliderV5' was not declared in this scope
DynEqMultiWiiConf1_7:267: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:268: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:269: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:270: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:271: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:272: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:274: error: 'servoSliderH1' was not declared in this scope
DynEqMultiWiiConf1_7:275: error: 'servoSliderH2' was not declared in this scope
DynEqMultiWiiConf1_7:276: error: 'servoSliderH3' was not declared in this scope
DynEqMultiWiiConf1_7:277: error: 'servoSliderH4' was not declared in this scope
DynEqMultiWiiConf1_7:278: error: 'servoSliderV0' was not declared in this scope
DynEqMultiWiiConf1_7:279: error: 'servoSliderV1' was not declared in this scope
DynEqMultiWiiConf1_7:280: error: 'servoSliderV2' was not declared in this scope
DynEqMultiWiiConf1_7:282: error: 'scaleSlider' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void draw()':
DynEqMultiWiiConf1_7:289: error: 'background' was not declared in this scope
DynEqMultiWiiConf1_7:290: error: 'font15' was not declared in this scope
DynEqMultiWiiConf1_7:290: error: 'textFont' was not declared in this scope
DynEqMultiWiiConf1_7:291: error: 'text' was not declared in this scope
DynEqMultiWiiConf1_7:296: error: 'g_serial' was not declared in this scope
DynEqMultiWiiConf1_7:297: error: 'g_serial' was not declared in this scope
DynEqMultiWiiConf1_7:298: error: 'g_serial' was not declared in this scope
DynEqMultiWiiConf1_7:304: error: 'axSlider' was not declared in this scope
DynEqMultiWiiConf1_7:304: error: 'aySlider' was not declared in this scope
DynEqMultiWiiConf1_7:304: error: 'azSlider' was not declared in this scope
DynEqMultiWiiConf1_7:305: error: 'gxSlider' was not declared in this scope
DynEqMultiWiiConf1_7:305: error: 'gySlider' was not declared in this scope
DynEqMultiWiiConf1_7:305: error: 'gzSlider' was not declared in this scope
DynEqMultiWiiConf1_7:306: error: 'baroSlider' was not declared in this scope
DynEqMultiWiiConf1_7:307: error: 'magSlider' was not declared in this scope
DynEqMultiWiiConf1_7:309: error: 'motSliderV0' was not declared in this scope
DynEqMultiWiiConf1_7:309: error: 'motSliderV1' was not declared in this scope
DynEqMultiWiiConf1_7:309: error: 'motSliderV2' was not declared in this scope
DynEqMultiWiiConf1_7:310: error: 'motSliderV3' was not declared in this scope
DynEqMultiWiiConf1_7:310: error: 'motSliderV4' was not declared in this scope
DynEqMultiWiiConf1_7:310: error: 'motSliderV5' was not declared in this scope
DynEqMultiWiiConf1_7:312: error: 'servoSliderH1' was not declared in this scope
DynEqMultiWiiConf1_7:312: error: 'servoSliderH2' was not declared in this scope
DynEqMultiWiiConf1_7:312: error: 'servoSliderH3' was not declared in this scope
DynEqMultiWiiConf1_7:312: error: 'servoSliderH4' was not declared in this scope
DynEqMultiWiiConf1_7:313: error: 'servoSliderV0' was not declared in this scope
DynEqMultiWiiConf1_7:313: error: 'servoSliderV1' was not declared in this scope
DynEqMultiWiiConf1_7:313: error: 'servoSliderV2' was not declared in this scope
DynEqMultiWiiConf1_7:315: error: 'rcStickThrottleSlider' was not declared in this scope
DynEqMultiWiiConf1_7:315: error: 'rcStickRollSlider' was not declared in this scope
DynEqMultiWiiConf1_7:315: error: 'rcStickPitchSlider' was not declared in this scope
DynEqMultiWiiConf1_7:315: error: 'rcStickYawSlider' was not declared in this scope
DynEqMultiWiiConf1_7:316: error: 'rcStickAUX1Slider' was not declared in this scope
DynEqMultiWiiConf1_7:316: error: 'rcStickAUX2Slider' was not declared in this scope
DynEqMultiWiiConf1_7:316: error: 'rcStickCAM1Slider' was not declared in this scope
DynEqMultiWiiConf1_7:316: error: 'rcStickCAM2Slider' was not declared in this scope
DynEqMultiWiiConf1_7:318: error: 'stroke' was not declared in this scope
DynEqMultiWiiConf1_7:324: error: 'pushMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:325: error: 'camera' was not declared in this scope
DynEqMultiWiiConf1_7:326: error: 'translate' was not declared in this scope
DynEqMultiWiiConf1_7:327: error: 'directionalLight' was not declared in this scope
DynEqMultiWiiConf1_7:328: error: 'rotateX' was not declared in this scope
DynEqMultiWiiConf1_7:328: error: 'rotateY' was not declared in this scope
DynEqMultiWiiConf1_7:330: error: 'strokeWeight' was not declared in this scope
DynEqMultiWiiConf1_7:330: error: 'sphere' was not declared in this scope
DynEqMultiWiiConf1_7:331: error: 'line' was not declared in this scope
DynEqMultiWiiConf1_7:335: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:341: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:342: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:343: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:349: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:350: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:351: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:356: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:356: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:356: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:361: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:367: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:368: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:369: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:376: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:377: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:378: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:379: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:382: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:382: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:386: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:394: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:395: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:396: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:403: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:404: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:405: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:406: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:409: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:409: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:413: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:418: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:419: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:420: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:425: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:426: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:431: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:432: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:433: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:442: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:447: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:451: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:452: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:453: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:462: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:463: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:464: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:465: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:466: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:467: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:472: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:476: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:477: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:478: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:487: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:488: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:489: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:490: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:491: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:492: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:500: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:501: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:502: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:508: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:511: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:520: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:521: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:522: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:529: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:530: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:531: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:532: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:535: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:535: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:540: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:544: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:545: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:546: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:555: error: 'motToggle0' was not declared in this scope
DynEqMultiWiiConf1_7:556: error: 'motToggle1' was not declared in this scope
DynEqMultiWiiConf1_7:557: error: 'motToggle2' was not declared in this scope
DynEqMultiWiiConf1_7:558: error: 'motToggle3' was not declared in this scope
DynEqMultiWiiConf1_7:559: error: 'motToggle4' was not declared in this scope
DynEqMultiWiiConf1_7:560: error: 'motToggle5' was not declared in this scope
DynEqMultiWiiConf1_7:565: error: 'noLights' was not declared in this scope
DynEqMultiWiiConf1_7:567: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:573: error: 'rotate' was not declared in this scope
DynEqMultiWiiConf1_7:575: error: 'popMatrix' was not declared in this scope
DynEqMultiWiiConf1_7:588: error: 'fill' was not declared in this scope
DynEqMultiWiiConf1_7:589: error: 'ellipse' was not declared in this scope
DynEqMultiWiiConf1_7:600: error: 'g_graph' was not declared in this scope
DynEqMultiWiiConf1_7:604: error: 'accROLL' was not declared in this scope
DynEqMultiWiiConf1_7:606: error: 'accPITCH' was not declared in this scope
DynEqMultiWiiConf1_7:609: error: 'scaleSlider' was not declared in this scope
DynEqMultiWiiConf1_7:609: error: 'accYAW' was not declared in this scope
DynEqMultiWiiConf1_7:610: error: 'accYAW' was not declared in this scope
DynEqMultiWiiConf1_7:612: error: 'gyroROLL' was not declared in this scope
DynEqMultiWiiConf1_7:613: error: 'gyroPITCH' was not declared in this scope
DynEqMultiWiiConf1_7:614: error: 'gyroYAW' was not declared in this scope
DynEqMultiWiiConf1_7:615: error: 'baroData' was not declared in this scope
DynEqMultiWiiConf1_7:616: error: 'magData' was not declared in this scope
DynEqMultiWiiConf1_7:631: error: 'CORNERS' was not declared in this scope
DynEqMultiWiiConf1_7:631: error: 'rectMode' was not declared in this scope
DynEqMultiWiiConf1_7:632: error: 'rect' was not declared in this scope
DynEqMultiWiiConf1_7:639: error: 'confRC_RATE' was not declared in this scope
DynEqMultiWiiConf1_7:640: error: 'confRC_EXPO' was not declared in this scope
DynEqMultiWiiConf1_7:649: error: 'point' cannot be used as a function
DynEqMultiWiiConf1_7:660: error: 'font12' was not declared in this scope
DynEqMultiWiiConf1_7:669: error: 'font8' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M0(boolean)':
DynEqMultiWiiConf1_7:688: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M1(boolean)':
DynEqMultiWiiConf1_7:689: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M2(boolean)':
DynEqMultiWiiConf1_7:690: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M3(boolean)':
DynEqMultiWiiConf1_7:691: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M4(boolean)':
DynEqMultiWiiConf1_7:692: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: In function 'void M5(boolean)':
DynEqMultiWiiConf1_7:693: error: 'println' was not declared in this scope
DynEqMultiWiiV1_7.cpp: At global scope:
DynEqMultiWiiConf1_7:695: error: expected unqualified-id before 'public'
DynEqMultiWiiConf1_7:700: error: expected unqualified-id before 'public'

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by mr.rc-cam »

You've loaded the wrong code file. That's the PC's GUI code for the configuration app. The Arduino code is in another directory branch.

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

Ah I see what the problem was - both .pde files were in the same directory. I've moved the Conf file into its own folder and it uploaded fine now :)

My next problem is how to use the GUI ... in other MultiWii updates, a new GUI has been posted with the new code for the vehicle. What do I need to do to run a GUI using just this updated DynEqMulitWiiConf_17.pde file (on a Mac preferably!)?

Sorry for the very basic questions and thanks for your help!


David :)

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by mr.rc-cam »

The distribution file set has directory branches for GUI code that will work on different computer platforms. For example, if you have a Win PC then you choose the windows application directory. In it are windows compatible source files as well as the .exe application that you need to run.

Edit: I just realized you are talking about this special software release. I don't see an .exe in the distribution, so I'm not going to be much further help.



- Thomas
Last edited by mr.rc-cam on Wed Aug 03, 2011 11:03 pm, edited 2 times in total.

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

Hi RC-CAM, thanks for your reply :)

So am I right in thinking I need to modify an original MultiWiiConf1_7 folder, by replacing one of the .pde files with the DynEqMultiWiiConf1_7.pde file that Jibeer has provided?

mr.rc-cam wrote:When you unzip the file package you need to preserve the directory structure. If everything is in one directory you will have a mess on your hands.

When I opened the zip file, it just contains two .pde files in the same folder ...?

Many thanks for your help!


David

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by mr.rc-cam »

So am I right in thinking I need to modify an original MultiWiiConf1_7 folder, by replacing one of the .pde files with the DynEqMultiWiiConf1_7.pde file that Jibeer has provided?

That's the intent. You will need to compile the exe. See these instructions:
viewtopic.php?f=18&t=190

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

Ahh brilliant, thanks for that! Looks like I can build the application just fine ... will have a play with it soon.

Thanks again for your help Thomas! :D


David

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

I don't have the hexacopter with me at the moment, but can you tell me whether the GUI looks the same as 1.7 before you actually connect? I've attached a screenshot of the result of the Processing .. err, process!

Many thanks :)


David
Attachments
dyneq screengrab.png

Jibeer
Posts: 3
Joined: Fri Mar 18, 2011 10:05 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Jibeer »

Hello,
The difference in the GUI will only appear once the tri or quad opter will be connected: for each motor gauge on the right panel, you will see an additional enable-disable toggle button.
Hope you've been able to successfully compile your app !

Hogster
Posts: 31
Joined: Sat Feb 05, 2011 11:33 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by Hogster »

It's all working great, thank you! :D


David 8-)

User avatar
captaingeek
Posts: 228
Joined: Fri Jan 28, 2011 6:42 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by captaingeek »

this is pretty cool

User avatar
captaingeek
Posts: 228
Joined: Fri Jan 28, 2011 6:42 pm

Re: GUI and firmware mod to help dynamic propeller balancing

Post by captaingeek »

i tried using this but am having trouble. ive uploaded the firmware, and opened the GUI. It seems to be working somewhat... i can see the sliders and the buttons to enable / disable each motor. i can read write settings. but when I active the throttle the motors wont spin. when I activate throttle the LED does light up. but the ESC's aren't activating. what am I missing?

KeesvR
Posts: 194
Joined: Fri May 27, 2011 6:51 pm
Location: The Netherlands

Re: GUI and firmware mod to help dynamic propeller balancing

Post by KeesvR »

You can also try this one http://www.rcgroups.com/forums/showpost ... ount=16725
I like it more.

Post Reply