emuflight / EmuFlight

EmuFlight is flight controller software (firmware) used to fly multi-rotor craft.
GNU General Public License v3.0
459 stars 115 forks source link

HAKRC F722D (not AIO) uses MATEKF722SE firmware in betaflight, but EmuFlight can NOT recognize gyro... #926

Closed kaji331 closed 1 year ago

kaji331 commented 1 year ago

Unified Target https://github.com/betaflight/unified-targets/blob/master/configs/default/MTKS-MATEKF722SE.config

It flies just so so in BetaFlight (I don't like it's filter for this MPU6500 board). I tried HAKRC F722D firmware and MATEKF722SE firmware in EmuFlight 0.4.2, neither can recognize the gyro.

nerdCopter commented 1 year ago

what gyro, we only recently merged ICM42688P support. BMI270 is still in development and un-merged, but i can probably build it for you.

mpu6000 and 6500 already supported, AFAIK. that link does not report newer gyros.

Additionally, HD is still in development as well, so i would need to know if you need Analog or HD.

kaji331 commented 1 year ago

what gyro, we only recently merged ICM42688P support. BMI270 is still in development and un-merged, but i can probably build it for you.

mpu6000 and 6500 already supported, AFAIK. that link does not report newer gyros.

Additionally, HD is still in development as well, so i would need to know if you need Analog or HD.

The gyro should be mpu6500 (65 on the mpu chip) and I uses analog. I don't know why betaflight can fly but emuflight can not, I really like emu's filter.

nerdCopter commented 1 year ago

@kaji331 , in betaflight, please paste the output of cli command status.

Also, i just reviewed our MATEKF722SE target definition, it seems it is configured statically for mpu6000 on gyro 1, or mpu6500 on gyro 2. if there is 6500 as hardware gyro 1, this is the reason it would fail. [edit: this statement likely incorrect.]

if you can validate hardware and positions, i can modify some test code and submit here for testing.

nerdCopter commented 1 year ago

maybe set gyro_to_use = SECOND, save.

kaji331 commented 1 year ago

@kaji331 , in betaflight, please paste the output of cli command status.

~Also, i just reviewed our MATEKF722SE target definition, it seems it is configured statically for mpu6000 on gyro 1, or mpu6500 on gyro 2. if there is 6500 as hardware gyro 1, this is the reason it would fail.~ [edit: this statement likely incorrect.]

~if you can validate hardware and positions,~ i can modify some test code and submit here for testing.

status

MCU F722 Clock=216MHz, Vref=3.26V, Core temp=43degC Stack size: 2048, Stack address: 0x20010000 Configuration: CONFIGURED, size: 4034, max available: 16384 Devices detected: SPI:1, I2C:1 Gyros detected: gyro 2 locked dma GYRO=MPU6500, ACC=MPU6500, BARO=DPS310 OSD: MAX7456 System Uptime: 36 seconds, Current Time: 2023-08-09T00:48:52.119+00:00 CPU:51%, cycle time: 124, GYRO rate: 8064, RX rate: 15, System rate: 9 Voltage: 37 * 0.01V (0S battery - NOT PRESENT) I2C Errors: 1 SD card: Startup failed Arming disable flags: RXLOSS CLI MSP RPMFILTER

kaji331 commented 1 year ago

maybe set gyro_to_use = SECOND, save.

I tried this, but no use...

nerdCopter commented 1 year ago

please test EmuFlight_0.4.2_MATEKF722SE_Build_2838323eb.hex.zip

kaji331 commented 1 year ago

Hi, I tried MATEKF722SE 0.4.1 again. This time, I found after I chose second gyro in cli, it can find gyro! If I save some parameters in configurator GUI and restart, it can't find gyro again. I have to connect fc again and enter 'save' in cli, then it find the gyro again after restart...but the BMP280 baro is still not found anyway.

nerdCopter commented 1 year ago

DPS310 is not supported in EmuFlight yet. I do not understand the gyro issue :( -- maybe still try the hex i uploaded just in case.

kaji331 commented 1 year ago

please test EmuFlight_0.4.2_MATEKF722SE_Build_2838323eb.hex.zip

Now, I tried your uploaded firmware 0.4.2, this time I reconnected fc some times and save parameters in gui or cli. So far the gyro can always be found! :+1:

nerdCopter commented 1 year ago

interesting comment here: https://github.com/betaflight/betaflight/pull/13013#issuecomment-1666884302 Betaflight, matek, dual gyro, but icm40206 also reverts to gyro 1 after first save. wondering if this is an ancient bug and/or matek specific.

kaji331 commented 1 year ago

interesting comment here: betaflight/betaflight#13013 (comment) Betaflight, matek, dual gyro, but icm40206 also reverts to gyro 1 after first save. wondering if this is an ancient bug and/or matek specific.

I don't know. But I found my HAKRC F722D fc board had the second gyro position without a real chip.