> 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/other-features.md).

# その他の機能

## カスタムデフォルト

ファームウェアバイナリに設定情報を付記した設定済みファームウェアバイナリが利用できます。例えば、ボーレートを最初から設定したファームウェアを作成しておけば、毎回インタラクティブモードなどで設定する必要がなくなります。

{% content-ref url="/pages/-Mk6YEl7RQAIH3AVohjH" %}
[カスタムデフォルト](/mw-pug-uart/other-features/custom-defaults.md)
{% endcontent-ref %}

## UART バッファサイズ

UART の入力バッファは、入力側が 4KB、出力側が 4KB 確保しています。UARTを２系統出力させる場合は、各系統ごとに 入力 2KB、出力 2KB を利用します。

書式モードやチャットモードでは１系列単位で送信を行うためバッファのサイズを意識する場面は多くありませんが、透過モードなどで連続的に系列を投入する場合、書式モードであっても多数の系列を一度に投入する場合は、このバッファを上限として入力されます。出力についても、ボーレートが遅いにもかかわらずこれ以上の無線パケットが伝送されると、UART 出力が間に合わなくなります。

バッファの上限を超えた場合は、その境界でのデータは保護されません。データ抜けが発生します。特に入力側では後述のフロー制御ピンを参照することを検討してください。

## UART のフロー制御について

入力側のフロー制御について RTS ピン同様の振る舞いをするように実装しています。使用するピンは DIO5 で、監視対象は主UARTポート(UART0)です。入力受付不可時は Hi、入力可能時は Lo となります。出力側のフロー制御には対応しませんので、受信側では十分なボーレートと処理速度を準備してください。

* 電源投入、リセット直後は Hi で、UART が初期化されると Lo になります。
* UART の入力バッファが 7/8 を超えたときに Hi になり、下回ると Lo になります。
* 透過モード(D)では、パケット送信中は Hi になります。

## 通信エラー対策

データー抜けが発生する場合は再送回数を増やしてください。再送回数は[インタラクティブモード](/mw-pug-uart/interactive-mode.md)で設定できます。（x: set RF Conf）
