; 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 ; or genericCH32V003A4M6 or whatever, see platform link board = ch32v003f4p6_evt_r0 monitor_speed = 115200 ; all environments use ch32v003 fun as base, no more ch32v003evt extends = fun_base ; use a source filter to only build certain folders / files in later environments ; for examples that use ch32v003fun as their base [fun_base] board_build.ldscript = ch32v003fun/ch32v003fun.ld build_flags = -flto -Ich32v003fun -I/usr/include/newlib -lgcc -Iextralibs ; dynamically add "examples/$PIOENV" to the include path extra_scripts = .github/add_include.py build_src_filter = +<ch32v003fun> extra_libs_srcs = +<extralibs> ; If creating a new example: ; 1. Add new [env:name] ; 2. Add build_src_filter with fun base files + example folder (+ extra libraries if used) for source files ; 3. Add additional build flags as needed (see uartdemo) ; 4. 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: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: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> [env:GPIO] build_src_filter = ${fun_base.build_src_filter} ${fun_base.extra_libs_srcs} +<examples/GPIO> [env:i2c_oled] build_src_filter = ${fun_base.build_src_filter} +<examples/i2c_oled> [env:i2c_slave] build_src_filter = ${fun_base.build_src_filter} +<examples/i2c_slave> [env:input_capture] build_src_filter = ${fun_base.build_src_filter} +<examples/input_capture> [env:iwdg] build_src_filter = ${fun_base.build_src_filter} +<examples/iwdg> [env:hsitrim] build_src_filter = ${fun_base.build_src_filter} +<examples/hsitrim> [env:MCOtest] 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_oled] build_src_filter = ${fun_base.build_src_filter} ${fun_base.extra_libs_srcs} +<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> [env:template] 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>