When updating FC, the default configuration reverts to multicopter. If there are servos attached to the FC the high frequency outputs can damage them before being able to configure all the setup as airplane.
Also, depending on the setup and power supply, as the current is high, the FC is not able to restart and comunicate through serial USARTs to be configured.
In this case, the only way to reconfigure for a new version is disconnect all servos and flash as normal. In many airplanes you have to unasemble everything to do this.
Should be good not to output any signal until everything is configured. Sort of a switch in configurator or something like that.
Why not simply flash without main flight battery connected?
But it could wait until advanced accelerometer calibration is finished before outputting any signal.
I am not able to do that. If I try to flash only through FTDI, the 5V go to the servos, so the FTDI adapter or the USB port of PC cannot supply that. May be this is only a problem in some FCs.
Anyway, before calibration, and after the flashing and first reset of the FC, there are inmediate output to the servos. All of them get quickly very noisy and hot...
Yes, this might be a good safety feature.
May be a quick solution to set after-flash default to airplane, not multirotor :-) I guess the ESCs won't have problems with 50Hz input.
Ah good not. Dont think multirotors would agree with you there.
On Mon, May 16, 2016 at 11:21 AM, sppnk [email protected] wrote:
May be a quick solution to set after-flash default to airplane, not
multirotor :-)—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/iNavFlight/inav/issues/208#issuecomment-219384040
Ole-P
I think that would be good if after flashing you'll get a window of main options like multi or plane, fc orientation or so a basic calibration and so on :)
@oleost , sometimes I think airplane pilots should have a diferent branch, ha ha. :-)
But to keep it simple, I think my idea works fine.
No signal out until it detects that adanced accelerometer calibration is done.
Yes, that should do. This way everybody should have to calibrate well their aircrafts. For me should be ok.
For now I am building my own versions just changing MIXER_QUADX for MIXER_AIRPLANE in config.c file, but a better solution should be founded. Otherwise is very annoying to unasemble the planes for flash the FCs.
Other thing that should be taken in consideration, is that when flashing, the GPS has to be disconnected, as it is not possible to connect again throught USART until you disconnect it. Once GPS is disconnected I can configure everything, including GPS (usually by CLI dump, but in a new model it will be in another way). This is less annoying, as GPS is more accessible, but leads to problems to newcomers. It happens to me in CC3D (naze dont remember).
May be a 'just-flashed-right-now" flag should do for both issues (outputs and gps).
As an easy fix, would it be possible to just create a new Empty mixer, which only outputs throttle on output 0, (Or even nothing at all if possible) And then just make it the new default mixer?
Suggestion: implement a "MOTOR_CONTROL_ENABLED" feature. It will be always disabled when config is erased and it will prevent all PWM outputs to be configured.
We have a free bit in features (previously occupied by FEATURE_INFLIGHT_ACC_CAL) - we can re-use it.
@digitalentity . I like that solution.
Probably a god solution. I just proposed something I thought would be an easy fix, start with no mixer as default and then have people choose the correct mixer when configuring.
And I like much more the @oleost solution, so we could still have free the bit in features for future use.
The problem is mostly with refresh rate. Servos are designed to operate at 50Hz, while brushless motors on quads run on 490Hz in PWM mode. If you start with no mixer, you still have idle PWM signal on motor outputs that will damage your servos.
I think that delay PWM output initialisation (no signal until configured) is the only bullet-proof solution to protect servos from damage.
And we have a whole lot of free bits in feature actually - its a 32-bit number.
Okey, sounds good.
Ok then. Please add this feature to next 1.2 release. Thanks.
This is closely realted to #397 and will be done along with it first thing after 1.2
@digitalentity See #397 is now finished and merged.
Is this possible to implement now? (Not to 1.3 but to development) I have two planes where I have to build my own firmware with airplane as default mixer due to servos are powered by USB on spracingf3mini and by the FTID adapter on my flip32.
@oleost yes, with #397 merged this can be addressed as well. As I have a few airplanes as well this will come in handy.
Lately I am not testing firmware (I have been involved in having a working FPV system), but when I did during last months I also had to build my own versions in order not to unasemble the planes. Otherwise I had servos burnt.
Good to hear you are working in this.
@oleost, @sppnk - long awaited feature is now available for you to test and use.
Great. So if I want test this I have to compile development branch, not master, isnt it?
@sppnk you should check out the pwm-output-enable branch.
oh, sorry I didnt realized of that. Thks.
@digitalentity Bench tested on my airplane and did the trick for me, spracingf3mini target.
@sppnk close this and we conuintue conversation over test results at pull request? #706
PR to implement this - #706. Closing