esp-windows-curses; sys_platform == 'win32'
To install the missing packages, please run "C:\Users\danie\esp32\esp-idf\install.bat"
Diagnostic information:
IDF_PYTHON_ENV_PATH: C:\Users\danie\AppData\Local\Programs\Python\Python39\
Python interpreter used: C:\Users\danie\AppData\Local\Programs\Python\Python39\python.exe
ESP-IDF v4.2.1-141-g1e3638390-dirty
NMAKE : fatal error U1077: 'python' : return code '0x1'
Stop.
When you start up the ESP-IDF command prompt, you should get some diagnostic information. Mine looks like this:
Using Python in C:\Users\andyc\AppData\Local\Programs\Python\Python37\
Python 3.7.3
Using Git in C:\Program Files\Git\cmd\
git version 2.24.1.windows.2
Setting IDF_PATH: C:\Users\andyc\esp32\esp-idf
Adding ESP-IDF tools to PATH...
Not using an unsupported version of tool xtensa-esp32-elf found in PATH: 1.22.0-80-g6c4433a5-5.2.0.
Not using an unsupported version of tool esp32ulp-elf found in PATH: 2.28.51.20170517.
Not using an unsupported version of tool cmake found in PATH: 3.17.0.
Not using an unsupported version of tool openocd-esp32 found in PATH: 0.10.0-dev.
Not using an unsupported version of tool ninja found in PATH: 1.8.2.
C:\Users\andyc\.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin
C:\Users\andyc\.espressif\tools\xtensa-esp32s2-elf\esp-2020r3-8.4.0\xtensa-esp32s2-elf\bin
C:\Users\andyc\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
C:\Users\andyc\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
C:\Users\andyc\.espressif\tools\cmake\3.16.4\bin
C:\Users\andyc\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200709\openocd-esp32\bin
C:\Users\andyc\.espressif\tools\ninja\1.10.0\
C:\Users\andyc\.espressif\tools\idf-exe\1.0.1\
C:\Users\andyc\.espressif\tools\ccache\3.7\
C:\Users\andyc\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64
C:\Users\andyc\.espressif\python_env\idf4.2_py3.7_env\Scripts
Checking if Python packages are up to date...
Python requirements from C:\Users\andyc\esp32\esp-idf\requirements.txt are satisfied.
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:
idf.py build
Similar to what you're seeing?
Setting PYTHONNOUSERSITE, was not set
Using Python in C:/Users/danie/.espressif/python_env/idf4.2_py3.8_env/Scripts
Python 3.8.7
Using Git in C:/Users/danie/.espressif/tools/idf-git/2.30.1/cmd
git version 2.30.1.windows.1
Setting IDF_PATH: C:\Users\danie\esp32
Adding ESP-IDF tools to PATH...
C:\Users\danie\.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin
C:\Users\danie\.espressif\tools\xtensa-esp32s2-elf\esp-2020r3-8.4.0\xtensa-esp32s2-elf\bin
C:\Users\danie\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
C:\Users\danie\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
C:\Users\danie\.espressif\tools\cmake\3.16.4\bin
C:\Users\danie\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200709\openocd-esp32\bin
C:\Users\danie\.espressif\tools\ninja\1.10.0\
C:\Users\danie\.espressif\tools\idf-exe\1.0.1\
C:\Users\danie\.espressif\tools\ccache\3.7\
C:\Users\danie\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64
C:\Users\danie\.espressif\python_env\idf4.2_py3.8_env\Scripts
C:\Users\danie\esp32\tools
Checking if Python packages are up to date...
Python requirements from C:\Users\danie\esp32\requirements.txt are satisfied.
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:
idf.py build
C:\Users\danie\esp32>
Is anyone here using this docker image per chance?
https://hub.docker.com/r/horihiro/moddable-sdk-esp32/tags?page=1&ordering=last_updated
I'm still having issues only with the esp32, i try to avoid docker because it's a resource hog, but this may
create a more stable working environment
ran into another small issue getting my MacBook working for the 32s so while im traveling I can work on embedded stuff.
A fatal error occurred: Failed to connect to ESP32-S2: Timed out waiting for packet header
CMake Error at run_cmd.cmake:14 (message):
esptool.py failed
Call Stack (most recent call first):
run_esptool.cmake:21 (include)
I am using a USB dongle if that makes a difference, the device port maps correctly and seems to show the correct USB port though.
Executing "ninja flash"...
ninja failed with exit code 1
make: *** [all] Error 2
In btutils, there's a maximum advertisement length for uuid's set to 31 characters, i am attempting to bring over a
sandard for ble wifi credential onboarding and their uuid's for characteristics are longer than 31 characters,
https://github.com/improv-wifi/sdk-cpp/blob/main/src/improv.h
Is this hard coded limit part of the underlying gap protocol?
Good afternoon, @dashcraft! Could you point me to where you're seeing that 31-character limit in btutils? The limit should be 16 bytes of data, not 31 characters.
BLE UUIDs should all be 128-bit values. The values in improv.h
that you linked above look proper to me: 32 hex characters (128 bits) separated by hyphens should be fine.
It's possible i'm using the wrong characteristics payload, completeUUID16List and serviceDataUUID16 is what i'm currently looking at in advertising data params.
Here is the location of the default.
gap.MAX_AD_LENGTH
https://github.com/Moddable-OpenSource/moddable/blob/e9742b49d5132f2723d3a5fca45b65cf3818d01a/modules/network/ble/gap.js#L98
https://github.com/Moddable-OpenSource/moddable/blob/1502614759bbee368833c600222406b1808fb972/modules/network/ble/btutils.js#L441
accelerometer.json
in that project:{
"service": {
"uuid": "F000AA10-0451-4000-B000-000000000000",
"characteristics": {
"data": {
"uuid": "F000AA11-0451-4000-B000-000000000000",
"type": "Int8Array"
},
"configuration": {
"uuid": "F000AA12-0451-4000-B000-000000000000",
"type": "Uint8"
},
"period": {
"uuid": "F000AA13-0451-4000-B000-000000000000",
"type": "Uint8"
}
}
}
}
I was having issues with the esp32 wroom s2's and memory. Using another service i couldn't run wifi, ble and also load a ssl cert, it would run out of memory.
basically this issue: espressif/arduino-esp32#4523
I was hoping i could find a configuration in moddable to avoid this issue whenever i enabled ble
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer);
view.setInt8(1, 0x01);
return view.buffer
What was actually happening, was i had set the wrong value in the bleservices json file, and I naively was trying to do what it had already done. I've finally got a working example of implementing improv-wifi (esphomes/hassio's new 'standard' for ble onboarding)
This is going to be a pita to write tests for.
https://github.com/dashcraft/improv-wifi-mod
mddbl
or are you talking about copying the files into your project? I'm assuming the latter since you mentioned package manager. Hmmm, that's a really interesting idea. What I'd really like, in order for me to understand exactly what you mean, is if you'd walk me through the process you invision for this.
pip install improv-wifi-mod
or npm install express-moddable
copying the external files in their project folder; and possibly making the appropriate adjustment in manifest.json
?