• ULP Testing (pycom firmware with ULP support)

    Guides ulp firmware github
    5
    5 Votes
    5 Posts
    111 Views
    DualMaticD
    @Géza-Husi Yes! I've tested with some code from different repositories and it works, I'll prepare some sample code and post here. I'm neither makefile nor esp-idf expert, so my current procedure is to use ThomasWaldmann py-esp32-ulp on my local computer with micropython v1.12 in order to compile .S file to .ulp and then upload to pycom module via FTP, this allowed me to quick test if ULP works but has some downsides (some of them because my lack of knowledge): You have to load and run the ulp file at every boot py-esp32-ulp converter doesn't take into account Espressif ULP macros/helpers issue#19 (READ_RTC_REG, WRITE_RTC_REG, and so on...) I'm still figuring out how to do I/O manipulation from ULP (read digital input accomplished, but figuring out how digital output works) I don't know how to signal main processor to wake up from ULP. I think the best way to implement ULP is to flash or generate binary file with esp-idf (in order to make use of macros) Maybe someone at pycom (Géza ;-) ) or people with more esp-idf knowledge than me can shed us some light. My use case with ULP is more or less the same as @Calvin-Foo but for water metering, counting pulses while asleep and waking up the module every 'N' pulses in order to take actions or save values. Regards and thanks for chiming in!
  • ULP co-processor

    FiPy ulp coprocessor
    2
    0 Votes
    2 Posts
    413 Views
    nespressifN
    Hello, here you have the link to the Espressif documentation (manufacturer of ESP32), but as far as I know Pycom firmware doesn't support ULP, so it can't be used. ULP (Ultra Low Power) coprocessor is a simple FSM which is designed to perform measurements using ADC, temperature sensor, and external I2C sensors, while main processors are in deep sleep mode. ULP coprocessor can access RTC_SLOW_MEM memory region, and registers in RTC_CNTL, RTC_IO, and SARADC peripherals. ULP coprocessor uses fixed-width 32-bit instructions, 32-bit memory addressing, and has 4 general purpose 16-bit registers.
  • Output pin control during deep sleep

    Getting Started lopy4 fipy ulp deepsleep
    1
    0 Votes
    1 Posts
    421 Views
    No one has replied
  • Pulse control in deep sleep (ULP)

    Discussion pulse control ulp deepsleep
    3
    1 Votes
    3 Posts
    555 Views
    G
    The most recent post concernign ULP is here: https://forum.pycom.io/topic/7026/ulp-testing-pycom-firmware-with-ulp-support. From what I know we're still interested in implementing this feature, but again, we're interested in implementing a lot of features, with only limited time :)
  • What can run on the ULP co-processor?

    Discussion power saving sipy ulp
    3
    0 Votes
    3 Posts
    1k Views
    M
    Any news on the ability to utilize the ULP through micropython APIs?