Skip to content

It is not micro #2

@petrkr

Description

@petrkr

On ESP32 without external PSRAM it even does not imports. It will ate whole free memory

Traceback (most recent call last):
  File "main.py", line 2, in <module>
  File "/lib/meterbus/__init__.py", line 21, in <module>
  File "/lib/meterbus/telegram_control.py", line 1, in <module>
  File "/lib/meterbus/telegram_body.py", line 3, in <module>
  File "/lib/meterbus/telegram_variable_data_record.py", line 1, in <module>
MemoryError: memory allocation failed, allocating 136 bytes

Simple example just

from machine import UART, Pin
import meterbus.serial
import time
import meterbus

ser = UART(1, 2400, bits=8, parity=0, stop=1,  tx=4, rx=36)

would be nice to optimize it for low memory environments too to make it micro

also tried even simple import

>>> gc.mem_free()
101488
>>> gc.collect()
>>> gc.mem_free()
103280
>>> import meterbus
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/lib/meterbus/__init__.py", line 21, in <module>
  File "/lib/meterbus/telegram_control.py", line 1, in <module>
  File "/lib/meterbus/telegram_body.py", line 3, in <module>
  File "/lib/meterbus/telegram_variable_data_record.py", line 1, in <module>
MemoryError: memory allocation failed, allocating 640 bytes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions