Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/jp-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ jobs:
-w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
-D LORA_FREQ=920.800
-D LORA_BW=125.0
-D LORA_SF=12
-D LORA_CR=8
-D LORA_SF=10
-D LORA_CR=6
-D ENABLE_ADVERT_ON_BOOT=1
-D ENABLE_PRIVATE_KEY_IMPORT=1
-D ENABLE_PRIVATE_KEY_EXPORT=1
Expand Down
42 changes: 5 additions & 37 deletions README_JP.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,30 +27,12 @@

---

### ⚠️ 送信できる文字数について
### ⚠️ 送信できる文字数について(jp-v1.8.0〜)

本ファームウェアはARIB STD-T108準拠のLBT実装により、**送信できるメッセージ長が本家より短くなります**。

チャットアプリ側は本家の上限(DM: 150バイト、グループチャット: 139バイト)を表示しますが、**実際に送信できる上限は設定(コーディングレート)によって異なります**。

| コーディングレート | DM上限 | グループチャット上限 | 日本語の目安(約3バイト/文字) |
|---|---|---|---|
| CR4/5 | 64バイト | 64バイト | 約21文字 |
| CR4/6 | 48バイト | 48バイト | 約16文字 |
| CR4/7 | 32バイト | 39バイト | 約10〜13文字 |
| CR4/8 | 24バイト | 29バイト | 約8〜9文字 |
jp-v1.8.0でSF10/CR4/6に移行し、JP専用の文字数切り詰めロジックを廃止しました。**送信できるバイト数は本家と同じ(DM150バイト/チャンネルメッセージ147-デバイスに付けた名前のバイト数)で、コーディングレートに依存しません。**

コーディングレートは**自分のデバイスだけで設定するもの**で、CRの情報はパケットのヘッダーに含まれるため、ネットワーク内の他のデバイスの設定を変える必要はありません。

電波ノイズが多い環境(秋葉原など都市部)では **CR4/8 を推奨**します。電波環境が良い場所では CR4/7、CR4/6 なども使えます。数字が小さいほど送れる文字数が増えます。

**DMとグループチャットで挙動が異なります:**

- **DM** — 上限を超えると**エラーになり送信されません**。アプリ側にエラーが表示されます。
- **グループチャット** — 上限を超えると**超えた部分がサイレントに切り落とされて送信されます**。送信者には通知されません。

**グループチャットの追加注意:** ペイロードにはデバイス名が `デバイス名: メッセージ` の形式で含まれます。**デバイス名が長いほど、本文として送れる文字数が少なくなります**。デバイス名は短めに設定することを推奨します。

---

## WisMesh Tag (RAKwireless+MOKOSMART / MCU: nRF52840 / Radio: SX1262) の書き込み手順
Expand Down Expand Up @@ -98,20 +80,11 @@ PCにUSBドライブとして表示されればOK(ドライブ名は環境に

---

## リピーター / ルームサーバーの初期設定

### CR4/8(デフォルト)でのリモート管理について

日本向け設定(SF12/BW125/CR4/8)では、コンパニオンアプリからLoRa無線経由でリピーターを設定・管理するのは、通信時間が長くなるため、かなり困難です。
**初期設定は USB 接続を推奨します。**
## リピーター / ルームサーバーの設定

以下のウェブ設定ツールにUSBで接続して設定してください:
👉 https://config.meshcore.io

### CRの設定について

クライアント・リピーター両方を **CR4/5** に設定することで、LoRa経由のリモート管理が実用的になります。CR4/8のままでは応答が遅くタイムアウトしやすいです。

### 初期パスワード

リピーター・ルームサーバーの管理者パスワードのデフォルトは `password` です。必ず変更してください。
Expand Down Expand Up @@ -217,11 +190,10 @@ WisMesh Tagの日本向け技適取得状況は現時点で確認できていま
|---|---|---|
| 周波数 | 920.8 MHz | ARIB STD-T108 CH25 |
| 帯域幅(BW) | 125 kHz | |
| スプレッディングファクター(SF) | 12 | |
| コーディングレート(CR) | 4/8 | 都市部・ノイズ環境向け推奨 |
| スプレッディングファクター(SF) | 10 | jp-v1.8.0〜 |
| コーディングレート(CR) | 4/6 | jp-v1.8.0〜 |
| 送信出力 | ≤ 13 dBm(Wio-SX1262搭載機は ≤ 10 dBm、T1000-Eは ≤ 12 dBm) | ARIB STD-T108 上限/各機種の証明出力に準拠 |

> 電波環境が良好な場所では CR4/7 や CR4/6 も使用できます(送れる文字数が増えます)。
> 周波数を 920.8 / 921.0 / 921.2 MHz のいずれかに設定すると、このファームウェアが自動的に日本モードになります。

---
Expand All @@ -236,10 +208,6 @@ TX出力などの設定値は、書き込み後に内部ファイルシステム
**技適・法令遵守に関わる設定(TX出力等)は、機種を問わず、ファームウェア更新の
度に手動で確認・更新してください。**

```
set txpower 10
```

スマホアプリの **Export Config / Import Config** 機能で秘密鍵・連絡先・
チャンネルをまとめてバックアップ・復元できます。**Import Configは古いTX出力設定も
そのまま復元してしまう**ため、Import Config後もTX出力の再確認・再設定が
Expand Down
18 changes: 0 additions & 18 deletions src/helpers/radiolib/RadioLibWrappers.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,24 +65,6 @@ class RadioLibWrapper : public mesh::Radio {
fabsf(freq - 921.200f) < 0.05f);
}

int getMaxTextLen() const override {
if (!isAS923_1_JP()) return 10 * 16; // default 160 bytes
uint8_t cr = getCodingRate();
if (cr <= 5) return 64; // 3874ms @ SF12/BW125/CR4-5
if (cr == 6) return 48; // 3874ms @ SF12/BW125/CR4-6
if (cr == 7) return 32; // 3678ms @ SF12/BW125/CR4-7
return 24; // 3547ms @ SF12/BW125/CR4-8
}

int getMaxGroupTextLen() const override {
if (!isAS923_1_JP()) return 10 * 16; // default 160 bytes
uint8_t cr = getCodingRate();
if (cr <= 5) return 64; // 3710ms @ SF12/BW125/CR4-5
if (cr == 6) return 48; // 3678ms @ SF12/BW125/CR4-6
if (cr == 7) return 39; // 3907ms @ SF12/BW125/CR4-7
return 29; // 3809ms @ SF12/BW125/CR4-8
}

PacketMillis calcMaxPacketMillis(uint8_t sf, float bw, uint8_t cr, uint8_t preambleSymbols);
virtual int16_t performChannelScan();

Expand Down
Loading