改版履歴
改版履歴
更新方法
TWELITE STAGE の配布パッケージリリース後の修正・追加分などはGitHubレポジトリに格納しております。必要に応じて配布パッケージの位置を差し替えて利用いただくようお願いいたします。
MWSDKの他の更新が必要になる場合があります。更新時のリリース記述を参照してください。MWSDKの更新についてはこちらを参照ください。
MWXライブラリコードの更新方法
ライブラリのソースコードは GitHub (https://github.com/monowireless/mwx)にて公開しています。ライブラリのソースコードの差し替えは、以下の手順で行ってください。
- 各リリースのリンクよりGitのクローンを行うか zip 形式でソースコードをダウンロードします。 
- 以下のフォルダの内容を差し替えます。 
.../MWSTAGE/              --- TWELITE STAGE 配布フォルダ
        .../MWSDK         --- MWSDKフォルダ
              .../TWENET/current/src/mwx <-- このフォルダを差し替えるリリース前の更新
リリース前の更新については上記に掲載する場合があります。
0.2.0 - 2022-03-01
- ヒープ領域へのメモリ確保を行う Wire オブジェクトを変更した。 
- utils.hでの名前の衝突を避けるため、関数名を- G_OCTET()から- G_BYTE()に変更した。
- attachIntDio()において、- vAHI_DioInterruptEnable()の順番を変更した。
- ユニバーサルレシーバ (NWK_LAYERED, NWK_SIMPLE またはネットワークレスパケットを同一実行コードで受信する) をサポートするために - the_twelite.network2を追加した。
- NWK_LAYERED を追加 (現時点では親機受信のみ対応) 
- MWXの初期化時にアプリケーションのバージョンを設定する - MWX_Set_Usder_App_Ver()関数を導入した。
- mwx::pnew() を追加し配置newの記述を簡素化した。 
- EASTLのサポート追加 - EASTL用の - new[]演算子の追加
 
- MWXのソースコードのほとんどをプリコンパイルし、コンパイルの高速化を図った。 
- 修正されました。DIOイベントが無関係なポートに引き渡されていたのを修正。 
0.1.9 - 2021-12-15
主な改定内容
- インタラクティブモード中で Serialクラスオブジェクトを用いた出力を可能とする内部手続きを追加 ( - Serial._force_Serial_out_during_intaractive_mode())
0.1.8 - 2021-09-09
主な改定内容
- Serial1のポート、代替ポートの定義が適切でなかった
- Serial(UART0)のボーレートを変更できるようにした
- 受信パケット( - on_rx_packet())、送信完了(- on_tx_comp())を知らせるイベントコールバックを追加- コールバック関数の定義をしなければ従前の手続きも利用可能 
 
- <STG_STD>インタラクティブモード設定の定義ID間違いや一部デフォルト値の変更など
- <STG_STD>インタラクティブモード設定でAppIDに加えて、チャネルと論理デバイスIDのデフォルト値を変更できるようにした
- the_tweliteと- <NWK_SIMPLE>オブジェクトの設定を、一部の設定についてインタラクティブモード- <STG_STD>オブジェクトで行えるようにした
- <NWK_SIMPLE>で再送回数のデフォルト値を設定できるようにした
- <STG_STD>インタラクティブモードの画面が出ている間はアプリケーションからの- Serial(UART0)の入出力を行わないようにした
- CUE::PIN_SET,- PAL???"":PIN_SETを追加 (- PIN_BTNはボタンのないCUEで- PIN_BTNを用いるのは不自然であるため)
- random()の名前空間を- mwx::に移動 (グローバル名にエリアス)
- MONOSTICKのウォッチドッグ設定を32ms単位で行うようにした 
- BRD_TWELITEを用いスリープを行うと、復帰時にピンが正しく初期化されなかった
0.1.7 - 2020-12-03
主な改定内容
- TWELITE CUE のボードビヘイビア(https://mwx.twelite.info/v/v0.1.7/boards/cue)を追加。 
- NWK_SIMPLE 利用時に NWK_SIMPLE 形式でない他のパケット(ネットワーク利用無し)を受信する方法を追加。 - NWK_SIMPLE::receive_nwkless_pkt()を追加してNWK_SIMPLEを初期化する。 このパケット情報を用いる場合は- .get_psRxDataApp()による TWENET C ライブラリ層の構造体、および- .get_payload()により得られるデータ配列のみを利用してください。受信パケット(- auto&& rx = the_twelite.receiver.read())の他のメソッドから得られる情報は不定です。
- get_stream_helper()コードのリファインと読み書き位置のAPIの整備。
- smplbuf::get_stream_helper()の不具合修正
- serparser/pktparserを他のプラットフォームでビルドできるようサンプルを用意しました (https://github.com/monowireless/mwx/tree/master/stdio)
0.1.6 - 2020-10-09
主な改定内容
- 商・余を計算する - div100()をSerial等へ出力できるようにした
- smplbuf<>配列クラスの実装変更。消費メモリの削減などを目的として- mwx::streamの継承をやめ、別途継承クラスとヘルパークラス定義した
- mwx_printf()- mwx_snprintf()の関数を追加した
- the_twelite.stop_watchdog(),- the_twelite.restart_watchdog()を追加した
- mwx::streamのメンテナンス:- operator bool()の廃止。読み出しタイムアウトの設定で 0xff を指定した場合(- .set_timeout(0xff))タイムアウトを無効に。その他- <<演算子の定義を追加。
- NOTICE PAL / PCA9632 のサポートを追加 (解説 https://mwx.twelite.info/v/latest/boards/pal/pal_notice, サンプル https://github.com/monowireless/Act_samples/tree/master/Unit_using_PAL_NOTICE) 
- 除算を行わない 8bit と 0..1000 間のスケール関数を追加。 
- 10,100,1000による除算(商と余を同時に計算) - div10(),- div100(),- div1000()を追加。値域を制限し乗算とビットシフトを中心に構成。
- 暗号化パケットの対応メソッドを追加 - packet_rx::is_secure_pkt(): 受信パケットが暗号化されているかどうかの判定
- STG_STD::u8encmode(): インタラクティブモードでの暗号化設定を取得
- STG_STD::pu8enckeystr(): インタラクティブモードでの暗号化鍵バイト列の取得
 
- Serial1: デフォルトのポートは半導体の仕様では I2C と重複する DIO14,15 だが、通常 I2C に割り当てられるため DIO11(TxD), DIO9(RxD) とした。 
- Serial: ボーレートの指定で /100 が発生するが、主要なボーレートについてこの計算を省略するようにした。 
- Serial: available(),- read()を外部で実施するための代理関数の保持を- void*のみとし、仕様メモリを 8bytes 削減。
- typedef booleanの追加
- ネットワーク: 暗号化の対応を追加。 - 暗号化を有効にするには - NWK_SIMPLE::secure_pkt(const uint8_t*, bool = false)を設定追加する。1番目のパラメータは暗号キー、2番目を- trueにすると、平文のパケットも受信する。- auto&& nwk = the_twelite.network.use<NWK_SIMPLE>(); nwk << NWK_SIMPLE::logical_id(0xFE) // set Logical ID. (0xFE means a child device with no ID) << NWK_SIMPLE::secure_pkt((const uint8_t*)"0123456789ABCDEF"); ;
 
- SHT3xとBME280のセンサーサポート追加 
- センサー: レガシーコード(Cライブラリのラッパクラス)で、設定パラメータや状態をやり取りするための仕掛けを追加した。 
- センサー: SHT3x, BME280では I2C アドレスを指定可能とした。 
- 設定: - hide_items()を追加。不要な設定項目を削除可能。
- 設定: H/W UTIL メニューを追加。DIの状態表示、I2Cのプローブ、PAL EEPROM内容の表示。 
- 設定: 暗号化関連のメニューの追加 
- I2C関連の修正(TwoWireクラスを用いて実装されたコードとの親和性を向上するための修正) - requestFrom(false)の処理時に NO_STOP メッセージの送信コードが無かったため処理が正常に行われなかった。
- TwoWireのクラス名エリアスを追加した。
- begin()処理で、多重初期化しないようにした。
- setClock()メソッドを追加(ただしダミー関数で何もしない)
- WIRE_CONF::WIRE_???KHZを追加。バスクロックの主要な設定値を追加した。
 
0.1.5 - 2020-08-05
一括ダウンロード
主な改定内容
- チャネルマネージャ - chmgrの実装
0.1.4 - 2020-07-29 (MWSDK2020_07_UNOFFICIAL)
一括ダウンロード
主な改定内容
- delayMilliseconds()の追加
- digitalReadBitmap()の追加
- delay()の精度向上
- Serial1インスタンスが定義されていない問題を修正
- Analogueの割り込みハンドラが呼び出されない問題を修正
0.1.3 - 2020-05-29
MWSDK2020_05 に対応
- 重複チェッカ duplicate_checker の初期化等に不備があり期待通りの除去を行っていなかった 
- format() の実装を機種依存の少ないものとした。また、引数を最大8までとした。64bit引数が含まれる場合は引数の数は制限される。 
修正は MWSDK2020_05 を前提としています。
本修正については、更新を推奨します。
0.1.2 - 2020-04-24
MWSDK2020_04 に対応
- Timer0..4の初期化の問題を修正 
- mwx::format() の内部処理を変更 
- インタラクティブモード対応のための実験的なコードの追加 
本修正は MWSDK2020_04 を前提としています。
本修正については、更新を推奨します。
0.1.1 - 2020-02-28
パケット内の中継フラグの扱いについての問題を修正
本修正については、更新を推奨します。
0.1.0 - 2019-12-23
初版リリース (SDL 2019/12月号収録)
最終更新