Current Behavior
My config is Matek F722-STD powered by Matek FCHUB-6S. After connecting the board to Inav configurator (first powered by battery) I’m getting i2c errors of 45 and in tasks lists max load is exceeding 100% for battery task.
Here is dump of CLI for my board:
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
status
System Uptime: 65 seconds
Current Time: 2041-06-28T01:04:00.000+00:00
Voltage: 16.88V (4S battery — OK)
CPU Clock=216MHz, GYRO=MPU6500, ACC=MPU6500, BARO=BMP280, MAG=HMC5883
STM32 system clocks:
SYSCLK = 216 MHz
HCLK = 216 MHz
PCLK1 = 54 MHz
PCLK2 = 108 MHz
Sensor status: GYRO=OK, ACC=OK, MAG=OK, BARO=OK, RANGEFINDER=NONE, OPFLOW=NONE, GPS=OK
SD card: Manufacturer 0x2, 15126528kB, 06/2016, v2.4, ‘SA16G’
Filesystem: Ready
Stack size: 6144, Stack address: 0x20010000, Heap available: 1664
I2C Errors: 45, config size: 4671, max available config: 16384
ADC channel usage:
BATTERY : configured = ADC 1, used = ADC 1
RSSI : configured = ADC 3, used = none
CURRENT : configured = ADC 2, used = ADC 2
AIRSPEED : configured = none, used = none
System load: 6, cycle time: 509, PID rate: 1964, RX rate: 49, System rate: 9
Arming disabled flags: ANGLE NAV RX CLI
tasks
Task list rate/hz max/us avg/us maxload avgload total/ms
0 — SYSTEM 9 3329 4 3.4% 0.5% 24374
1 — GYRO/PID 1960 160 132 31.8% 26.3% 28619
2 — RX 49 53 41 0.7% 0.7% 237
3 — SERIAL 100 687 5 7.3% 0.5% 110
4 — BATTERY 49 40053 17 196.7% 0.5% 134
5 — TEMPERATURE 99 12 3 0.6% 0.5% 28
6 — BEEPER 99 10 4 0.5% 0.5% 48
7 — GPS 49 260 26 1.7% 0.6% 140
8 — COMPASS 9 226 219 0.7% 0.6% 245
9 — BARO 43 241 159 1.5% 1.1% 765
13 — TELEMETRY 498 17 4 1.3% 0.6% 269
16 — OSD 248 1053 44 26.6% 1.5% 1209
17 — CMS 49 5 2 0.5% 0.5% 10
20 — VTXCTRL 4 4 1 0.5% 0.5% 0
Task check function 6 2 11
Total (excluding SERIAL) 266.5% 34.4%
bootlog
Time Evt Description Parameters
3: 0 CONFIG_LOADED
3: 1 SYSTEM_INIT_DONE
259: 19 TIMER_CHANNEL_MAPPED (1, 1, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (2, 2, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (3, 3, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (4, 4, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (5, 5, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (6, 6, 0, 2)
259: 2 PWM_INIT_DONE
759: 21 TEMP_SENSOR_DETECTION
960: 9 GYRO_DETECTION (7, 0, 0, 0)
1451: 10 ACC_DETECTION (8, 0, 0, 0)
1552: 11 BARO_DETECTION (4, 0, 0, 0)
1552: 20 PITOT_DETECTION (0, 0, 0, 0)
1562: 12 MAG_DETECTION (2, 0, 0, 0)
1673: 21 TEMP_SENSOR_DETECTION
2080: 13 RANGEFINDER_DETECTION (0, 0, 0, 0)
2080: 4 SENSOR_INIT_DONE
2633: 5 GPS_INIT_DONE
2633: 7 TELEMETRY_INIT_DONE
3634: 8 SYSTEM_READY
resource
IO:
A00: SERIAL4 UART TX
A01: SERIAL4 UART RX
A02: FREE
A03: SERIAL2 UART RX
A04: FREE
A05: SPI1 SCK
A06: SPI1 MISO
A07: SPI1 MOSI
A08: MOTOR6 OUT
A09: SERIAL1 UART TX
A10: SERIAL1 UART RX
A11: USB IN
A12: USB OUT
A13: FREE
A14: LED2 OUT
A15: FREE
B00: FREE
B01: MOTOR5 OUT
B02: FREE
B03: SPI3 SCK
B04: SPI3 MISO
B05: SPI3 MOSI
B06: I2C1 SCL
B07: I2C1 SDA
B08: FREE
B09: LED1 OUT
B10: OSD CS
B11: FREE
B12: FREE
B13: SPI2 SCK
B14: SPI2 MISO
B15:
SPI2 MOSI
C00: ADC CH1
C01: SDCARD CS
C02: MPU CS
C03: MPU EXTI
C04: ADC CH2
C05: FREE
C06: MOTOR1 OUT
C07: MOTOR2 OUT
C08: MOTOR3 OUT
C09: MOTOR4 OUT
C10: FREE
C11: FREE
C12: FREE
C13: BEEPER OUT
C14: FREE
C15: FREE
D02: FREE
Entering CLI Mode, type ‘exit’ to return, or ‘help’
diff
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
resources
mixer
mmix 0 1.000 -1.000 1.000 -1.000
mmix 1 1.000 -1.000 -1.000 1.000
mmix 2 1.000 1.000 1.000 1.000
mmix 3 1.000 1.000 -1.000 -1.000
servo mix
servo
feature
feature -AIRMODE
feature THR_VBAT_COMP
feature BAT_PROF_AUTOSWITCH
feature GPS
feature PWM_OUTPUT_ENABLE
beeper
map
map TAER
serial
serial 3 2 115200 115200 0 115200
led
color
mode_color
aux
aux 0 1 0 900 1250
aux 1 2 0 1300 1700
aux 2 26 0 1300 2100
aux 3 4 3 925 1250
aux 4 3 2 900 1700
aux 5 9 2 900 1275
aux 6 8 4 1700 2100
aux 7 19 1 900 1300
aux 8 21 4 900 1300
adjrange
rxrange
temp_sensor
osd_layout
osd_layout 0 0 23 1 V
osd_layout 0 1 1 12 V
osd_layout 0 2 0 0 V
osd_layout 0 4 8 6 H
osd_layout 0 11 1 10 V
osd_layout 0 12 1 11 V
osd_layout 0 13 23 6 V
osd_layout 0 14 1 1 V
osd_layout 0 15 23 5 V
osd_layout 0 30 2 13 V
osd_layout 0 34 10 1 V
osd_layout 0 44 0 0 V
master
set looptime = 500
set gyro_hardware_lpf = 256HZ
set gyro_lpf_hz = 90
set gyro_notch1_hz = 200
set gyro_notch1_cutoff = 100
set acc_hardware = MPU6500
set acczero_x = 19
set acczero_y = 2
set acczero_z = 11
set accgain_x = 4085
set accgain_y = 4083
set accgain_z = 4100
set align_mag = CW270FLIP
set mag_hardware = HMC5883
set magzero_x = 46
set magzero_y = -171
set magzero_z = 91
set baro_hardware = BMP280
set pitot_hardware = NONE
set rssi_channel = 12
set serialrx_provider = SUMD
set sdcard_detect_inverted = ON
set motor_pwm_rate = 2000
set motor_pwm_protocol = MULTISHOT
set current_meter_scale = 179
set model_preview_type = 3
set gps_provider = UBLOX7
set gps_sbas_mode = EGNOS
set inav_reset_altitude = EACH_ARM
set inav_w_z_baro_p = 0.350
set nav_rth_altitude = 3000
profile
profile 1
set mc_p_pitch = 43
set mc_i_pitch = 40
set mc_d_pitch = 20
set mc_p_roll = 43
set mc_i_roll = 40
set mc_d_roll = 20
set mc_p_yaw = 70
set dterm_lpf_hz = 80
set dterm_notch_hz = 200
set dterm_notch_cutoff = 100
set roll_rate = 50
set pitch_rate = 50
set yaw_rate = 45
battery_profile
battery_profile 1
set battery_capacity = 2200
Not yet. I’ve been pointed in a couple of directions and I have my own theory. The one thing I tried was eliminating the overclocking of the I2C that someone suggested. That had no effect that I could tell.
Its been suggested that the mag should have 3.3v vs the 5v that my gps/mag module specifies but I’ve not explored that yet…I don’t have a 3.3v source on the copter at present. Tough to wrap my head around that one as my module(s) call for 5v, and, they’ve worked fine on other FCs various APMs that is). I’ll explore that at some point but I’ve not had any real time to get back to my bench.
My theory though is that (as I read somewhere) since the I2C bus shares resources with the UART3 (I think it’s #3 is what I’ve read) there is some sort of data collision happening. I’m working from memory here so bear with me…
I think it was dronetrest.com that spells out this sharing issue specific to using ppm receivers (I’m using a knockoff Spektrum satellite receiver which connects via different pins than a standard ppm receiver but I’m guessing that qualifies). I’m guessing that the ppm data and the mag data «collide» on the shared resource and cause the I2C errors. Again on dronettest I think it is suggested to recompile the Inav firmware but doing so while uncommenting the «avoid_using _uart3» or somesuch statement. I’m a bit over my head on all this to begin with but recompiling is something I’ve not done before,so, I haven’t tested this fix yet. Not sure if I will because recompiling is a whole new set of learning and as best I can tell requires a Linux setup which I don’t have right now. Add to that that I’m wondering what problems you might be inviting by changing the firmware… why isn’t Uart3 being «avoided» in the first place?
In looking at the Inav wiki I see that the Omnibus F3 AIO isn’t in the fully supported category so I’m wondering if that’s not a contributing factor on this issue.
I’ll post back if I did pursue any of these fixes but for now I’ve opted to swap in an SP F3 board thinking it might be the quicker path to getting my copter back in the air again.
Not sure I’ve furthered the cause any but thanks for the question/response. Hopefully I’ve suggested something to go after if you are so inclined. If you do chose to tinker further, and something works or shows promise, I’d enjoy hearing about it!
Regards and Good Luck, Waltec
…
Sent from my iPhone
On Apr 20, 2017, at 2:53 AM, Michael Galler ***@***.***> wrote:
@Waltec
I have the exact same problem with the same board and neo-m8n.
Did you found a solution?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
Содержание
- Understanding I2C Errors
- The Errors
- Not Enabled (-13)
- Controller Select Error (-1)
- Transmit Select Error (-2)
- Transmit Error (-3) BTF Error (-4)
- Stop Error (-5)
- Address Clear Error (-6)
- Address RXNE Error (-7) Data RXNE Error (-8) Controller Receive Select Error (-10) Receive Error (-11) BTF Receive Error (-14)
- Reselect Error (-12)
- I2c rw error status 0x4198fe00
- Macro Definition Documentation
- § I2C_STATUS_QUEUED
- § I2C_STATUS_SUCCESS
- § I2C_STATUS_ERROR
- § I2C_STATUS_UNDEFINEDCMD
- § I2C_STATUS_TIMEOUT
- § I2C_STATUS_CLOCK_TIMEOUT
- § I2C_STATUS_ADDR_NACK
- § I2C_STATUS_DATA_NACK
- § I2C_STATUS_ARB_LOST
- § I2C_STATUS_INCOMPLETE
- § I2C_STATUS_BUS_BUSY
- § I2C_STATUS_CANCEL
- § I2C_STATUS_INVALID_TRANS
- Matek F722-STD i2c errors & max load >100% #4433
- Comments
- Current Behavior
- version
- INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
- GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
- status
- tasks
- bootlog
- resource
- version
- INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
- GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
- Arduino.ru
- Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
- forum.arduino.ru
- И опять про LCD и PCF8574. ну никак не запущу.
Understanding I2C Errors
How To Debug I²C Read And Write Problems
The imp API provides users of I²C peripheral devices (‘peripherals’) with debugging information following failed attempts to read or write data to any I²C peripheral connected to an imp. This information comes in the form of an integer constant returned by either i2c.write() or i2c.readerror(), depending on the type of operation being performed. If either method returns any value other than 0, an error has occurred. The return value indicates the nature of the error, and these errors are listed in the i2c.readerror() documentation. Should an error occur, the I²C transaction is abandoned.
This document describes these errors in more detail. They are presented in the order in which they are likely to be encountered, with those relating to write operations appearing first, followed by those issued during read operations.
The imp API makes sending and receiving data via I²C very straightforward, but ‘under the hood’ the process as is complex. As such, a single imp API I²C access may result in any one of a series of errors, depending on which stage of the process the underlying impOS™ I²C code has reached.
The I²C Protocol
Developers working with imp005-based devices should note that the following applies primarily to other imp devices. The imp005’s Broadcom SoC will report only two I²C error values: -13 and -9. The former is as described below, but the latter covers almost all of the remaining I²C errors: unfortunately, some error conditions aren’t reported at all (success is falsely indicated). We hope to improve imp005 I²C error reporting in a future version of impOS.
The Errors
Not Enabled (-13)
This is a straightforward error that is issued when you have attempted to access an imp I²C bus that has not yet been configured. Check your code and, if necessary, call i2c.configure() with a supported speed constant passed as a parameter.
Controller Select Error (-1)
The imp signals its intention to begin an I²C transaction by establishing the standard I²C start condition: it attempts to pull the SDA line low (so the waveform has a falling edge) while the SCL line remains high. If the imp is unable to pull SDA low, this error will be issued.
This error may arise if another I²C master is operating on the same bus and has taken control of it. If the imp is the only master on the bus, this error may result from poorly chosen pull-up resistors. I²C ports are open drain so can only pull the SDA and SCL lines low; pull-up resistors are required to drive the lines high when they are released by bus devices.
Transmit Select Error (-2)
After the imp has signalled start and is ready to write data to it, it sends the 7-bit address of the I²C peripheral it wants to communicate with, followed by a single bit indicating whether the transaction is a write (the imp pulls SDA low) or a read (the imp leaves SDA high). These eight bits should be acknowledged by a single-bit ACK signal from the peripheral at the transmitted address; it pulls SDA low. If the acknowledgement doesn’t occur during the ninth clock pulse, then the imp will issue this error.
If this error is encountered, check the value of the peripheral’s address that you are passing. Some devices have multiple addresses, selectable by setting an address pin to one of three states (high, low or floating). The imp API takes addresses in 8-bit form; 7-bit addresses will need to be bit-shifted left one place.
Transmit Error (-3)
BTF Error (-4)
Once the peripheral has acknowledged its readiness, the imp can begin to send the data it wants to write. Data is sent byte by byte, each one written to the imp’s data register from which it is passed to a shift register and from there out onto the bus one bit at a time. Once the peripheral has clocked in a byte of data, it should acknowledged receipt. If it fails to do so while the imp is processing any byte of the data but the last, a transmit error will be issued. If the error occurs sending the last byte, a BTF error is reported instead.
A transmit error may also be reported if the bit value clocked out is not seen on the bus, ie. the imp sends a 1, ie. it leaves the SDA line high, but the SDA line is pulled low. This could indicate bus contention — there is another master on the bus — or, more likely, that the I²C circuit’s pull-up resistors are too weak to keep the lines high.
Stop Error (-5)
Once the imp has successfully written all the data it wants to send to the peripheral (or read back all the data that it requested), it signals the completion of the transaction with a stop condition: while SCL is high, SDA is released to go high too (the waveform has a rising edge). This releases the bus for other devices to make use of it. Again, the imp checks that this stop signal has been sent correctly. If it has not, then this error will be issued.
Address Clear Error (-6)
During a read operation, the imp places on the bus the I²C address of the peripheral it wants to read data from. This event should be acknowledged by the peripheral. If it is not, the imp will return this error.
Address RXNE Error (-7)
Data RXNE Error (-8)
Controller Receive Select Error (-10)
Receive Error (-11)
BTF Receive Error (-14)
All of these errors indicate a failure to read a byte from the peripheral at some point during the read operation. This is often caused by the peripheral holding the SCL line low while it retrieves the requested byte(s) — a technique called ‘clock stretching’.
Which error you get will depend on the number of bytes you have requested to be read and on the exact point where the receive error occurred.
Reselect Error (-12)
If the imp wishes to read data from a specific peripheral register, it must first write that register’s address to the peripheral as a data value. After the register address has successfully been written, the imp initiates a read operation, to pick up the value the peripheral returns from the register. The imp switches from write mode to read mode by issuing a second start signal. Once again, it checks that it can proceed. If it is unable to do so within the timeout period, this error will be issued.
Источник
I2c rw error status 0x4198fe00
These macros are reservations for I2C.h
I2CMSP432E4_STATUS_* macros are command codes only defined in the I2CMSP432E4.h driver implementation and need to:
Macro Definition Documentation
§ I2C_STATUS_QUEUED
I2C transaction is queued but has not started.
§ I2C_STATUS_SUCCESS
Successful status code returned by I2C API.
§ I2C_STATUS_ERROR
Generic error status code returned by I2C API.
§ I2C_STATUS_UNDEFINEDCMD
#define I2C_STATUS_UNDEFINEDCMD (-2)
An error status code returned by I2C_control() for undefined command codes.
§ I2C_STATUS_TIMEOUT
I2C operation timed-out.
§ I2C_STATUS_CLOCK_TIMEOUT
#define I2C_STATUS_CLOCK_TIMEOUT (-4)
I2C serial clock line timeout.
§ I2C_STATUS_ADDR_NACK
I2C slave address not acknowledged.
§ I2C_STATUS_DATA_NACK
I2C data byte not acknowledged.
§ I2C_STATUS_ARB_LOST
I2C multi-master arbitration lost.
§ I2C_STATUS_INCOMPLETE
#define I2C_STATUS_INCOMPLETE (-8)
I2C transaction is in progress or returned without completing.
§ I2C_STATUS_BUS_BUSY
I2C bus already in use by another controller. The I2C transaction was therefore unable to start.
§ I2C_STATUS_CANCEL
I2C transaction canceled by I2C_cancel()
§ I2C_STATUS_INVALID_TRANS
#define I2C_STATUS_INVALID_TRANS (-11)
I2C transaction is invalid. This may occur if:
Источник
Matek F722-STD i2c errors & max load >100% #4433
Current Behavior
My config is Matek F722-STD powered by Matek FCHUB-6S. After connecting the board to Inav configurator (first powered by battery) I’m getting i2c errors of 45 and in tasks lists max load is exceeding 100% for battery task.
Here is dump of CLI for my board:
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
status
System Uptime: 65 seconds
Current Time: 2041-06-28T01:04:00.000+00:00
Voltage: 16.88V (4S battery — OK)
CPU Clock=216MHz, GYRO=MPU6500, ACC=MPU6500, BARO=BMP280, MAG=HMC5883
STM32 system clocks:
SYSCLK = 216 MHz
HCLK = 216 MHz
PCLK1 = 54 MHz
PCLK2 = 108 MHz
Sensor status: GYRO=OK, ACC=OK, MAG=OK, BARO=OK, RANGEFINDER=NONE, OPFLOW=NONE, GPS=OK
SD card: Manufacturer 0x2, 15126528kB, 06/2016, v2.4, ‘SA16G’
Filesystem: Ready
Stack size: 6144, Stack address: 0x20010000, Heap available: 1664
I2C Errors: 45, config size: 4671, max available config: 16384
ADC channel usage:
BATTERY : configured = ADC 1, used = ADC 1
RSSI : configured = ADC 3, used = none
CURRENT : configured = ADC 2, used = ADC 2
AIRSPEED : configured = none, used = none
System load: 6, cycle time: 509, PID rate: 1964, RX rate: 49, System rate: 9
Arming disabled flags: ANGLE NAV RX CLI
tasks
Task list rate/hz max/us avg/us maxload avgload total/ms
0 — SYSTEM 9 3329 4 3.4% 0.5% 24374
1 — GYRO/PID 1960 160 132 31.8% 26.3% 28619
2 — RX 49 53 41 0.7% 0.7% 237
3 — SERIAL 100 687 5 7.3% 0.5% 110
4 — BATTERY 49 40053 17 196.7% 0.5% 134
5 — TEMPERATURE 99 12 3 0.6% 0.5% 28
6 — BEEPER 99 10 4 0.5% 0.5% 48
7 — GPS 49 260 26 1.7% 0.6% 140
8 — COMPASS 9 226 219 0.7% 0.6% 245
9 — BARO 43 241 159 1.5% 1.1% 765
13 — TELEMETRY 498 17 4 1.3% 0.6% 269
16 — OSD 248 1053 44 26.6% 1.5% 1209
17 — CMS 49 5 2 0.5% 0.5% 10
20 — VTXCTRL 4 4 1 0.5% 0.5% 0
Task check function 6 2 11
Total (excluding SERIAL) 266.5% 34.4%
bootlog
Time Evt Description Parameters
3: 0 CONFIG_LOADED
3: 1 SYSTEM_INIT_DONE
259: 19 TIMER_CHANNEL_MAPPED (1, 1, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (2, 2, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (3, 3, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (4, 4, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (5, 5, 0, 2)
259: 19 TIMER_CHANNEL_MAPPED (6, 6, 0, 2)
259: 2 PWM_INIT_DONE
759: 21 TEMP_SENSOR_DETECTION
960: 9 GYRO_DETECTION (7, 0, 0, 0)
1451: 10 ACC_DETECTION (8, 0, 0, 0)
1552: 11 BARO_DETECTION (4, 0, 0, 0)
1552: 20 PITOT_DETECTION (0, 0, 0, 0)
1562: 12 MAG_DETECTION (2, 0, 0, 0)
1673: 21 TEMP_SENSOR_DETECTION
2080: 13 RANGEFINDER_DETECTION (0, 0, 0, 0)
2080: 4 SENSOR_INIT_DONE
2633: 5 GPS_INIT_DONE
2633: 7 TELEMETRY_INIT_DONE
3634: 8 SYSTEM_READY
resource
A00: SERIAL4 UART TX
A01: SERIAL4 UART RX
A02: FREE
A03: SERIAL2 UART RX
A04: FREE
A05: SPI1 SCK
A06: SPI1 MISO
A07: SPI1 MOSI
A08: MOTOR6 OUT
A09: SERIAL1 UART TX
A10: SERIAL1 UART RX
A11: USB IN
A12: USB OUT
A13: FREE
A14: LED2 OUT
A15: FREE
B00: FREE
B01: MOTOR5 OUT
B02: FREE
B03: SPI3 SCK
B04: SPI3 MISO
B05: SPI3 MOSI
B06: I2C1 SCL
B07: I2C1 SDA
B08: FREE
B09: LED1 OUT
B10: OSD CS
B11: FREE
B12: FREE
B13: SPI2 SCK
B14: SPI2 MISO
B15:
SPI2 MOSI
C00: ADC CH1
C01: SDCARD CS
C02: MPU CS
C03: MPU EXTI
C04: ADC CH2
C05: FREE
C06: MOTOR1 OUT
C07: MOTOR2 OUT
C08: MOTOR3 OUT
C09: MOTOR4 OUT
C10: FREE
C11: FREE
C12: FREE
C13: BEEPER OUT
C14: FREE
C15: FREE
D02: FREE
Entering CLI Mode, type ‘exit’ to return, or ‘help’
version
INAV/MATEKF722 2.1.0 Feb 25 2019 / 16:59:54 (65b0ec1)
GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
Источник
Arduino.ru
Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
forum.arduino.ru
И опять про LCD и PCF8574. ну никак не запущу.
Всем добрый день. Прошу помощи. Скажу сразу — новичек. Не во всем пока разбираюсь. И не пойму в какую тему обратится(((
Начну по порядку))
Имеется Arduino UNO Rev.3 + LCD Keypad Shild от DFRobot + PCF8574AN.
На этом шилде контак RW — запаен на общий. Когда подключал «нормально» с библитекой LiquidCrystal — никаких проблем не было. Начитавшись форумов, решил попробовать включить по I2C.
Сумел RW «отодрать» от общего)))
Собирал различные схемы и заливал различные библиотеки:
Пробовал и на 0023 и на 1.0 — ничего не получается.
Несколько раз проверял монтаж. полный «зеро»
Можете подсказать — что не так.
Можете подсказать — что не так.
Нет результатов диагностики. i2cScanner — видит Вашу железку? Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.
90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение
1. Какой монтаж?
2. Как вы проверяли монтаж?
Прозвоните все линии и 5 раз перепроверьте правильность подключения.
Спасибо за ответы.
«Попробуйте запустить по i2c что-нибудь другое, заведомо рабочее.»
I2C проверял часами RTC DS1307. Все работает, вывожу время на LCD.
«90% что дело не в программной части, а в аппаратной. неконтакт, непропай, неверное подключение»
Смонтировано на монтажной плате. Монтаж проверял тестором. Проверял непосредственно на контактах LCD, Arduino и ногах микросхемы PCF8574.
Попробую все сделать с самого начала))
Может кто нибудь подскажет где скачать заведомо рабочую библиотеку на LiquidCrystal I2C.
Проверил еще раз монтаж. Все нормально.
Ничего не запустилось, не высвечивает, хоть тресни. В итоге полез в инет. Нашел следующее:
The only difference between the two is the I2C base address. The base address for the PCF8574 is 0x20 and the base address for the PCF8574A is 0x38 . The library doesn’t make any assumption as to the device being used, and it is up to the user to configure it during initialization of the application.
Я в первом посте писал, что у меня PCF8574AN
LiquidCrystal_I2C lcd(0x38,16,2);
Может кому пригодится)))
В догонку версия Arduino 1.0
Я в первом посте писал, что у меня PCF8574AN
Вам i2cScanner и должен был показать этот адрес устройства.
Да, надо было сразу пройти и не ломать голову. Спасибо.
У меня тож не работает дисплей, уже не знаю,что делать. Приобрел дисплей, который уже смонтирован с PCF8574. Все джамперы A0,A1,A2 одеты. Согласно таблицы дисплей имеет в этом случае адрес 0x40. Скачал библиотеку LiqiudCrystal_I2C.h. Подключил GNd,5V, SCL, SDA , A4 и A5 на ардуино уно. Дисплей показывает только квадраты (артефакты). Поменя местаими SCL и SDA, думал может ошибся, но дисплей не хочет работать.
Что- то я упустил?
Что- то я упустил?
Ссылку на свой дисплей и код, который заливаете.
PCF8574 бывают разные — и адреса у них разные получаются. Так что I2C сканером проверь адрес.
Это тока в мультиках рисуют на стене дверь и потом входят в нее — в жизни все по другому.
Я игрался с переборкой библиотек и адресов — запустил (правда долго игрался)
Загрузил вот этот код:
Дисплей засветился,но «Hello, World» не показывает
I2C scan показывает адресс 0x20, попробовал вставить lcd.begin (16,2)б тоже без результатно
Вот упертый. вам сюда.
заценил шутку) Display прияпаян к PCF8574, не видно,что на нем написано, что-то вроде 94V-0 , вот такой http://arduino.cc/en/uploads/Tutorial/LCD_bb.png. C-Control производитель
Значит руки не из нужного места — потому что я тоже запустил 2 дисплея и 16х2 и 20х4. Пробовал разные библиотеки, смотрел их работу — дописал вариант инита в обычную. Все нормально работает — подобных плат у меня 5 шт.
Просто производитель, делающий модуль PCF8574 для этого дисплея может его развести как угодно, то есть сам дисплей может быть подключен к PCF8574 так как взбредет в голову производителю модуля.
Поэтому может оказаться так что например шина данных так и находится в младших 4 битах, а вот EN, RW, RS могут быть подключены по другому:
ТАк же на этом модуле должен быть потенциометр регулировки контрастности, крутить пробовали?
Конечно пробовал. Может если не трудно порекомендуйте пару библиотек
Так записано в библиотеке:
На плате PCF8574 RW на 6 пине, En на 4, а Register Select на 5.
Нужно значит изменить запись в библиотеке на эту?
Тож не помогло. Вот нашел Datasheet со схемой подключения, там вроде Enable к 11 выходу подключается, Rw к 9, а RS к 10.
Поменял, тоже безрезультатно.
Может что-то упустил?
Что поменял? Для этой схемы:
Так записано в библиотеке:
Либо если в вашей библиотеке есть метод send то выглядеть он должен так:
есть в библиотеке вот что:
1. если использовать LiquidCrystal_I2C библиотеку, но у вас D4-D7 ноги дисплея подсоединены к 4-7 выводам PCF8574 то необходима правка как тут:
а конкретнее необходимо отредактировать:
портанул как раз только что эту библиотеку в свой проект (не ардуино вообще), завелось все с первого раза
на других библиотеках нужно смотреть для какого подключения она предназначена и редактировать соответствующее место где идет перетасовка старшей и младшей половины байта
Мучаю модуль с PCF8574T на борту. Адрес сканером определятся как 0x27.
Контакты на модуле прозвонил и поменял в скетче.
Результат банальный, не работает, т.е. светятся одни квадраты. Что я не так сделал?
P.S. Разобрался. Сам себе злобный буратино, не заметил непропай на RW.
UNO R3 + LCD 1602 + i2c с индексом — Т (PCF8574T)
Питание 5в Выходы подключил к А4 и А5.
Дисплей просто светиться и ничего не отображает
/*
* Displays text sent over the serial port (e.g. from the Serial Monitor) on
* an attached LCD.
* YWROBOT
*Compatible with the Arduino IDE 1.0
*Library version:1.1
*/
#include
#include
LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display
Источник
Вопросы по iNav
Товарищи, выдает СLI в INAV на команду “status” такую информацию:I2C Errors: 45, config size: 5911, max available config: 16384
Поискал по ветке, объяснений не нашел, что значит I2C Errors: 45, а главное, что с этим делать …
П.с.:Из подключенного к полетнику только GPS с компасом Matek. В поле проверял, GPS точку держал, компас домой возвращал.
Если я правильно понимаю у вас Матек? У меня два контроллера 722се и 722стд на обоих всегда I2C Errors: 45, с начала тоже думал, что какие то проблемы отключал отпаивал от шины все, все равно 45. Забил, настроил все и все летает как положено.
Если я правильно понимаю у вас Матек? У меня два контроллера 722се и 722стд на обоих всегда I2C Errors: 45, с начала тоже думал, что какие то проблемы отключал отпаивал от шины все, все равно 45. Забил, настроил все и все летает как положено.
Благодарю за помощь. В сети у народа были похожие проблемы, но там обычно Error был 5-10, но не 45 ошибок. В целом у меня тоже норм летает, не идеально, но все же
Как барометр влияет на навигацию и возвраты?
По-моему неплохо так влияет: с выключенным / отсутствующим барометрам любая навигация будет недоступна.
Снова прошу знатоков дать подсказку.
В режиме angl + nav alt hold коптер не держит высоту. Особенно это заметно, когда летишь вперед, квадр буквально несется к земле. Если назад, не разворачиваясь носом — наоборот, набирает высоту.
Полетник Матек 722SE. Паралоном закрывал/открывал, толку нет. При этом стик газа на середине, соответствующая настройка в INAV на удержание при среднем стике включена
Спасибо!
Поверьте в закладке Моде…этот режим присутствует…Были прецеденты, когда он просто оттуда исчезал по не понятным причинам…
Поверьте в закладке Моде…этот режим присутствует…Были прецеденты, когда он просто оттуда исчезал по не понятным причинам…
Да, такое у меня тоже случилось недавно. Исправил, но результат все равно такой же — плохо держит высоту (если не подключать gps), а при полете вперед теряет высоту и стремиться к земле
Полётник от влаги обрабатываете? не залили баро? (думаю что нет…)))… Может баро глючный…тут только проверка на другом полётнике или на другом баро…
Брак у Матек не стоит исключать…Лично у меня из 10 405 и 722 была 1 плата с браком…
Если есть электронщикремонтник…который в это врубается, он тоже может помочь…
такая же фигня, к земле прижимает , остановишься он на этой высоте и зависает .
А бародатчик в сенсорах посмотреть, работает ли он вообще можно?
А бародатчик в сенсорах посмотреть, работает ли он вообще можно?
На верхней панели Гира-Аксель-Баро-ЖПС…не в этом проблема у людей…там то он работает…и не работает по сути…
В логе все написано, какой режим, какая высота, в какой момент и почему.
а при полете вперед теряет высоту и стремиться к земле
Возможно вы летаете в режиме “attitude”. В этом режиме при полетах отключаются все навигационные режимы.
В Attitude при включенном Альтхолд высота прекрасно удерживается.
надо будет попробовать полетать в круизе , но вроде бы читал и на видео говорят что при движение в attitude отключается удержание позиции а высота должна удерживаться .
высота прекрасно удерживается.
Смотря на какой скорости. На скорости около 50-60 км у меня плавно идет снижение, приходится помогать газом.
На скорости около 50-60 км у меня плавно идет снижение
так об этом и идет разговор
Полётник от влаги обрабатываете? не залили баро? (думаю что нет…)))… Может баро глючный…тут только проверка на другом полётнике или на другом баро…
Собирал аккуратно, в перчатках. Ни флюсом, ни припоем не залил
такая же фигня, к земле прижимает , остановишься он на этой высоте и зависает .
Во-во, также (
А бародатчик в сенсорах посмотреть, работает ли он вообще можно?
В том-то и дело, что работает. В настройках что-то не так поставил
Возможно вы летаете в режиме “attitude”. В этом режиме при полетах отключаются все навигационные режимы.
Даже в круизе такая фигня
Смотря на какой скорости. На скорости около 50-60 км у меня плавно идет снижение, приходится помогать газом.
Пролетаю 10 метров и уже у земли квадр, такой скорости не успеваю развить (
Здравствуйте, подскажите пожалуйста. Видел выше кто то ругал режим круиз… Не подскажите, что с ним не так? А то мне, как новичку, этот режим как то больше понравился. Более стабильный и предсказуемый, чем аттитуд. Использую его в составе с режимами англ+нав.поз.холд+нав.альт.холд.
Точку держит. Летит туда куда я хочу, игнорируя боковой ветер. А то попробовал аттитуд. Так квадр при попытке полететь потихоньку прямо, летел в бок по ветру. RTH только и вернул его назад…
Кто нибудь летает в круизе? Поделитесь пожалуйста тонкостями в его работе…
Пролетаю 10 метров и уже у земли квадр, такой скорости не успеваю развить (
А силовая справляется с весом нормально, есть запас?
Если медленно лететь, то держит высоту?
Кто нибудь летает в круизе?
Летает. Ну какие там тонкости, все уже описано тысячу раз. Режим круиз подходит для спокойных полетов, для съемки с подвеса. Альтитюд более подвижный скоростной, на мой взгляд переходный на акро. Вот съемка в крузе с 2-х осевым подвесом в прошлом году прошивка старая 1.9.1.
PS снято при сильном ветре, заметны сбои курса.
Летает. Ну какие там тонкости, все уже описано тысячу раз. Режим круиз подходит для спокойных полетов, для съемки с подвеса.
Хорошее видео, спасибо. Сам часто бываю в тех краях на рыбалке.
Вы говорите,что круиз подходит для медленных полетов. А с какой скорости начинаются проблемы? В чем они выражаются?
А с какой скорости начинаются проблемы?
Как правило где-то после 30? Такая скорость нужна чтобы подлететь к точке съемки или вернуться домой. Следует учитывать скорость ветра, выше 6 м/сек не рекомендуеться даже для фантомов и мавиков, т. к. порывы ветра вызывают дергание по курсу. Особенно боковой. Ну и по высоте ветер разный. Внизу может тихо, а выше 100 м может быть “ветренно”. Есть сайт, который в реальном времени показывает ветер на любой высоте.
www.ventusky.com/?p=56.1;36.7;5&l=wind&w=0fgKtpv2A
Похоже на аппаратную ошибку на шине.
Пожалуйста, поделитесь подробностями о вашей настройке. Какая плата, какие датчики подключены? К доске подключен внешний компас?
Похоже, таймаут I2C (# 713, # 720) — это не единственная проблема. Я считаю, что драйвер I2C требует серьезной переписывания, чтобы правильно обрабатывать все состояния шины. Или, по крайней мере, быть упрощенным до уровня, используемого в F3. Я займусь этим, когда выйдет INAV-1.3.
хорошо, спасибо, я не видел других записей. Я считал, что проблема с магнитометром уже решена. Я не программист, извините.
Моя плата — NAZE32 rev6a 10DOF: MPU6500 BMP280 и внешний HMC5883 (отключение на плате путем вырезания)
Конечно, я пробую cleanfligth и хорошо летаю, и у всех датчиков очень мало ошибок i2c.
Здравствуйте, я попробую последний выпуск 1.3, и у меня точно такая же проблема. Ошибка i2c увеличивается через 1 минуту (или меньше). и бад замораживается, потому что время цикла тоже увеличивается. Я думаю, что это не проблема с оборудованием, потому что с INAV 1.2.1 у меня этой проблемы нет. Я пробую CLEANFLIGTH, и с последней версией 1.14 у меня тоже возникла эта проблема. (более ранние выпуски cleanfligth не вызывают проблем). мне нужно подождать еще время, чтобы попробовать inav на моем FC ..
@gendebeat это похоже на аппаратную проблему, с которой текущая реализация не может справиться — похоже, что вы единственный, у кого эта проблема.
Я собираюсь сделать драйвер I2C более надежным, но это займет время.
Подтверждаю это с dof6 / rev6a naze32 INAV-1.3, 1.2 и 1.2.1. Баро подключено — Ги-68 (БМП180). MC время от времени запускается корректно, и в большинстве случаев через короткое время он становится очень медленным с множеством ошибок i2c. Это может привести к потреблению ЦП (600-700%) при времени цикла около 16000-17000.
Баро подключается к контактам MC коротким (2-3 см) проводом на плате.
@digitalentity
привет, этот шестигранник работает правильно !! Я не летаю, попробую в эти выходные.
Но теперь я могу сказать, что есть какая-то ошибка i2c, но не зависает. Загрузка процессора всегда на уровне 2-3%. время цикла 2000
Благодарность!
@gendebeat, если количество ошибок i2c увеличивается со временем, это указывает на нестабильное оборудование. Я бы не поверил этой установке. Но все же хорошо знать, что один сбой шины не вызовет сбоя со 100% вероятностью.
Я закрываю этот вопрос сейчас
Могу подтвердить последнюю версию 1.6-rc2, и 1.5.1 все еще имеет эту проблему при натяжении f3 acro (clone) с внешним гироскопом hmc5883. (как и Betaflight 3.1.5). Ошибки i2c зашкаливают, загрузка процессора до 900%.
@AvengerIl Скорее всего, неисправное оборудование. Код I2C в 1.6 достаточно надежен — если он не работает — вероятность 99%, что что-то не так с оборудованием.
@digitalentity FC или ublox n7 gps с модулем компаса, скорее всего, виноват? какие-нибудь внешние журналы, которые, как известно, хороши?
@AvengerIl, вы можете пойти на Naza gps, тогда вам не понадобится I2C (mag и gps кодируются в одном последовательном потоке), и они хорошо работают в iNAV
@Redshifft, спасибо … у меня есть один из них … Я попробовал F1 NAZE32 rev6b с тем же i2c mag, и он работал нормально, не блокируется … должен быть клон spracing f3 с osd, вызывающий проблема.
слишком много опций, слишком много решений … я действительно хочу 8 кГц и дшот .. И GPS ..
Я слышу, как вас зовет F4;)
Используя Omnibus F3 AIO и Neo 6m, через минуту или две я получаю ошибки I2C и предупреждение о нездоровом состоянии. При перезагрузке все работает нормально.
Меня беспокоит утверждение, что это, должно быть, проблема с оборудованием (mag), поскольку я пробовал два разных GPS с одним и тем же результатом, возможный сбой (как указано Inaz или EZGUI) mag на модуле GPS. Эти модули известны как рабочие на платах APM 2.5 и 2.6.
Я видел эту неудачу однажды в полете, когда настраивал свой коптер. Он просто повернулся и поднялся с небольшой высоты.
Есть ли шанс переосмыслить причину? Почему I2C не будет содержать ошибок больше минуты, а затем начнет получать ошибки?
Аппаратные проблемы кажутся слишком удобными, но я признаю, что я далеко не специалист в этих вещах.
Мысли или дальнейшее понимание?
@Waltec
У меня точно такая же проблема с той же платой и neo-m8n.
Вы нашли решение?
Еще нет. Меня указали в нескольких направлениях, и у меня есть собственная теория. Единственное, что я пробовал, — это исключить предложенный кем-то разгон I2C. Насколько я могу судить, это не имело никакого эффекта.
Было высказано предположение, что магнит должен иметь 3,3 В против 5 В, которые определяет мой модуль gps / mag, но я еще не исследовал это … У меня нет источника 3,3 В на коптере в настоящее время. Трудно обдумать это, так как мои модули требуют 5 В, и они отлично работали с другими FC (разными APM). Я изучу это в какой-то момент, но у меня не было реального времени, чтобы вернуться к своей скамейке.
Моя теория, однако, заключается в том, что (как я где-то читал), поскольку шина I2C разделяет ресурсы с UART3 (я думаю, что это №3, что я читал), происходит какое-то столкновение данных. Я работаю по памяти, так что несите меня …
Я думаю, что это dronetrest.com, который разъясняет эту проблему совместного использования, специфичную для использования приемников ppm (я использую подделку спутникового приемника Spektrum, который подключается через другие контакты, чем стандартный приемник ppm, но я предполагаю, что это подходит). Я предполагаю, что данные ppm и данные mag «сталкиваются» на общем ресурсе и вызывают ошибки I2C. Опять же, о dronettest, я думаю, что предлагается перекомпилировать прошивку Inav, но при этом раскомментируя «избегайте_использования _uart3» или другое подобное утверждение. Я для начала немного не в себе, но перекомпиляция — это то, чего я раньше не делал, поэтому я еще не тестировал это исправление. Не уверен, что буду, потому что перекомпиляция — это совершенно новый набор знаний и, насколько я могу судить, требует установки Linux, которой у меня сейчас нет. Добавьте к этому, что мне интересно, какие проблемы вы можете вызвать, меняя прошивку … почему Uart3 в первую очередь не «избегают»?
Просматривая вики Inav, я вижу, что Omnibus F3 AIO не входит в категорию полностью поддерживаемых, поэтому мне интересно, не является ли это фактором, способствующим этому вопросу.
Я напишу ответ, если я преследовал какие-либо из этих исправлений, но пока я решил заменить плату SP F3, думая, что это может быть более быстрый способ снова вернуть мой коптер в воздух.
Не уверен, что я способствовал этому делу, но спасибо за вопрос / ответ. Надеюсь, я подсказал, чем заняться, если вы так склонны. Если вы все же решили повозиться дальше, и что-то работает или выглядит многообещающим, я буду рад услышать об этом!
С уважением и удачи, Waltec
отправлено из моего Айфона
20 апреля 2017 г. в 2:53 Майкл Галлер [email protected] написал:
@Waltec
У меня точно такая же проблема с той же платой и neo-m8n.
Вы нашли решение?—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Я забыл упомянуть, что наряду с вопросом на 3,3 В по mag, есть также вопрос о том, что слишком много подтягивающих резисторов … один на FC и один на модуле gps / mag. Я не совсем понимаю, но, насколько я понимаю, FC, имеющий встроенный резистор, является причиной проблемы с напряжением, поскольку в модуле он тоже есть.
отправлено из моего Айфона
20 апреля 2017 г. в 2:53 Майкл Галлер [email protected] написал:
@Waltec
У меня точно такая же проблема с той же платой и neo-m8n.
Вы нашли решение?—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Странно, у меня внешний магнит на I2C (Beitian BN880 GPS) работает нормально на Omnibus F3 AIO. Используя UART3 для последовательного RX, таким образом:
serial 0 17 9600 38400 9600 38400
serial 1 2 19200 38400 0 115200
serial 2 64 115200 38400 0 115200
Проверено на 1.6.1 / 1.6.3 (разработка) и 1.7.0-RC1).
I2C подключен к J3 (SCL / SDA), [не J22 (PWM7 / 8)]
@Waltec Благодаря вам я нашел проблему. Проблема в общем UART3, я не использую ppm, но я использую двигатели 5 и 6, и они используют общие контакты от UART3. Если я перейду с гексакоптера на квадрокоптер, проблем больше не будет. Если я снимаю гексакоптер, проблема возникает через 1 минуту.
Но я пока не нашел решения.
@stronnag Большое спасибо за подсказку с подключением I2C к J3 вместо J22. Больше никаких ошибок I2C.
Но действительно странно, что перемещенные контакты «сломаны», а оригинал все еще работает.
@Waltec мне пришлось поменять местами провода SCL и SDA перед пайкой на J3.
Отличное понимание. Честно говоря, однажды я попробовал эти соединения, но не смог заставить их работать. Ошибка пользователя Я уверен.
отправлено из моего Айфона
20 апреля 2017 г. в 14:27 Майкл Галлер [email protected] написал:
@stronnag Большое спасибо за подсказку с подключением I2C к J3 вместо J22. Я больше не получаю ошибок I2C.
@Waltec мне пришлось поменять местами SCL и SDA bevor пайку на J3.—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Спасибо за ответ.
Пробовал вчера вечером с двумя разными модулями gps. M6n ublox. GPS будет отображаться синим в строке состояния, но магнитометр останется красным. Поменяны местами провода на случай, если контакты не в порядке, но без радости.
У меня было мало времени, поэтому я не мог исследовать себя, но …
-
Есть ли способ, может быть, оператор cli, чтобы определить, находится ли mag на шине и обменивается данными?
-
Я вспоминаю, что, когда mag показывает красный цвет, я не могу выполнить калибровку (на самом деле плата показывала завершение калибровки, что казалось странным), но я не проверял, доступна ли эта опция. Возможно, мне нужно просмотреть вкладку датчиков, а затем вернуться на вкладку калибровки, чтобы увидеть, не «сбрасывается» ли процесс калибровки.?
Я ожидаю, что, когда магнит работает (по крайней мере, общается), он, по крайней мере, становится синим в строке состояния, аналогично тому, что делает gps … может быть неправильно в этом.
Одна вещь, которая заставляет меня думать, что я сбита с толку, заключается в том, что я никогда не смогу зарегистрировать модуль соло mag в строке состояния. У меня есть пара таких, и всякий раз, когда я их подключаю, я не вижу доказательств того, что правление их видит. Это усложняет тот факт, что у модуля mag нет индикатора состояния, который я могу видеть.
Если у кого-то есть мысли по этому поводу, просто дайте мне знать.
С Уважением
отправлено из моего Айфона
20 апреля 2017 г. в 14:27 Майкл Галлер [email protected] написал:
@stronnag Большое спасибо за подсказку с подключением I2C к J3 вместо J22. Я больше не получаю ошибок I2C.
@Waltec мне пришлось поменять местами SCL и SDA bevor пайку на J3.—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
У меня такая же проблема с 1.6.1 на моем китайском клоне SPRacing F3. С cleanflight хоть и есть некоторые ошибки i2c, но не так уж и много. Поэтому я понизил версию iNav до 1.4, и счетчик перестает увеличиваться. Позвольте мне взглянуть на исходный код в ближайшие выходные, хотя я новичок в этом исходном коде.
Это было бы прекрасно. Вы упомянули SP F3, где у меня тоже есть проблема, но у меня она также есть на F3 Omnibus AIO. Обе платы получают неконтролируемые ошибки I2c на 1.6.1. На Omnibus другие могут использовать специальные контакты sda scl для магнита, но я не могу заставить их работать.
Между двумя платами у меня, вероятно, есть 6 контроллеров из разных источников, которые я не могу использовать. То, что я могу добиться некоторого успеха, перейдя на более раннюю версию, заставляет меня задуматься о последнем коде, но опять же, я не в своей тарелке.
отправлено из моего Айфона
28 апреля 2017 г. в 2:53 Хок Ким [email protected] написал:
У меня такая же проблема с 1.6.1 на моем китайском клоне SPRacing F3. С cleanflight хоть и есть некоторые ошибки i2c, но не так уж и много. Поэтому я понизил версию iNav до 1.4, и счетчик перестает увеличиваться. Позвольте мне взглянуть на исходный код в ближайшие выходные, хотя я новичок в этом исходном коде.
—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
просто заменил bus_i2c_stm32f30x.c в теге 1.6.1 на тот же файл в теге 1.4, построил новый образ и прошил его. Похоже, он просто отлично работает, по крайней мере, в конфигураторе iNav. Я не вижу ошибок i2c или непригодного для использования конфигуратора iNav из-за чрезмерной ошибки i2c. Я подозреваю, что с bus_i2c_stm32f30x.c определенно что-то не так, начиная с версии 1.5, поскольку, по моему опыту, эта чрезмерная ошибка i2c возникает в версии 1.5.
Довольно интересно. Учитывая размах плат, с которыми у меня возникают проблемы, это подразумевает проблему с прошивкой, но для меня это незнакомая территория.
отправлено из моего Айфона
28 апреля 2017 г. в 8:00 Хок Ким [email protected] написал:
просто заменил bus_i2c_stm32f30x.c в теге 1.6.1 на тот же файл в теге 1.4, построил новый образ и прошил его. Похоже, он просто отлично работает, по крайней мере, в конфигураторе iNav. Я не вижу ошибок i2c или непригодного для использования конфигуратора iNav из-за чрезмерной ошибки i2c. Я подозреваю, что с bus_i2c_stm32f30x.c определенно что-то не так, начиная с версии 1.5, поскольку, по моему опыту, эта чрезмерная ошибка i2c возникает в версии 1.5.
—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
SPRacingF3 из Китая работает с версией 1.7.0 в течение 5 часов подряд. Без вопросов.
Для устранения этой проблемы мне нужна либо неисправная плата, либо запись SCL и SDA, сделанная с помощью логического датчика в момент отказа.
просто быстрое обновление.
сократил частоту I2C с 400 кГц до 200 кГц, и похоже, что он работает. Загрузка процессора составляет около 4%. Пока ошибок нет.
На 300 кГц не работает.
На 100 кГц он работает, но загрузка процессора идет не так, как 70%.
Теперь я почти уверен, что это проблема печатной платы. вы знаете, импеданс отличается от одной печатной платы к другой.
И понятия не имею, почему драйвер i2c в теге 1.4 работает. Может быть позже.
Это I2C_STANDARD_TIMING в bus_i2c_stm32f30x.c, который я использую.
определить I2C_STANDARD_TIMING 0xA010031A
Просто счастлив, что мне не нужно выбрасывать мой драгоценный китайский клон, лол. Он будет летать?
утром совершил короткий тестовый полет с часами I2C 200 кГц.
Удержание высоты сработало почти идеально.
в режиме gps мой квадрокоптер продолжал кружить, хотя мой магнитометр выглядит вполне нормально. возможно, есть какие-то конфигурации, которые я пропустил.
В любом случае для тех, кто страдает от той же проблемы, вот 1.6.1 с тактовой частотой I2C 200 кГц. Используйте его на свой страх и риск!!!
Константин,
Кто-нибудь ответил вам по этому поводу?
По завершении вы вернете доску (и)? Вы ищете sp f3 и omnibus f3 aio? Я не смотрел … в какой ты стране?
Спасибо,
Эрик
отправлено из моего Айфона
29 апреля 2017 г. в 00:25 Константин Шарлаимов [email protected] написал:
Для устранения этой проблемы мне нужна либо неисправная плата, либо запись SCL и SDA, сделанная с помощью логического датчика в момент отказа.
—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
@Waltec Я в России. Один русский парень хочет прислать мне свой SPRacingF3 для расследования. Я с радостью верну платы, но должен вас предупредить — платы могут не выжить (я также буду искать проблемы с качеством оборудования). В какой ты стране? Я хочу убедиться, что доставка платы туда и обратно не будет стоить дороже, чем новая плата: smile:
Я в США. Если бы у меня был логический зонд, мог бы новичок дать вам полезную информацию?
From: Konstantin Sharlaimov <[email protected]>
Кому: iNavFlight / inav [email protected]
Копия: Waltec [email protected] ; Упомяните упоминание@noreply.github.com
Отправлено: Воскресенье, 30 апреля 2017 г., 7:43
Тема: Re: [iNavFlight / inav] Серьезная ошибка в i2c (# 724)
@Waltec Я в России. Один русский парень хочет прислать мне свой SPRacingF3 для расследования. Я с радостью верну платы, но должен вас предупредить — платы могут не выжить (я также буду искать проблемы с качеством оборудования). В какой ты стране? Я хочу убедиться, что доставка платы туда и обратно не будет стоить дороже, чем новая плата 😄 —
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Я загрузил это исправление 200 khz i2c на мою плату sp f3, на которой не было ни магнита, ни барометра. При загрузке он сразу показал и то, и другое. Должен быть в состоянии испытать полет позже сегодня.
From: Hawk Kim <[email protected]>
Кому: iNavFlight / inav [email protected]
Копия: Waltec [email protected] ; Упомяните упоминание@noreply.github.com
Отправлено: суббота, 29 апреля 2017 г., 21:57
Тема: Re: [iNavFlight / inav] Серьезная ошибка в i2c (# 724)
утром совершил короткий тестовый полет с часами I2C 200 кГц.
Удержание высоты сработало почти идеально.
в режиме gps мой квадрокоптер продолжал кружить, хотя мой магнитометр выглядит вполне нормально. возможно, есть какие-то конфигурации, которые я пропустил.
В любом случае для тех, кто страдает от той же проблемы, вот 1.6.1 с тактовой частотой I2C 200 кГц. Используйте его на свой страх и риск!!!-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Еще один комплект реквизита сломался после новой попытки взлететь.
QR400 + SPRacing F3 1.6.1. Контроллер просто завис. Этого никогда не было
до этого с прошивкой 1.3.
Что-то действительно не так с новыми прошивками.
2017-04-30 18:07 GMT + 03: 00 Waltec [email protected] :
Я загрузил это исправление 200 khz i2c на мою плату sp f3, которая тоже не показывалась
магнит или барометр. При загрузке он сразу показал и то, и другое. Должен
смогу опробовать полет сегодня же.От: Хок Ким [email protected]
Кому: iNavFlight / inav [email protected]
Копия: Waltec [email protected] ; Упомяните упоминание@noreply.github.com
Отправлено: суббота, 29 апреля 2017 г., 21:57
Тема: Re: [iNavFlight / inav] Серьезная ошибка в i2c (# 724)утром совершил короткий тестовый полет с часами I2C 200 кГц.
Удержание высоты сработало почти идеально.
в режиме GPS мой квадрокоптер продолжал кружить, хотя мой магнитометр выглядит довольно
хорошо. возможно, есть какие-то конфигурации, которые я пропустил.
В любом случае для тех, кто страдает от той же проблемы, вот 1.6.1
с часами I2C 200 кГц. Используйте его на свой страх и риск!!!-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.—
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/iNavFlight/inav/issues/724#issuecomment-298237538 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/ADyecNMr7CKFSkVbGdmUNrHDf8BxC8tYks5r1KOWgaJpZM4KfFnY
.
@ brat002, пожалуйста, отправьте мне свой неисправный FC для отладки. Еще раз — нет абсолютно НИКАКИХ проблем с настоящими платами SPRacingF3, а также со многими китайскими клонами. Если я не могу воспроизвести проблему, я, очевидно, не могу ее устранить, могу ли я?
Я только что обновил свой SP Racing F3 EVO до лучшего GPS с внешним магнитом (HMC5883) и подумал, что добавлю свои впечатления. Возникла та же проблема с ошибками I2C, которые начинают происходить примерно через 1 минуту, а затем журнал отображается как недоступный.
Я попытался обновить прошивку, как описано выше, но там написано, что прошивка повреждена. Может быть, это потому, что моя доска EVO, а не обычная SP Racing F3?
У меня нет опыта возиться с прошивкой FC, поэтому не знаю, как войти и изменить часы I2C вручную. Может быть, это исправление даже не применимо ко мне, потому что у меня другая плата?
Любые мысли оценены?
да это только для SPRACINGF3, а не для EVO. Если вы действительно хотите взять на себя риск, я только что загрузил 1.7.0 версию RC с 200 КГц скорость I2C часы для EVO здесь .
Кстати, я просто перешел на версию 1.7.0 RC, чтобы разобраться с проблемой удержания позиции. Пожалуйста, поделитесь своим опытом, чтобы я мог решить свою проблему с удержанием позиции.
Я только что попытался установить эту прошивку, но получаю такое же сообщение «Похоже, что прошивка повреждена», как и в случае с обычной прошивкой SP Racing F3.
Ранее я успешно загрузил стандартную версию 1.7.0, которую я нашел «inav_1.7.0_SPRACINGF3EVO.hex» (и я также попробовал версию, которую я нашел «inav_1.7.0_SPRACINGF3EVO_1SS.hex»). Не знаю, в чем разница, но на обоих все еще есть проблема с магнитом.
После публикации вышеизложенного я также нашел эту ветку, которая дает информацию о питании от 3,3 В и использовании подтягивающих резисторов:
https://github.com/iNavFlight/inav/issues/1583
Я не пробовал это, так как я только что нашел это, поэтому, вероятно, стоит пойти и попробовать.
хммм, честно говоря, я понятия не имею, что происходит.
можно выложить первые сотни байт файла прошивки? Вы можете просто открыть его с помощью блокнота.
Я думаю, что сделал какую-то глупость, пока пытался скачать. Файл Блокнота полон мусора по сравнению с другими загруженными мной шестнадцатеричными файлами. Смотрите внизу.
Я щелкнул левой кнопкой мыши, чтобы загрузить в Chrome, как обычно делал бы для любого файла, но это привело меня к необработанным данным, поэтому я щелкнул правой кнопкой мыши «Сохранить цель как:»
Возьми, мне нужно щелкнуть левой кнопкой мыши, скопировать и вставить в файл блокнота. Я раньше ничего не скачивал с Github (так как только что присоединился). Может я что-то упускаю.
«LC317» class = «blob-code blob-code-inner js-file-line»>: 1013A80000F10E06AB88B38007464FF00109002014
: 1013B800DFF8248198F81A30012B44460DD002D367
: 1013C800022B1ED024E0424B1B7823B93846022159
: 1013D80001221CF047FB012328E0FFF7A7FF40BBD1
: 1013E80038466946FFF7B2FF9DF8003008B19B0701
: 1013F80013D1002388F81A30B9F1000F0BD09946A1
Хорошо, только что установили модифицированную прошивку EVO. Проблема с mag все еще существует, но она не выходит из строя постоянно за один и тот же промежуток времени. Сначала питание на нем очень быстро выходило из строя. Может, секунд 10. Перезагрузил его, и на этот раз он работал как минимум несколько минут, прежде чем я снова перезагрузился. Еще несколько раз выяснилось, что для отказа требуется разное количество времени.
Затем я думаю, что попробую запитать GPS / Mag с напряжением 3,3 В и посмотрю, смогу ли я найти резисторы 1 кОм.
Просто заметил, что вскоре после того, как компас выходит из строя и ошибки I2C начинают подсчитываться, барометр начинает прыгать повсюду. Не особо понимаю, что это значит ……………
какой длины кабель для внешнего компаса?
Это около 30 см. Я установил компас на вертикальное крепление, чтобы держать его подальше от других компонентов.
Хорошо, мне удалось найти несколько резисторов около 1 кОм, и я подключил их между SCL и SDA и 3,3 В, как подробно описано в https://github.com/iNavFlight/inav/issues/1583.
Я также снабдил GPS напряжением 3,3 В. Похоже, у меня это сработало. Затем я попытался подключить питание GPS к + 5 В вместо 3,3 В, и оно тоже работает.
Я не вернулся к нормальной прошивке, поэтому я не знаю, делает ли это что-то еще, но у меня сейчас нет времени на это. Я также не тестировал его должным образом, так как все соединения были временными, поэтому я пока не могу летать на нем, но сделаю.
Так что для меня по крайней мере (пока кажется), что подтягивающие резисторы — это моя проблема, а не проблемы с прошивкой. Однако требуется дополнительное тестирование.
@brooksymike Взял свой (рабочий) китайский клонированный SPRacingF3 и померил найденные на плате подтягивающие резисторы — 1К. Так что вполне возможно, что некоторые клонированные платы действительно имеют случайные резисторы, что вызывает проблемы.
Константин,
Можете ли вы опубликовать изображение или описание того, где / как вы это сделали? У меня нет четкого представления о том, следует ли мне добавлять резисторы или удалять их, но я хотел бы иметь возможность их идентифицировать.
отправлено из моего Айфона
2 мая 2017 года в 07:56 Константин Шарлаимов [email protected] написал:
@brooksymike Взял свой (рабочий) китайский клонированный SPRacingF3 и померил найденные на плате подтягивающие резисторы — 1К. Так что вполне возможно, что некоторые клонированные платы действительно имеют случайные резисторы, что вызывает проблемы.
—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Я тоже измерил свой, и там было подтягивание 1K.
Но почему версия 1.3 работала нормально?
Хорошо, моя проблема не исчезла. При подключении к моему телефону Android (EZ-GUI) все в порядке, но теперь я подключен к iNav, проблемы все еще есть, но другие. У меня разные вещи в зависимости от того, какую прошивку использую. В некоторых прошивках отображается серый цвет «Калибровать магнитометр». На других он будет откалиброван, но заголовок неправильный. По другому заголовок то и дело смещался.
Сегодня я снял крышку с квадрокоптера и положил магазин. Только тогда я заметил, что плата, похоже, все еще использует внутренний компас, а не внешний (хотя для FC установлено значение HMC5883). Внутренний компас обозначен как AK8963, поэтому я подумал, что мне не нужно вырезать следы, чтобы внешний компас работал.
Я действительно понятия не имею, что делать дальше.
Есть предположения?
Как насчет отключения внешнего магнита и тестирования только с внутренним. По крайней мере, таким образом вы исключили один потенциальный источник конфликта из уравнения.
Кроме того, вы уверены, что внутренний компас «активен». Вы, наверное, видели это, но, чтобы быть уверенным, я ошибался в прошлом, когда ошибочно принимал качели гироскопа за показания компаса.
отправлено из моего Айфона
2 мая 2017 года в 17:27 brooksymike [email protected] написал:
Хорошо, моя проблема не исчезла. При подключении к моему телефону Android (EZ-GUI) все в порядке, но теперь я подключен к iNav, проблемы все еще есть, но другие. У меня разные вещи в зависимости от того, какую прошивку использую. В некоторых прошивках отображается серый цвет «Калибровать магнитометр». На других он будет откалиброван, но заголовок неправильный. По другому заголовок то и дело смещался.
Сегодня я снял крышку с квадрокоптера и положил магазин. Только тогда я заметил, что плата, похоже, все еще использует внутренний компас, а не внешний (хотя для FC установлено значение HMC5883). Внутренний компас обозначен как AK8963, поэтому я подумал, что мне не нужно вырезать следы, чтобы внешний компас работал.
Я действительно понятия не имею, что делать дальше.
Есть предположения?—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
@ brat002 ,
не уверен, что это актуально для вас, но резюмируя,
что касается ошибки I2C, по моему опыту,
мой предполагаемый (о да, у меня есть чертовски много вещей, чтобы поговорить об этом из моего опыта производства печатных плат, но в следующий раз) неисправный клон SP Racing F3 отлично работает до 1.4.
И в драйвере шины I2C, начиная с версии 1.5, была большая переписана, и мой клон перестал работать с тактовой частотой I2C 400 кГц по умолчанию.
До сих пор, после того, как я снизил тактовую частоту до 200 кГц, все работало нормально, хотя я пытаюсь решить проблему с туалетным боулингом (я сужаю ее до проблемы с автонастройкой GPS, но, черт возьми … мой esc пытается обернуть его алюминиевой фольгой … так что придется подождать месяц для нового китайского). Я ни разу не видел ошибок I2C в течение недели, и все данные журнала черного ящика выглядят нормально.
пахунт.
Я использовал вашу прошивку со сменой часов i2c, и хотя мои mag, gps и baro, казалось, работали, я также получил неустойчивую производительность удержания gps и, казалось бы, ограниченную несуществующей производительностью удержания высоты.
Обычно мой квадрокоптер неопределенно зависал, дрейфуя на высоте десяти или пятнадцати футов, а затем резко возвращался в противоположном направлении, как если бы GPS только что заметил, что он позволил вертолету ускользнуть из положения.
На тот момент у меня почти закончились выходные и терпение, поэтому я решил убрать квадроцикл.
Я уверен, что в какой-то момент у меня появится вдохновение, но прямо сейчас я подумываю признать поражение и вернуть свой apm 2.5, чтобы выполнить какое-то задание.
Я думаю, что ваша модифицированная прошивка — правильный путь, но мой коптер настроен неправильно. При этом мои платы F3 никогда не вылетали из коробки на inav, как говорят другие. Последнее заставляет меня задуматься, действительно ли у этих плат очень много различий в качестве, и мы все гонимся за схожими проблемами, которые имеют разные причины.
@Waltec ,
согласен с вами до некоторой степени.
В моем случае удержание высоты работает довольно хорошо после того, как я положил небольшую пену поверх барометра.
Когда дело доходит до магнитометра, я вижу отклонение примерно на 30 градусов, когда я запускаю двигатели, поэтому я попытался защитить магнитометр и другие компоненты алюминиевой фольгой, как было предложено в Интернете, но безрезультатно, что привело меня к одному сломанному esc. Я даже изменил расположение своего fc для минимальных магнитных помех. Пока ничего не работало.
Исходя из моего опыта работы с печатными платами, я могу сказать, что китайские клоны дешевы не зря. Часто, если вы не обращаете особого внимания на некоторые следы печатной платы во время производства печатной платы, вы не можете достичь полной скорости. Когда это происходит в массовом производстве, мы обычно в конечном итоге снижаем тактовую частоту, поскольку мы не можем просто выбросить десятки тысяч произведенных печатных плат. Часто то, что отлично работало на моей платформе разработчика, внезапно перестает работать в производственной среде. Как инженер я видел это много раз.
Что касается того, использует ли FC внутренний компас или нет, я удалил внешний Gps / mag из квадроцикла и повернул его, оставив квадрацикл неподвижным. Заголовок не изменился. Затем я переместил квадроцикл, и он действительно изменился. Я считаю, что qyro измеряет силу вращения, но не знает, в каком направлении он указывает, поэтому предположил, что то, что я видел, было внутренним компасом, все еще активным?
Думаю, я попробую вернуться к внутреннему компасу, чтобы убедиться, что он работает нормально.
Я не пробовал это, но я думаю, что это сработает … возьмите магнит разумной силы (я полагаю, вы могли бы использовать запасной двигатель) и переместите его вокруг полетного контроллера, пока у вас снова будет модуль GPS в стороне. . Я ожидаю, что вы увидите движения компаса, которые подтвердят, что внутренняя композиция активна. Также сделайте это с модулем / шайбой GPS, чтобы убедиться, что mag активен и хорошо.
Если вы получаете качели на обоих, когда они подключены к FC, то, конечно, ваш ответ … Каждый магнит питает полетный контроллер.
Еще одна вещь, которую я бы попытался проверить, — это ориентация магнита на шайбе GPS … вы, вероятно, знаете это, но они не все одинаковы. Часто мои магнитные чипы переворачиваются и поворачиваются на 180 градусов, что может быть ОЧЕНЬ запутанным при сортировке.
Хорошо, я попробую это. Спасибо за предложения.
Один вопрос — возможно ли, чтобы и внутренний, и внешний журналы были активными (и работающими) одновременно?
Вы имеете в виду хорошую совместную работу и получение лучших или более надежных магнитных показаний, или вы имеете в виду, что оба работают одновременно, отправляя данные на полетный контроллер?
Я не могу ответить на первый вариант, но предполагаю, что программа не знает, как обрабатывать два ввода одновременно. Если вы спрашиваете последнее, я думаю, что эксперимент с магнитом покажет вам, посылают ли оба магнитных чипа сигналы, когда у вас подключена божественная шайба. Надеюсь, это поможет.
Я имел в виду, сможет ли полетный контроллер справиться с двумя входами одновременно, а я думаю, что это не так. Когда вы выбираете, какой компас используете, я читал, что вы можете подключить внешний, и что каким-то образом FC может игнорировать внутренний, даже если он все еще подключен (только если внешний и внутренний компасы разные).
Кажется, это не то, что со мной происходит, но я проведу дальнейшие испытания с помощью магнита.
Одна вещь, которую я заметил сегодня вечером (после того, как я отключил внешний компас и выбрал правильный внутренний компас), было то, что компас был серым цветом и не позволял мне откалибровать. Пробовал разные версии прошивки, но все равно не удалось, но по-разному.
Требуется дополнительное тестирование! Возможно, скоро сдастся и попробую другой FC!
Спасибо за предложения.
У меня была точно такая же проблема с моим клоном BG Omnibus F3 AIO.
Чтобы решить эту проблему, я просто добавил подтягивающий резистор 1 кОм на линии SDA и SCL (на ublox 8 GPS).
Является ли подтягивающий резистор специальным типом резистора или это стандартный резистор, установленный определенным образом для обеспечения функции «подтягивания»?
Если вы можете сфотографировать установку и, возможно, предоставить ссылку на резистор, который я могу заказать в США, я, вероятно, сам разберусь с остальным.
Все, что я знаю о резисторах, — это следовать таким инструкциям, как «припаяйте резистор сопротивлением x Ом к выводу x, чтобы обеспечить правильное напряжение».
Итак … любое направление для новичков, которое вы можете предоставить, будет очень признательно.
отправлено из моего Айфона
25 мая 2017 г. в 12:56 Tops76 [email protected] написал:
У меня была точно такая же проблема с моим клоном BG Omnibus F3 AIO.
Чтобы решить эту проблему, я просто добавил подтягивающий резистор 1 кОм на линии SDA и SCL (на ublox 8 GPS).—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Это обычный резистор. Но я бы не стал использовать 1кОм. Это довольно низкая стоимость. Я бы начал с подтягиваний 4,7 кОм
Спасибо.
отправлено из моего Айфона
25 мая 2017 года в 15:31 Павел Спихальский [email protected] написал:
Это обычный резистор. Но я бы не стал использовать 1кОм. Это довольно низкая стоимость. Я бы начал с подтягиваний 4,7 кОм
—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
Да просто резистор нормальный. Чтобы рассчитать правильный подтягивающий резистор для быстрого режима I2C на 3v3, вы можете проверить эту документацию: Расчет подтягивающего резистора шины I2C
_ Для связи I2C в быстром режиме со следующими параметрами рассчитайте номинал подтягивающего резистора.
Cb = 200 пФ, VCC = 3,3 В …_
Проверить страницу 4
_Таким образом, мы можем выбрать любое доступное сопротивление резистора от 966,667 Ом до 1,77 кОм. Ценность
Подтягивающий резистор можно выбрать в зависимости от потребляемой мощности и скорости.
@ Tops76 это наименьшее возможное сопротивление подтягиванию, которое все еще находится в пределах допусков устройств.
@DzikuVx Да. С этим значением у меня было 0 ошибок I2C во время 4-часового теста, но я попробую большее значение, например 1k5, на всякий случай. Но я думаю, что 4k7 слишком высок для быстрого режима и 3v3.
Пожалуйста, помните, что подтягивания на FC уже есть. Чтобы общее сопротивление было ниже, чем это
Ты прав ! Проверю спасибо.
Извините, но я сдался (с gps на этом fc). Я все еще буду использовать квадроцикл, но не как сборку GPS. Я купил APM 2.8 и совершенно новую раму (F450) и сейчас занимаюсь ее сборкой.
Когда я тестировал sp racing с подтягивающими резисторами, казалось, что он работает, но затем снова начал делать случайные вещи.
С тех пор я подтвердил, что GPS определенно работает, как и на APM.
Не могу сказать, что виню тебя. Раздумывал, стоит ли возиться с подтягиванием. Мне сегодня по почте приходит клон Pixhawk. Вот где я приземлялся. Меня беспокоили споры о клонах и OEM-платах. По правде говоря, я думаю, что все они происходят из Китая, и даже платы «одобренных» поставщиков получили плохие отзывы.
Если я попробую исправить это, я опубликую здесь результаты. Но не в приоритете.
отправлено из моего Айфона
26 мая 2017 г. в 12:11 brooksymike [email protected] написал:
Извините, но я сдался (с gps на этом fc). Я все еще буду использовать квадроцикл, но не как сборку GPS. Я купил APM 2.8 и совершенно новую раму (F450) и сейчас занимаюсь ее сборкой.
Когда я тестировал sp racing с подтягивающими резисторами, казалось, что он работает, но затем снова начал делать случайные вещи.
С тех пор я подтвердил, что GPS определенно работает, как и на APM.—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.
@brooksymike «работает» не обязательно означает «надежно работает». APM не имеет функции обнаружения аппаратных сбоев, поэтому однажды вы можете оказаться в очень неприятной ситуации с этим модулем GPS, независимо от полетного контроллера и прошивки. Я бы запустил RMA на вашем GPS-модуле.
Я обнаружил, что HMC5883 — самый проблемный датчик компаса. MAG3110 — это мой нынешний дизайнерский выбор — к сожалению, они не используются широко …
Я также использую MAG3110 в качестве внешнего компаса на клоне SP3. На удивление работает он безотказно, в отличие от оригинального бортового магнитометра (я его полностью удалил). I2c 400 кГц подходит для этого сенсора.
ладно. это было так давно. получил новый ESC из китая и имел возможность протестировать. Убрал мой неисправный полетный контроллер подальше от PDB. I2C все еще работает на частоте 200 кГц. Работало почти идеально. Иногда из-за EMI на компасе мой квадрокоптер кружил в радиусе примерно 1 метра, но в основном почти не двигался. Сейчас очень доволен этим.
Еще мне попался еще один китайский SP Racing F3. На этот раз я заплатил на 6 долларов больше за встроенное OSD. Только что прошил iNav 1.7, и I2C работает на полной скорости без ошибок. Думаю, если заплатить еще 5 баксов, это окупится.
Ваше здоровье!
Всем привет. Как у @ Tops76 такая же проблема с aliexpress Ublox NEO-M8N gps со встроенным компасом. На моем FC (клон F4 omnibus V3 pro) было много ошибок i2c. После того, как я припаял подтягивающие резисторы 1 кОм к проводам SCL-SDA, все идет нормально. Ваше здоровье!
После удаления внутреннего магнита из моего spracing f3 deluxe я также был завален ошибками I2c с Ublox 8. Я не заметил, что в режиме квадро не было никаких ошибок, но когда я перешел на шестнадцатеричный — плата зависла с 600% загрузкой процессора. резисторы не помогли
На inav 1.4 ошибок нет, но эта версия, похоже, игнорирует ошибки
Так что я провел адские ночи, тестируя свой Ublox8. Я проверил, не пропустили ли наши китайские гении SDA для SCL, и обнаружил, что на новом Sp Racing F3 Acro он не работает, пока не будет понижен до 1.4. Без подтягивающих резисторов 1 кОм он не будет работать даже с Arduino. но с подтягиваниями все идет хорошо с Arduino, но не с Acro или Deluxe (вы помните, я вытащил из него компас). Так что это в некоторой степени не аппаратная проблема, я имею в виду резисторы, но Inav не хватает некоторых драйверов Mag или чего-то еще. Clean / Beta Flight распознает mag даже без подтягивания. Так что я выберу APM или Naza.
Ublox 7m был идеален на Inav 1.7.0–1.7.1, но мой F450 потерял одну опору и упал примерно со 100 метров. спасибо, что остались.
Тем, кого преследуют ошибки I2C — вы можете взглянуть на https://github.com/iNavFlight/inav/pull/1934.
Есть очень много клонированных датчиков компаса / барометра, которые не работают на шине 400 кГц, но отлично работают на 200 кГц.
Спасибо. Сильно полезно для меня. Я понятия не имею, как это сделать, чтобы попробовать.
@VictorBucha Я могу собрать вам прошивку для тестирования, если вы хотите
Конечно, спасибо. Постараюсь ответить. 31 июля 2017 г., 8:56, Константин Шарлаимов [email protected] написал: @VictorBucha Я могу собрать вам прошивку для тестирования, если вы хотите попробовать.
— Вы получили это, потому что были упомянуты. Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите чат.
АААааааааааааа и теперь работает @ 200KHZ !!!!. Acro с BMP085 и HMS5883 + UBLOX NEO8m с подтягивающими резисторами 1кОм — работает.
Deluxe с распаянным HMS5883 не видит бортовую панель, но видит BMP085. Отличная работа, @digitalentity !!!
Я думаю, что эту опцию изменения частоты следует добавить в стандартную прошивку и вики.
Изображение GPS-модуля, прикрепленного для удобства
@VictorBucha спасибо за тестирование! Код будет добавлен в следующий выпуск — это действительно очень полезная опция.
Провел дальнейшее тестирование: нет необходимости питать UBLOX neo8m от 3,3 В, если I2C включен — он не показывает ошибок при питании от 5 В.
@digitalentity Не могли бы вы также сделать сборку с параметром интерфейса командной строки i2c speed для Omnibus F3, чтобы я мог ее протестировать?
У меня похожая проблема — внешний магнит (HMC5883) работает несколько минут, потом много ошибок i2c, и он становится красным в конфигураторе. Магнитометр отлично работает на другом FC.
Я попробую добавить подтягивающие резисторы, но я также хотел бы попробовать изменить скорость i2c, если это не сработает.
Добавление подтягивающих резисторов 3,3 кОм, похоже, сработало — так что я, вероятно, буду придерживаться этого, и мне не нужно будет пытаться снизить скорость i2c.
Теперь просто нужно разобраться, зачем нужны унитазы, хотя единственное изменение — это новый FC …
Спасибо всем за то, что сделали inav потрясающим!
у меня была подобная проблема, изменил i2c_speed на 200
и подпаял резисторы 1к на шину i2c
Контроллер F722
Теперь все работает =)
Спасибо вам)
Была ли эта страница полезной?
0 / 5 — 0 рейтинги
Code:
# version
# EmuFlight / KAKUTEF7HDV (KTF7) 0.4.0 Aug 23 2021 / 20:29:44 (69caf5a05) MSP API: 1.51
board_name
manufacturer_id
mcu_id 003400443039511434383332
signature
# name
name Bando Killer
# resources
resource BEEPER 1 D15
resource MOTOR 1 B00
resource MOTOR 2 B01
resource MOTOR 3 E09
resource MOTOR 4 E11
resource MOTOR 5 C09
resource MOTOR 6 A03
resource MOTOR 7 NONE
resource MOTOR 8 NONE
resource SERVO 1 NONE
resource SERVO 2 NONE
resource SERVO 3 NONE
resource SERVO 4 NONE
resource SERVO 5 NONE
resource SERVO 6 NONE
resource SERVO 7 NONE
resource SERVO 8 NONE
resource PPM 1 E13
resource PWM 1 NONE
resource PWM 2 NONE
resource PWM 3 NONE
resource PWM 4 NONE
resource PWM 5 NONE
resource PWM 6 NONE
resource PWM 7 NONE
resource PWM 8 NONE
resource LED_STRIP 1 D12
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 D05
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 A00
resource SERIAL_TX 5 NONE
resource SERIAL_TX 6 C06
resource SERIAL_TX 7 NONE
resource SERIAL_TX 8 NONE
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_TX 11 NONE
resource SERIAL_TX 12 NONE
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 D06
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 A01
resource SERIAL_RX 5 NONE
resource SERIAL_RX 6 C07
resource SERIAL_RX 7 E07
resource SERIAL_RX 8 NONE
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SERIAL_RX 11 NONE
resource SERIAL_RX 12 NONE
resource I2C_SCL 1 B06
resource I2C_SCL 2 NONE
resource I2C_SCL 3 NONE
resource I2C_SCL 4 NONE
resource I2C_SDA 1 B07
resource I2C_SDA 2 NONE
resource I2C_SDA 3 NONE
resource I2C_SDA 4 NONE
resource LED 1 A02
resource LED 2 NONE
resource LED 3 NONE
resource RX_BIND 1 NONE
resource RX_BIND_PLUG 1 NONE
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_SCK 3 NONE
resource SPI_SCK 4 E02
resource SPI_MISO 1 A06
resource SPI_MISO 2 B14
resource SPI_MISO 3 NONE
resource SPI_MISO 4 E05
resource SPI_MOSI 1 A07
resource SPI_MOSI 2 B15
resource SPI_MOSI 3 NONE
resource SPI_MOSI 4 E06
resource ESCSERIAL 1 E13
resource CAMERA_CONTROL 1 NONE
resource ADC_BATT 1 C03
resource ADC_RSSI 1 C05
resource ADC_CURR 1 C02
resource ADC_EXT 1 NONE
resource BARO_CS 1 NONE
resource COMPASS_CS 1 NONE
resource SDCARD_CS 1 A04
resource SDCARD_DETECT 1 D08
resource PINIO 1 NONE
resource PINIO 2 NONE
resource PINIO 3 NONE
resource PINIO 4 NONE
resource USB_MSC_PIN 1 NONE
resource SPI_PREINIT_IPU 1 E04
resource SPI_PREINIT_IPU 2 A04
resource SPI_PREINIT_IPU 3 NONE
resource SPI_PREINIT_IPU 4 NONE
resource SPI_PREINIT_IPU 5 NONE
resource SPI_PREINIT_IPU 6 NONE
resource SPI_PREINIT_IPU 7 NONE
resource SPI_PREINIT_IPU 8 NONE
resource SPI_PREINIT_IPU 9 NONE
resource SPI_PREINIT_IPU 10 NONE
resource SPI_PREINIT_IPU 11 NONE
resource SPI_PREINIT_OPU 1 NONE
resource SPI_PREINIT_OPU 2 NONE
# mixer
mixer QUADX
mmix reset
# servo
servo 0 1000 2000 1500 100 -1
servo 1 1000 2000 1500 100 -1
servo 2 1000 2000 1500 100 -1
servo 3 1000 2000 1500 100 -1
servo 4 1000 2000 1500 100 -1
servo 5 1000 2000 1500 100 -1
servo 6 1000 2000 1500 100 -1
servo 7 1000 2000 1500 100 -1
# servo mix
smix reset
# feature
feature -RX_PPM
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -RANGEFINDER
feature -TELEMETRY
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -OSD
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -RX_SPI
feature -SOFTSPI
feature -ESC_SENSOR
feature -DYNAMIC_FILTER
feature -LEGACY_SA_SUPPORT
feature RX_SERIAL
feature OSD
feature DYNAMIC_FILTER
# beeper
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB
beeper BLACKBOX_ERASE
beeper CRASH FLIP
beeper CAM_CONNECTION_OPEN
beeper CAM_CONNECTION_CLOSED
beeper RC_SMOOTHING_INIT_FAIL
# beacon
beacon -RX_LOST
beacon -RX_SET
# map
map AETR1234
# serial
serial 20 1 115200 57600 0 115200
serial 0 1 115200 57600 0 115200
serial 1 0 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
serial 3 0 115200 57600 0 115200
serial 5 0 115200 57600 0 115200
serial 6 1024 115200 57600 0 115200
# led
led 0 0,0::C:0
led 1 0,0::C:0
led 2 0,0::C:0
led 3 0,0::C:0
led 4 0,0::C:0
led 5 0,0::C:0
led 6 0,0::C:0
led 7 0,0::C:0
led 8 0,0::C:0
led 9 0,0::C:0
led 10 0,0::C:0
led 11 0,0::C:0
led 12 0,0::C:0
led 13 0,0::C:0
led 14 0,0::C:0
led 15 0,0::C:0
led 16 0,0::C:0
led 17 0,0::C:0
led 18 0,0::C:0
led 19 0,0::C:0
led 20 0,0::C:0
led 21 0,0::C:0
led 22 0,0::C:0
led 23 0,0::C:0
led 24 0,0::C:0
led 25 0,0::C:0
led 26 0,0::C:0
led 27 0,0::C:0
led 28 0,0::C:0
led 29 0,0::C:0
led 30 0,0::C:0
led 31 0,0::C:0
# color
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0
# mode_color
mode_color 0 0 1
mode_color 0 1 11
mode_color 0 2 2
mode_color 0 3 13
mode_color 0 4 10
mode_color 0 5 3
mode_color 1 0 5
mode_color 1 1 11
mode_color 1 2 3
mode_color 1 3 13
mode_color 1 4 10
mode_color 1 5 3
mode_color 2 0 10
mode_color 2 1 11
mode_color 2 2 4
mode_color 2 3 13
mode_color 2 4 10
mode_color 2 5 3
mode_color 3 0 8
mode_color 3 1 11
mode_color 3 2 4
mode_color 3 3 13
mode_color 3 4 10
mode_color 3 5 3
mode_color 4 0 7
mode_color 4 1 11
mode_color 4 2 3
mode_color 4 3 13
mode_color 4 4 10
mode_color 4 5 3
mode_color 5 0 9
mode_color 5 1 11
mode_color 5 2 2
mode_color 5 3 13
mode_color 5 4 10
mode_color 5 5 3
mode_color 6 0 6
mode_color 6 1 10
mode_color 6 2 1
mode_color 6 3 0
mode_color 6 4 0
mode_color 6 5 2
mode_color 6 6 3
mode_color 6 7 6
mode_color 6 8 0
mode_color 6 9 0
mode_color 6 10 0
mode_color 7 0 3
# aux
aux 0 0 0 1300 2100 0 0
aux 1 1 1 1700 2100 0 0
aux 2 2 1 1300 1700 0 0
aux 3 13 2 1800 2100 0 0
aux 4 28 0 1300 1700 0 0
aux 5 0 0 900 900 0 0
aux 6 0 0 900 900 0 0
aux 7 0 0 900 900 0 0
aux 8 0 0 900 900 0 0
aux 9 0 0 900 900 0 0
aux 10 0 0 900 900 0 0
aux 11 0 0 900 900 0 0
aux 12 0 0 900 900 0 0
aux 13 0 0 900 900 0 0
aux 14 0 0 900 900 0 0
aux 15 0 0 900 900 0 0
aux 16 0 0 900 900 0 0
aux 17 0 0 900 900 0 0
aux 18 0 0 900 900 0 0
aux 19 0 0 900 900 0 0
# adjrange
adjrange 0 0 0 900 900 0 0 0 0
adjrange 1 0 0 900 900 0 0 0 0
adjrange 2 0 0 900 900 0 0 0 0
adjrange 3 0 0 900 900 0 0 0 0
adjrange 4 0 0 900 900 0 0 0 0
adjrange 5 0 0 900 900 0 0 0 0
adjrange 6 0 0 900 900 0 0 0 0
adjrange 7 0 0 900 900 0 0 0 0
adjrange 8 0 0 900 900 0 0 0 0
adjrange 9 0 0 900 900 0 0 0 0
adjrange 10 0 0 900 900 0 0 0 0
adjrange 11 0 0 900 900 0 0 0 0
adjrange 12 0 0 900 900 0 0 0 0
adjrange 13 0 0 900 900 0 0 0 0
adjrange 14 0 0 900 900 0 0 0 0
# rxrange
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000
# vtx
vtx 0 0 0 0 0 900 900
vtx 1 0 0 0 0 900 900
vtx 2 0 0 0 0 900 900
vtx 3 0 0 0 0 900 900
vtx 4 0 0 0 0 900 900
vtx 5 0 0 0 0 900 900
vtx 6 0 0 0 0 900 900
vtx 7 0 0 0 0 900 900
vtx 8 0 0 0 0 900 900
vtx 9 0 0 0 0 900 900
# rxfail
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 a
rxfail 4 h
rxfail 5 h
rxfail 6 h
rxfail 7 s 1000
rxfail 8 h
rxfail 9 h
rxfail 10 h
rxfail 11 h
rxfail 12 h
rxfail 13 h
rxfail 14 h
rxfail 15 h
rxfail 16 h
rxfail 17 h
# master
set align_gyro = DEFAULT
set gyro_hardware_lpf = NORMAL
set gyro_sync_denom = 1
set gyro_lowpass_type = PT1
set gyro_lowpass_hz_roll = 115
set gyro_lowpass_hz_pitch = 115
set gyro_lowpass_hz_yaw = 105
set gyro_lowpass2_type = PT1
set gyro_lowpass2_hz_roll = 0
set gyro_lowpass2_hz_pitch = 0
set gyro_lowpass2_hz_yaw = 0
set gyro_abg_alpha = 0
set gyro_abg_boost = 275
set gyro_abg_half_life = 50
set gyro_notch1_hz = 0
set gyro_notch1_cutoff = 0
set gyro_notch2_hz = 0
set gyro_notch2_cutoff = 0
set gyro_calib_duration = 125
set gyro_calib_noise_limit = 48
set gyro_offset_yaw = 0
set imuf_roll_q = 3000
set imuf_pitch_q = 3000
set imuf_yaw_q = 3000
set imuf_w = 32
set gyro_overflow_detect = ALL
set yaw_spin_recovery = ON
set yaw_spin_threshold = 1950
set dynamic_gyro_notch_q = 350
set dynamic_gyro_notch_count = 3
set dynamic_gyro_notch_min_hz = 150
set dynamic_gyro_notch_max_hz = 600
set smith_predict_enabled = ON
set smith_predict_str = 50
set smith_predict_delay = 40
set smith_predict_filt_hz = 5
set align_acc = DEFAULT
set acc_hardware = AUTO
set acc_lpf_hz = 40
set acc_trim_pitch = 0
set acc_trim_roll = 0
set acc_calibration = 19,127,-256
set align_mag = DEFAULT
set mag_bustype = I2C
set mag_i2c_device = 1
set mag_i2c_address = 0
set mag_spi_device = 0
set mag_hardware = NONE
set mag_declination = 0
set mag_calibration = 0,0,0
set baro_bustype = I2C
set baro_spi_device = 0
set baro_i2c_device = 1
set baro_i2c_address = 0
set baro_hardware = AUTO
set baro_tab_size = 21
set baro_noise_lpf = 600
set baro_cf_vel = 985
set baro_cf_alt = 965
set mid_rc = 1500
set min_check = 1050
set max_check = 1900
set rssi_channel = 8
set rssi_src_frame_errors = OFF
set rssi_scale = 100
set rssi_offset = 0
set rssi_invert = OFF
set rc_interp = MANUAL
set rc_interp_ch = RPYT
set rc_interp_int = 21
set rc_smoothing_type = FILTER
set rc_smoothing_input_hz = 50
set rc_smoothing_debug_axis = ROLL
set rc_smoothing_input_type = PT2
set fpv_mix_degrees = 0
set cinematic_yaw = OFF
set max_aux_channels = 14
set serialrx_provider = CRSF
set serialrx_inverted = OFF
set spektrum_sat_bind = 0
set spektrum_sat_bind_autoreset = ON
set sbus_baud_fast = OFF
set airmode_start_throttle_percent = 32
set rx_min_usec = 885
set rx_max_usec = 2115
set serialrx_halfduplex = OFF
set show_altered_rc = OFF
set adc_device = 1
set input_filtering_mode = OFF
set blackbox_p_ratio = 64
set blackbox_device = SDCARD
set blackbox_record_acc = ON
set blackbox_mode = NORMAL
set min_throttle = 1070
set max_throttle = 2000
set min_command = 1000
set dshot_idle_value = 450
set dshot_burst = OFF
set use_unsynced_pwm = OFF
set motor_pwm_protocol = DSHOT600
set motor_pwm_rate = 480
set motor_pwm_inversion = OFF
set motor_poles = 14
set thr_corr_value = 0
set thr_corr_angle = 800
set failsafe_delay = 4
set failsafe_off_delay = 10
set failsafe_throttle = 1000
set failsafe_switch_mode = STAGE1
set failsafe_throttle_low_delay = 100
set failsafe_procedure = DROP
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = 0
set gimbal_mode = NORMAL
set bat_capacity = 0
set vbat_max_cell_voltage = 43
set vbat_full_cell_voltage = 41
set vbat_min_cell_voltage = 33
set vbat_warning_cell_voltage = 35
set vbat_hysteresis = 1
set current_meter = ADC
set battery_meter = ADC
set vbat_detect_cell_voltage = 30
set use_vbat_alerts = ON
set use_cbat_alerts = OFF
set cbat_alert_percent = 10
set vbat_cutoff_percent = 100
set vbat_lpf_period = 35
set ibat_lpf_period = 10
set force_battery_cell_count = 0
set vbat_scale = 110
set vbat_divider = 10
set vbat_multiplier = 1
set ibata_scale = 400
set ibata_offset = 0
set ibatv_scale = 0
set ibatv_offset = 0
set beeper_inversion = ON
set beeper_od = OFF
set beeper_frequency = 0
set beeper_dshot_beacon_tone = 1
set yaw_motors_reversed = OFF
set crashflip_motor_percent = 0
set crashflip_power_percent = 70
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 3
set 3d_limit_low = 1000
set 3d_limit_high = 2000
set 3d_switched_mode = OFF
set servo_center_pulse = 1500
set servo_pwm_rate = 50
set servo_lowpass_hz = 0
set tri_unarmed_servo = ON
set channel_forwarding_start = 4
set reboot_character = 82
set serial_update_rate_hz = 100
set accxy_deadband = 40
set accz_deadband = 40
set acc_unarmedcal = ON
set imu_dcm_kp = 8500
set imu_dcm_ki = 0
set small_angle = 180
set auto_disarm_delay = 5
set gyro_cal_on_first_arm = OFF
set use_stick_arming = OFF
set gps_provider = NMEA
set gps_sbas_mode = AUTO
set gps_auto_config = ON
set gps_auto_baud = OFF
set gps_ublox_use_galileo = OFF
set gps_rescue_angle = 32
set gps_rescue_initial_alt = 50
set gps_rescue_descent_dist = 200
set gps_rescue_ground_speed = 2000
set gps_rescue_throttle_p = 150
set gps_rescue_throttle_i = 20
set gps_rescue_throttle_d = 50
set gps_rescue_velocity_p = 80
set gps_rescue_velocity_i = 20
set gps_rescue_velocity_d = 15
set gps_rescue_yaw_p = 40
set gps_rescue_throttle_min = 1200
set gps_rescue_throttle_max = 1600
set gps_rescue_throttle_hover = 1280
set gps_rescue_sanity_checks = RESCUE_SANITY_ON
set gps_rescue_min_sats = 8
set deadband = 2
set yaw_deadband = 0
set yaw_control_reversed = OFF
set pid_process_denom = 1
set runaway_takeoff_prevention = ON
set runaway_takeoff_deactivate_delay = 500
set runaway_takeoff_deactivate_throttle_percent = 20
set tlm_inverted = OFF
set tlm_halfduplex = ON
set frsky_default_lat = 0
set frsky_default_long = 0
set frsky_gps_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set hott_alarm_int = 5
set pid_in_tlm = OFF
set report_cell_voltage = OFF
set ibus_sensor = 1,2,3,0,0,0,0,0,0,0,0,0,0,0,0
set smartport_use_extra_sensors = OFF
set ledstrip_visual_beeper = OFF
set ledstrip_grb_rgb = GRB
set sdcard_dma = OFF
set osd_units = METRIC
set osd_warn_arming_disable = ON
set osd_warn_batt_not_full = ON
set osd_warn_batt_warning = ON
set osd_warn_batt_critical = ON
set osd_warn_visual_beeper = ON
set osd_warn_crash_flip = ON
set osd_warn_esc_fail = ON
set osd_task_frequency = 60
set osd_warn_core_temp = ON
set osd_warn_rc_smoothing = ON
set osd_warn_dji = OFF
set osd_lq_format = TBS
set osd_lq_alarm = 70
set osd_rssi_alarm = 20
set osd_cap_alarm = 2200
set osd_alt_alarm = 100
set osd_distance_alarm = 0
set osd_esc_temp_alarm = -128
set osd_esc_rpm_alarm = -1
set osd_esc_current_alarm = -1
set osd_core_temp_alarm = 70
set osd_stat_show_cell_value = OFF
set osd_ah_max_pit = 20
set osd_ah_max_rol = 40
set osd_logo_on_arming = OFF
set osd_logo_on_arming_duration = 5
set osd_tim1 = 2560
set osd_tim2 = 2561
set osd_vbat_pos = 2311
set osd_rssi_pos = 2248
set osd_crsf_tx_pos = 234
set osd_crsf_snr_pos = 234
set osd_crsf_rssi_pos = 234
set osd_tim_1_pos = 234
set osd_tim_2_pos = 234
set osd_remaining_time_estimate_pos = 234
set osd_flymode_pos = 234
set osd_g_force_pos = 234
set osd_throttle_pos = 234
set osd_vtx_channel_pos = 234
set osd_crosshairs_pos = 205
set osd_ah_sbar_pos = 206
set osd_ah_pos = 78
set osd_current_pos = 2375
set osd_mah_drawn_pos = 2343
set osd_craft_name_pos = 2510
set osd_gps_speed_pos = 234
set osd_gps_lon_pos = 234
set osd_gps_lat_pos = 234
set osd_gps_sats_pos = 234
set osd_plus_code_pos = 234
set plus_code_digits = 11
set plus_code_short = OFF
set osd_home_dir_pos = 234
set osd_home_dist_pos = 234
set osd_compass_bar_pos = 234
set osd_altitude_pos = 2215
set osd_pid_roll_pos = 234
set osd_pid_pitch_pos = 234
set osd_pid_yaw_pos = 234
set osd_debug_pos = 234
set osd_power_pos = 234
set osd_pidrate_profile_pos = 234
set osd_warnings_pos = 2377
set osd_avg_cell_voltage_pos = 2279
set osd_pit_ang_pos = 234
set osd_rol_ang_pos = 234
set osd_battery_usage_pos = 234
set osd_disarmed_pos = 2411
set osd_nheading_pos = 234
set osd_nvario_pos = 234
set osd_esc_tmp_pos = 234
set osd_esc_rpm_pos = 234
set osd_rtc_date_time_pos = 234
set osd_adjustment_range_pos = 234
set osd_mah_percent_pos = 234
set osd_core_temp_pos = 234
set osd_stat_rtc_date_time = OFF
set osd_stat_tim_1 = OFF
set osd_stat_tim_2 = ON
set osd_stat_max_spd = ON
set osd_stat_max_dist = OFF
set osd_stat_min_batt = ON
set osd_stat_endbatt = OFF
set osd_stat_battery = OFF
set osd_stat_min_rssi = ON
set osd_stat_max_curr = ON
set osd_stat_used_mah = ON
set osd_stat_max_alt = OFF
set osd_stat_bbox = ON
set osd_stat_bb_no = ON
set task_statistics = ON
set debug_mode = GYRO_SCALED
set rate_6pos_switch = OFF
set cpu_overclock = OFF
set pwr_on_arm_grace = 5
set vtx_band = 4
set vtx_channel = 1
set vtx_power = 1
set vtx_low_power_disarm = OFF
set vtx_freq = 5740
set vtx_pit_mode_freq = 0
set vtx_halfduplex = ON
set displayport_msp_col_adjust = 0
set displayport_msp_row_adjust = 0
set esc_sensor_halfduplex = OFF
set esc_sensor_current_offset = 0
set led_inversion = 0
set dashboard_i2c_bus = 1
set dashboard_i2c_addr = 60
set camera_control_mode = HARDWARE_PWM
set camera_control_ref_voltage = 330
set camera_control_key_delay = 180
set camera_control_internal_resistance = 470
set camera_control_inverted = OFF
set pinio_config = 1,1,1,1
set pinio_box = 255,255,255,255
set usb_msc_pin_pullup = OFF
set rcdevice_init_dev_attempts = 6
set rcdevice_init_dev_attempt_interval = 1000
# profile
profile 0
set dterm_dyn_notch_enable = OFF
set dterm_dyn_notch_q = 400
set dterm_abg_alpha = 0
set dterm_abg_boost = 275
set dterm_abg_half_life = 50
set dterm_lowpass_type = PT1
set dterm_lowpass_hz_roll = 90
set dterm_lowpass_hz_pitch = 90
set dterm_lowpass_hz_yaw = 90
set dterm_lowpass2_type = PT1
set dterm_lowpass2_hz_roll = 200
set dterm_lowpass2_hz_pitch = 200
set dterm_lowpass2_hz_yaw = 200
set pid_at_min_throttle = ON
set spa_roll_p = 110
set spa_roll_i = 85
set spa_roll_d = 110
set spa_pitch_p = 110
set spa_pitch_i = 85
set spa_pitch_d = 110
set spa_yaw_p = 130
set spa_yaw_i = 70
set spa_yaw_d = 130
set acc_limit_yaw = 0
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_rotation = ON
set iterm_relax_cutoff = 11
set iterm_relax_cutoff_yaw = 25
set iterm_relax_threshold = 35
set iterm_relax_threshold_yaw = 35
set iterm_windup = 70
set iterm_limit = 400
set pidsum_limit = 1000
set pidsum_limit_yaw = 400
set throttle_boost = 5
set throttle_boost_cutoff = 15
set feathered_pids = 100
set i_decay = 4
set i_decay_cutoff = 200
set emu_boost = 15
set emu_boost_yaw = 40
set emu_boost_limit = 20
set emu_boost_limit_yaw = 40
set dterm_boost = 0
set dterm_boost_limit = 0
set emu_gravity = 50
set axis_lock_multiplier = 0
set axis_lock_hz = 2
set p_pitch = 58
set i_pitch = 70
set d_pitch = 30
set p_roll = 50
set i_roll = 70
set d_roll = 28
set p_yaw = 60
set i_yaw = 70
set d_yaw = 5
set df_yaw = 15
set p_angle_low = 100
set d_angle_low = 10
set p_angle_high = 35
set d_angle_high = 1
set f_angle = 40
set df_angle_low = 70
set df_angle_high = 0
set level_limit = 45
set angle_expo = 10
set angle_filter = 100
set horizon_transition = 0
set horizon_tilt_effect = 90
set horizon_strength = 50
set motor_output_limit = 100
set auto_profile_cell_count = 0
set linear_thrust_low_output = 65
set linear_thrust_high_output = 0
set linear_throttle = OFF
set mixer_impl = 2PASS
set mixer_laziness = OFF
set mixer_yaw_throttle_comp = ON
# profile
profile 1
set dterm_dyn_notch_enable = OFF
set dterm_dyn_notch_q = 400
set dterm_abg_alpha = 0
set dterm_abg_boost = 275
set dterm_abg_half_life = 50
set dterm_lowpass_type = PT1
set dterm_lowpass_hz_roll = 90
set dterm_lowpass_hz_pitch = 90
set dterm_lowpass_hz_yaw = 90
set dterm_lowpass2_type = PT1
set dterm_lowpass2_hz_roll = 200
set dterm_lowpass2_hz_pitch = 200
set dterm_lowpass2_hz_yaw = 200
set pid_at_min_throttle = ON
set spa_roll_p = 110
set spa_roll_i = 85
set spa_roll_d = 110
set spa_pitch_p = 110
set spa_pitch_i = 85
set spa_pitch_d = 110
set spa_yaw_p = 130
set spa_yaw_i = 70
set spa_yaw_d = 130
set acc_limit_yaw = 0
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_rotation = ON
set iterm_relax_cutoff = 11
set iterm_relax_cutoff_yaw = 25
set iterm_relax_threshold = 35
set iterm_relax_threshold_yaw = 35
set iterm_windup = 70
set iterm_limit = 400
set pidsum_limit = 1000
set pidsum_limit_yaw = 400
set throttle_boost = 5
set throttle_boost_cutoff = 15
set feathered_pids = 100
set i_decay = 4
set i_decay_cutoff = 200
set emu_boost = 15
set emu_boost_yaw = 40
set emu_boost_limit = 20
set emu_boost_limit_yaw = 40
set dterm_boost = 0
set dterm_boost_limit = 0
set emu_gravity = 50
set axis_lock_multiplier = 0
set axis_lock_hz = 2
set p_pitch = 58
set i_pitch = 70
set d_pitch = 30
set p_roll = 50
set i_roll = 70
set d_roll = 28
set p_yaw = 60
set i_yaw = 70
set d_yaw = 5
set df_yaw = 15
set p_angle_low = 100
set d_angle_low = 10
set p_angle_high = 35
set d_angle_high = 1
set f_angle = 40
set df_angle_low = 70
set df_angle_high = 0
set level_limit = 45
set angle_expo = 10
set angle_filter = 100
set horizon_transition = 0
set horizon_tilt_effect = 90
set horizon_strength = 50
set motor_output_limit = 100
set auto_profile_cell_count = 0
set linear_thrust_low_output = 65
set linear_thrust_high_output = 0
set linear_throttle = OFF
set mixer_impl = 2PASS
set mixer_laziness = OFF
set mixer_yaw_throttle_comp = ON
# profile
profile 2
set dterm_dyn_notch_enable = OFF
set dterm_dyn_notch_q = 400
set dterm_abg_alpha = 0
set dterm_abg_boost = 275
set dterm_abg_half_life = 50
set dterm_lowpass_type = PT1
set dterm_lowpass_hz_roll = 90
set dterm_lowpass_hz_pitch = 90
set dterm_lowpass_hz_yaw = 90
set dterm_lowpass2_type = PT1
set dterm_lowpass2_hz_roll = 200
set dterm_lowpass2_hz_pitch = 200
set dterm_lowpass2_hz_yaw = 200
set pid_at_min_throttle = ON
set spa_roll_p = 110
set spa_roll_i = 85
set spa_roll_d = 110
set spa_pitch_p = 110
set spa_pitch_i = 85
set spa_pitch_d = 110
set spa_yaw_p = 130
set spa_yaw_i = 70
set spa_yaw_d = 130
set acc_limit_yaw = 0
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_rotation = ON
set iterm_relax_cutoff = 11
set iterm_relax_cutoff_yaw = 25
set iterm_relax_threshold = 35
set iterm_relax_threshold_yaw = 35
set iterm_windup = 70
set iterm_limit = 400
set pidsum_limit = 1000
set pidsum_limit_yaw = 400
set throttle_boost = 5
set throttle_boost_cutoff = 15
set feathered_pids = 100
set i_decay = 4
set i_decay_cutoff = 200
set emu_boost = 15
set emu_boost_yaw = 40
set emu_boost_limit = 20
set emu_boost_limit_yaw = 40
set dterm_boost = 0
set dterm_boost_limit = 0
set emu_gravity = 50
set axis_lock_multiplier = 0
set axis_lock_hz = 2
set p_pitch = 58
set i_pitch = 70
set d_pitch = 30
set p_roll = 50
set i_roll = 70
set d_roll = 28
set p_yaw = 60
set i_yaw = 70
set d_yaw = 5
set df_yaw = 15
set p_angle_low = 100
set d_angle_low = 10
set p_angle_high = 35
set d_angle_high = 1
set f_angle = 40
set df_angle_low = 70
set df_angle_high = 0
set level_limit = 45
set angle_expo = 10
set angle_filter = 100
set horizon_transition = 0
set horizon_tilt_effect = 90
set horizon_strength = 50
set motor_output_limit = 100
set auto_profile_cell_count = 0
set linear_thrust_low_output = 65
set linear_thrust_high_output = 0
set linear_throttle = OFF
set mixer_impl = 2PASS
set mixer_laziness = OFF
set mixer_yaw_throttle_comp = ON
# restore original profile selection
profile 0
# rateprofile
rateprofile 0
set thr_mid = 50
set thr_expo = 0
set rates_type = ACTUAL
set roll_rc_rate = 14
set pitch_rc_rate = 14
set yaw_rc_rate = 14
set roll_expo = 70
set pitch_expo = 70
set yaw_expo = 70
set roll_srate = 85
set pitch_srate = 85
set yaw_srate = 60
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# rateprofile
rateprofile 1
set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# rateprofile
rateprofile 2
set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# rateprofile
rateprofile 3
set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# rateprofile
rateprofile 4
set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# rateprofile
rateprofile 5
set thr_mid = 50
set thr_expo = 0
set rates_type = BETAFLIGHT
set roll_rc_rate = 100
set pitch_rc_rate = 100
set yaw_rc_rate = 100
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set das_yaw_with_roll_input = 0
set das_roll_with_yaw_input = 0
set roll_pitch_mag_expo = 0
set rate_center_sensitivity = 100
set rate_end_sensitivity = 100
set rate_center_correction = 10
set rate_end_correction = 10
set rate_center_weight = 0
set rate_end_weight = 0
set tpa_rate_p = 75
set tpa_rate_i = 125
set tpa_rate_d = 65
set tpa_breakpoint = 1600
set throttle_limit_type = OFF
set throttle_limit_percent = 100
set vbat_comp_type = OFF
set vbat_comp_ref = 37
# restore original rateprofile selection
rateprofile 0
# save configuration
save
This is my full dump. Any idea ?
This is similar to Issue #5835, but is happening on Matek F405 based board.
I built Tyro 119, which comes with F405 based FC with MPU6000 and BMP280.
I could not fix this and need help.
When flashing BetaFlight 4.3.1 (MATEKF405STD
selected), and custom defaults applied, Gyro and Accel buttons lit up and the virtual drone model moves as FC wiggled.
In Configuration tab, Barometer is actually turned on.
# get i2c
mag_i2c_device = 1
Allowed range: 0 - 3
mag_i2c_address = 0
Allowed range: 0 - 119
baro_i2c_device = 1
Allowed range: 0 - 5
baro_i2c_address = 0
Allowed range: 0 - 119
dashboard_i2c_bus = 1
Allowed range: 0 - 3
dashboard_i2c_addr = 60
Allowed range: 8 - 119
gyro_1_i2cBus = 0
Allowed range: 0 - 3
gyro_1_i2c_address = 0
Allowed range: 0 - 119
gyro_2_i2cBus = 0
Allowed range: 0 - 3
gyro_2_i2c_address = 0
Allowed range: 0 - 119
i2c1_pullup = OFF
Allowed values: OFF, ON
i2c1_clockspeed_khz = 800
Allowed range: 100 - 1300
i2c2_pullup = OFF
Allowed values: OFF, ON
i2c2_clockspeed_khz = 800
Allowed range: 100 - 1300
i2c3_pullup = OFF
Allowed values: OFF, ON
i2c3_clockspeed_khz = 800
Allowed range: 100 - 1300
# get spi
yaw_spin_recovery = AUTO
Allowed values: OFF, ON, AUTO
yaw_spin_threshold = 1950
Allowed range: 500 - 1950
mag_spi_device = 0
Allowed range: 0 - 3
baro_spi_device = 0
Allowed range: 0 - 5
rx_spi_protocol = V202_250K
Allowed values: V202_250K, V202_1M, SYMA_X, SYMA_X5C, CX10, CX10A, H8_3D, INAV, FRSKY_D, FRSKY_X, FLYSKY, FLYSKY_2A, KN, SFHSS, SPEKTRUM, FRSKY_X_LBT, REDPINE, FRSKY_X_V2, FRSKY_X_LBT_V2, EXPRESSLRS
rx_spi_bus = 0
Allowed range: 0 - 3
rx_spi_led_inversion = OFF
Allowed values: OFF, ON
sdcard_spi_bus = 3
Allowed range: 0 - 3
vtx_spi_bus = 0
Allowed range: 0 - 3
max7456_spi_bus = 2
Allowed range: 0 - 3
frsky_spi_autobind = OFF
Allowed values: OFF, ON
frsky_spi_tx_id = 0,0,0
Array length: 3
frsky_spi_offset = 0
Allowed range: -127 - 127
frsky_spi_bind_hop_data = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Array length: 50
frsky_spi_a1_source = VBAT
Allowed values: VBAT, EXTADC, CONST
cc2500_spi_chip_detect = ON
Allowed values: OFF, ON
flash_spi_bus = 0
Allowed range: 0 - 3
gyro_1_spibus = 1
Allowed range: 0 - 3
gyro_2_spibus = 0
Allowed range: 0 - 3
spektrum_spi_protocol = 0
Allowed range: 0 - 255
spektrum_spi_mfg_id = 0,0,0,0
Array length: 4
spektrum_spi_num_channels = 0
Allowed range: 0 - 12
flysky_spi_tx_id = 0
Allowed range: 0 - 4294967295
flysky_spi_rf_channels = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Array length: 16
# version
# INAV/MATEKF405 5.0.0 Jun 20 2022 / 10:56:14 (d2adf35c)
# GCC-10.2.1 20201103 (release)
The following is information pertaining to your flight controller. Please refer to this if you have issues with it’s setup. So if you have problems not allowing you to get the plane ready for maiden, or if an issue creeps up after many successful flights. If this doesn’t fix your problem, please see the Further support section at the end.
The flight controller won’t arm
Check the Setup page for pre-arming errors. INAV is wonderful because the red flags clearly tell you where the source of your problems are.
Go into the CLI page and type status hit RETURN. In the last line it should ONLY show CLI. If there is any other errors this is also where to start investigating.
The flight controller arms but motor won’t spin
Check the battery. Is it fully charged?
Do the servos react to stick inputs?
Check ARM status at the top of the Configutator when connected: Triangle sign needs to be yellow, chute symbol grey and chain symbol blue. If you see these three things, then it is armed. Still no motor reaction? go to next step.
In the Outputs page, check the ESC Protocol on the left side. Set it to STANDARD and Click Save and Reboot. This is, because a lot of linear (plane) ESCs don’t support advanced Protocols like Multishot or DSHOT.
If there is still no reaction, go to Outputs page, flick the switch to agree the security warning and turn throttle up CAREFULLY. It’s best to do this without a prop. If you have a prop it will likely spin.
Still not working? Check your cabling. Test the ESC with a Servo tester or try with another ESC on the FC to exclude a defective ESC or possible defect FC.
I don’t get any GPS Satellites
Attach Battery to the FC and connect to configurator via a USB cable
Is the GPS symbol in the top bar blue? If yes, cabling is fine and you should go outside to test again. However, if it is red, check your cabling first. Switch RX/TX cables on the FC side. Make sure TX on FC is connected to RX on GPS and vice versa.
Got to the GPS page and look for the value for Total messages. If this number is going up, the GPS is working, you should try outside or near a window.
Still no luck? Go to Ports page and check if the GPS is configured to the correctly, to the UART where it is plugged in.
If the port is correct, try different BAUD rates. Default is 115200. Try to lower it step by step and always Save and Reboot.
If you still don’t get any GPS data or you see a red symbol, try another UART. Ddo not use UART 2, that is for receiver only on most common F3 and F4 Flight Controllers.
Still no link to the GPS module? Most likely defective GPS unit or incompatible, try another one. Recommended is a genuine UBLOX M8N or a BN-220.
My Receiver is not reacting at all
Firstly, check for correct binding and connection;see your receivers manual. You will need to confirm a binding light is on. Then go to here.
Is the correct Receiver Port selected in the Ports page? On F3 and F4 it is most likely UART 2; and because of tradition, by default also on most F7 targets. If you’re uncertain, ask in the group. Once that’s ok, go here.
Is the cabling is correct according to the FC manual? Check at least 3 times before you continue! Go here.
Check Receiver Mode in Configuration page: FlySky, FrSky, Spectrum, TBS and most actual receivers need to be set to “Serial based Receiver”. Continue here.
Set the correct Receiver Provider: FlySky – IBUS, FrSky – SBUS, TBS – TBS Crossfire, and so on. Check the receiver manual
Some very tiny micro receivers, especially for FlySky, only support the PPM analogue protocol. PWM is obsolete these days unless you have a very special FC that supports one wire per channel connection. Most current flight controllers (F4 and newer) don’t support this.
Omnibus often has an SBus tab that you need to solder. It’s tiny. It’s next to the UART 1 pins most of the time.
Check the Receiver tab. Is it working? When you move the sticks are you seeing the bars change on the screen? If no sign of inputs, your receiver is defective or you did something wrong such as the cable is in the wrong port on the receiver, or it’s plugged in backwards. If the input is there but strange, we cover this in the next section.
My Receiver shows strange readouts
If there is one channel that jitters the whole time, you’re likely using a FrSky System and this is your your RSSI value. It does depend on your receiver and on your transmitter settings what channel is used for channel RSSI and if it is active at all.
If the channel order is wrong, you will find that moving a stick on your transmitter moves the wrong bar in the Receivers page. So to resolve this, change the Channel order via drop down list and see if one fits. Note: Default on a Taranis is RETA (Rudder, Elevator, Throttle, Aileron). You should change this in the radio to AETR. There is no option for RETA in the INAV drop down list. You could write a channel order for RETA. But, every time you flash the firmware you’ll be doing it again. It’s best to pick AETR, TEAR, or one of the other channel orders in your radio. Then you’ll never have to worry about it again.
If this does not help, reset the plane profile to default on your transmitter. The most common problem is that you set up the transmitter for a flying wing or V-tail. You shouldn’t do any mixing on the transmitter when using INAV. Yes you can fix this, but it’s often faster to go into your radio and set up a new model. Even if you are flying an elevon model, with no rudder; use a default setup with a plane that has Aileron, Elevator, Throttle and Rudder. This seems counter-intuitive. But, when you select a mixer in the mixer page, the flight controller decides how to handle your plane. You will need to get used to the idea that the flight controller, not the radio, does the thinking for you. We also don’t use radio trim once a plane is fully tuned in INAV.
Still no luck? You can set a manual order. Check what stick axis does move what channel (1-4) on this screen. Then manually write your mapping in the top line.
Aileron, Elevator, Throttle, Rudder, is the default order used by INAV.
Some Pre-Arm Checks fail, what can I do?
UAV is levelled
This should be self explanatory. By Default, the pitch and roll level must not have more than 25° angle, compared to flat level. This is very important for copters but can be changed to 180° for fixed wing to allow easy arming when carrying.
Run-time Calibration
This is the boot-up calibration and self-test of all sensors. Especially for the Gyro that is calibrated to zero on every boot. To get that checked, do not touch the plane/copter after plugging in the battery, for a few seconds, until you here the 3 beeps via buzzer or at least wait 5s without touching. It is possible for something to get corrupted in the firmware of your flight controller. If this warning never goes away, no matter what you do, it’s time to flash the firmware again.
CPU Load
If the CPU load is too high to keep the loop time constant or it is fluctuation too much because of sensor issues, this will inform you. Lower CPU load by lowering loop frequency or disable unnecessary sensors. The ARM processor in the Micro-controller is far too strong for your flight controller. The amount of processing required is far too simple for it. If you see this error and lowering the loop frequency doesn’t fix it, yes, re-flash the firmware.
Navigation is safe
This pertains to any GPS related issues. No fix- You’re indoors you may not see satellites. You need to see six of them, at least. GPS communication errors and so on.
Compass Calibrated
Invalid Compass readings, calibrate it correctly. Be Careful: NEVER 100% trust this check! Better to do one calibration more than one too few and lose your plane in RTH. Or just don’t use it if you have issues. It is not needed on planes.
Accelerometer calibrated
Self explanatory. Do it outside of the plane and as precise as possible. You will never need to do again if you save your calibration values from CLI.
Settings Validated
If you update to a new version, this could be triggered if some parameters have changed or settings become invalid. Check CLI “STATUS” to see if there is an issue or reflash and reconfigure from scratch.
Hardware health
Any Sensor is configured but not available or has bad readings. Check CLI “STATUS” for details.
Further assistance
INAV has a fairly steep learning curve. We all get stuck once in a while. There are a three things you should check before asking for help:
Are you using old and potentially damaged parts?
A lot of quad guys have tons of parts sitting around from crashed quads. This helps to keep the cost of the hobby down which is a good thing. Before you start installing these parts, set up the receiver, speed controller, motor and servos and make certain that they are all working. If you plan on flying a fixed wing you really need to own a servo tester. They are usually less than $10. Sometimes servos are bad from the factory. You need to check the full movement of the servo and insure they are smooth. Broken teeth in the servo gear are fairly common in plastic gear servos. Some of the Hitec servos have replacement parts. Most don’t. When they fail, and you really aren’t in a position to fix them you simply throw them away. Cut off the servo wires before you do, you can use them.
The motors often have bearings that can be replaced, there are good videos on how to do this. Since most motors are cheap these days not many people are rewinding the coils anymore. They are also disposable.
Speed controllers sometimes burn out. Some people have been known to fix them. If this is your thing, go for it. Otherwise, they are usually disposable as well.
GPS units sometimes die in a crash or go bad due to bad wiring, throw them away if they fail.
When you get into a build, please fully check out your hardware before contacting others for help. Also check your wiring. Sometimes when tying down cables the wires get pulled and shorted.
What version of the configurator are you using?
INAV has different versions of the configurator. You need to be using the same version of the configurator as the firmware. At least to the first sub-version. For example, if you have firmware 2.4.0; you must use a configurator that starts with 2.4, usually the latest version in that group. The most current version can be found here. https://github.com/iNavFlight/inav-configurator/releases
Even if you can log into your flight controller without issue on an older version, you should still update to the latest version. Sometimes there are configuration issues that have been addressed in the newest configurator. One other thing, when you flash INAV, be certain that you reboot your PC and try and plug your USB cable into the back of the computer. Do a full chip erase. The stand alone (not the Chrome extension) program is often the newest configurator. You will need to launch this program from your computer, not Chrome.
See if you can find your issue here:
https://github.com/iNavFlight/inav/issues
Note about Clone Flight Controllers
We often steer people away from large, expensive planes for their first builds. We have a list of suggested first build planes because they can withstand a bit of abuse as you are figuring things out. INAV has a list of supported boards. There is a list of supported boards that the people at INAV have tested and have found to work. The ones they have links to are boards they have tested and have faith in. When you click through and buy from their vendor, INAV gets a piece of the sale. You are helping to support INAV.
There are many clones in the market. Clones are iffy. Some are okay, many are not. Very often the issue is that the 5v BEC will fail if it’s built into the board. You are running clones boards at your own risk. If you are getting strange problems, take a moment and go to the vendor page of the flight controller you purchased. They will list the legitimate vendors. Go back to where you purchased your board, read the ad again. If it says “Raceday (or whatever) Matek F405 Wing, you have purchased a clone. One of our members lost a $400 plane, because his 2 month old clone F405-Wing board lost it’s +5V. He had no control as it crashed into the ground. His plane weighed 7 pounds. He’s lucky he didn’t injure anybody create property damage.
When you ask for help please provide the following information
- What flight controller you’re using? Is it a clone?
- Which plane it’s going in?
- What version of INAV are you running?
- What version of INAV Configurator are you using? It’s in the top left corner.
- Have you checked all the parts before installing them to ensure they work?
- Have you checked your solder connections under high power magnification?
- You have followed the setup guide for INAV Fixed Wing?
When you describe your problem, be specific.
Example of a bad question
Help, my motor won’t spin?
Example of a good question
My motor won’t spin. I have an F405-Wing, it’s going in a Mini Drak. I am running INAV 2.1 and my INAV configurator is 2.1.4. I’ve checked all the parts before installing them and they worked. I have triple checked my soldering and I have built other INAV planes before. But, I did check the guide to make sure I didn’t overlook anything. I have enabled the servos and motor and have looked in the troubleshooting guide. I’d appreciate any help.
Often, someone who can help you will read the top post but will lose interest. Its quicker to reply if we don’t have to get all this information out of you, and the thread is 20 replies of information finding. So, the best thing you can do to get help is to be specific about your problem at the top of the post.
What if we can’t help you?
Go here and file a support ticket. https://github.com/iNavFlight/inav/issues.
Hi, The first Sensor got really hot until I noticed the cable 5v and GND are reversed.. so I ordered a new one with the same problem. This time I changed the two pins of the connector and configured Inav Pitot to 4525. |
|
Sign up now to remove ads between posts |
|
Those are a good digital speed sensor so the problem doesn’t lie with it. I use mine with a Pixhawk so I have no idea how you are attempting to connect it. |
I had a problem with the servo connectors, now the Sensor is blue in inav and give me a value. the pitot settings are default: pitot_noise_lpf = 0.600 pitot_scale = 1.000 I changed them for testing but it didn’t work correctly |
|
|
Quote:
Originally Posted by Tim92 I had a problem with the servo connectors, now the Sensor is blue in inav and give me a value. the pitot settings are default: pitot_noise_lpf = 0.600 pitot_scale = 1.000 I changed them for testing but it didn’t work correctly This stuff is not exactly plug and play. Everything needs calibration. Adjust the pitot scale if it in fact works with your board. Some boards like 0 to 3.3v, others like 5v. |
The image is from the matek support, the sensor should work with the FC.
|
|
|
Can’t help with iNav sorry. I use QGround Control and just select the speed I want in Meters per second. I gave up on iNav. No good to you though. |
|
I know to calibrate mine in QGC I just had to blow across the Pitot. That was the instruction, then you set the meters per sec but I don’t know how you do that in inav. |
Last edited by Grantham Kid; Jul 01, 2018 at 10:18 PM.
|
|
RMRC Pitot/ Inav setup/ Matek 405se wing Tim92 suggested that i use 3.3v, although the hardware (RMRC pitot sensor) indicates 5v. Matek 405 wing, G/3.3v/CL2/DA2 |
|