Avatar for JumJum


Member since Oct 2013 • Last active Oct 2018
  • 115 conversations

Most recent activity

  • in ESP32
    Avatar for JumJum

    Sending data from WebIDE to ESP32 is very slow.
    I compared WEBIDe with putty.
    In both cases baudrate is 115200. In WEBIDE Throttle Send is disabled.

    Pasting about 5KB into putty takes less a second
    Pasting same into terminal window of WEBIDE takes more than 6 secs

    Any idea, why we have this big difference in speed ?

  • in ESP32
    Avatar for JumJum

    Changes are uploaded to branch ESP32-V3.1
    @Gordon, could you please check, mainly changes in make to support board specific Crypto
    @Wilberforce, hope you get it running with your BuildTools, please see changes in sdkconfig

    More detailled description about changes is in targets/esp32/Changes_V3.1
    I've added an issue in github for this upgrade. Lets use it for next steps.
    Sorry for the delay, but sometimes life becomes complex

  • in ESP32
    Avatar for JumJum

    My idea would be to

    1. remove old branches (ESP32 and ESP32-V3.0). Both are some commits ahead since may or june. From my best knowledge, we don't need these commts. I've done my testing and converting based on Espruino Master and ESP-IDF V3.1 release.
    2. create a new branch ESP32-V3.1
    3. pull up my changes to ESP-V3.1
    4. see, if you can build. If there are problems we have to fix
    5. once its running, merge into master

    Anyway, I'm absolutely open for any other route.

  • in ESP32
    Avatar for JumJum

    correct, its flash only,
    here are the changes, @wilberforce could you please check. I have in mind a change in WIFI, but don't remember. Something around buffers or channels ?

    - commented partition in partitions_espruino.csv
    - shorten path to include esp_partition.h in main.c
    - esp32_neopixel.c, changed ***_PERI_REG_MASK functions(deprecated) to DPORT_***_PERI_REG_MASK functions.
    - added folder crypto to /make
    - created file standard handling of mbedtls
    - created ESP32 specific file handling of mbedtls, ESP-IDF needs new version, Espruino core works with old one
    - replaced ifdef USE_CRYPTO with includes of standard or board specific from make/crypto
    - make/family/ESP32MAKE sorted LDFLAGS, removed double entrys, added entrys needed for V3.1
      (smartconfig_ack, newlib/platform_include, lmesh, ld_include_panic_highint_hdl)
    - jswrap_crypto.c, added ESP32-defines MBEDTLS_CIPHER_MODE_xxx, there should be a better way, but I did not find
    - make menuconfig
    - - Serial flasher config
    - - - Flash size (4 MB)
    - - Partition Table
    - - - Partition Table (Custom partition table CSV)
    - - - (partitions_espruino.csv) 
    - - Compiler Options
    - - - Optimization Level(Release....
    - - - Assertion level (Disabled...
    - - Component config
    - - - Bluetooth enable
    - - - - Bluedroid Enable
    - - - - - Disable BT debug logs 
    - - - ESP32 specific
    - - - - Support for external, SPI Connected Ram enable
    - - - - SPI RAM Config
    - - - - - Ignore PSRAM when not found enable
    - - - - - Reserve this amount of bytes 16384
    - - - - Also watch CPU1 tick interrup disable
    - - - - Initialize Task Watchdog Timer on startup disable
    - - - FreeRTOS
    - - - - Halt when an SMP-untested function is called disable
    - - - Log output
    - - - - Default log verbosity Error
    - - - - Use ANSI terminal colors disable
    - - - mbedTLS
    - - - - Enable hardware AES acceleration disable
    - - - - Enable hardware MPI (bignum) acceleration disable
    - - -  Wear levelling library sector size 512
  • in ESP32
    Avatar for JumJum

    I've a version running with new ESP-IDF V3.1 now.
    Main point for Espruino is support of PS-RAM which opens the option to have 20000 jsVars, or even more.

    I'm not convinced, that using V3.1 is a good step for Espruino.
    We have to switch to new version of mbedtls, and size of binary raises to unbelievable 1300 kBytes.
    May be, we could easily add PS-RAM support to a specific V3.0.x

    Should we open an issue on GitHub for that ?

  • in Porting to new Devices
    Avatar for JumJum

    Espruino supports different boards and can be customized by defines like Net, Gtaphics, Neopixel etc.
    May be, you have your own extensions. In that case it would be helpful to have an API documentation for your project.
    In a first try I've added -BBoard parameter to build_docs.py, which changes argument to call common.get_jsondata, and adds a define in switch-path which handles -B parameters.

    This would open the option to create board specific API documentation during make by calling
    python build_doc.py $(FAMILY) $(WRAPPERSOURCES)
    And then add it to board zip file.

    If this is of general interest I would open a pull request

  • in Electronics
    Avatar for JumJum

    ESP32 supports I2S in parallel mode. This can be used to set multiple pins at a time.

    There is an example in ESP32 showcase (https://esp32.com/viewtopic.php?f=17&t=3­188) which I converted to be used in Espruino. It's running fine under Espruino, supports 24bit colors.
    Handing over address of buffer one time is all I've to do, no converting, no refresh.
    And last not least, CPU load is poor, less than 1 %
    With other words, I've a solution for my needs.

    Problem of I2S itself is poor documentation/support in ESP-IDF, therefore converting the example to Espruino was more or less a kind of copy/paste. With other words, my knowledge about I2S on ESP32 is poor ;-)