STG_STD
<STG_STD> は、最小限の設定項目を有した設定ビヘイビアです。
上記のように #include <STG_STD>
を追加します。
多くの場合、設定の読み出しはsetup()
中の早い段階で行います。
上記の例はでは、まずthe_twelite.settings.use<STG_STD>()
により設定ビヘイビアを登録します。
つぎにset.reload()
を呼び出し、実際にEEPROMからデータを読み出し、これを解釈します。自動で読み出さないことに注意してください。
set.u32appid()
, set.u8ch()
, set.u8devid()
は各々アプリケーションIDの設定値、チャネルの設定値、論理デバイスIDの設定値を取得しています。ここでは変数に各設定値を格納しています。
あとは、設定値を利用してアプリケーションIDやチャネルなどの値を反映します。
以下が設定IDの一覧(enum class E_STGSTD_SETID
)定義です。
<STG_STD>
では、代表的な設定と自由に使える32bit値を4つ定義されています。これらは、ユーザが自由に利用できます。
設定ビヘイビアのカスタマイズは.reload()
を行う前に全項目を行っておきます。
アプリケーション名はインタラクティブモードの先頭行に表示されます。
文字列ポインタを指定してください。内部でコピーを作らないようにしているため、ローカル変数を指定できません。
アプリケーションID、チャネル、論理ID(LID)については、デフォルト値を変更できます。
SETTINGS::ch_multi()
を指定すると、チャネル設定が複数指定になります。複数設定を行う場合、設定値の読み出しは.u32chmask()
を用います。
アプリケーションID、チャネル、論理IDについては、デフォルト値を変更できます。
項目名を別のモノに変更することが出来ます。上記の例ではUTF-8による日本語にしていますが、ターミナルの表示など条件がそろわないと適切には表示されません。
この配列は最後に { 0xFF }
で終端します。
1番目のエントリは設定ID、2番目が項目名、3番目が設定入力時に表示される解説になります。\r
により改行できます。
設定画面出力中にシリアルへの出力を行うと画面が崩れたりする原因になります。設定画面でないことを確認するには.is_screen_opened()
で確認します。
不要な項目の削除を行います。.hide_items
は項目IDをパラメータとして(可変引数で複数指定可能)不要な項目を非表示にします。非表示項目かどうかは.is_hidden()
により確認できます。
アプリケーションID,チャネル,論理ID(LID)の3種類は削除できません。
非表示設定は内部のワークメモリを使用します。最小限のメモリ容量(32バイト)としているため、非表示項目を多数設定する場合、メモリ不足で非表示にならない場合があります。ワークメモリの容量はコンパイル引数として-DSIZE_SETSTD_CUST_COMMON=48
のように指定できます。
設定を読み込みます。すべてのカスタマイズが終わってから実行します。
データの読み出しは以下のメソッドを呼び出します。
読み出し前に必ず.reload()
を呼び出してください。
the_twelite
や<NWK_SIMPLE>
オブジェクトに対して、本オブジェクトを用いて直接設定を反映できます。
反映される設定値は以下となります。.hide_items()
により非表示になっている項目は反映しません。
.hide_items()
などで項目IDを指定する場合があります。この項目IDはenum class E_STGSTD_SETID
で定義されてます。
Mキーを入力すると追加メニューにアクセスできます。
CONFIG : 設定画面に戻ります
EEPROM UTIL : EEPROMのメンテナンスを行うためのメニューです
H/W UTIL : ハードウェアの状態を調べるためのメニューです
セクターの読み出し、削除を行います。全読み出し、全消去を行うときは大文字で "YES" の3文字を入力します。
現バージョンでは機能は提供されません。