- added variables_mode in config.
build_platform_config.py
- added define for variables_mode
jsvar.h
- added jsVarsSize; //size of jsVars for option malloc
- added support of malloc jsVars in jsvInit
jsvar.c
- added definition jsVars for variables_mode_malloc
jshardwareESP32.h
- new file with functions to set/get enable status of BLE and Wifi
jshardwareESP32.c
- new file with functions to set/get enable status of BLE and Wifi
ESP32.make
- added jshardware.c to SOURCES
main.c
- added handling for Wifi enabled
- added calculation for jsVars
- initialise jsVars based on calculation
jshardware.c
- used new API call to get Serial Number, even if Wifi is not enabled
- initialises BLE, if BLE is enabled (in NVS storage)
bluetooth.c
- check if BLE is enabled before initialising
jswrap_esp32.h
- defines functions to enable BLE and/or Wifi
jswrap_esp32.c
- wrapper for functions to enable BLE/Wifi, remove code from Flash, to avoid overflow in jsVars
- added status for BLE/Wifi to ESP32.getStatus
esp32_gap_func.c
- get mac adress even if Wifi is not enabled
Changes to be committed:
modified: boards/ESP32.py
modified: make/family/ESP32.make
modified: scripts/build_platform_config.py
modified: src/jsvar.c
modified: src/jsvar.h
modified: targets/esp32/BLE/esp32_gap_func.c
modified: targets/esp32/bluetooth.c
modified: targets/esp32/jshardware.c
new file: targets/esp32/jshardwareESP32.c
new file: targets/esp32/jshardwareESP32.h
modified: targets/esp32/jswrap_esp32.c
modified: targets/esp32/jswrap_esp32.h
modified: targets/esp32/main.c
The romdata_jscode point is mapped by the MMU to the real address of the jscode partition. The offset from the start of flash for the code areas is 0x100000 so this has be removed in the direct access of memory case.
The first idea was to move util timer task to 2nd cpu later, but it turned out taskhandling slows down a lot
Therefore it had to be moved
Move init of timer into main loop
Add a bitfield for usage of pins for soft pwm
Add handling of soft pwm pins to jshPinSetState
Add handling of soft PWM to jshPinAnalogOutput if soft:true is set in options
Set time for util timer to a min of 30 usecs
- if writing to disconnected Bluetooth device, throw data away immediately
- Drop chars if output buffer is full while waiting in an IRQ
- Handle out of memory errors in jsvCreateNewChild
Extended to support both SPI channel (HSPI and VSPI)
Todo:
More testing with other SPI based hardware
Testing with two or more devices on same SPI channel (using seperate CE pins)
Input from SPI device
Find a faster solution. Each byte has a lot of overhead in Espruino.
WebIDE does not like restart of ESP32 because of strange behaviour compared to Espruino boards.
ESP32 sends to much lines and takes too long to be recognized as started.
Will have to find a better solution.
Removed ifdef of RTOS in jshardware.c
Errortext in watchdog functions changed
jshDelayMicroseconds now calls ets_delay_us,
former used taskDelay only works for milliseconds
calling esp_restart in jshReset