Skip to content

chore: remove dead STM32F1 code - #1368

Merged
nerdCopter merged 6 commits into
emuflight:masterfrom
nerdCopter:fix/stm32f1-purge
Aug 10, 2026
Merged

chore: remove dead STM32F1 code#1368
nerdCopter merged 6 commits into
emuflight:masterfrom
nerdCopter:fix/stm32f1-purge

Conversation

@nerdCopter

@nerdCopter nerdCopter commented Aug 7, 2026

Copy link
Copy Markdown
Member

AI Generated pull-request

Summary

STM32F1 has zero current EmuFlight build targets — F1_TARGETS is referenced in three
makefile sites (make/targets.mk x2, make/source.mk) but never assigned anywhere in the
tree, and src/main/build/version.c already carried #warning STM32F1 based targets are unsupported. Removes all STM32F1-conditional code, build machinery, and the F1-exclusive
vendor library, resolving the STM32F1 half of #1365. STM32F3 is deferred to a separate
follow-up (confirmed equally dead — F3_TARGETS is also never assigned — but out of scope
here).

4 commits:

  1. Non-driver src/main core sources (platform.h, version.c, config_streamer.c, cli.c,
    msp_serial.h, fc/config.c, sensors/gyro.c, common_fc_pre.h, common_defaults_post.h,
    vcp/vcpf4 F1 arms only — vcp/ itself is shared with STM32F3 and is not removed)
  2. src/main/drivers/ surgical edits (~30 shared files, 65 #if/#ifdef sites)
  3. Build machinery: delete make/mcu/STM32F1.mk; edit make/targets.mk, make/source.mk,
    src/test/Makefile, .gitignore
  4. Delete orphaned files: lib/main/STM32F1/ vendor library (44MB, 293 files), 4 F1-exclusive
    drivers, 2 startup .S files, 4 linker scripts, 1 orphaned header

Plus a follow-up docs: commit rewording 5 stale comment/doc sites that named the now-removed
platform, and a merge of upstream/master to stay current.

Every #if/#elif/#else/#endif chain touched was verified line-by-line to keep the
surviving F3/F4/F7/H7/SITL arms byte-equivalent. Notably:

  • drivers/bus_i2c_stm32f10x.c is untouched despite its name — it's a live F4 driver
    (make/mcu/STM32F4.mk:170) with zero F1 macros inside it.
  • The timer.c TIM8 IRQ handler collapse keeps the branch F4/F7/H7/SITL already took
    (TIM8_UP_IRQHandler) and drops only the STM32F10X_XL-only alternative, avoiding a
    duplicate definition of TIM8_UP_TIM13_IRQHandler on F4 targets.
  • The make/source.mk two-line !F1 guard removal is behaviorally inert: F1_TARGETS was
    always empty, so the guard always evaluated true; confirmed via byte-identical SITL .elf
    size before/after.

Test plan

  • make test — 42/42 unit test suites pass, identical to upstream/master baseline
  • make SITL and 13 representative bench/compile-only targets build clean locally
  • Full target fleet build on a separate machine: 459 succeeded, 0 failed
  • CCACHE_DISABLE=1 rebuild — zero new warnings
  • Local CodeRabbit review (--dir make, --dir src) — 0 findings across all 59
    reviewable files
  • Hardware bench verification (flashed, USB connect, Configurator accel/gyro sensors-tab)
    on 7 unsoldered F4/F7 boards: HELIOSPRING, FOXEERF405, FOXEERF722V4, PYRODRONEF7,
    SKYSTARSF405AIO, TMOTORF7, TUNERCF405 — covers both vcpf4/ (F4) and vcp_hal/ (F7)
    USB stacks plus IMU/sensor-init driver paths on real hardware.
  • STM32H7 hardware verification — not yet performed (no H7 board bench-tested).
  • Flight/motor/ESC/RX verification — not yet performed. All bench testing to date used
    unsoldered boards (USB + sensors-tab only, no motors/ESC/RX connected).

Follow-up: a pre-existing dead-code finding (USE_UART1_RX_DMA/USE_UART1_TX_DMA consumer
blocks in serial_uart_stm32f4xx.c/serial_uart_stm32f7xx.c/serial_uart_stm32f30x.c,
already unreachable before this change) will be filed as a separate issue rather than folded
into this PR.

STM32F1 has zero current EmuFlight build targets: F1_TARGETS is
referenced in three makefile sites but never assigned anywhere.

Removes STM32F1-conditional code from the chip-detection chain in
platform.h (the sole definition site of the STM32F1 macro), the
already-stale build warning in version.c, flash-page-size and
flash-clear-flag chains in config_streamer.c, CLI/MSP buffer-size
selection, gyro_sync_denom clamping in fc/config.c and sensors/gyro.c,
the UART1 DMA/MINIMAL_CLI defaults in common_fc_pre.h, I2C pin
defaults in common_defaults_post.h, and the F1 arms in vcp/vcpf4 USB
descriptor/init code (vcp/ is shared with STM32F3, deferred to a
separate change; only F1-specific arms are touched here).

Related to emuflight#1365 (STM32F1 half only; STM32F3 is
deferred).
Removes STM32F1-conditional arms from ~30 shared driver files
(adc, bus_i2c, bus_spi variants, camera_control, dma, exti, io,
light_ws2811strip, pwm_output, rcc, rx_pwm, rangefinder_hcsr04,
serial_* UART/softserial/escserial, timer/timer_def) while keeping
the F3/F4/F7/H7/SITL code paths byte-equivalent to before.

