IC・トランジスタで出来たコンピューターを設計・製作するためのブログ
Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
MachiKania type P/PU ver 1.5.2を公開 [MachiKania]
2025年4月11日
MachiKania type P/PU ver 1.5.2 を公開しました。
https://github.com/machikania/phyllosoma/releases/tag/Ver1.5.2
今回のバージョンアップの目玉は、以下の通りです。
・Raspberry Pi Pico 2 W に対応した
・CPU のクロック速度を変更できるようにした
・Type PU で、横幅80文字モードで起動できるようにした
・Type PU で、描画用と表示用に、別々の RAM 領域を使えるようにした

・GitHub リリースページはこちら
・Type P 公式ホームページはこちら
・Type PU 公式ホームページはこちら
https://github.com/machikania/phyllosoma/releases/tag/Ver1.5.2
今回のバージョンアップの目玉は、以下の通りです。
・Raspberry Pi Pico 2 W に対応した
・CPU のクロック速度を変更できるようにした
・Type PU で、横幅80文字モードで起動できるようにした
・Type PU で、描画用と表示用に、別々の RAM 領域を使えるようにした

・GitHub リリースページはこちら
・Type P 公式ホームページはこちら
・Type PU 公式ホームページはこちら
Raspberry Pi Pico用のC/C++ビルド環境を構築する [Raspberry Pi Pico]
2025年3月15日
この記事(というか、自分用のメモ)では、Windows PC に、Raspberry Pi Pico 用の C/C++ で書かれたプログラムをビルドする環境を方法について述べる。例として、MachiKania のソースコードからビルドする方法について述べるが、他の Raspberry Pi Pico 用のプログラムでも同じであり、また、Pico 2, Pico W, Pico 2 W にも対応できる。
Raspberry Pi Pico 用のソースコードからビルドするには、VS code の extension を用いる方法があるが、私自身がその extension の中身をよく理解しておらず、どういう操作を行っているか分からないので、使っていない。この記事でも、VS code は使わず、必要なソフトウェアーを個々に揃えて利用する方法をとる。

Raspberry Pi Pico 用のソースコードからビルドするには、VS code の extension を用いる方法があるが、私自身がその extension の中身をよく理解しておらず、どういう操作を行っているか分からないので、使っていない。この記事でも、VS code は使わず、必要なソフトウェアーを個々に揃えて利用する方法をとる。

