About ulab matrix

how big matrix can openmv support? or is there different between openmv H7 and H7 plus?

ulab and other Python modules use MicroPython’s heap, which is the same for H7 and H7+ more or less, about ~240KBs.

can modify to more big? I need to asymmetric Least Squares Baseline Subtraction,which matrix would be 200*200

No, that’s all the memory available to MicroPython… The SDRAM is Not used for heap.

Can it use SDRAM space in H7+?

We could support allocing a frame buffer and letting you cast it to a MicroPython float array.

This is easy to add. Then you’d have megabytes of RAM. Does this work for you?

I think H7+ have 32MBs SDRAM,So,It work for me sure!

Okay, I can add a method somewhere to alloc a huge static buffer of MP floats.

Thanks very a lot!! :smiley: :smiley: :smiley:

Can I use it now? and how can I use it?

Hi, I haven’t done this yet.

You can do this in the meantime.

import array, sensor

count = 1024
a = sensor.alloc_extra_fb(count * 4, 1, sensor.GRAYSCALE)
floats = array.array('f', a.bytearray())

https://docs.python.org/3/library/array.html

Use [x] to index the array.

1 Like