Initial community-sdk structure
This commit is contained in:
commit
fd8b341335
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.idea
|
||||
.DS_Store
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal 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
84
README.md
Normal 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
0
libs/.keep
Normal file
0
tools/.keep
Normal file
0
tools/.keep
Normal file
Loading…
x
Reference in New Issue
Block a user