(画像は、ビルドに成功した時のスクリーンショット)
MachiKaniaの「auxcode」機能について [MachiKania]
2025年3月2日
MachiKania の ver 1.4 からは、「auxcode 機能」が使える。これは、C で書かれたコードを、MachiKania 本体に追加で取り込んで使うための機能である。
MachiKania では、BASIC で様々なことを行う機能を提供してきた:
1.液晶ディスプレイや NTSC ビデオに、(日本語を含む)文字やグラフィックスを容易に表示
2.キーボードを接続して、BASIC コードを編集しながら実行する、スタンドアローンPCとしての機能
3.SPI・I2C・UART などの I/O 機能を、BASIC コードから容易に使用する方法を提供
4.複雑な動作を行うコードを、容易に利用するためのクラスライブラリーを提供
ここで書いた3の部分は、MachiKania 本体で提供、4の部分はクラスで提供している。ほとんどのクラスが BASIC で書かれているが、いくつかは C で書かれたコードを BASIC から呼び出す形をとっている(方法1・方法2)。
C で書かれたコードの中には、容易に MachiKania から呼び出すように修正できるものもあれば、そういったことが非常に難しいものがある。例えば、RP2040 の PIO 機能を使ったものは、BASIC で利用できるように実装するのは非常に難しい。
「auxcode 機能」は、そういった C のコードを MachiKania で実行できるようにするものだ。「auxcode 機能」を使うには MachiKania 本体のビルドが必要になるが、どうしても必要な機能を MachiKania に取り込むのには汎用性が高いと言える。
MachiKania では、BASIC で様々なことを行う機能を提供してきた:
1.液晶ディスプレイや NTSC ビデオに、(日本語を含む)文字やグラフィックスを容易に表示
2.キーボードを接続して、BASIC コードを編集しながら実行する、スタンドアローンPCとしての機能
3.SPI・I2C・UART などの I/O 機能を、BASIC コードから容易に使用する方法を提供
4.複雑な動作を行うコードを、容易に利用するためのクラスライブラリーを提供
ここで書いた3の部分は、MachiKania 本体で提供、4の部分はクラスで提供している。ほとんどのクラスが BASIC で書かれているが、いくつかは C で書かれたコードを BASIC から呼び出す形をとっている(方法1・方法2)。
C で書かれたコードの中には、容易に MachiKania から呼び出すように修正できるものもあれば、そういったことが非常に難しいものがある。例えば、RP2040 の PIO 機能を使ったものは、BASIC で利用できるように実装するのは非常に難しい。
「auxcode 機能」は、そういった C のコードを MachiKania で実行できるようにするものだ。「auxcode 機能」を使うには MachiKania 本体のビルドが必要になるが、どうしても必要な機能を MachiKania に取り込むのには汎用性が高いと言える。
MachiKania type PU を公開 [MachiKania]
2024年12月28日
Raspberry Pi Picoを使った赤外線リモコンと受信機 [Raspberry Pi Pico]
2024年5月25日
MachiKania type P ver 1.4 を公開 [MachiKania]
2024年2月16日
MachiKania type P の ver 1.4 を公開しました。
公式ページはこちら。
GitHub リリースページはこちら。
ReadMeに記載した更新履歴は、次の通りです。
公式ページはこちら。
GitHub リリースページはこちら。
ReadMeに記載した更新履歴は、次の通りです。
Phyllosoma 1.40/KM-1505 (2024.2.17) ・サンプルプログラムに、FILEMAN.BAS(ファイルマネージャー)を追加。 ・クラスライブラリーに、BUTTON(ボタン操作), GEN3O(源ノ角ゴシック表示), QRCODE(QRCODE表示), TSC2046(タッチパネル操作)を追加。 ・液晶を使わない場合に、SPI命令でspi1を使う事を可能にした。 ・PUTBMP命令で、横幅が長い画像を表示する際の不具合を修正。 ・ファイル一覧表示の際、ファイル更新日時の表示を可能にした。 ・ファイル一覧表示の際の、ファイル名・ファイル更新日時による表示順に対応。 ・ILI9488液晶で縦置の際の表示不具合を修正。 ・FRENAME, MKDIR命令及びFRENAME(), MKDIR()関数の追加。 ・補助コード(auxcode)を追加できる機能を実装
MachiKania type P ver 1.3 に、天気予報を喋らせる [MachiKania]
2023年10月1日
MachiKania type P の ver 1.3 では、Raspberry Pi Pico W を使って、インターネットから情報を取ってくることが可能です。
作例として、天気予報の情報サイトからデーターを取ってきて、今日と明日の天気予報を得るような物を作ってみました。NTPから今日の日付も取ってこられるので、その情報も使います。今日の日付と天気予報は、画面に表示させるのではなくスピーカーで話させるようにしてみました。完成写真は、以下の通りです。小さな箱に、電源スイッチとスピーカーが取り付けられたものです。

作例として、天気予報の情報サイトからデーターを取ってきて、今日と明日の天気予報を得るような物を作ってみました。NTPから今日の日付も取ってこられるので、その情報も使います。今日の日付と天気予報は、画面に表示させるのではなくスピーカーで話させるようにしてみました。完成写真は、以下の通りです。小さな箱に、電源スイッチとスピーカーが取り付けられたものです。

