工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

C/C++

ESP32用micropythonで、numpy, scipyライクなパッケージmicropython-ulabを組み込み、FFTしてみる【ulab v0.36.0版】

概要 ESP32用micropythonで、micropython-ulabを組み込んだファームウェアを作成し、無事FFTを実行することができた。また、動作速度も、前回の自前実装FFTより数倍高速化できた。 背景と目的 前回、FFTを実行するためC実装の自作モジュールを組み込んだファ…

ESP32用micropythonで、numpy, scipyライクなパッケージmicropython-ulabを組み込み、FFTしてみる【ulab v0.24.0版】

概要 ESP32用micropythonで、micropython-ulabを組み込んだファームウェアを作成し、無事FFTを実行することができた。また、動作速度も、前回の自前実装FFTより数倍高速化できた。 2020/04/12時点でのmicropython、ulabを使用して実施している。情報が古いこ…

ESP32向けmicropythonで、FFTをする自作モジュールを作る

概要 ESP32用のMicroPythonで、FFTをする自作モジュールを作る。 背景と目的 前回、ESP32用のMicroPythonで、C実装の自作モジュールを作る環境が整った。今回は、この環境を使ってFFTをする自作モジュールを作る。なお、PythonでそのままFFTの計算をコーディ…

ESP32向けのmicropythonで、Cで実装した自作モジュールをESP32上で動かす【修正版】

概要 ESP32向けのmicropythonで、Cで実装した自作モジュールを作成した。 背景と目的 かつて、micropythonをESP32で動かして遊んでみたのだが、それ以来ほとんど触っていなかった。しかし、最近とある事情でESP32向けのmicropythonで、Cで実装した自作モジュ…

./configureの実行時にエラーが出るとき

まずやるべきこと config.logを見る(configureと同じディレクトリに出力されている) たいていは、何が起きているか理解はできると思われる。 解決方法 ライブラリの参照がうまくいっていない場合 /usr/bin/ld: cannot find -lxxx という感じのエラーがかかれ…

pigpioのCライブラリを使ったC/C++プログラムをPythonから利用する

概要 pigpioのCライブラリを使ったC/C++プログラムをPythonから利用する方法をまとめた。 背景と目的 Raspberry Pi用のGPIO制御ライブラリであるpigpioは、C言語用とPython用のライブラリが用意されているが、都合によりC言語用のpigpioライブラリを使って作…

nanosleepの精度を上げる努力をしてみる

概要 C/C++のsleep系の関数のひとつnanosleepで、時間精度を上げる方法を検討し、改善できた。(だいたい10マイクロ秒以下) 背景と目的 Raspberry Piで、10マイクロ秒オーダーのsleepをしたかったのだが、C/C++のsleep系の関数のひとつnanosleepを使用したと…

タイムアウトが設定できないブロッキング処理に、タイムアウトを追加

概要 C/C++で、タイムアウトが設定できないブロッキング処理に、タイムアウトを追加した。 背景と目的 C/C++のあるライブラリで、タイムアウトが設定できないブロッキング処理があり、処理をキャンセルできずに困ったので、後付けでタイムアウトを実装する方…