-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
66 changed files
with
4,184 additions
and
456 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,51 @@ | ||
name: clang-format Check | ||
on: [push, pull_request] | ||
|
||
env: | ||
INCLUDE_REGEX: ^.*\.((((c|C)(c|pp|xx|\+\+)?$)|((h|H)h?(pp|xx|\+\+)?$))|(inl|ino|pde|proto|cu))$ | ||
|
||
on: | ||
push: | ||
paths: | ||
- '**.ino' | ||
- '**.cpp' | ||
- '**.hpp' | ||
- '**.h' | ||
- '**.c' | ||
- '**.inl' | ||
- '**clang-format-check.yml' | ||
pull_request: | ||
- '**.ino' | ||
- '**.cpp' | ||
- '**.hpp' | ||
- '**.h' | ||
- '**.c' | ||
- '**.inl' | ||
- '**clang-format-check.yml' | ||
|
||
jobs: | ||
formatting-check: | ||
name: Formatting Check | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
path: | ||
#- check: './' # path to include | ||
# exclude: '' # path to exclude | ||
- check: 'src' | ||
exclude: '' | ||
- check: 'examples' | ||
exclude: '' | ||
- check: 'test' | ||
exclude: '' | ||
- check: 'examples' | ||
# exclude: '(Fonts)' # Exclude file paths containing "Fonts" | ||
|
||
steps: | ||
- uses: actions/[email protected] | ||
- name: Run clang-format style check for C/C++/Protobuf programs. | ||
uses: jidicula/[email protected] | ||
with: | ||
clang-format-version: '13' | ||
check-path: ${{ matrix.path['check'] }} | ||
exclude-regex: ${{ matrix.path['exclude'] }} | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
|
||
- name: Run clang-format style check for C/C++/Protobuf programs. | ||
uses: jidicula/[email protected] # Using include-regex 10.x or later | ||
with: | ||
clang-format-version: '13' | ||
check-path: ${{ matrix.path['check'] }} | ||
exclude-regex: ${{ matrix.path['exclude'] }} | ||
include-regex: ${{ env.INCLUDE_REGEX }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
|
||
# M5UnitUnified(α リリース) | ||
|
||
[English](README.md) | ||
|
||
**M5Stack に色々な M5 ユニットをつないで扱う為の新たなアプローチ** | ||
M5Stack シリーズ、 M5Unitシリーズの為のライブラリです。 | ||
|
||
**注意: 現在αバージョンです** | ||
ご意見ご要望などは Issue または PR にてお願いします。 | ||
|
||
## 概要 | ||
M5UnitUnified は、様々な M5 ユニット製品を統一的に扱うためのライブラリです。 | ||
|
||
### APIの統一化 | ||
各ユニットの外部ライブラリは、それぞれ独自の API デザインがされています。 | ||
基本的なAPIを統一し、すべてのユニットが同じように扱えるようにします。 | ||
|
||
### 接続と通信の統一化 | ||
各ユニットの外部ライブラリは独自の通信機能と前提条件が必要です。 | ||
前提条件や通信方法を統一化します。 | ||
将来的には[M5HAL(Hardware Abstraction Layer)](https://github.com/m5stack/M5HAL)と連携し、各ユニットとの通信を統一する予定です。 | ||
|
||
### ライセンスの統一化 | ||
各ユニットの外部ライブラリのライセンスは様々な物が混在しています。 | ||
すべてのM5UnitUnifiedおよび関連ライブラリは、[MITライセンス](LICENSE)下にあります。 | ||
|
||
|
||
## インストール方法 | ||
アルファ版ですが Arduino/PlatformIO のライブラリマネージャーに登録されています | ||
|
||
### ArduinoIDE | ||
1. ライブリマネージャから使用したいユニットのライブラリ (M5Unit-Foo) を選択してください | ||
|
||
依存する M5UnitUnfied 関連のライブラリは自動で DL されます | ||
|
||
### PlatformIO | ||
1. platformio.ini の lib\_deps に記述してください | ||
```ini | ||
lib_deps=m5stack/M5Unit-foo ;使用したいユニットのライブラリ | ||
``` | ||
|
||
依存する M5UnitUnfied 関連のライブラリは自動で DL されます | ||
|
||
## 使い方 | ||
|
||
各ユニットのレポジトリの例も参照のこと。 | ||
|
||
### Unit コンポーネントを UnitUnified とともに使用する (標準的な使用法) | ||
|
||
```cpp | ||
// 他のユニットを使用する場合、インクルードファイル (*1)、インスタンス (*2)、値の取得 (*3) を変更する | ||
#include <M5Unified.h> | ||
#include <M5UnitUnified.h> | ||
#include <M5UnitUnifiedENV.h> // *1 使用するユニットのヘッダ | ||
|
||
m5::unit::UnitUnified Units; | ||
m5::unit::UnitCO2 unit; // *2 使用するユニットのインスタンス | ||
|
||
void setup() { | ||
M5.begin(); | ||
|
||
auto pin_num_sda = M5.getPin(m5::pin_name_t::port_a_sda); | ||
auto pin_num_scl = M5.getPin(m5::pin_name_t::port_a_scl); | ||
M5_LOGI("getPin: SDA:%u SCL:%u", pin_num_sda, pin_num_scl); | ||
Wire.begin(pin_num_sda, pin_num_scl, 400 * 1000U); | ||
|
||
M5.Display.clear(TFT_DARKGREEN); | ||
if (!Units.add(unit, Wire) // unit を UnitUnified マネージャへ追加 | ||
|| !Units.begin()) { // ユニットの始動 | ||
M5_LOGE("Failed to add/begin"); | ||
M5.Display.clear(TFT_RED); | ||
} | ||
} | ||
|
||
void loop() { | ||
M5.begin(); | ||
Units.update(); | ||
if (unit.updated()) { | ||
// *3 ユニット固有の計測値の取得 | ||
M5_LOGI("CO2:%u Temp:%f Hum:%f", unit.co2(), unit.temperature(), unit.humidity()); | ||
} | ||
} | ||
``` | ||
|
||
- 標準外の使い方 | ||
- [自分でユニットの更新を行う例](examples/Basic/SelfUpdate) | ||
- [UnitUnified マネージャを使用せず、コンポーネントのみでの例](examples/Basic/ComponentOnly) | ||
|
||
|
||
## サポートされているもの | ||
### サポートされるフレームワーク | ||
- Arduino | ||
|
||
ESP-IDF は将来対応予定です。 | ||
|
||
### サポートされる通信 | ||
- TwoWire による I2C 通信 | ||
|
||
GPIO、UART は将来対応予定です。 | ||
|
||
|
||
### サポートされる Core デバイス (動作確認済) | ||
- M5Stack Core (BASIC / GRAY / FIRE) | ||
- M5Stack Core2 | ||
- M5Stick CPlus | ||
- M5Paper | ||
- M5Stack CoreS3 CoreS3SE | ||
- M5ATOMS3 | ||
- M5STAMPS3 | ||
- M5Dial | ||
- M5Capsule | ||
- M5NanoC6 | ||
|
||
他のデバイスは動作確認されたのち追加されます。 | ||
|
||
### サポートされるユニット | ||
|
||
#### 動作確認済 | ||
- [UnitCO2](https://github.com/m5stack/M5Unit-ENV) | ||
- [UnitENVIII](https://github.com/m5stack/M5Unit-ENV) | ||
- [UnitAmeter](https://github.com/m5stack/M5Unit-METER) | ||
- [UnitVmeter](https://github.com/m5stack/M5Unit-METER) | ||
- [UnitPaHub2](https://github.com/m5stack/M5Unit-HUB) | ||
- [UnitGESTURE](https://github.com/m5stack/M5Unit-GESTURE) | ||
- [UnitHEART](https://github.com/m5stack/M5Unit-HEART) | ||
- [UnitKmeterISO](https://github.com/m5stack/M5Unit-KMeterISO) | ||
- [UnitTVOC](https://github.com/m5stack/M5Unit-TVOC) | ||
|
||
#### 問題があり修正中 | ||
- [UnitENVPro]((https://github.com/m5stack/M5Unit-ENV)) | ||
|
||
他のユニットは開発、確認後追加されます。 | ||
|
||
|
||
## Examples | ||
各ユニットのサンプルについては、各ユニットのリポジトリを参照してください。 | ||
このリポジトリにあるサンプルはM5UnitUnified全般のものです。 | ||
|
||
|
||
## Doxygen ドキュメント | ||
あなたのローカルマシンでドキュメントを生成したい場合は、以下のコマンドを実行してください。 | ||
``` | ||
bash docs/doxy.sh | ||
``` | ||
docs/html の下に出力されます。 | ||
Git コミットのハッシュを html に出力したい場合は、 git クローンしたフォルダに対して実行してください。 | ||
|
||
### 必要な物 | ||
- [Doxyegn](https://www.doxygen.nl/) | ||
- [pcregrep](https://formulae.brew.sh/formula/pcre2) | ||
- [Git](https://git-scm.com/) | ||
|
Oops, something went wrong.