cppでclassの配列を定義する場合、{}を二重で使う

2023年12月31日日曜日
cppでconstructorに引数が必要なclassの配列(array)を作る場合、[]と()の組み合わせではなく、{}を二重に使って定義します。 具体的には下記のように書きます。 class Book { public: std::string title; Boo...

cppのクラスメンバ関数をbindを通してstd::functionとして扱う

2023年12月25日月曜日
背景 以前クラスメンバ関数をコールバック関数として渡したいとgithubで要望したところbindを使えば可能と助言をいただきました。 Request of setting notify_callback as class instance. #342 この手法は時々使いたくなる場...

clojureのマクロを利用する定義の静的解析で変数未定義エラーになる場合の対応

2023年12月18日月曜日
マクロ内の変数が未定義エラーになる VSCodeでclojureのマクロ(記事冒頭の図は pedestalのbuddyののinterceptor )を記述すると、error-dispatchマクロを利用する記述で下記の未定義エラーが発生しました。 Unresolved symbo...

スイッチは光らないけど通電すると光るコンセントケーブルを光らなくした

2023年12月10日日曜日
背景 ビックカメラでon offスイッチが光らないコンセント延長ケーブルを買ったところ、通電させると光る箇所があったので光らなくしました。 道具や手順を共有します。 改造対象 ビックカメラで購入しました。 電源タップ multiple outlet ホワイト AT-MOSK515...

stm32に対してポートを指定してplatformioでプログラムを書き込むlinux向けのスクリプトを書いた

2023年12月3日日曜日
背景 前回 stm32を複数台繋げた状態で、それぞれを識別してプログラムを書き込む方法 を把握しました。 方法が分かったのは良いのですが、都度stlinkのid serialを調べるのが手間なので、ポートを渡したらplatformioで書き込んでくれるスクリプトを書きました。 使...

PCに複数繋げたstm32を判別してplatformioでプログラムを書き込む

2023年11月26日日曜日
背景 複数のstm32を同時にPCに繋げてplatformioを利用していたところ、uploat-portの指定が効かず片方にしかプログラムを書き込めない場面に出くわしました。 調べたところopenocdかmbedの設定に従えば判別できると分かりました。 備忘録として対応内容を記...

ubuntu22.04にstm32f429zi向けのrustでの開発環境を作りプログラムを実行

2023年11月20日月曜日
背景 stm32マイコンには有志によって作られたrustのプログラム環境と関連機能呼び出しライブラリがあります。 stm32-rs 気になっていたのでubuntuに環境を構築してボタン認識とLED点灯をさせてみました。 備忘録として取り組んだ内容を記事に残します。 使ったもの u...

cppのクラスメンバ関数のconst備忘録

2023年11月14日火曜日
背景 cppのプログラムでconstを付けてエラーが出る度にどうだったか迷うので、自分の言葉でまとめます。 クラスメンバ関数のconst 下記のプログラムを書いた時 class Item { public: float getValue() const { return ...

gitのsubmoduleを配置できないときの対応

2023年11月6日月曜日
背景 バージョン管理プログラムのgitには、管理中のリポジトリにgitで管理する他のリポジトリを配置するsubmoduleという機能があります。 そのsubmoduleを利用してリポジトリを管理していたところ、ディレクトリ構成に齟齬が発生してsubmoduleのディレクトリをダウ...

ros2のパッケージ情報はROS Indexから辿るのが良い

2023年10月29日日曜日
背景 ros2のteleop_twist_keyboardに変更を加えるためソースコードをダウンロードして試行錯誤していたところ、google検索に出てくるros1の顔ぶれがcontributorに多いリポジトリではなく、ROS Indexで辿って判明した別のリポジトリがroll...

ros2で発生する「_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so」のインポートエラーは全てのパッケージを再インストールすると直ることがある

2023年10月23日月曜日
ros2のパッケージをapt操作で部分的に削除したりインストールしたりしたところ下記のエラーが発生するようになりました。 ImportError: /opt/ros/rolling/lib/python3.10/site-packages/rclpy/_rclpy_pybind...

ubuntuのアプリ検索結果の順序を変える

2023年10月16日月曜日
背景 電卓(計算機)アプリを使う時にアプリ検索で「calc」と検索するとlibreoffice-calcが電卓の前に表示されて誤って起動させることが多かったので、電卓が先に表示される設定を調べて適用しました。 施した設定と分かったことを共有します。 試した環境 ubuntu22....

stm32arduinoで多機能なピンの特定の機能を呼ぶときはaltが付いたピンのマクロの利用が必要

2023年10月9日月曜日
背景 stm32マイコンはuartやspiのバスを複数持っているものがあります。 1つのピンに割り当てられているバスが1種類なら問題ないのですが、複数のバスを割り当てられている場合はバスが利用するalt付きのピンを使利用したバスの定義が必要です。 とりあえず動くからとalt無しで...