MachiKania type P ver 1.3 で、http サーバー [MachiKania]
2023年9月29日
MachiKania type P の ver 1.3 では、Raspberry Pi Pico W を使って、WiFi 接続及びインターネット接続が出来るようになりました。この記事では、MachiKania を http サーバーとして利用する方法について述べます。
ver 1.3 では WiFi 機能の追加に伴って13種類の新たな命令・関数が追加されていますが、それらを使ってサーバーを構築するのは、骨の折れる作業です。そこで、需要の高い http サーバーを構築するためのクラス、HTTPD を作成しました。
この、HTTPD クラスを用いれば、簡単に http サーバー(www サーバー)を構築することができます。この記事では、HTTPD クラスの使い方について述べます。
ver 1.3 では WiFi 機能の追加に伴って13種類の新たな命令・関数が追加されていますが、それらを使ってサーバーを構築するのは、骨の折れる作業です。そこで、需要の高い http サーバーを構築するためのクラス、HTTPD を作成しました。
この、HTTPD クラスを用いれば、簡単に http サーバー(www サーバー)を構築することができます。この記事では、HTTPD クラスの使い方について述べます。
MachiKania type P ver 1.3 で、http クライアント [MachiKania]
2023年9月29日
MachiKania type P の ver 1.3 では、Raspberry Pi Pico W を使って、WiFi 接続及びインターネット接続が出来るようになりました。この記事では、MachiKania を http クライアントとして利用する方法について述べます。
ver 1.3 では WiFi 機能の追加に伴って13種類の新たな命令・関数が追加されています。それらを使えば様々なインターネット接続(クライアント・サーバー)を行うことができますが、非常に複雑な手続きが必要です。そこで、インターネットの接続で最もよく使う、http プロトコルに関して、クラスライブラリーを用意しました。
ここでは、新規に追加されたクラスのうち、WGET クラスについて説明します。http クライアントを簡易に構築するためのクラスです。
ver 1.3 では WiFi 機能の追加に伴って13種類の新たな命令・関数が追加されています。それらを使えば様々なインターネット接続(クライアント・サーバー)を行うことができますが、非常に複雑な手続きが必要です。そこで、インターネットの接続で最もよく使う、http プロトコルに関して、クラスライブラリーを用意しました。
ここでは、新規に追加されたクラスのうち、WGET クラスについて説明します。http クライアントを簡易に構築するためのクラスです。
MachiKania type P ver 1.3 で、ネット接続 [MachiKania]
2023年9月29日
MachiKania type P の ver 1.3 を、2023年9月30日(日本時間)に公開しました。これにより、Raspberry Pi Pico W を利用して、WiFi 経由でネットに接続できるようになりました。
公式ページはこちら。
GitHubリリースページはこちら。
ReadMeに記載した更新履歴は、次の通りです。
公式ページはこちら。
GitHubリリースページはこちら。
ReadMeに記載した更新履歴は、次の通りです。
・Raspberry Pi Pico W を用いた WiFi 接続に対応。次の命令・関数を追加: DNS$(), IFCONFIG$(), NTP, TCPACCEPT(), TCPCLIENT, TCPCLOSE, TCPRECEIVE, TCPSEND, TCPSERVER, TCPSTATUS, TLSCLIENT, WIFIERR(), WIFIERR$() ・GCOLOR()関数の不具合を修正 ・一部USBキーボードでのキー入力不具合に対応 ・EOFの時、FGETC()関数が-1を返すようにした ・embed用にXIAO RP2040, RP2040-Zero, and Tiny-2040に対応 ・SPIの対応ポートをINIファイルで指定出来るようにした ・SERIALステートメントの第3引数を省略した時の不具合を修正 ・例外をトラップして画面表示するようにした ・CORETIMERが電源投入後およそ2000秒後から不具合を起こす事を修正 ・ILI9488に対応 ・RTC(Real Time Clock)をサポート。次の命令・関数を追加: GETTIME$(), SETTIME. STRFTIME$() ・ファイル保存時の日時設定をサポート ・NTPサーバーによるRTCのセットをサポート ・SYSTEM 201 呼び出しにより、ボード付属のLEDのオン・オフを出来るようにした ・メモリーアロケーションの不具合を修正 ・FREMOVE/SETDIR等のファイル関連命令を使用時の、ガベージコレクション不具合を修正 ・WAVEプレーヤーの安定性を改善 ・クラスのスタティックメソッド呼び出し不具合を修正 ・FFINGD$(), FINFO(), FINFO$()の3つの関数を追加。ファイル一覧の作成が可能に ・REM 文に「"」を含む際のコンパイル時の不具合を修正