drivers/bus_i2c_stm32f10x.c is left untouched: despite its name it
is a live F4 driver (referenced from make/mcu/STM32F4.mk) containing
no STM32F1 macro.

The TIM8 IRQ handler collapse in timer.c keeps the branch F4/F7/H7/
SITL already took (TIM8_UP_IRQHandler) and drops only the
STM32F10X_XL-only alternative, avoiding a duplicate definition of
TIM8_UP_TIM13_IRQHandler on F4 targets.

Related to emuflight#1365 (STM32F1 half only; STM32F3 is
deferred).
Deletes make/mcu/STM32F1.mk (reachable only via TARGET_MCU, which
can no longer resolve to STM32F1). Removes the F1_TARGETS arm and
its dead-code reference from make/targets.mk's STM-group validation,
and the two-line !F1 guard in make/source.mk wrapping the F4/F7
SPEED_OPTIMISED_SRC block (F1_TARGETS was never assigned, so the
guard always evaluated true; removing it changes no target's source
list).

Removes the unreachable STM32F10X_MD unit-test define from
src/test/Makefile (verified: no file in either affected test's SRC
list, nor the test-stub platform.h header closure, keys off it) and
the stale startup_stm32f10x_md_gcc.s .gitignore entry.

Related to emuflight#1365 (STM32F1 half only; STM32F3 is
deferred).
Removes the F1-exclusive CMSIS/StdPeriph/HAL vendor tree
(lib/main/STM32F1/, 293 files, 44MB) and the files that referenced
it exclusively:
- src/main/drivers/{adc,serial_uart,system,timer}_stm32f10x.c
- src/main/startup/startup_stm32f10x_{md,hd}_gcc.S
- src/main/target/link/stm32_flash_f103_{64k,128k,128k_opbl,256k}.ld
- src/main/target/stm32f1xx_hal_conf.h (already an unreferenced
  orphan before this change)

lib/main/STM32_USB-FS-Device_Driver/ is not touched: it is shared
with STM32F3/F4 and remains referenced from make/mcu/STM32F3.mk and
make/mcu/STM32F4.mk.

Residual grep for STM32F1/STM32F10X across src/, make/, Makefile,
and .github/ now returns only prose (comments, docs, a license
header) with zero build-system effect.

