Close

on teensy-lc i have improved performance of doubleResolution output

A project log for mlx90640 sensor works w 800 bytes

Everywhere i read people are excited to get mlx90640 working. here are examples using arduino w 800bytes ram, and 1k with calibrated DEG C

jamesdanielvjamesdanielv 09/03/2019 at 14:340 Comments

there is a bottleneck with i2c communication and in order to subsample i would need to do at least 4 mem calls. and do 4x more complex math. i buffered the data so it uses 256 more bytes of ram if using the doubleResolution function, but it now runs 4-5 times faster as it also frees up the i2c bus for other parts of the process. this is for the teensy-LC. so it now runs with about 3k of ram in use. on arduino it uses a lot less ram because stores are in 8bits at a time instead of 32. 

here is the video performance of the ascii output to terminal of my hand counting to 5, in image mode that uses less math, and in calc mode that has precise output. 

Z_MemManagment.h, look for Replace_detailed_calc_with_image_data false ; or true

in order to get results, all you would need to do is type something like this

float temp=DoubleResolutionValue(x,y);//we return double we read x,y directly not mem location

the routine does the caching and all the interpolations with only needing a x,y value in the range of 64,48.

anyway the image mode is here

and the detailed calc mode is here. the ascii image art doesn't do it justice.

Discussions