Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 36 additions & 32 deletions scripts/runme.sh
Original file line number Diff line number Diff line change
@@ -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/