> For the complete documentation index, see [llms.txt](https://twelite.gitbook.io/mw-pug-uart/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://twelite.gitbook.io/mw-pug-uart/mode_selection/mode_c.md).

# チャットモード(C)

![](/files/-Mk6dOc_kZYG1ik9pGV3)

チャットモードでは、プロンプトの表示とエコーバック（自身が入力した文字が端末にも表示される）が行われます。全ての無線端末は子機の設定とします。電波到達範囲の全ての端末にメッセージが伝達され複数の端末でチャットできます。

親子関係は無く複数の端末間で通信できますが、宛先の指定はできずデータはブロードキャストで全ての端末に伝達されます。アスキーデータのみでバイナリデータは送れません。（0x00-0x1F, 0x7F は送信不可）

中継は最大３段（３ホップ）まで対応しています。初期設定では中継はしません。中継機能を使用する場合はインタラクティブモードにて設定が必要です。

チャットモードはインタラクティブモードにてUARTモード（m）をCに設定します。（初期設定はチャットモード）

{% content-ref url="/pages/-MjYQp0NcsZ\_yhaXzHSB" %}
[インタラクティブモード](/mw-pug-uart/interactive-mode.md)
{% endcontent-ref %}

## 使用例

![](/files/-Mk6dlNz7UauBDNuhL1H)

MONOSTICK-モノスティックをパソコンやスマートフォン、タブレット端末のUSBポートに接続することで複数の端末同士でテキストチャットをすることができます。

{% content-ref url="/pages/-Mk6ev2Xv4rGUCZlkeYS" %}
[どこでもチャット](/mw-pug-uart/mode_selection/mode_c/chat-anywhere.md)
{% endcontent-ref %}

## 送信可能文字数

* 1パケットの最大データ数は80バイトです。
* 送信データサイズは本文のバイト数＋ハンドル名のバイト数です。
* 送信可能な最大送信バイト数は640バイトです。80バイト以上の場合は複数パケットに分割され送信されます。

## 書式

チャットモードの書式は単純です。入力はプロンプト先頭から始まり改行文字で終端となります。

* {本文(0x0-0x1F,0x7F以外)}\[CRまたはLF]

## 表示

### プロンプト

プロンプトはモジュール（またはハンドル）名と、発言の続き番号が表示されます。

* {モジュールのアドレス８桁}:{続き番号 0-255}>\
  例: 86300001:0>
* {ハンドル名}:{続き番号 0-255}>\
  例: モノワイヤレス:2>

入力中のエラーメッセージなど

* (err), (canceled) など () 書きのメッセージが出ます。

ハンドル名は[インタラクティブモード](https://mono-wireless.com/jp/products/TWE-APPS/App_Uart/interactive.html)で任意に設定できます。

### 出力メッセージ

出力メッセージはプロンプト同様、モジュールアドレス（またはハンドル名）と、発言番号の後、本文が出力されます。

* {モジュールのアドレス８桁}:{続き番号 0-255}>\
  例: \[86300038:5] Hello!
* {ハンドル名}:{続き番号 0-255}>\
  例: \[モノワイヤレス:2] こんにちわ

## プロンプト上での操作

プロンプト上ではいくつかの制御コマンドを使用できます。

* Ctrl+L ⇒ 画面のクリア（画面消去エスケープシーケンス対応のターミナル）
* Ctrl+C ⇒ 入力のキャンセル
* BS/DEL ⇒ 入力バッファを１バイト戻し、画面に Ctrl+H を出力します（対応ターミナルの場合、カーソルが１文字左に移動します）

## 中継機能の説明

通信距離が足りない場合や障害物があって通信できない場合に中継機を使用することで通信距離を延長したり通信範囲を拡張することが期待できます。

中継機能を持った端末は受信したパケットをそのまま送信します。

### 設定方法

M2ピンをGNDに接続すると1ホップの中継機能が設定されます。インタラクティブモードで１ホップ以上の中継機能の設定もできます。

中継機能を使用する場合はインタラクティブモードで”r”を入力し、set Roleの値を1～3に設定してください。初期値は0です。

```
r: set Role (0x0)
```

1～3は最大中継回数です。0を設定すると中継しません。中継機は受信したパケットをそのまま送信します。中継回数が指定数になるまで中継を繰り返します。

※ 設定は子機のみに有効です。\
※ 中継機の配置や数によっては多数の複製パケットが乱造され通信が不安定になる場合がありますのでご注意ください。

### 設定例

![](/files/-Mk6eGZrY1B31e7N6VcO)

図のようなネットワーク構成にする場合は赤色の端末のRoleを０に青色の端末のRoleを３に設定してください。

青色の端末は最大3ホップの中継機能を持ちます。よって、赤色の端末の間に最大３台の中継端末を入れることができます。

![](/files/-Mk6eJLGjoQnWjZxiFIw)

中継機能を持つ端末の通信範囲内に他の端末がある場合は同様に中継します。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://twelite.gitbook.io/mw-pug-uart/mode_selection/mode_c.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
