2021-01-01から1年間の記事一覧

Rust で重み付き抽選

重み付き抽選とは、ゲームのアイテムドロップの判定などに使われる選択手法です。それぞれの選択率がリンゴ (50%)、みかん (20%)、柿 (20%)の場合、この確率に従って乱数で選びます。Rust では rand クレートの WeightedIndex や rand_distr クレートの Weig…

RPi pico ハードウェア

Rpi pico の回路図をみながらパッドに引き出されていないピンなどを調べる。 Pico データシート https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf Pico 回路図 https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf#%5B%7B%22num%22%3A2…

GDB Python スクリプトでビットを表示

gdb

マイコンではレジスタでビットフラグが多用されているが、慣れていないと gdb の x コマンドでメモリの値を読み出してもどのビットがセットされているか分かりにくい。GDB Python スクリプトでなんとかできそうだったが情報が少なかったので残しておく。Pyth…

bs2_default_padded_checksummed.S の作り方

2nd ブートファイルをフラッシュの先頭に置いてブートさせる場合、pico-sdk 以外から bs2_default_padded_checksummed.S ファイルを使用したい場合があります。 以下のようにしてビルドできます。 cd pico-sdk mkdir build cd build cmake .. #cd src/rp2_co…

RP2040 PIO レジスタと Pico SDK 覚え書き

詳細はデータシート参照のこと https://datasheets.raspberrypi.org/rp2040/rp2040-datasheet.pdf https://raspberrypi.github.io/pico-sdk-doxygen/group__hardware__pio.html レジスタと対応する SDK の関数たち。 レジスタと関連なし CTRL FSTAT FDEBUG F…

RP2040 PIO 覚え書き

RP2040 データシートを読んだまとめ https://datasheets.raspberrypi.org/rp2040/rp2040-datasheet.pdf元の文書は改変配布禁止ですので翻訳はできません。ただの覚え書きです。レジスタタイプについての説明は Appendix A: Register Field Types にある。目…

KiCAD ポリゴン中の円弧

KiCAD 6ではポリゴン中に円弧を入れられるようになりました。 これまでのポリゴンは xy 座標の連続で指定していましたが、円弧の座標を書くのは大変でした。6では3点指定で円弧を入れられます。6ではまだGUIから利用できません(7で予定あり)。以下のようにす…

KiCAD アクションプラグインの作成

KiCAD 5 からアクションプラグインとして Python スクリプトを Pcbnew のツール - 外部スクリプトから実行できます。そのプラグインの作り方を見てみます。以下の文章を参考にしてください。 アドオンパッケージ作成 https://dev-docs.kicad.org/en/addons/ …

COSMO 25番刺しゅう糸の色を検索

刺しゅう糸の色のおよその当たりをつけるために検索できるページを作成。 https://hanya.github.io/cosmo_search/ RGB値を入力するとカタログから抽出した色範囲で検索します。 RGB値の比較では検索結果がいまいちだったのでXYZおよびLab色空間でも比較、検…