改版履歴
TWELITE STAGE SDK の改版履歴
軽微な修正にあたるものは、本改版履歴には記載を行わずGitHub上の改版のみとなります。必要に応じて修正を引用ください。
更新方法
TWELITE STAGE の配布パッケージリリース後の修正・追加分などはGitHubレポジトリに格納しております。必要に応じて配布パッケージの位置を差し替えて利用いただくようお願いいたします。 MWSDKの他の更新が必要になる場合があります。更新時のリリース記述を参照してください。MWSDKの更新についてはこちらを参照ください。
MWXライブラリコードの更新方法
ライブラリのソースコードは GitHubリポジトリにて公開しています。ライブラリのソースコードの差し替えは、以下の手順で行ってください。
各リリースのリンクよりGitのクローンを行うか zip 形式でソースコードをダウンロードします。
以下のフォルダの内容を差し替えます。
.../MWSTAGE/ --- TWELITE STAGE 配布フォルダ
.../MWSDK --- MWSDKフォルダ
.../TWENET/current/src/mwx <-- このフォルダを差し替える
リリース前の更新
リリース前の更新については下記に掲載する場合があります。
https://github.com/monowireless/mwx/wiki
履歴
0.2.0 - 2022-03-01
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.2.0 |
twesettings | 0.2.6 |
TWENET C | 1.3.5 |
主な改定内容
- ヒープ領域へのメモリ確保を行う 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
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.9 |
twesettings | 0.2.6 |
TWENET C | 1.3.5 |
主な改定内容
- TWELITE ARIA向けのボードサポート
BRD_ARIA
とセンサー定義SHT4x
を追加 - インタラクティブモード中で
Serial
クラスオブジェクトを用いた出力を可能とする内部手続きを追加 (Serial._force_Serial_out_during_intaractive_mode()
)
0.1.8 - 2021-09-09
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.8 |
twesettings | 0.2.6 |
TWENET C | 1.3.5 |
主な改定内容
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
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.7 |
twesettings | 0.2.6 |
TWENET C | 1.3.4 |
主な改定内容
- 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の整備。- EEPROMクラスオブジェクトを追加 (https://mwx.twelite.info/v/v0.1.7/api-reference/predefined_objs/eeprom)
- サンプル (https://github.com/monowireless/Act_samples/tree/master/Unit_EEPROM)
smplbuf::get_stream_helper()
の不具合修正pktparser
クラスを追加しました (https://mwx.twelite.info/v/v0.1.7/api-reference/classes/pktparser)- サンプル (https://github.com/monowireless/Act_samples/tree/master/Unit_PktParser)
serparser/pktparser
を他のプラットフォームでビルドできるようサンプルを用意しました (https://github.com/monowireless/mwx/tree/master/stdio)
0.1.6 - 2020-10-09
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.6 |
twesettings | 0.2.5 |
TWENET C | 1.3.4 |
主な改定内容
- 商・余を計算する
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
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.5 |
twesettings | 0.2.5 |
TWENET C | 1.3.4 |
主な改定内容
- 設定ビヘイビア(インタラクティブモード機能)を追加
- チャネルマネージャ
chmgr
の実装
0.1.4 - 2020-07-29
ライブラリ名 | 依存バージョン |
---|---|
mwx | 0.1.4 |
twesettings | 0.2.4 |
TWENET C | 1.3.3 |
一括ダウンロード
MWSDK2020_07_UNOFFICIAL (ReadMe)
主な改定内容
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月号収録)