Skip to content
Snippets Groups Projects
platformio.ini 7.12 KiB
Newer Older
; see https://docs.platformio.org/en/latest/projectconf/index.html
[platformio]
src_dir = .
include_dir = .

[env]
platform = https://github.com/Community-PIO-CH32V/platform-ch32v.git
monitor_speed = 115200

; for examples that use ch32v003fun as their base
[fun_base]
build_flags = -flto -Ich32v003fun -I/usr/include/newlib -lgcc -Iextralibs
; dynamically add "examples/$PIOENV" to the include path
; generate linkerscript on the fly
extra_scripts = 
  .github/add_include.py
[fun_base_003]
extends = fun_base
; or genericCH32V003A4M6 or whatever, see platform link
board = ch32v003f4p6_evt_r0

[fun_base_103]
extends = fun_base
build_flags = ${fun_base.build_flags} -DCH32V10x
board = genericCH32V103C8T6

[fun_base_203]
extends = fun_base
build_flags = ${fun_base.build_flags} -DCH32V20x
board = genericCH32V203C8T6

[fun_base_307]
extends = fun_base
build_flags = ${fun_base.build_flags} -DCH32V30x
board = ch32v307_evt

; If creating a new example:
; 1. Add new [env:name]
; 2. Set the extends to the fun_base_{003, 103, 203, 307} as needed
; 3. Add build_src_filter with fun base files + example folder (+ extra libraries if used) for source files
; 4. Add additional build flags as needed (see uartdemo)
; 5. Switch to new environment in VSCode bottom taskbar (https://docs.platformio.org/en/latest/integration/ide/vscode.html#project-tasks)
[env:adc_dma_opamp]
build_src_filter = ${fun_base.build_src_filter} +<examples/adc_dma_opamp>

[env:adc_fixed_fs]
build_src_filter = ${fun_base.build_src_filter} +<examples/adc_fixed_fs>

[env:adc_polled]
build_src_filter = ${fun_base.build_src_filter} +<examples/adc_polled>

[env:blink]
build_src_filter = ${fun_base.build_src_filter} +<examples/blink>
[env:blink_raw]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/blink_raw>

[env:bootload]
build_src_filter = ${fun_base.build_src_filter} +<examples/bootload>

[env:cap_touch_adc]
build_src_filter = ${fun_base.build_src_filter} +<examples/cap_touch_adc>

[env:cap_touch_exti]
build_src_filter = ${fun_base.build_src_filter} +<examples/cap_touch_exti>

[env:color_lcd]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/color_lcd>

[env:cpp_virtual_methods]
build_src_filter = ${fun_base.build_src_filter} +<examples/cpp_virtual_methods>

[env:debugprintfdemo]
build_src_filter = ${fun_base.build_src_filter} +<examples/debugprintfdemo>
[env:direct_gpio]
build_src_filter = ${fun_base.build_src_filter} +<examples/direct_gpio>

[env:dma_gpio]
build_src_filter = ${fun_base.build_src_filter} +<examples/dma_gpio>

[env:external_crystal]
build_src_filter = ${fun_base.build_src_filter} +<examples/external_crystal>

[env:exti_pin_change_isr]
build_src_filter = ${fun_base.build_src_filter} +<examples/exti_pin_change_isr>

[env:flashtest]
build_src_filter = ${fun_base.build_src_filter} +<examples/flashtest>

build_src_filter = ${fun_base.build_src_filter} +<examples/GPIO>
[env:hsitrim]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/hsitrim>

[env:i2c_oled]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/i2c_oled>

[env:i2c_slave]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/i2c_slave>

[env:input_capture]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/input_capture>
build_src_filter = ${fun_base.build_src_filter} +<examples/iwdg>

[env:MCOtest]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/MCOtest>
[env:optionbytes]
build_src_filter = ${fun_base.build_src_filter} +<examples/optionbytes>

[env:optiondata]
build_src_filter = ${fun_base.build_src_filter} +<examples/optiondata>

[env:run_from_ram]
build_src_filter = ${fun_base.build_src_filter} +<examples/run_from_ram>

[env:self_modify_code]
build_src_filter = ${fun_base.build_src_filter} +<examples/self_modify_code>

[env:spi_24L01_rx]
build_src_filter = ${fun_base.build_src_filter} +<examples/spi_24L01_rx>

[env:spi_24L01_tx]
build_src_filter = ${fun_base.build_src_filter} +<examples/spi_24L01_tx>

[env:spi_dac]
build_src_filter = ${fun_base.build_src_filter} +<examples/spi_dac>

[env:spi_max7219]
extends = fun_base_003
build_src_filter = ${fun_base.build_src_filter} +<examples/spi_max7219>

[env:spi_oled]
build_src_filter = ${fun_base.build_src_filter} +<examples/spi_oled>

[env:standby_autowake]
build_src_filter = ${fun_base.build_src_filter} +<examples/standby_autowake>

[env:standby_btn]
build_src_filter = ${fun_base.build_src_filter} +<examples/standby_btn>

[env:struct_direct_gpio]
build_src_filter = ${fun_base.build_src_filter} +<examples/struct_direct_gpio>

[env:struct_gpio]
build_src_filter = ${fun_base.build_src_filter} +<examples/struct_gpio>

[env:sysclk_config]
build_src_filter = ${fun_base.build_src_filter} +<examples/sysclk_config>

[env:systick_irq]
build_src_filter = ${fun_base.build_src_filter} +<examples/systick_irq>

CNLohr's avatar
CNLohr committed
[env:template]
CNLohr's avatar
CNLohr committed
build_src_filter = ${fun_base.build_src_filter} +<examples/template>
[env:tim1_pwm]
build_src_filter = ${fun_base.build_src_filter} +<examples/tim1_pwm>

[env:tim2_encoder]
build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_encoder>

[env:tim2_pwm]
build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_pwm>

[env:tim2_pwm_remap]
build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_pwm_remap>

[env:uartdemo]
build_flags = ${fun_base.build_flags} -DSTDOUT_UART
build_src_filter = ${fun_base.build_src_filter} +<examples/uartdemo>
[env:ws2812bdemo]
build_src_filter = ${fun_base.build_src_filter} +<examples/ws2812bdemo>

[env:v10x_blink]
extends = fun_base_103
build_src_filter = ${fun_base.build_src_filter} +<examples_v10x/blink>

[env:v20x_blink]
extends = fun_base_203
build_src_filter = ${fun_base.build_src_filter} +<examples_v20x/blink>

[env:v20x_debugprintfdemo]
extends = fun_base_203
build_src_filter = ${fun_base.build_src_filter} +<examples_v20x/debugprintfdemo>

[env:v20x_mcotest]
extends = fun_base_203
build_src_filter = ${fun_base.build_src_filter} +<examples_v20x/mcotest>

[env:v20x_spidmatest]
extends = fun_base_203
build_src_filter = ${fun_base.build_src_filter} +<examples_v20x/spidmatest>

[env:v30x_blink]
extends = fun_base_307
build_src_filter = ${fun_base.build_src_filter} +<examples_v30x/blink>