<STG_STD> は、最小限の設定項目を有した設定ビヘイビアです。
以下に設定画面例を提示します。
[CONFIG/MY_APP:0/SID=8102ECE3]
a: (0x1234ABCD) Application ID [HEX:32bit]
i: ( 1) Device ID [1-100,etc]
c: ( 13) Channel [11-26]
x: ( 0x03) RF Power/Retry [HEX:8bit]
o: (0x00000000) Option 1 [HEX:32bit]
p: (0x00000000) Option 2 [HEX:32bit]
1: (0x00000000) Option 3 [HEX:32bit]
r: (0x00000000) Option 4 [HEX:32bit]
[ESC]:Back [!]:Reset System [M]:Extr Menu
// use twelite mwx c++ template library
#include <TWELITE>
#include <NWK_SIMPLE>
#include <STG_STD> // interactive mode
上記のように #include <STG_STD> を追加します。
多くの場合、設定の読み出しはsetup() 中の早い段階で行います。
上記の例はでは、まずthe_twelite.settings.use<STG_STD>()により設定ビヘイビアを登録します。
つぎにset.reload()を呼び出し、実際にEEPROMからデータを読み出し、これを解釈します。自動で読み出さないことに注意してください。
set.u32appid(), set.u8ch(), set.u8devid()は各々アプリケーションIDの設定値、チャネルの設定値、論理デバイスIDの設定値を取得しています。ここでは変数に各設定値を格納しています。
あとは、設定値を利用してアプリケーションIDやチャネルなどの値を反映します。
E_TWESTG_DEFSETS_LOGICALID
E_TWESTG_DEFSETS_CHANNELS_3
E_TWESTG_DEFSETS_POWER_N_RETRY
E_TWESTG_DEFSETS_OPT_DWORD1
E_TWESTG_DEFSETS_OPT_DWORD2
E_TWESTG_DEFSETS_OPT_DWORD3
<STG_STD>では、代表的な設定と自由に使える32bit値を4つ定義されています。これらは、ユーザが自由に利用できます。
設定ビヘイビアのカスタマイズは.reload()を行う前に全項目を行っておきます。
アプリケーション名はインタラクティブモードの先頭行に表示されます。
文字列ポインタを指定してください。内部でコピーを作らないようにしているため、ローカル変数を指定できません。
アプリケーションIDのデフォルト値
アプリケーションIDについては、デフォルト値を変更できます。
SETTINGS::ch_multi() を指定すると、チャネル設定が複数指定になります。複数設定を行う場合、設定値の読み出しは.u32chmask()を用います。
アプリケーションIDについては、デフォルト値を変更できます。
項目名を別のモノに変更することが出来ます。上記の例ではUTF-8による日本語にしていますが、ターミナルの表示など条件がそろわないと適切には表示されません。
この配列は最後に { E_TWESTG_DEFSETS_VOID } で終端します。1番目のエントリは設定ID、2番目が項目名、3番目が設定入力時に表示される解説になります。\r\nにより改行できます。
以下が設定IDの一覧になります。
E_TWESTG_DEFSETS_LOGICALID
E_TWESTG_DEFSETS_CHANNELS_3
E_TWESTG_DEFSETS_POWER_N_RETRY
E_TWESTG_DEFSETS_OPT_DWORD1
E_TWESTG_DEFSETS_OPT_DWORD2
E_TWESTG_DEFSETS_OPT_DWORD3
不要な項目の削除を行います。
設定を読み込みます。すべてのカスタマイズが終わってから実行します。
データの読み出しは以下のメソッドを呼び出します。
読み出し前に必ず.reload()を呼び出してください。
チャネル設定マスク (ビットマスクで指定、13 なら 1UL << 13 にビットを設定する)