SimonGAndrews
Member since Aug 2021 • Last active Dec 2024Most recent activity
-
This link seems to identify the problem. An indeed tracing the error message back into the code shows that the ESP IDF i2c driver (see image for source file name) is expecting to be passed a clocks variable in the config structure from espruino jshardwareI2c.c
I am testing a fix which will need to be ifdef out for the idf4 build. It also involves handling the i2C speed that Espruino allows to be set in the I2C.setup function. PR to follow.
Im setting up a local clone of Espruino to test the builds (including ESP32 idf V3) after the change to be sure the ESP32 old version still builds and executes I2C. -
An error occurs using espruino in the ESP32-C3 IDF 4 build. when setting up the i2C. In more detail: When building with the command line:
BOARD=ESP32C3_IDF4 DEBUG=1 make flash BINDIR=.
The error occurs when executing the espruino command:
I2C1.setup({scl:D9,sda:D8});
The error text is :
i2c: i2c_param_config(684): i2c clock choice is invalid, please check
flag and frequencyUncaught Error: jshI2CSetup: Invalid arguments at line 1 col 27
I2C1.setup({scl:D9,sda:D8});
-
Hello @martin_hamilton its good to see another set of eyes on the ESp32 IDF V4/5 builds. Good luck , I will follow also.
-
Thanks @Gordon. Those tutorials look good with explanations and detail. Cheers
-
Good luck with this @Gordon it looks a useful option in the espruino toolbox.
I saw the Lego tutorial, im interested for the grandchildren. ;)
What’s a good solution for setting up a controller on an iPhone to control the jolt outputs with buttons and display inputs. Or maybe windows PC if iOS is an issue. All child friendly. -
For future reference this link appears to be the Micropython GitHub commit for upgrading micropython on the ESP 32 board family from ESP IDF v4.? to ESP IDF 5.2. This difference analysis should help as a reference for any future Espruino migration to the same.
The scope of the single commit change is across 68 source files including the SDKconfig files. The file structure seems intuitive with peripherial/functionality centric file contents.
The commit contains the following comment:This commit updates the esp32 port to work exclusively with ESP-IDF
v5. IDF v5 is needed for some of the newer ESP32 SoCs to work, and it
also cleans up a lot of the inconsistencies between existing SoCs (eg
S2, S3, and C3).Support for IDF v4 is dropped because it's a lot of effort to maintain
both versions at the same time.The following components have been verified to work on the various
SoCs:ESP32 ESP32-S2 ESP32-S3 ESP32-C3 build pass pass pass pass SPIRAM pass pass pass N/A REPL (UART) pass pass pass pass REPL (USB) N/A pass pass N/A filesystem pass pass pass pass GPIO pass pass pass pass SPI pass pass pass pass I2C pass pass pass pass PWM pass pass pass pass ADC pass pass pass pass WiFi STA pass pass pass pass WiFi AP pass pass pass pass BLE pass N/A pass pass ETH pass -- -- -- PPP pass pass pass -- sockets pass pass pass pass SSL pass ENOMEM pass pass RMT pass pass pass pass NeoPixel pass pass pass pass I2S pass pass pass N/A ESPNow pass pass pass pass ULP-FSM pass pass pass N/A SDCard pass N/A N/A pass WDT pass pass pass pass
And also see the official espressif ESP IDF migration guides found here.
-
- 21 comments
- 583 views
-
Also has been discussed in forum here
-
- 7 comments
- 366 views
Retired Solution Architect (Xerox - Imaging Services)
Working on implementing Xstate
https://xstate.js.org/docs/packages/xstate-fsm/
on Microcontrollers for improving Service Delivery