diff --git a/scripts/runme.sh b/scripts/runme.sh index c689cfd..56f78ed 100755 --- a/scripts/runme.sh +++ b/scripts/runme.sh @@ -1,50 +1,54 @@ #!/bin/bash project_dir=`pwd`; +PCMP_driver_dir="$project_dir/PicoCalc-micropython-driver"; +uPY_dir="$project_dir/micropython"; -# echo "Project Dir = $project_dir" +modules=("picocalcdisplay" "vtterminal") +target="RPI_PICO" # supported: RPI_PICO , RPI_PICO2, RPI_PICO2_W -if [ -d PicoCalc-micropython-driver ]; then - rm -rf PicoCalc-micropython-driver +if [ ! "$uPY_dir/ports/rp2" ]; then + mkdir --parents "$uPY_dir/ports/rp2" + mkdir -p "$uPY_dir/ports/rp2/modules" fi -git clone https://github.com/zenodante/PicoCalc-micropython-driver - - -if [ -d micropython ]; then - rm -rf micropython +if [ ! -d "$uPY_dir" ]; then + git clone https://github.com/micropython/micropython "$uPY_dir" +fi +if [ ! -d "$PCMP_driver_dir" ]; then + git clone https://github.com/zenodante/PicoCalc-micropython-driver $PCMP_driver_dir fi -git clone https://github.com/micropython/micropython - -cd $project_dir -cp ./PicoCalc-micropython-driver/pico_files/fbconsole.py ./micropython/ports/rp2/modules -cp ./PicoCalc-micropython-driver/pico_files/picocalc.py ./micropython/ports/rp2/modules - -cd $project_dir -cd micropython/ports/rp2 -git submodule update --init --recursive +cp "$PCMP_driver_dir"/pico_files/modules/*.py "$uPY_dir/ports/rp2/modules" -if [ -d build ]; then - rm -rf build +if [ ! -d "$project_dir/transfer" ]; then + mkdir "$project_dir/transfer" + cp -r "$PCMP_driver_dir/pico_files/root/"* $project_dir/transfer + cp -r "$PCMP_driver_dir/pico_files/examples" $project_dir/transfer fi -mkdir build -cd build +if [ ! -f "$project_dir/transfer/firmware.uf2" ]; then + cd $uPY_dir/ports/rp2 + git submodule update --init --recursive -cmake .. \ - -DUSER_C_MODULES="$project_dir/PicoCalc-micropython-driver/micropython.cmake" \ - -DMICROPY_BOARD=RPI_PICO + if [ -d build ]; then + rm -rf build + fi -# RPI_PICO -# RPI_PICO2 -# RPI_PICO2_W + mkdir build + cd build -bash <(wget -O - https://thonny.org/installer-for-linux ) + USER_C_MODULES="" + for module in "${modules[@]}"; do + if [ -n "$USER_C_MODULES" ]; then + USER_C_MODULES="${USER_C_MODULES};" + fi + USER_C_MODULES="${USER_C_MODULES}${PCMP_driver_dir}/${module}/micropython.cmake" + done -cd $project_dir -mkdir transfer + cmake .. -DUSER_C_MODULES="$USER_C_MODULES" -DMICROPY_BOARD="$target" && \ + make && \ + cp "$uPY_dir/ports/rp2/build/firmware.uf2" $project_dir/transfer +fi -cp micropython/ports/rp2/build/firmware.uf2 $project_dir/transfer/ -cp PicoCalc-micropython-driver/pico_files/* $project_dir/transfer/