アプリ, Arduino
TerminalPro4用のソフトウェアの作り方を説明します.
- ソフト作製の流れ
- TerminalPro4での制御流れ
- ソフトの作り方
TerminalPro4のハードウェアを作っていきます. 次のことを説明していきます.
- 各モジュールの用意
- モジュール間の接続
各タスクごとに割り当てられるメモリの管理
それぞれのタスクにはそのタスクの状態というものがあります. 今回のOSでは, このタスクの状態を状態リストを用いて判別することにします. 以下から, タスク状態の種類, 状態リストの構造, リストを用いたタスク状態の切り替え方法を詳しく見ていきます.
私が製作に携わったゲームを紹介します.
QR-Universal Scanner は, ブラウザ上で動作する, インストール不要で多くの入力方法(カメラとクリップボード)に対応したQRコード[注 1]読み取りWebアプリです. PWAに対応しておりオフラインでも動作します.
QRコードを標準で読み取れるデバイスがありますが, 主にモバイル端末に多く[1][2], PC上でQRコードを読み込むためにはアプリをインストールする必要があります[3][4][5][6][7].
インストール不要のQRコード読み取りアプリもあります[8][9][10][11][12]が, ファイルのみ, もしくはカメラのみからの読み込みであったりと, 入力方法が限定されています.
本稿では, インストール不要で多くの入力方法に対応したQRコード読み取りWebアプリ QR-Universal Scanner を紹介します. PWAに対応しており, オフラインでも動作します.
ここから, OSのソースファイル, ヘッダファイルを順番に実装していきます.
実装するファイルは次のとおりです.
- Heap4.c
- List.c
- List.h
- ArduinOS.h
- ArduinOSConfig.h
- ArduinOSConfigAtmega328P.h
- ArduinOSConfigAtmega2560.h
- Port.c
- Portable.h
- PortMacro.h
- ProjDefs.h
- Queue.c
- Queue.h
- Semaphore.h
- StackMacros.h
- Task.c
- Task.h
変更を加えるファイルは以下のとおりです.
- Arduino.h
- wiring.c
- main.cpp
基本的な製作の流れを踏まえつつ, 各ファイルごとに説明を行っていきます.
ここでは, ArduinOSの使用方法を説明します.
ここには, OSの仕組みに関する情報が書かれます. OSは非常に多くのことが関わっているため以下のように分けていきます.
- メモリ管理
- タスク管理
- OSの設定
- Arduino標準機能との融合
ここでは, OSの設定方法について説明します.
設定ファイルは,ArduinOSConfig.h
です. このファイル内にOSの設定を書きます. また, 設定ではハードウェアの基本構成に加え, 各機能の有効化, システムフックを行うか, などといった設定を行えます.
PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.
コントローラ製作に関することについて説明します. 説明の項目は以下のとおりです.
- 部品入手
- 製作
- 説明
- 参考文献