; 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 pre:.github/gen_ldscript.py build_src_filter = +<ch32v003fun> [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] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/adc_dma_opamp> [env:adc_fixed_fs] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/adc_fixed_fs> [env:adc_polled] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/adc_polled> [env:blink] extends = fun_base_003 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] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/bootload> [env:cap_touch_adc] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/cap_touch_adc> [env:cap_touch_exti] extends = fun_base_003 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] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/cpp_virtual_methods> [env:debugprintfdemo] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/debugprintfdemo> [env:direct_gpio] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/direct_gpio> [env:dma_gpio] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/dma_gpio> [env:external_crystal] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/external_crystal> [env:exti_pin_change_isr] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/exti_pin_change_isr> [env:flashtest] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/flashtest> [env:GPIO] extends = fun_base_003 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> [env:iwdg] extends = fun_base_003 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] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/optionbytes> [env:optiondata] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/optiondata> [env:run_from_ram] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/run_from_ram> [env:self_modify_code] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/self_modify_code> [env:spi_24L01_rx] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/spi_24L01_rx> [env:spi_24L01_tx] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/spi_24L01_tx> [env:spi_dac] extends = fun_base_003 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] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/spi_oled> [env:standby_autowake] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/standby_autowake> [env:standby_btn] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/standby_btn> [env:struct_direct_gpio] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/struct_direct_gpio> [env:struct_gpio] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/struct_gpio> [env:sysclk_config] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/sysclk_config> [env:systick_irq] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/systick_irq> [env:template] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/template> [env:tim1_pwm] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/tim1_pwm> [env:tim2_encoder] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_encoder> [env:tim2_pwm] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_pwm> [env:tim2_pwm_remap] extends = fun_base_003 build_src_filter = ${fun_base.build_src_filter} +<examples/tim2_pwm_remap> [env:uartdemo] extends = fun_base_003 build_flags = ${fun_base.build_flags} -DSTDOUT_UART build_src_filter = ${fun_base.build_src_filter} +<examples/uartdemo> [env:ws2812bdemo] extends = fun_base_003 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>