Related to emuflight#1365 (STM32F1 half only; STM32F3 is
deferred).
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 357 files, which is 207 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 882231d7-a881-4ffe-a7c2-5791d1837cf5

📥 Commits

Reviewing files that changed from the base of the PR and between 55618c3 and 1a1b1fb.

📒 Files selected for processing (357)
  • .gitignore
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_cl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_xl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_hd_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_ld.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_ld_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_md.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_md_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/arm/startup_stm32f10x_xl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_md.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/stm32f10x.h
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/stm32f10x_conf.h
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/system_stm32f10x.c
  • lib/main/STM32F1/Drivers/CMSIS/Device/ST/STM32F10x/system_stm32f10x.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/misc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/misc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c
  • lib/main/STM32F1/Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32_assert_template.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_can.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_can_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cec.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_conf_template.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_crc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dac.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dac_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_eth.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_hcd.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2s.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_irda.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_iwdg.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_mmc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_nand.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_nor.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pccard.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_sd.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_smartcard.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_sram.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_usart.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_wwdg.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_adc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_bus.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_cortex.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_crc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dac.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_fsmc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_i2c.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_iwdg.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rtc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_sdmmc.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_spi.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_system.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_utils.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_wwdg.h
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/STM32F100xE_User_Manual.chm
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/STM32F103xB_User_Manual.chm
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/STM32F103xG_User_Manual.chm
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/STM32F107xC_User_Manual.chm
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cec.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dac.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dac_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_eth.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_hcd.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2s.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_irda.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_mmc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_msp_template.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_nand.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_nor.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pccard.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_sd.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_smartcard.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_sram.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_timebase_rtc_alarm_template.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_timebase_tim_template.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_usart.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_wwdg.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_adc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_crc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_dac.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_dma.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_exti.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_fsmc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_gpio.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_i2c.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_pwr.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_rcc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_rtc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_sdmmc.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_spi.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_tim.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usart.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c
  • lib/main/STM32F1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_utils.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Inc/usbd_audio.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Inc/usbd_audio_if_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Src/usbd_audio.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Src/usbd_audio_if_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc_if_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc_if_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid_if_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid_if_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Inc/usbd_dfu.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Inc/usbd_dfu_media_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Src/usbd_dfu.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/DFU/Src/usbd_dfu_media_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc/usbd_hid.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc/usbd_msc.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc/usbd_msc_bot.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc/usbd_msc_data.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc/usbd_msc_scsi.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc/usbd_msc_storage_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_storage_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/Template/Inc/usbd_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Class/Template/Src/usbd_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_conf_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Device_Library/Release_Notes.html
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Inc/usbh_audio.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/AUDIO/Src/usbh_audio.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc/usbh_cdc.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc/usbh_hid.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc/usbh_hid_keybd.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc/usbh_hid_mouse.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc/usbh_hid_parser.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Inc/usbh_hid_usage.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src/usbh_hid.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src/usbh_hid_keybd.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src/usbh_hid_mouse.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/HID/Src/usbh_hid_parser.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc/usbh_msc.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc/usbh_msc_bot.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc/usbh_msc_scsi.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc_bot.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc_scsi.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Inc/usbh_mtp.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Inc/usbh_mtp_ptp.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Src/usbh_mtp.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/MTP/Src/usbh_mtp_ptp.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/Template/Inc/usbh_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Class/Template/Src/usbh_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_conf_template.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_conf_template.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c
  • lib/main/STM32F1/Middlewares/ST/STM32_USB_Host_Library/Release_Notes.html
  • make/mcu/STM32F1.mk
  • make/source.mk
  • make/targets.mk
  • src/main/build/version.c
  • src/main/config/config_streamer.c
  • src/main/drivers/adc.c
  • src/main/drivers/adc_impl.h
  • src/main/drivers/adc_stm32f10x.c
  • src/main/drivers/bus_i2c.h
  • src/main/drivers/bus_i2c_impl.h
  • src/main/drivers/bus_spi.c
  • src/main/drivers/bus_spi.h
  • src/main/drivers/bus_spi_impl.h
  • src/main/drivers/bus_spi_ll.c
  • src/main/drivers/bus_spi_pinconfig.c
  • src/main/drivers/bus_spi_stdperiph.c
  • src/main/drivers/camera_control.c
  • src/main/drivers/dma.c
  • src/main/drivers/dma.h
  • src/main/drivers/exti.c
  • src/main/drivers/io.c
  • src/main/drivers/io.h
  • src/main/drivers/light_ws2811strip.c
  • src/main/drivers/light_ws2811strip.h
  • src/main/drivers/light_ws2811strip_stdperiph.c
  • src/main/drivers/pwm_output.c
  • src/main/drivers/rangefinder/rangefinder_hcsr04.c
  • src/main/drivers/rcc.c
  • src/main/drivers/rx/rx_pwm.c
  • src/main/drivers/serial_escserial.c
  • src/main/drivers/serial_pinconfig.c
  • src/main/drivers/serial_softserial.c
  • src/main/drivers/serial_uart_impl.h
  • src/main/drivers/serial_uart_init.c
  • src/main/drivers/serial_uart_stm32f10x.c
  • src/main/drivers/system_stm32f10x.c
  • src/main/drivers/timer.c
  • src/main/drivers/timer.h
  • src/main/drivers/timer_def.h
  • src/main/drivers/timer_stm32f10x.c
  • src/main/fc/config.c
  • src/main/interface/cli.c
  • src/main/msp/msp_serial.h
  • src/main/platform.h
  • src/main/sensors/gyro.c
  • src/main/startup/startup_stm32f10x_hd_gcc.S
  • src/main/startup/startup_stm32f10x_md_gcc.S
  • src/main/target/ALIENFLIGHTF4/AlienFlight.md
  • src/main/target/ALIENFLIGHTNGF7/AlienFlight.md
  • src/main/target/common_defaults_post.h
  • src/main/target/common_fc_pre.h
  • src/main/target/link/stm32_flash_f103_128k.ld
  • src/main/target/link/stm32_flash_f103_128k_opbl.ld
  • src/main/target/link/stm32_flash_f103_256k.ld
  • src/main/target/link/stm32_flash_f103_64k.ld
  • src/main/target/stm32f1xx_hal_conf.h
  • src/main/telemetry/hott.c
  • src/main/vcp/hw_config.c
  • src/main/vcp/hw_config.h
  • src/main/vcp/platform_config.h
  • src/main/vcp/usb_prop.c
  • src/main/vcpf4/usbd_desc.c
  • src/test/Makefile

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nerdCopter

