Skip to content

Instantly share code, notes, and snippets.

View yswallow's full-sized avatar

Sanagi yswallow

View GitHub Profile
@yswallow
yswallow / code.py
Created December 17, 2022 05:24
Seeed Studio XIAO SAMD21/CircuitPythonでトラックポイントを使う
import board
import digitalio
import time
import touchio
import usb_hid
from adafruit_hid.mouse import Mouse
mouse = Mouse(usb_hid.devices)
forward = digitalio.DigitalInOut(board.D7)
@yswallow
yswallow / PRK-Configurator-design.md
Created December 4, 2022 03:50
PRK設定アプリの設計
  • 設計者は各キーボードのGitHubリポジトリのルートに prk_info.jsonを置く
  • 設定アプリはusername/keyboard_nameの指定を受けてprk_info.jsonを取りに行く(無理かも)
  • 保存ファイル名はkeymap.rb
  • keymap.rbからの読み込み機能も付ける。エリアの識別はコメントで行う。
  • prk_info.jsonに含まれる情報
    • 準拠バージョン(0.0.1)
    • キー配置・物理配置と論理配置の読み替え(KLE?)
    • 1レイヤーのキー数
    • 機能
  • 各機能の使用ピン
@yswallow
yswallow / Seeed-Fusion-experience.md
Created September 3, 2022 02:14
Seeed FusionでPCBAの見積もりをしてもらった・PCBを製造してもらった話
@yswallow
yswallow / main.c
Last active July 20, 2022 13:15
nRF52のIO Direction切り替えにかかる時間を調べた 結果→113kHz程度
/**
* Copyright (c) 2014 - 2021, Nordic Semiconductor ASA
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
@yswallow
yswallow / prk_hack.md
Created May 2, 2022 02:18
#PRK_Firmware のTips

PRKの変なHack

先頭行に puts "running"と書く

keymap.rb読み込み時にUndefined系のエラーが出て止まるのを防ぐため

動作中にマイコン上のLEDを光らせる

Raspberry Pi Picoの場合

@yswallow
yswallow / kmk-reduce-filesize.md
Created March 13, 2022 21:01
KMKのファイルサイズを減らす

KMKのファイルサイズを減らす

動機

外付けFlashのないnRF52840マイコンでは記憶領域が1MBしかないため

やったこと

  • 不要そうなファイルを消す
  • mpyに変換
@yswallow
yswallow / kb.py
Last active March 11, 2022 10:08
KMK Firmwareで完全無線分割キーボードを作る
import board
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
from kmk.matrix import DiodeOrientation
class KMKKeyboard(_KMKKeyboard):
col_pins = (
board.A3,
board.A2,
board.A1,
@yswallow
yswallow / Mastdon-Heroku-Closing.md
Last active August 25, 2022 15:25
2022年にMastodonインスタンスをHerokuに建てた話

Herokuに建てたMastodon鯖を閉じるとき

目標

月額料金がかからないようにする

はじめ

$ heroku pg

このドキュメントは古いです。最新のPRKの実装については公式Wikiをご覧ください

keymap.rbのPRKからの変更点・追加点

  • kbd.define_mode_keyではなくvia.define_mode_keyを使う(引数は同一)
  • kbd.start!の前にkbd.append viaする
    • kbd.append viaしなければVIA機能のないPRKとして使えます
    • kbd.append viaしていなくてもRemapにデバイスが表示されますが、仕様です。
  • :defaultレイヤーはVIAのレイヤー0で上書きされる
  • layer_count * rows_size * cols_sizeは240を上回ってはいけない(メモリが不足して動かなくなる)
@yswallow
yswallow / build-prk.sh
Last active January 13, 2022 07:38
PRKのcloneからビルドまでを自動化するスクリプト(pacmanやaptでインストールするパッケージは含まない)
# rbenv install 3.0.0
# rbenv install mruby-3.0.0
git clone https://github.com/yswallow/prk_firmware.git
export PRK_HOME=$(pwd)/prk_firmware
cd $PRK_HOME
git checkout monkey
git submodule update --init