Initial community-sdk structure

This commit is contained in:
Dave Allie 2025-12-02 19:16:50 +11:00
commit fd8b341335
No known key found for this signature in database
GPG Key ID: F2FDDB3AD8D0276F
5 changed files with 107 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.idea
.DS_Store

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Open X4 E-Paper Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

84
README.md Normal file
View File

@ -0,0 +1,84 @@
# OpenX4 E-Paper Community SDK
A **community-maintained SDK** for building firmware and tools for the **Xteink X4** device.
This repository is designed to be included as a **Git submodule** inside PlatformIO projects, providing a shared set of
libraries, utilities, and development workflows that make working with the X4 simple and consistent.
## ✨ **What is this?**
The **OpenX4 E-Paper Community SDK** provides:
* **Common PlatformIO-friendly components** for the Xteink X4
* **Reusable libraries** for display control, graphics, hardware helpers, utilities, etc.
* **Tools** to support flashing, packaging, testing, and device workflows
* A central place for **community contributions**, improvements, and shared knowledge
The SDK is intentionally modular - bring it into your project and use only what you need.
## 📁 Repository Structure
```
community-sdk/
├── libs/ # Reusable components for X4 firmware
│ ├── display/ # E-paper helpers & drivers
│ ├── graphics/ # Drawing, fonts, UI utilities
│ ├── hardware/ # GPIO, power, sensors, timings, etc.
│ └── ... # Add new modules here!
└── tools/ # Dev tools for X4
├── flash/ # Flash helpers, scripts, workflows
├── assets/ # Conversion tools for images/fonts
└── ... # Community-contributed utilities
```
Each lib aims to be **self-contained**, **documented**, and **PlatformIO-friendly**.
Libs should be categorized under `libs/` based on functionality, and then contained within a directory under that root.
## 📦 Adding to Your PlatformIO Project
Add this repository as a submodule:
```bash
git submodule add https://github.com/open-x4-epaper/community-sdk.git lib/openx4
```
Then include any library you want in your code:
```cpp
#include <openx4/display/BufferedEinkDisplay/BufferedEinkDisplay.h>
#include <openx4/graphics/Canvas/Canvas.h>
```
Or load tools from the `tools/` directory as needed.
## 🤝 Contributing
This is a **community-driven project** - contributions are not only welcome but encouraged!
Ways you can help:
* Improve or extend existing libraries
* Add new modules to `libs/`
* Build utilities for the `tools/` directory
* Report issues, propose features, or help refine the API
* Improve documentation
### Contribution guidelines (short version)
1. Keep modules self-contained
2. Prefer zero-dependency solutions where practical
3. Document your additions
4. Use clear naming and consistent structure
5. Be friendly and constructive in PR conversations
A full contributing guide will be added as the project grows.
## 📝 License
This SDK is released under an open-source MIT license. To keep things simple, all contributions and code must also
fall under this license.
## 💬 Community
Feel free to open GitHub issues for support, improvements, or discussion around the Xteink X4 ecosystem.
Join the discord here: https://discord.gg/2cdKUbWRE8

0
libs/.keep Normal file
View File

0
tools/.keep Normal file
View File