Copy link
Copy Markdown
Member Author

@coderabbitai review

Dead-platform removal: STM32F1 has zero current build targets (F1_TARGETS is referenced in three makefile sites but never assigned anywhere in the tree). Local coderabbit review --agent already returned 0 findings across all reviewable files (--dir make, --dir src; the 44MB lib/main/STM32F1/ vendor-library deletion puts the full diff over the CLI's 150-file limit).

Areas most worth a second look:

  • src/main/drivers/timer.c TIM8 IRQ handler collapse — verify no duplicate TIM8_UP_TIM13_IRQHandler definition on F4 targets.
  • Every #if/#elif chain with a removed F1 arm — confirm F3/F4/F7/H7/SITL behavior is unchanged.
  • src/main/vcp/ — shared with STM32F3 (deferred, separate change); only 4 of 15 files touched, confirm none of the F3 arms shifted.

Full 459-target fleet build passed (0 failed); unit tests 42/42. Hardware/flight verification has not been performed yet.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '== PR metadata =='
gh pr view 1368 --json baseRefName,headRefName,changedFiles,files,url

echo '== Changed files outside deleted STM32F1 vendor library =='
git diff --name-status "@{upstream}...HEAD" 2>/dev/null || git diff --name-status HEAD~1...HEAD

echo '== Relevant changed diff hunks =='
git diff --unified=40 "@{upstream}...HEAD" -- \
  src/main/drivers/timer.c \
  src/main/vcp \
  make/targets.mk \
  make/source.mk \
  src/test/Makefile \
  src/main/build/version.c \
  src/main/platform.h \
  2>/dev/null || \
git diff --unified=40 HEAD~1...HEAD -- \
  src/main/drivers/timer.c src/main/vcp make/targets.mk make/source.mk src/test/Makefile src/main/build/version.c src/main/platform.h

echo '== F1/F3 target assignments and references =='
rg -n -C 3 '(^|\W)(F1_TARGETS|F3_TARGETS|STM32F10X|STM32F1)(\W|$)' \
  make src/main src/test .gitignore -g '!lib/main/STM32F1/**' || true

echo '== TIM8 IRQ handler declarations and definitions =='
rg -n -C 8 '\bTIM8_UP(?:_TIM13)?_IRQHandler\s*\(' src make || true

echo '== Changed preprocessor directives in retained files =='
git diff --unified=8 "@{upstream}...HEAD" -- src/main make src/test .gitignore 2>/dev/null | \
  rg -n -C 3 '^[+-]\s*#\s*(if|ifdef|ifndef|elif|else|endif)\b|TIM8_UP' || true

Length of output: 40713


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="$(git merge-base master HEAD)"
echo "== Comparison range =="
echo "$base...HEAD"

echo '== Retained changed files =='
git diff --name-status "$base...HEAD" -- . \
  ':(exclude)lib/main/STM32F1/**' |
  tee /tmp/retained-changes.txt

echo '== Changed VCP files and full diffs =='
git diff --name-status "$base...HEAD" -- src/main/vcp
git diff --unified=30 "$base...HEAD" -- src/main/vcp

echo '== timer.c diff and current handler context =='
git diff --unified=50 "$base...HEAD" -- src/main/drivers/timer.c
rg -n -C 12 'TIM8_UP|TIM13_IRQHandler' src/main/drivers/timer.c src/main  || true

echo '== All surviving STM32F1 macro references in retained source/build files =='
rg -n -C 2 '(STM32F10X|STM32F1|F1_TARGETS)' \
  make src/main src/test .gitignore \
  -g '!lib/main/STM32F1/**' || true

echo '== F1/F3 target variable assignments in base and head =='
for rev in "$base" HEAD; do
  echo "-- $rev --"
  git grep -nE '^[[:space:]]*(F1_TARGETS|F3_TARGETS)[[:space:]]*[:+?]?=' "$rev" -- make src/main src/test 2>/dev/null || true
done

echo '== All retained changed preprocessor directives, with file headers =='
git diff --unified=12 "$base...HEAD" -- src/main make src/test .gitignore \
  | awk '
      /^diff --git / { file=$4; sub("^b/", "", file); print "\n== " file " ==" }
      /^[+-][[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif)\b/ { print }
    '

echo '== Diff statistics for retained files =='
git diff --stat "$base...HEAD" -- . ':(exclude)lib/main/STM32F1/**'

Length of output: 1971


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="035fff17b9f9f5336d5982689bb330faed72c7bb"

echo '== Retained changed files =='
git diff --name-status "$base...HEAD" -- . ':(exclude)lib/main/STM32F1/**'

echo '== Changed VCP files and full diffs =='
git diff --name-status "$base...HEAD" -- src/main/vcp
git diff --unified=30 "$base...HEAD" -- src/main/vcp

echo '== timer.c diff and current handler context =='
git diff --unified=50 "$base...HEAD" -- src/main/drivers/timer.c
rg -n -C 12 'TIM8_UP|TIM13_IRQHandler' src/main/drivers/timer.c src/main || true

echo '== All surviving STM32F1 macro references in retained source/build files =='
rg -n -C 2 '(STM32F10X|STM32F1|F1_TARGETS)' \
  make src/main src/test .gitignore \
  -g '!lib/main/STM32F1/**' || true

echo '== F1/F3 target variable assignments in base and head =='
for rev in "$base" HEAD; do
  echo "-- $rev --"
  git grep -nE '^[[:space:]]*(F1_TARGETS|F3_TARGETS)[[:space:]]*[:+?]?=' "$rev" -- make src/main src/test 2>/dev/null || true
done

echo '== All retained changed preprocessor directives, with file headers =='
git diff --unified=12 "$base...HEAD" -- src/main make src/test .gitignore \
  | awk '
      /^diff --git / { file=$4; sub("^b/", "", file); print "\n== " file " ==" }
      /^[+-][[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif)\b/ { print }
    '

echo '== Diff statistics for retained files =='
git diff --stat "$base...HEAD" -- . ':(exclude)lib/main/STM32F1/**'

Length of output: 130464


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="035fff17b9f9f5336d5982689bb330faed72c7bb"

echo '== Changed preprocessor directives in retained source =='
git diff --unified=5 "$base...HEAD" -- src/main make src/test .gitignore \
  | grep -E '^(diff --git|[+-][[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif))' || true

echo '== Build-system diff =='
git diff --unified=25 "$base...HEAD" -- make/targets.mk make/source.mk make/mcu/STM32F1.mk src/test/Makefile .gitignore

echo '== Current references to removed STM32F1 files or directories =='
rg -n -C 2 'STM32F1/|stm32f1xx_hal_conf\.h|startup_stm32f10x|stm32_flash_f103|adc_stm32f10x|serial_uart_stm32f10x|system_stm32f10x|timer_stm32f10x' \
  . -g '!lib/main/STM32F1/**' || true

echo '== Added or modified retained non-comment lines =='
git diff --unified=0 "$base...HEAD" -- src/main make src/test .gitignore \
  | grep -E '^(diff --git|@@|[+][^+])' \
  | grep -Ev '^[+][[:space:]]*(//|/\*|\*|\*/|$)' || true

echo '== STM32F3 VCP include/use paths =='
rg -n -C 3 '(hw_config\.h|platform_config\.h|usb_prop\.c|Virtual_Com_Port_init|STM32F303xC|STM32F37X)' \
  src/main/vcp src/main -g '!src/main/vcp/hw_config.c' -g '!src/main/vcp/hw_config.h' -g '!src/main/vcp/platform_config.h' -g '!src/main/vcp/usb_prop.c' || true

Length of output: 55876


@nerdCopter: I found no actionable issues.

I verified the targeted areas:

  • src/main/drivers/timer.c does not define TIM8_UP_TIM13_IRQHandler twice for F4. TIM8_UP_IRQHandler is a separate symbol. The F4-specific TIM8_UP_TIM13_IRQHandler remains under STM32F40_41xxx.
  • The changed preprocessor chains remove STM32F1-only arms. The surviving STM32F3, STM32F4, STM32F7, STM32H7, and SITL arms remain intact.
  • The four changed src/main/vcp/ files remove only STM32F10X code. The STM32F303xC paths remain unchanged.
  • The build files no longer reference the removed STM32F1 makefile, startup files, linker scripts, drivers, or vendor library.

I did not run builds or tests in this sandbox. Hardware verification remains the only stated pre-merge verification gap.

You are interacting with an AI system.

Five comment/doc sites still named the now-removed STM32F1/F103 platform after its
code was purged from this branch. Reworded each to describe current (F3/F4/F7/H7)
behavior accurately instead of contrasting against a platform with no remaining
code path. Left src/main/drivers/serial_uart_stm32f30x.c's license-header
attribution untouched (different category, not a technical description).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@nerdCopter
nerdCopter marked this pull request as ready for review August 10, 2026 15:54
@nerdCopter
nerdCopter merged commit e8eeee2 into emuflight:master Aug 10, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant