data compression

hello Nordic

i am working with nrf52832 and nrf52840, with zephyr (ncs v2.1.2)

i am trying to compress vibration sensor data before sending it via ble (i have several 16k byte samples that i read from external flash before sending, i have some limitation of RAM size so i can not use very big bufs on RAM) .

i have tried to use the zephyr built in LZ4 module on my data (sensors data) with not such good results.

also i did not see any difference on ratio when using the default ' LZ4_compress_default(..) ' and the compress oriented API ' LZ4_compress_destSize(..) ' 

i gave both APIs 2k of data to compress and it did not compress at all. 

1.  what is the difference between the 2 APIs ?

2. i saw there is also lz4_hc (high compress) .c module that i am not sure how to use and if it can bring better results ?

3. if i would try to use a dictionary on a 16k bytes of sample could it give some significant improve on ratio ? if so, how can i use it i did not find any example or guide on that ?

if no, are there any recommended compression algorithms i can try/test that i can integrate to zephyr / ncs, (or already integrated ? ) is there some guide for such integration ?

hope to read you soon

best regards

Ziv 

Parents Reply
  • hello Sigurd

    we gave up the lz4 cause it did not gave such good compression rate for our data.

    i so in the ncs under the nrf dir that there is some reference to Brotli compression (by google) but i only saw include for the decoding, so its not clear for me if there is some implementation of Brotli compression algorithm in ncs ??

    hope to read you soon

    best regards

    Ziv

Children
Related