Copter-4.1.0-beta4 release for beta testing

Cotper-4.1.0-beta4 has just been released for beta testing. The changes vs beta3 are listed below and in the ReleaseNotes.

Warning: The vibration failsafe is broken in -beta4. This will be fixed with -beta5. Please be careful if you’re flying vehicles with high vibration levels (>30m/s/s)

  1. Minor enhancements (or changes)
    a) CSRF telemetry improvements to power setting and pass param requests more quickly
    b) CUAV X7/Nora supports ICM42688P IMU
    c) Pix32v5 USB product string fixed and IMU heater enabled
    d) RunCam Hybrid supported (see RUNCAM_TYPE parameter)
    e) VisualOdom feature removed from 1MB boards
  2. Bug fixes
    a) BLHeli Auto only affects telemetry passthrough to ease setup
    b) Circular complex fence radius not truncated
    c) CubeOrange serial1/2 DMA fixed
    d) EKF ground effect compensation fixed
    e) ESC telemetry fixes including motor index on boards with I/O mcu
    f) I/O MCU reset fix if user had disabled safety switch (recovery from reset would leave motors not spinning)
    g) MSP temperature scaling fixed
    h) Pilot yaw rate input during arming ignored
    i) PreArm check of roll/pitch and yaw angle difference fixed
    j) Serial port info file (@SYS/uarts.txt) easier to understand
    k) Scheduler fix of premature run of tasks every 163 seconds
    l) Visual odometry yaw alignment fixed
    m) WPNAV_RADIUS never less than 5cm

We still have a significant number of outstanding issues to resolve before the code is ready for the official release but in any case, we greatly appreciate the feedback received so far. It really has helped us!


Thank you very much Randy for all your hard work and dedication to the arducopter cause


@rmackay9 @priseborough could you please take a look at my issue here, is it possible to determine the root cause from the log? How do you think it is possible to avoid such situations? Thanks!

Hi @sergbokh,

hopefully i’ve answered the questions re that other issue. txs for the report.

1 Like

Installed in Matek h743-smil. I have the following issues:

  • no dshot ESC unless I use the function servo_blh_mask to 6. The 6 ESC output remain in pwm mode with servo_blh_auto = 1 and servo_blh_mask ( Ch 1 to 6 selected)
  • ekf3 look like is more affected by vibration. After a while in hovering my hexa drift. This is not happening after switching to ekf2
  • run cam protocol for Hybrid doesn’t work. Camera is never recognised. I already tried to invert tx/Rx. Cam_rc_type = 4

What do you have MOT_PWM_TYPE set to? You should not need MASK or TYPE set if you have that set. Setting mask to 6 only sets motors 2 and 3 - is that what you want?

Are you sure you have the hybrid set to UART mode? It is not by default. You also need to make sure the camera is set to auto record off if you are using the default AP settings (it’s not by default)

MOT_PWM_type is setup to Dshot 600 but doesn’t affect the output because I still have normal pwm (confirmed via BLHELI app too)

About servo_blh_mask, I don’t remember the bit calculated but I enable it for Servo 1 TO 6 (1,2,3,4,5,6).

Yes, Hybrid was working perfectly with INAV and before Betaflight with NO auto record and in UART mode.

Please can you post your full set of parameters.

attached 2 configuration, without and withno runcamera.param (19.9 KB)with runcamera.param (19.9 KB) runcamera.

on the first I disable the run camera to allow safe flight

Your config looks correct. I will have to try at home to see why you would not be getting dshot. It’s possibly to do with your unusual frame. If you try just plain X do you get dshot? I frame is 4 motors I think so surely you will have to set MASK if you want 6 motors?

For the hybrid, you are connecting to the right camera UART yes? One controls the QR mode and camera start / stop, the other works like a regular run cam. Its the first one you want.

before moving to FRAME_CLASS=15, I setup a normal hexacopter (X) in order to make sure that motor orders were correctly and I had the same issue.

As I said, the connection are the same (camera side) of the previous configuration with Inav and betaflight using Kakute f7.

Let me know if I can help further with other tests.

Ok, so what happens if you set SERVO_BLH_MASK = 0 and SERVO_BLH_OTYPE = 0?
Aren’t you also using a script for v-tail or something? This is working for everyone else, so pretty sure its something to do with your unusual setup.

Runcam protocol is 26 - I don’t see that anywhere in your setup

@andyp1per please check carefully the attached files and parameters.

h743 penta6.param (19.9 KB) this is my working configuration (runcam disable ATM) Screenshot (33)

h743 penta6 no dshot setting.param (19.8 KB) this is the configuration as you request
Screenshot (34)

I then select FRAME_CLASS=2 and then Dshot is enable.h743 penta6 no dshot frame_class2 setting.param (19.9 KB) So I think you are right, it depend from script Screenshot (35)

If I enable Runcam protocol on serial 2 (TX,RX1 on my FC, I still got the error with runcam, I will try to spend more time today

Probably need @iampete to chime in here about the motors matrix stuff - my guess is that this is not setting up the channels properly.

Sorry missed the runcam setup - I’m not sure why this would not work, your config looks correct.

Yeah, looks like a script error. If motors matrix has not init it will never setup the motor outputs as Dshot. If you can post the script I will see if I can spot anything. The other possible issue is the assigning of motor outs, the scripting back-end will not auto assign motors to output functions 1-6 as the other back-ends will. You have to manually set the outputs 1-6 to motors 1-6.

1 Like

Here is my script (last post)

Ok, just read your post more carefully. The script was only failing because you did not have frame class set to scripting in that test.

I suspect is just a matter of boot order. The script comes up after the auto blheli check is done. This is the check:

That will return 0 until the script has run. Not a huge amount we can do about that, we could re-init blheli after the script init. But I think on the whole it is not too painful to have to manually set the motor mask.

can I improve the script in any way?

Not really. If your feeling keen you could have it work out and set the manual blheli mask, so that it would work correctly after a reboot. but that would be quite a bit of lua just save the manual setting of one param.