Skip to content

Instantly share code, notes, and snippets.

現在の進捗的な。
しかしRaspberry Pi picoをArduinoで使うとストレージをマウントして書き込みを行う、これが開発環境と反りが良くないので pi picoでの調整はここまでにしてM5atom S3にバトンを渡そうと思う。

Qiitaのこちらの記事などが参考になる。

現在シフトキーが効かないという問題が起きていてあと一歩というところ。

KeyboardLayout.hでSHIFTを0x100にdefineする部分を網羅できていなかったので追記で対応とします。

picosystemのC++開発環境を整える

Raspberry Pi上で作業するとします。
公式の通りに作業してゆきます。

  1. Install the build tools:
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

ここは少し時間がかかるかも。コーヒーでも飲みながら待ちます。

思い出のコード

今更使うかというと怪しい。もうそういう時代じゃない。
でもなんだかもったいない気がするのでコードを残しておく。

サンプリングを再生

よく覚えていないのだけど、pinModeでOUTPUTにしてるのは、3は解る。
10、11はOC1BとOC2Aなのでそのあとのコードといまいち整合性が取れていないような。
なにしろよく覚えていない。多分pin11に圧電スピーカーなんか繋ぐと音が出ると思われる。

DAAうごいた。

なんかいろいろなところがおかしかったようで苦労したけどDAAは何とかなった模様。

MEMORY_SIZE = 0xfff
#MEMORY_SIZE = 0x0f
import time

class Memory:
    def __init__(self):

とりあえず全体

DI、EI、DAAは未実装、NOPは保留
FレジスタのAフラグは未実装

テスト不足のため結構クリティカルな問題がありそう。

IN/OUTで利用する為Hardwareクラスを追加。

MEMORY_SIZE = 0xffff

性懲りもなく幾度目か

もう一度しっかり作ろうってことで。

MEMORY_SIZE = 0xffff

class Memory:
    def __init__(self):
        self.memory = bytearray([0] * MEMORY_SIZE)

RPi picoでHIDを使うにはCircuitPythonのお世話になるしかなさそう

ということなのでmicroPythonで行きたいところですがCircuitPythonのお世話になります。
とりあえずRGB LEDとpadが反応するのを確認出来るころまでやります。

rgbkeypad-circuitpython

こちらに一応どうすればいいか書いてあるのですが困ったことに肝心のrgbkeypadのcircuitpythonのファイルがもう存在しないようです。
そこで以下の手順を踏みます。

rgb keypad 同時押し対応デモ

ただしいろんな色には光らせてない。
どんな風に処理すればいいかという目安として。

import time
import picokeypad

keypad = picokeypad.PicoKeypad()

pimoroni pico rgb keypad

とりあえず動作させる

これで動作する。