We use this dualpanto-testing repo for assignment, and uploading dualpanto firmware too.
If you have issue about installing all requirements and this testing tool, please first ask on discord #general channel. Often other students have already solved issue you have. (with 60 students in 2024, there's a good chance they have solved it)
This is same as READEM.md of dualpanto-testing.
- Download the latest installer for your OS-Version.
- Run the installer.
- Go to Appstore and install Xcode
- Run
xcode-select –install
to install the compilers - Run
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- Install Visual Studio 2019 or 2017
- Select at least the workload “Desktopentwicklung mit C++”
We highly recommend to use PyCharm to run this test flow.
- download PyCharm
- clone this repo and open it with pycharm
- create vertial environment (we use python 3.7)and install package using requirements.txt
- install Mermaid plugin for flowchart vis
- follow Test Flow section
you can run unittest from Markdown preview
or execute unittest from scripts
- download VScode
- clone this repo and open it with VScode
- set venv and install package using requirements.txt
- follow Test Flow section (Test flow in VSCode)
you can also run all unittest from command line interface if struggle with setting up IDE. Install python library in requirements.txt, then execute script.
Assignment for Week7 is to write code of god object and kinematics partially, and (mainly) get familiar with uploading firmware and this testing workflow since we use the test flow a lot from this week.
We have two coding assignments this week. First, open config.py
and set your COM port to connect dualpanto before beginning.
If you properly code it, IT handle follow Me handle
- make sure install ESP32 driver, IDE, and all python library on requirements.txt
- go to
dualpant-testing/firmware/haptics/BIS week7 Kinematics/firmware/src/hardware/panto.cpp
,findTODO BIS
and write code python -m unittest test_firmware.Kinematics.test_BIS_week7_kinematics
- if you feel the device has issue, follow test flow (Mechanics and Hardware)
- take the video that linkage is synced when you intearct with ME handle.
- and upload to dokuwiki project page
If you properly code it, you will find a thin wall in the midle of dualpanto intearcitve region.
- make sure install ESP32 driver, IDE, and all python library on requirements.txt
- go to
dualpant-testing/firmware/haptics/BIS week7 God Object/firmware/src/physics/godObject.cpp
,findTODO BIS
and write code python -m unittest test_firmware.Haptics.test_BIS_week7_go
- if you feel the device has issue, follow test flow (Mechanics and Hardware)
- take the video that you interacts with rendered wall
- and upload to dokuwiki project page
- upload the original firmware to your DualPanto, for this
- checkout feature/encoder-driver branch
- you want to have all submodules cloned (run
git submodule init
, thengit submodule update
) - then copy
firmware/haptics/line wall/firmware/src/config/config.cpp
tofirmware/dualpantoframework/firmware/src/config/config.cpp
and copyfirmware/haptics/line wall/firmware/include/config/config.hpp
tofirmware/dualpantoframework/firmware/ include /config/config.hpp
- then change
util.compile_framework(...)
toutil.upload_framework(...)
inUploadDualPantoFramework.test_upload_dp_firmware
intest_firmware.py
- now just as before, run
python -m unittest test_firmware.UploadDualPantoFramework
- checkout master branch at https://github.com/HassoPlattnerInstituteHCI/PantoDraw-Web
- search for the TODO BIS and fill them in with the things you learned today
- run dualdraw and draw a nice picture (see readme.md for instructions)
- upload a video of your drawing to dokuwiki
From Week9, we will develop dualpanto app. sometimes you want to upload dualpanto famework again and again when...
- you update dualpanto framework (e.g. you tune PID)
- you plug dualpanto device into different PC
- we observe dualpanto has some wall rendering issue when you connect dualpanto to other PC. e.g, you uplaod firmware from mac and connect to windows pc.
- this is not always happend. but You need to keep this in mind.
- We haven't known why so. Welcome you to contribute here!
python -m unittest test_firmware.UploadDualPantoFramework.test_upload_dp_firmware