Skip to content

LunaticGhoulPiano/CC4EmbeddedSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A modern, cross-platform tool to minify front-end web files (HTML/CSS/JS) and compile them into a single C array file (fsdata.c).

It is designed specifically to optimize web servers running on resource-constrained embedded systems (like STM32) using the lwIP TCP/IP stack. By heavily compressing assets before flashing them into the MCU, it saves precious ROM/RAM space while keeping your web development workflow smooth.


🌟 The Evolution (V1 to V3)

This project has continuously evolved to drop heavy dependencies and embrace modern tech stacks:

  • V3 (Current & Recommended): A pure TypeScript / Node.js implementation. It features a beautiful web-based GUI, utilizes the state-of-the-art html-minifier-next, and completely replaces the old makefsdata.exe with a safe, cross-platform TypeScript logic. (Zero C/Java/DLL dependencies!)
  • V2 (Legacy): A Python + CustomTkinter desktop application. It wraps the legacy Java compressors and C executables into a standalone Windows GUI.
  • V1 (Legacy): The original Bare-metal PowerShell script workflow.

📦 Requirements

For V3 (Recommended, Cross-platform)

  • Node.js (v18 or newer recommended)
  • That's it! Works on Windows, macOS, and Linux.

For V1 & V2 (Legacy Windows Environments)

If you must maintain the old workflows, you will need the following legacy assets:


🚀 How to use

Depending on which version you want to use, please navigate to the respective directory and read its dedicated documentation:


📂 Project Structure

CC4EmbeddedSystem
├── V1
│   ├── README.md
│   └── CC4EmbeddedSystem.ps1
├── V2
│   ├── README.md
│   ├── src
│   │   ├── main.py
│   │   ├── utils.py
│   │   └── CC_Errs.py
│   ├── Screenshot
│   │   ├── v2.0.1.png
│   │   └── v2.1.0.png
│   ├── .python-version
│   ├── pyproject.toml
│   └── uv.lock
├── V3
│   ├── README.md
│   ├── src
│   │   ├── gui.ts
│   │   ├── utils.ts
│   │   └── makefsdata.ts
│   ├── public
│   │   └── index.html
│   ├── Screenshot
│   │   └── v3.1.6.png
│   ├── package.json
│   ├── package-lock.json
│   └── tsconfig.json
├── .gitignore
├── LICENSE
└── README.md

About

A tiny tool for Windows to compress front-end files and convert them into a single C file, in order to minimize memory usage while also being convenient for embedded system development.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors