-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
comment out unsupported defines, and perhaps fix some #420
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for cleaning up Chris.
- #define
USE_RX_EXPRESSLRS_TELEMETRY
should stay - #define
USE_FLASH_W25P16
shoud probably beUSE_FLASH_M25P16
- #define
USE_FLASH_W25Q256
should probably beUSE_FLASH_W25Q128FV
NUCLEOF446
is a development board.- #define
USE_MPU_DATA_READY_SIGNAL
should probably beUSE_MAG_DATA_READY_SIGNAL
|
@haslinghuis @nerdCopter thanks for the advice. For now I've made some updates and summarised them in the tables above.
|
Here are a few defines for which I can't figure out where they get 'defined'... so long as that's OK, I'm good with it:
|
@ctzsnooze agree #define USE_RX_EXPRESSLRS_TELEMETRY can be removed. |
Hey Betaflight crew, I'm out of town, don't have my glasses, and haven't looked at the ELRS SPI code in nearly a year, but I'd be happy to take a close look at comment Sunday night/ Monday morning. |
I can also confirm |
IIRC Not sure what's happened to this functionality but if it's been removed it should be restored so that users and factories can be sure their gyros are working correctly. EDIT: ah, I was thinking of that probably should be cleaned up somewhat so that that it's always used, and should be based on the appropriate INT signal level for the gyro being used, after it's correctly detected. MPU int signal level failure should result in some form of error or status that can be retieved. Perhaps this ^^^ should be moved into a separate issue so it can be properly tracked and planned? Also, Not sure if the hardware guidelines have a note regarding the requirement for the gyro int signal, but if not it should probably be added and pin selection for gyro int signals should either be on a gpio pin with a dedicated interrupt, e.g. EXTI1/EXTI2/EXTI3/EXTI/4, and not EXTI9_5 or EXTI15_10 which should only be used for lower frequency interrupts due to the additional overhead in determining which exti signal caused the interrupt. |
Yes, this is fine. IIRC this came about around the time I was working on QSPI support for the W25Q128 flash, but the EF doesn't have the octospi drivers enabled as the octospi usage is invisible to BF on this target because it boots and runs firmware from octospi but BF stores config on the 2nd flash chip which is connected via SPI. Making the change should be tested by a maintainer with access to an H7EF. Please confirm this has been done before merging this PR. IIRC @haslinghuis has one. |
@hydra this is without the change: # Betaflight / STM32H730 (SP7E) 4.6.0 May 13 2024 / 14:27:18 (2d3c8eea3) MSP API: 1.46
# config rev: 45995c5
# board: manufacturer_id: SPRO, board_name: SPRACINGH7EF
MCU H730 Clock=520MHz, Vref=3.34V, Core temp=55degC
Stack size: 2048, Stack address: 0x20020000
Configuration: CONFIGURED, size: 3839, max available: 65536
Devices detected: SPI:2, I2C:0
Gyros detected: gyro 1, gyro 2 locked dma
GYRO=ICM42688P, ACC=ICM42688P
OSD: MSP (30 x 13)
BUILD KEY: c39e18bc95a96534881c96c161244871 (4.6.0-dev)
System Uptime: 29 seconds, Current Time: 2024-05-13T14:29:11.795+00:00
CPU:37%, cycle time: 121, GYRO rate: 8264, RX rate: 15, System rate: 9
Voltage: 301 * 0.01V (1S battery - CRITICAL)
I2C Errors: 10
FLASH: JEDEC ID=0x00ef4015 2M
GPS: NOT ENABLED
Arming disable flags: RXLOSS ANGLE CLI MSP |
probably dates back to the CJMCU brushed board from Cleanflight.
probably dates back to the TBS PowerCube stack and related targets.
probably no-longer exists due to removal of F3 support which used Core Coupled Memory (CCM). |
yes, this is what you're looking for after you make the change, likely though it just wouldn't boot due to having no-where to store the config if the change didn't work. The board you have has a W25Q16JV fitted: |
This is before the change. So it seems W25Q128FV define is not needed? |
seems not then; due to the octospi reasons I mentioned before, in which case it can be removed from the target. As and when I have time to work on octospi and spi I can make corresponding target updates so that BF stores it's config on the memory mapped flash so that the entire SPI flash is used for logging. |
i'll approve this if the single suggestion is resolved. review by eye looks good |
Thanks @haslinghuis @nerdCopter for reviewing this PR. I'd approve :-) but it's my PR so I can't. |
While testing this grep string tp find the defines we use,
If we remove the exclusion on the config directory, a whole lot of config files can be seen to reference defines which do not exist. Some are being changed to existing defines that should work, others are commented out pending a formal resolution of what should be done with them.
Changed defines:
USE_I2C1_PULLUP ON
I2C1_PULLUP ON
USE_I2C3_PULLUP ON
I2C3_PULLUP ON
USE_FLASH_W25Q128
USE_FLASH_W25Q128FV
USE_FLASH_W25P16
USE_FLASH_M25P16
USE_FLASH_W25Q256
USE_FLASH_W25Q128FV
Commented out defines:
USE_RX_EXPRESSLRS_TELEMETRY
USE_ACCGYRO_ASM330LHH
USE_FAKE_ACC
USE_FAKE_GYRO
USE_FAKE_MAG
USE_SONAR
USE_CC2500
USE_MPU_DATA_READY_SIGNAL
USE_GYRO_FAST_KALMAN
Please carefully check that these are sensible changes :-)