改版履歴
軽微な修正にあたるものは、本改版履歴には記載を行わずGitHub上の改版のみとなります。必要に応じて修正を引用ください。
更新方法
TWELITE STAGE の配布パッケージリリース後の修正・追加分などはGitHubレポジトリに格納しております。必要に応じて配布パッケージの位置を差し替えて利用いただくようお願いいたします。
MWSDKの他の更新が必要になる場合があります。更新時のリリース記述を参照してください。MWSDKの更新についてはこちらを参照ください。
MWXライブラリコードの更新方法
ライブラリのソースコードは GitHub (https://github.com/monowireless/mwx)にて公開しています。ライブラリのソースコードの差し替えは、以下の手順で行ってください。
各リリースのリンクよりGitのクローンを行うか zip 形式でソースコードをダウンロードします。
以下のディレクトリの内容を差し替えます。
リリース前の更新
リリース前の更新については上記に掲載する場合があります。
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)modified
twenet_instance_manager
to pass a parameter when constructing an object.added
EncodeVolt()
,DecodeVolt()
to compress 16bit voltage value into 8bit.modified
CRC_u8Calc()
or others to be passedconst uint8_t*
.modified
smplbuf
which copy constructor/assigin operator is supported withalloc_local()
allocator.added build support for serparser/pktparser to build at standard io based platform at `stdio' folder. (tested only on macOS)
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
にすると、平文のパケットも受信する。
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月号収録)
最終更新