This project enables using toit alongside a standard ESP IDF project. The project is still rough around the edges. The features
- An ESP IDF component
- Interoperability via RCP messages
- A simplified C++ Api for setting up the interoperability
- An example ping pong app
This has only been tested on MacOS 12
- Clone this repo.
- Run
git submodule update --init --recursive
- Change to the toit directory and run
make
, please consult https://github.com/toitlang/toit for details of prerequisites for you platform. - Run
sh toit/third_party/esp-idf/install.sh
- Copy the example directory out of the repo, we will call it project_dir
from now on, as an example
cp -r esp-idf/example .
- Run
mkdir $project_dir/components
- Move this repo inside
mv esp-toit $project_dir/components/
- Source the esp-idf shell setup:
. $project_dir/components/esp-toit/toit/third_party/esp-idf/export.sh
- In the project_dir run
idf.py build
- And lastly flash to you device
idf.py -p <port> flash monitor
- This is already hopelessly outdated
- For some reason, there are many more compile errors when using this build files compared to the toitlang repo
minimum needed changes to the esp32 config (More is needed, havent figured it out yet)
- enable nimble ble
- enable ethernet w5500
- Thread local sotrage pointers set to 3
- Custom partition table
- Serial Flash Config: flash size 4mb