In order to use the setup you will need to configure your system in the following way:
- Install the required system packages and configure your system accordingly
- Run the
local_setup.shscript to install and setup the development environment - To build the sample project, we use the provided
idf.pyscripts:- To activate the
idf.pyscript, run. ./esp/esp-idf/export.shfrom the root of the repository - To build the project, run
idf.py build - To flash the firmware to a connected Watchy, run
idf.py flash - To display serial output on your console, run
idf.py monitor
- To activate the
If you use Linux, see the Setup Linux section below for required packages and system configurations.
If you use macOS, see the Setup macOS section below for required packages.
- Make sure you have the required dependencies installed. A starting point of debian packages would be
git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 - In order to flash the project, your user needs permissions to access the device. Consider adding your user to the dialout group:
sudo usermod -a -G dialout $USER
- Make sure the required dependencies are installed. If you use HomeBrew, they can be installed with:
brew install cmake ninja dfu-util - You need a Python 3 interpreter, for example, you can use the bundled Python 3.9 interpreter (on macOS Sonoma). If your bundled Python version is Python 2, install a Python 3 interpreter, for example with HomeBrew.
- Made by:
- Komron Abdulloev - 231579
- Kevin Butzke - 225051
- Leonhard Holländer - 219520
- How to use:
- For just Trace output without persisting and visualizing it, just run
idf.py monitor - For exporting and visualizing run the program by
idf.py monitor | python3 debug_extraction.pyin the root of the repository. - For generating the PDF with the debug output visualized run
python vizualize.py
- For just Trace output without persisting and visualizing it, just run
- What modifications were made:
- Including the
debug_macros.hwhere the debug traces are defined. These call the corresponding trace functions which are implemented in thedebugtool.cpp - The Debug extraction
debug_extraction.pyscript uses the output from the serial console and is generating the statistics and exports the CSV output.
- Including the