目次
状態リスト | タスク管理

それぞれのタスクにはそのタスクの状態というものがあります. 今回のOSでは, このタスクの状態を状態リストを用いて判別することにします. 以下から, タスク状態の種類, 状態リストの構造, リストを用いたタスク状態の切り替え方法を詳しく見ていきます.

Heap4.c | スクリプティング

各タスクごとに割り当てられるメモリの管理

グラフィック液晶 | Arduino

グラフィック液晶に関する情報をあつかいます. 扱うグラフィック液晶は’SG12864ASLB-GB’です.

グラフィック液晶外観
グラフィック液晶外観
グラフィック液晶の操作方法 | グラフィック液晶

ここでは, グラフィック液晶’SG12864ASLB-GB’の操作方法を説明します. これは, いわゆるライブラリの説明ではなく, ハードウェアそのものに対する操作方法です. この内容から, 自作のライブラリなどを製作することが可能です.

説明項目は以下のとおりです.

  • 入手方法
  • ピン配置
  • 名称
  • 実際に使ってみる
  • 参考文献
ショートカット, QRコード
ショートカットでアップル製品以外のデバイスと一時的にファイル共有 | iPhone

Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.

ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.

本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.

ファイル共有リンクを表すQR Code が表示される
ファイル共有リンクを表すQR Code が表示される
OS
仕組み | Arduino上で走るOSの作り方

ここには, OSの仕組みに関する情報が書かれます. OSは非常に多くのことが関わっているため以下のように分けていきます.

  • メモリ管理
  • タスク管理
  • OSの設定
  • Arduino標準機能との融合
OSの設定 | 仕組み

ここでは, OSの設定方法について説明します.

設定ファイルは,ArduinOSConfig.hです. このファイル内にOSの設定を書きます. また, 設定ではハードウェアの基本構成に加え, 各機能の有効化, システムフックを行うか, などといった設定を行えます.

スクリプティング | Arduino上で走るOSの作り方

ここから, 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

基本的な製作の流れを踏まえつつ, 各ファイルごとに説明を行っていきます.

使用方法 | Arduino上で走るOSの作り方

ここでは, ArduinOSの使用方法を説明します.

C言語
Port.c | スクリプティング

PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.

ライブラリ
GLCDControllerの紹介 | グラフィック液晶
フレームレート測定画面
フレームレート測定画面

GLCDControllerとは、グラフィック液晶SG12864ASLB-GBを操作するものです. GLCDControllerの特徴は以下の通りです.

  • 2Dグラフィック操作ライブラリCanvasの利点を受け継ぎ
  • 高いフレームレート

このGLCDControllerのメンバ変数としてCanvasがあるのですが, このCanvasが2Dグラフィック操作を簡単にします. Canvasについての特徴はCanvasの特徴を参照してください.

画面の更新速度ですが,最高60fps以上(最高fps85fps, 平均60fps, 全画面更新15fps)まで出せます(ArduinoUno 16Mhzで検証).

GLCDControllerを改良、強化、何でもしてください(;´∀`)

「https://contentsviewer.work/Master/:tagmap/ファイル共有,リアルタイムOS,Arduino,ローカリゼーション/iOS,編集中,液晶?layer=ja」から取得