MachiKania

MachiKania type P/PU ver 1.6.1を公開

2025年12月27日

MachiKania type P/PU ver 1.6.1 を公開しました。

https://github.com/machikania/phyllosoma/releases/tag/Ver1.6.1

今回の更新の目玉は、以下の通りです。

・ Waveshare RP2350-LCD-1.47に対応
・ エディター使用時に、ステートメントもしくは関数のヘルプを表示できるように
・ RND#()関数を追加
・ ネット接続におけるTLSハンドシェイクを改善
・ クラスライブラリーのWGETを更新。301 Movedなどに対応
・ PWM4~PWM9の使用をサポート

20251225-RP2350LCD.png

GitHub リリースページはこちら
Type P 公式ホームページはこちら
Type PU 公式ホームページはこちら

Waveshare RP2350-LCD-1.47に対応

Waveshare 社の RP2350-LCD-1.47 に対応しました。RP2350-LCD-1.47 は小型の液晶ディスプレイ(36 mm x 20 mm)に RP2350 マイクロコントローラーと micro SD ソケットが付属しており、GPIO ピンも15本出ているので、小型で液晶ディスプレイ付きの組み込みデバイスの作成にもってこいです。加えて、USB ポートにキーボードを接続することができ、半田付けしなくても MachiKania が使えるボードの一つになりました。USB キーボードの接続には、電源入力付きの USB Type C OTG ケーブルを用いてください。

この液晶ディスプレイは、この小ささの割にドット数が 320 x 172 ピクセルもあるので、PRINT ステートメントで表示した内容は非常に読みづらいです。クラスライブラリーの GEN3O クラスを用いれば大きなサイズのフォント(29, 44, 58, 88, 118 ピクセル)での表示が可能になるので、利用してください。

このデバイスには、上下左右ボタン・FIRE/START ボタンがありません。ボタン機能を用いる際は、キーボードを接続するか、ピンヘッダーを半田付けしてタクトスイッチなどを接続してください。接続するポート番号は、GitHub の記載を参考にしてください。

エディター使用時に、ステートメントもしくは関数のヘルプを表示できるように

エディターでBASICプログラムを編集中に、ステートメント・関数のヘルプを表示できるようにしました。表示できるのは英語もしくは半角カタカナです。この機能を有効にするには、配布アーカイブの「docs」ディレクトリーを、MMC/SDカードのルートにコピーしておいてください。また、MACHIKAP.INI を編集する事で、英語表示かカナ表示を選択することできます(デフォルトは、英語表示; HELPFILE=/docs/help-e.txt)(カナ表示にするには HELPFILE=/docs/help-k.txt)。ヘルプを表示させたい場合は、目的の命令もしくは関数にカーソルがある状態で、F3 キーもしくは Ctrl + H を押してください。下のような表示になります。

20251225-help.png

本当は日本語でのヘルプ表示ができるようになればよかったのですが、エディター使用中での漢字表示は、テキストディスプレイではなくグラフィックディスプレイを用いないといけない都合上、実装のハードルが高く、今回は見送りました。その代わり、半角カタカナ表示にも対応しましたので、非常に見づらくはありますが、ご活用ください。

RND#()関数を追加

久しぶりに KM-BASIC の仕様変更を行い、RND#() 関数を追加しました。これは、0以上1未満の乱数を浮動小数点型で返すものです。Ver 1.6.0 までは整数型の 0 以上 32768 未満の乱数しか対応しておらず、浮動小数点型で使用するときにはそれを変換する必要がありましたが、そういった煩雑さが無くなりました。

ネット接続におけるTLSハンドシェイクを改善

Raspberry Pi Pico W もしくは Pico 2 W を利用してインターネット接続する際の、TLSハンドシェイク(https 通信のためのプロトコル)を見直しました。Ver 1.6.0 までは、およそ 16 kb までの大きさのファイルしかダウンロードできませんでしたが、Ver 1.6.1 からは、それを超えるサイズでも問題なくダウンロードできるようになりました。従来通り、WGET クラスを用いて、必要ファイルをダウンロードしてください。

クラスライブラリーの WGET を更新

クラスライブラリーの WGET を更新し、301 Moved などのリダイレクトに対応できるようにしました。以前のバージョンまでだと、サーバーが 301 Moved を返した場合、BASIC プログラム側でリダイレクトアドレスを読み取って新たに接続する必要がありましたが、それが自動でなされるようにしました。従来通り、HTTP レスポンスステータスが"30x"の際にリダイレクトをせずにレスポンスヘッダーだけを取得したい場合は、「WGET::IGNOREREDIRECT( 1 )」を実行してください。

PWM4~PWM9の使用をサポート

Ver 1.6.0 までは、PWM1 から PWM3 までの3つのPWMしか使えませんでしたが、PWM4 から PWM9 までも使えるようにしました。また、これらの PWM は、MACHIKAP.INI でポート番号を指定して用いることができるので、従来より、使い勝手が増しました。

下は、RP2350-LCD-1.47 での MACHIKAP.INI の設定例です。GP21を、PWM に割り当てています。この設定を行うと、PWM4 を用いることで、画面のバックライト強度を調整することができるようになります。

PWM4=21

その他

その他の変更点は、次の通りです。ST7789 液晶への対応・バグ修正・FFTLIB クラスの追加などを行っています。

・ ST7789搭載液晶に対応(バイナリ提供なし)
・ PicoCalc、ResTouch、type PU miniで、OUT8L/IN8L、OUT8H/IN8H、OUT16/IN16ステートメントの挙動を修正
・ クラスファイル中で別のクラスを使っている際、特定の環境でコンパイルできなくなる不具合を修正
・ クラスライブラリーに高速フーリエ変換および逆変換を行うためのクラス、FFTLIBを追加
・ class.txtを修正
・ help-k.txtを追加

コメント

コメントはありません

コメント送信