Skip to content

This project offers a simplified compressor that produces Gzip-compatible output with small resources for microcontrollers and edge computers. He uses the very basic LZ77 compression algorithm and static Deflate Huffman tree encoding to compress / decompress data into Gzip files.

License

Notifications You must be signed in to change notification settings

Bsm-B/Stm32-FatFs-Gzip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stm32-FatFs-Gzip

This project offers a simplified compressor that produces Gzip-compatible output with small resources for microcontrollers and edge computers. He uses the very basic LZ77 compression algorithm and static Deflate Huffman tree encoding to compress / decompress data into Gzip files.

He is based on a modified uzlib library to create a minimalist GNU GZIP Software clone to compress data into Gzip files under the FatFs File System and microcontrollers.

Compressor features

  • Save energy and time when sending data.
  • Data takes up less space, as a compression ratio can reach 50:1, but a ratio between 2:1 and 5:1 is common.
  • Encapsulate data.
  • Gzip file compatible with Multi-OS.

In our case

This example is written for an Arm Cortex-M0 processor of the Stm32 family with the FatFs file system (to simplify playing with files on SDcard or eMMC, for more information , you can see STM32-FatFs-FreeRtos ).

We compressed the data from 159 bytes to 84 bytes, and by adding additional information to build the structure of a GZIP file, we got 102 bytes.

Reference

https://github.com/pfalcon/uzlib

https://www.rfc-editor.org/rfc/rfc1952

https://docs.fileformat.com/compression/gz

https://www.gnu.org/software/gzip

License

Creative Commons Zero v1.0 Universal

About

This project offers a simplified compressor that produces Gzip-compatible output with small resources for microcontrollers and edge computers. He uses the very basic LZ77 compression algorithm and static Deflate Huffman tree encoding to compress / decompress data into Gzip files.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy