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