2025-04-01

11年前の今日、IchigoJamを発表。想像以上の反響により製品化。
おかげさまで、たくさんの人に使っていただいています!


「4月1日はIchigoJamの誕生日。 - Hana道場」

鯖江のHana道場ではこどもから大人まで幅広くプログラミングの楽しさを学べます。


「IchigoJam O | PCN プログラミング クラブ ネットワーク」

PCNから「IchigoJam O」登場!田んぼでプログラミング教材とも連携する、田んぼの除草ロボット「Okaki」を使った恐竜の里、勝山で採れた無農薬米「ディノヒカリ」が当たる、#IchigoJamO ハッシュタグ付き投稿キャンペーン付き!


NXP社のLPC1114との出会いがなければ誕生していなかったIchigoJam。LPCシリーズの後継、MCXシリーズの開発ボード「FRDM-MCXA153」をMacに接続!


Windows/Mac/Linuxに対応する統合開発環境「MCUXpresso IDE」をダウンロードし、開発ボード「MCXA1XX / frdmmcxa513」を選択して、プロジェクトを新規作成。IchigoJamのオープンソースを組み込みます。

LEDを接続するには、ichigojam-io.h を下記のように編集

S_INLINE void IJB_led(int st) { if (st) { GPIO_PortClear(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN); } else { GPIO_PortSet(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN); } }

IchigoJamのBASICのコードと、MCXのコンピューターがつながります!
青い虫マークのデバッグ実行ボタンを押すと、コンパイルして転送がすぐ終わり、サクッとステップ実行できて快適です!


USBシリアルで使えるので、ナチュラルスタイルの「DirectApps」や、「IchigoTerm」が使えます。 MCU-LINKで始まるものを選んで、接続!


LED1でつきました!

ついでに、USRコマンド、マシン語も実装しておきましょう。
usr.h を下記のように編集

extern uint64 __aeabi_uidiv(uint numerator, uint denominator); #define FUNC_DIVU __aeabi_uidiv inline int IJB_usr(int ad, int n) { if (ad >= OFFSET_RAMROM && ad < SIZE_RAM + OFFSET_RAMROM) { // b10 limit:0x800 -> 0x1000 int (*f)(int, void*, void*, void*) = (void*)(ram + ad - (OFFSET_RAMROM - 1)); void* mem = (void*)((uint)ram - OFFSET_RAMROM); // R1 void* rom = (void*)CHAR_PATTERN; // R2 void* fdiv = (void*)FUNC_DIVU; // R3 _g.err = ERR_SEGMENTATION_FAULT; n = f(n, mem, rom, fdiv); // 1.2.2b31 _g.err = 0; } else { command_error(ERR_ILLEGAL_ARGUMENT); } return n; }

MCX-A153は、Cortex-M33とLPC1114よりちょっと上位のコンピューターですが、マシン語は上位互換なので、LPC1114版と同じコードが使えました。


GitHubの「IchigoJam-firm」のIchigoJam_MCXを読み込むことで、MCX版IchigoJamオープンソース開発に参加できます!


はじめてのマシン語 - IchigoJamではじめるArmマシン語その1」を見て、1+1をマシン語で計算させてみました。マシン語が使えれば、こっちのもの。レジスタを直接いじって何でもできちゃいますね!(参考、マシン語でLEDを光らせよう! - IchigoJamではじめるArmマシン語その4

みんなでつくろう、IchigoJam!
コンピューターの活躍の場は広大です。

links
- IchigoJam 10才、IchigoJam OSSを使った IchigoJam console β とITブートキャンプ in 神山

2025-03-31

デジタル庁にて、第12回オープンデータ伝道師会!オープンデータの取り組みのふりかえりとこれからをディスカッション。


「yesnochart/data/opendata-assist.csv at main · code4fukui/yesnochart」

PDFで公開されているオープンデータ何から始めたらいいの?フローチャートを、アプリで使いやすいCSVにしました。


「YES/NOチャート オープンデータ何から始めればいいの?フローチャート診断」
src on GitHub
YES/NOチャートツール」を使うとスマホアプリになります!

下記のように書けば、Denoのコンソール上でチェックすることもできます。

import { CSV } from "https://js.sabae.cc/CSV.js"; const fn = "https://code4fukui.github.io/yesnochart/data/opendata-assist.csv"; const data = await CSV.fetchJSON(fn); const show = (id) => { const item = data.find(i => i.id == id); if (!item) { console.log("open " + id); return; } if (confirm(item.question)) { show(item.answer1_id); } else { show(item.answer2_id); } }; show(1);


診断結果4でした!

links
- jigインターン2024夏スタート!表計算ツールで作るYES/NOチャートツール

2025-03-30
改めてXRの楽しさが分かった鯖江XRハッカソン、Meta Questをフル活用すべくUnityにもチャレンジ中。今回はARアプリ(MRアプリ)の基本ができました!

1. Unity Hub(無料)をダウンロードし、Unity 6(6000.0.44f1)をインストール

2. Unity Hub、New Project、Mixed Reality Core、名前を付けて新規作成

3. SampleScene内のEnvironment削除、UI削除

4. Window、Rendering、Environment、Skybox Material: Skybox → none、Environment Lighting: Skybox → Color、Environment Reflections Source: Skybox → Custom

5. Edit、Project Settings、XR Plug-in Management、真ん中のAndroidを選択
6. Unityメニュー、Windows、Package Manager、GLTFインポート「com.unity.cloud.gltfast」をインストール

7. XRモニュメントから「めがねのまちさばえ」のGLBをダウンロード、Assetにいれ、配置
8. Questのスマホアプリから、Questを開発者モードにし、USB-CでPCと接続、Questで接続を許可

9. File、Build and Run、Meta Quest上で外風景が見える状態のMRアプリとして動く!

アプリは一度入れてしまえばネットワークなく、サクッとデモできるのがいいですね。
コンパイル時間と、容量は多量に食います!今回のプロジェクトで13GB!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS