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 領域を使えるようにした

polygon.png

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 は使わず、必要なソフトウェアーを個々に揃えて利用する方法をとる。

success.png
(画像は、ビルドに成功した時のスクリーンショット)

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 に取り込むのには汎用性が高いと言える。

Raspberry Pi Picoを使った赤外線リモコンと受信機 [Raspberry Pi Pico]

2024年5月25日

Raspberry Pi Picoを使って、赤外線リモコンと受信機を作成したので、そのメモ。
20240525-controller.jpg
20240525-receiver.jpg

MachiKania type P ver 1.4 を公開 [MachiKania]

2024年2月16日

MachiKania type P の ver 1.4 を公開しました。

公式ページはこちら
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から今日の日付も取ってこられるので、その情報も使います。今日の日付と天気予報は、画面に表示させるのではなくスピーカーで話させるようにしてみました。完成写真は、以下の通りです。小さな箱に、電源スイッチとスピーカーが取り付けられたものです。

2023-09-26-weatherBox.jpg

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 クラスの使い方について述べます。

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 クライアントを簡易に構築するためのクラスです。

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に記載した更新履歴は、次の通りです。
・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 文に「"」を含む際のコンパイル時の不具合を修正
<<前の記事