変更履歴、ダウンロード
汎用ライブラリとしての変更点を記載します。TWELITE_StageについてはTWELITE STAGEアプリを参照してください。
ボーレート設定のためのインタフェースを追加 (set_baud_app()
)
sdl_main.c
でメインループの終了時に1秒後にスレッドから_exit()
を強制するようにした
環境変数の内部設定を強化 (ビルド実行のためのMWSDKのディレクトリなど)
TWELITE_Stage
関連の機能修正
RaspberryPi 用のビルド整備を行った
シリアルポートについて raspberry pi では /dev/serial0 を利用できるようにした
シリアルポートのボーレートを 115200bps から変更できるようにした
シリアルポートについて専用設定していないFTDIデバイス(FT232,FT230)を開けるようにした
シリアルポートについて Windows の COM ポートを調べる手続き(_query_extra_device_info()
を追加した
汎用ライブラリとしての変更点を記載します。TWELITE_StageについてはTWELITE STAGEアプリを参照してください。
Apple Silicon 対応
osx/sersrv_ftdi
を作成、シリアルポートの入出力を標準入出力経由で行う。FTDI D2XX arm64用ライブラリが現時点で存在しないため、このコマンドをx86_64
としてビルドしTWELITE_Stage
アプリケーションから開くようにした
TweCmdPipeInOut
(twe_file.cpp, hpp)クラスの追加。コマンドの標準入出力を処理する
Windows, macOS の SDL2 ライブラリをビルド。バージョン2.0.12、スタティックライブラリのみ
シリアルポートの再オープン処理をファームウェア書き換え前などに挿入しするため Serial2.reopen()
を追加
ファームウェア書き換え時のベリファイに対応(twe_firmprog.cpp, hpp
)
TWELITE CUE 対応
Windows はスタティックリンクに対応
Raspberry Pi3B の暫定対応
シリアルポート関連のソースの整理 (src/gen/serial_???
)
パーサーのコード整理を実施 (src/twe_fmt???
)
ITerm::move_cursor
の戻り値をITerm&
とした。
ITerm& ITerm::operator() (int x, int y)
の追加。カーソル移動を容易に。
make_full_path()
のパラメータに const_char*
を許容するようにした
TweCwd
でサンプル等のワークスペース(Act_samples, Wkt_TweAppsなど)のサーチパスを 1. 起動時のCWD
実行形式格納場所 3. MWSDK/.. 4. MWSDK とした。
ビューア一覧表示に[ウェブ]ボタンを追加し、関連サイトを開く機能を追加
ビューア>コマンダーの追加
標準アプリ 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()
を追加
ウインドウアイコンの追加
BINファイル一覧画面での最大リスト数の制約を緩和 (win/linux/mac)
Glancerビューアの追加
解説文面等の調整
コンソール画面の描画の調整
ファーム書き込み後の移動先画面(インタラクティブモードかターミナルか)の設定が動作していなかった
Alt(or Cmd)+W の割り当てを変更
その他不具合の修正
TWELITE STAGE (MWSDK) 2020-04 linux版に収録
TWELITE STAGE (MWSDK) 2020-04 に収録
TWELITE STAGE アプリを追加
Windows10, macOS, Linux 用のビルド対応
設定ライブラリ twesettings を追加
初期バージョン