# Changes & Download

## 1.0.8 - 2021-09-09 (MWSDK2021\_09)

> <https://github.com/monowireless/mwm5/releases/tag/1.0.8>

### ライブラリ

汎用ライブラリとしての変更点を記載します。TWELITE\_Stageについては[TWELITE STAGEアプリ](https://stage.twelite.info/)を参照してください。

#### \[1.0.8]

* ボーレート設定のためのインタフェースを追加 (`set_baud_app()`)
* `sdl_main.c` でメインループの終了時に１秒後にスレッドから`_exit()`を強制するようにした
* 環境変数の内部設定を強化 (ビルド実行のためのMWSDKのディレクトリなど)
* `TWELITE_Stage` 関連の機能修正

#### \[1.0.6]

* RaspberryPi 用のビルド整備を行った

#### \[1.0.5]

* シリアルポートについて raspberry pi では /dev/serial0 を利用できるようにした
* シリアルポートのボーレートを 115200bps から変更できるようにした
* シリアルポートについて専用設定していないFTDIデバイス(FT232,FT230)を開けるようにした
* シリアルポートについて Windows の COM ポートを調べる手続き(`_query_extra_device_info()`を追加した

## 1.0.3 - 2020-12-03 (MWSDK2020\_12)

> <https://github.com/monowireless/mwm5/releases/tag/1.0.3>

### TWELITE STAGE アプリの変更点

> <https://stage.twelite.info/v/1.0/changes>

### ライブラリ

汎用ライブラリとしての変更点を記載します。TWELITE\_Stageについては[TWELITE STAGEアプリ](https://stage.twelite.info/)を参照してください。

#### \[1.0.3]

* Apple Silicon 対応
  * `osx/sersrv_ftdi`を作成、シリアルポートの入出力を標準入出力経由で行う。FTDI D2XX arm64用ライブラリが現時点で存在しないため、このコマンドを`x86_64`としてビルドし`TWELITE_Stage`アプリケーションから開くようにした
  * `TweCmdPipeInOut`(twe\_file.cpp, hpp)クラスの追加。コマンドの標準入出力を処理する
* Windows, macOS の SDL2 ライブラリをビルド。バージョン2.0.12、スタティックライブラリのみ

#### \[1.0.2]

* シリアルポートの再オープン処理をファームウェア書き換え前などに挿入しするため `Serial2.reopen()` を追加
* ファームウェア書き換え時のベリファイに対応(`twe_firmprog.cpp, hpp`)

#### \[1.0.0]

* TWELITE CUE 対応
* Windows はスタティックリンクに対応
* Raspberry Pi3B の暫定対応
* シリアルポート関連のソースの整理 (`src/gen/serial_???`)
* パーサーのコード整理を実施 (`src/twe_fmt???`)
* `ITerm::move_cursor`の戻り値を`ITerm&`とした。
* `ITerm& ITerm::operator() (int x, int y)`の追加。カーソル移動を容易に。

#### \[0.9.10]

* `make_full_path()` のパラメータに `const_char*` を許容するようにした
* `TweCwd`でサンプル等のワークスペース(Act\_samples, Wkt\_TweAppsなど)のサーチパスを 1. 起動時のCWD
  1. 実行形式格納場所 3. MWSDK/.. 4. MWSDK とした。

## 0.9.8 - 2020-10-08

> <https://github.com/monowireless/mwm5/releases/tag/0.9.8>

### TWELITE STAGE アプリ (example/TWELITE\_Stage)

* ビューア一覧表示に\[ｳｪﾌﾞ]ボタンを追加し、関連サイトを開く機能を追加
* ビューア＞コマンダーの追加&#x20;
  * 標準アプリ 0x80 コマンド
  * NOTICE PALのLED制御 (App\_Wingsにコマンドを送付)
* ビューア＞PALビューアのNOTICE PAL対応。
* Actエクストラのメニューを追加
  * Act\_samplesより高度なもの
  * 外部のオープンソースライブラリ（センサー手続きなど）を利用したもの
* マウスによる操作を拡大 (リスト、ボタン、タブ)
  * マウス移動でフォーカス、左クリックで確定、右クリックは\[ESC]キー入力
* 画面表示負荷の低減
  * アプリケーションがバックグラウンドの時はスクリーンセーバーを無効にした
  * アプリケーションがバックグラウンドの時は、描画回数を減らして CPU 負荷を減らした
* ビルドプロジェクト(Act, TWE\_Apps, Actエクストラ)の一覧の機能強化
  * 項目選択時に下部に概要を表示 (000desc.txtを読み込む。TWE\_Descクラスにより処理)
  * プロジェクトフォルダを開く（またはVSCodeで開く)機能
  * 関連ウェブサイトを開く機能
  * ALt+Shift+m mwxライブラリ、Alt+Shift+t twesettingsライブラリを開く機能
  * ビルドメニュー中で選択中のフォルダやビルドエラーファイルを開けるようにした。
* ログ（シリアルポート入出力）機能の追加
  * (Alt/Cmd+L)でログの開始・終了
  * ログファイルを {TWELITE\_Stage 実行形式のあるディレクトリ}/log に格納
  * ファイル名は twestage\_{日付-時刻}.log
  * Shift+Alt/Cmd+L でログファイルディレクトリを開く
* その他、変更・修正など
  * シリアル(FTDI)デバイス名、IDの表示方法を変更
  * App\_UARTでインタラクティブモードに遷移しなかった問題を修正
  * ディレクトリドロップ時の挙動を変更した (これまではバイナリ書き込みになる場合があったが、メニュー遷移とした)
  * ターミナル長押し時\[C]でリセットに加え、画面クリアするようにした。

### ライブラリ

* NOTICE PALへの対応 (パーサー)
* パーサーを標準入出力で動作できるようにビルド定義やソースを調整 (`examples_con`/`glancer`)
* `ITerm`の機能追加、不具合修正
  * すでに文字列が表示されている部分にダブルバイト文字を上書きしたとき、上書きした以降の表示が左右にズレていたが、完全ではないながらズレを抑制するコードを追加
  * `ITerm::clear_line()` を追加。行表示を抹消と、空白で埋める（表示は変わらないが

    空白データが行末まで追加される）
  * `ITerm::move_cursor()`を追加。エスケースシーケンスの記述が煩雑であったため。
* GUI関連クラスの追加
  * `TWE_Widget` : ウィジェットの基底クラス
  * `TWE_WidSet_Buttons` : 複数ボタンの一括管理
  * `TWE_WidSet_Tabs` : タブ選択
  * `TWE_Buttons` : ボタンクラス
  * `TWE_ListView` : リスト、機能拡張
    * ステータスラインを設定できるように（最終行をページ番号とページ移動用のボタンとした）
    * `listView`でエントリ数がページ行数の整数倍の時の振る舞いの不具合対応
* その他変更、修正など
  * `the_app.set_nextapp()` を廃止し `the_app.exit()` に統合
  * `the_keyboard.peek_a_byte()` を追加
  * アプリハンドラーのデータコンテキストを `APP_HNDLR_DC`, `APP_HNDLR::use()` を追加
    * アプリハンドラーを用いる場合、サブアプリのデストラクタで `APP_HNDLR::on_close()` を呼ぶように変更。
  * `SimpleBuffer<uint8_t>::c_str()` を `uint8_t*` ではなく `const char*` 型を戻すメンバ関数として再定義
  * `SimpleBuffer<wchar_t>(const wchar_t (&)[N])` のコンストラクタに不具合があった
  * 文字列比較 `beginsWith()`, `beginsWith_NoCase()`を追加

## 0.8.9 - 2020-05-29

> <https://github.com/monowireless/mwm5/releases/tag/0.8.9>

* ウインドウアイコンの追加
* BINファイル一覧画面での最大リスト数の制約を緩和 (win/linux/mac)
* Glancerビューアの追加
* 解説文面等の調整
* コンソール画面の描画の調整
* ファーム書き込み後の移動先画面(インタラクティブモードかターミナルか）の設定が動作していなかった
* Alt(or Cmd)+W の割り当てを変更
* その他不具合の修正

## 0.8.6 - 2020-04-27

> <https://github.com/monowireless/mwm5/releases/tag/0.8.6>

* TWELITE STAGE (MWSDK) 2020-04 linux版に収録

## 0.8.5 - 2020-04-24

> <https://github.com/monowireless/mwm5/releases/tag/0.8.5>

* TWELITE STAGE (MWSDK) 2020-04 に収録
* TWELITE STAGE アプリを追加
* Windows10, macOS, Linux 用のビルド対応&#x20;
* 設定ライブラリ twesettings を追加

## 0.4.2 - 2020-02-17

> <https://github.com/monowireless/mwm5/releases/tag/0.4.2>

初期バージョン
