This is the nature of MultiWii. 37 reads and no replies.
The documentation for this amazing code is woefully lacking.
So, here is what I found after digging through it on my own.
As I figured, getting Camera Stabilization working and being able to control the center around which the camera stabilizes was quite easy.
It just took one edit in the "Output.cpp" file.
Here is the edit I made.
Code: Select all
/**************************** Cam stabilize Servos ****************************/
#if defined(SERVO_TILT)
//servo[0] = get_middle(0);
servo[0] = rcData[AUX3];
servo[1] = get_middle(1);
if (rcOptions[BOXCAMSTAB]) {
servo[0] -= ((int32_t)conf.servoConf[0].rate * att.angle[PITCH]) /50L;
servo[1] += ((int32_t)conf.servoConf[1].rate * att.angle[ROLL]) /50L;
}
All I really did was replace the "middle" value with a value taken from an AUX channel that had a pot assigned to it.
Here it is in action.
https://www.youtube.com/watch?v=g5FdGI0 ... e=youtu.beOK, now for the next question.
As you see in the video, the calibration is not completely accurate, but close.
My understanding is, the GAIN adjustment for this needs to be done in the GUI on the "SERVO" tab. But no matter what I try, it makes no difference.
I know I can tweak the gain in the code, but that is a pain, and not really the correct way to do it.
So, has anyone dealt with this in the GUI and can tell me how to do it correctly?
**************************** EDIT ************************************************
I found out after posting this that there actually is a way in the MultiWiiConf GUI to set and AUX channel to control the servo middle position.
Just slide the middle position slider all the way to the left, then back to the right. As you move away from minimum, it lists out the channels to select for middle one by one.
So, this yields my edit to the Output.cpp file unnecessary.
BUT, there is a problem.
For some reason I can't figure out yet, the SERVO tab on my GUI has no effect on the servo(s). Whether I have the tail servo, or the Cam Stabilize servo selected, when I go "
LIVE" changing the sliders does nothing to the servo. Writing the adjusted values to eeprom, does nothing. I say it doesn't write because if after Writing, I then "Read" the eeprom, it sets all the sliders back to default.
Has anyone experienced this type of error with MultiWiiConf GUI?
I'm running this on a Windows 8 64bit system and using the 32bit MultiWiiConf version.