; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env]
platform = nxplpc                       ; not actually this and we are not using a framework
                                        ; setting platform = nxplpc makes everything happy
                                        ; as we'll get nano specs and any other needed shit
board = generic_py32f030x6

debug_tool = custom                     ; built-in pyocd support does not allow config file override
debug_server = $PYTHONEXE
    ${platformio.packages_dir}/tool-pyocd/pyocd-gdbserver.py
    --config
    $PROJECT_DIR/pyocd.yaml
    -t
    PY32F030x6
#debug_port = localhost:3333
debug_extra_cmds =
    set mem inaccessible-by-default off

upload_protocol = custom
upload_command = $PYTHONEXE ${platformio.packages_dir}/tool-pyocd/pyocd-flashtool.py --config $PROJECT_DIR/pyocd.yaml -t PY32F030x6 $SOURCE

platform_packages =
    toolchain-gccarmnoneeabi@1.100301.220327    ; build issues with GCC12, use GCC10 for now
    tool-pyocd                                  ; user won't have to install it


[env:sc7-testobot-py32f-dbg_pyocd]
build_type = debug
board_build.ldscript = py32f030x6.ld

debug_build_flags =
    -Wl,-Map=.pio/output_dbg.map
    -DUSE_FULL_LL_DRIVER
    -L.
    -Os
    -std=gnu11
    -Wl,-Map=.pio/output_dbg.map
    -g


[env:sc7-testobot-py32f-rel_bl]
build_type = release
board_build.ldscript = py32f030x6_bl.ld
board_upload.maximum_size = 30720				; 2K reserved for bootloader

build_flags =
    -Wl,-Map=.pio/output_rel.map
    -DUSE_FULL_LL_DRIVER
    -L.
    -Os
    -std=gnu11
