; 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 -I"examples/$PIOENV" 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:blink] build_src_filter = ${fun_base.build_src_filter} +<examples/blink> [env:bootload] build_src_filter = ${fun_base.build_src_filter} +<examples/bootload> [env:debugprintfdemo] build_src_filter = ${fun_base.build_src_filter} +<examples/debugprintfdemo> [env:external_crystal] build_src_filter = ${fun_base.build_src_filter} +<examples/external_crystal> [env:GPIO] build_src_filter = ${fun_base.build_src_filter} ${fun_base.extra_libs_srcs} +<examples/GPIO> [env:optionbytes] build_src_filter = ${fun_base.build_src_filter} +<examples/optionbytes> [env:run_from_ram] build_src_filter = ${fun_base.build_src_filter} +<examples/run_from_ram> [env:template] build_src_filter = ${fun_base.build_src_filter} +<examples/template> [env:self_modify_code] build_src_filter = ${fun_base.build_src_filter} +<examples/self_modify_code> [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>