Rust

Sponsored
Rust

!#[no_std] Can’t find crate for ‘test’ エラーが表示されたときの対処法

Rustによる組込み開発用のコードをVSCodeで書いているとき、no_std Can't find crate for 'test'というエラーメッセージが表示されることがあります。ビルドは通るので無視しても問題ないのですが、rust-analyzerによる文法チェックが機能しなくなるのは不便です。この記事では、エラーメッセージを消すために、設定ファイルを作成する方法について解説します。
ndarray

burn – Rust製DeepLearningフレームワークの紹介

burnはRust製の深層学習(Deep Learning)フレームワークです。 現在活発に開発が進められており、最新のコードやサンプルには、Githubリポジトリからアクセスできます。 この記事では、burnの特徴や、Rustの記法を活用...
Rust

ご飯が遅れるとマイコンをリセットする!Watchdogの仕組みと使い方

Watchdogタイマ(WDT)は、マイコン(MCU)が停止または暴走していないかを見張るタイマーであり、Watchdogの意味通り「番犬」としての役割を果たす。 この記事では、Raspberry Pi Picoボードに内蔵されたWatch...
Rust

組込みRust爆速入門―Raspberry Pi Picoで電子工作

Raspberry Pi Picoを用いた、組込みRustの入門編です。開発を爆速で始められるよう、便利なテンプレートを用いて「Lチカ」を実行する方法について解説します。作業は約10分で完了し、その後は参考文献を見ながら思い通りの電子工作をすることができます。
Rust

Rustのバージョンを変更する方法

概要 現在利用されているRustのバージョンを調べ、異なるバージョンのRustをインストールして利用する方法について解説する。 この記事を読むことで、チームメイトや技術書の著者とRustのバージョンを合わせたり、ツールが正常に動作するように...
Rust

ラスピコ(Rust x Pico)で使える情報・クレート集

概要 ラスピコ(Rust x Pico)とは、Rust言語でRaspberry Pi Picoを制御する電子工作のことを指します。艮電算術研究所ではラスピコロボット開発プロジェクトを進めており、それに関連して様々な情報ソースやクレートを作成...
Rust

Rust x Raspberry Pi Pico で超音波測距

概要 この記事では、 Raspberry Pi Pico に超音波測距モジュール HC-SR04 を接続し、それらを Rust 言語によって制御して、物体との距離を測る方法を説明する。 仕様 (※写真と回路図は、 超音波測距モジュールの向き...
Rust

組込みRust実装例集―Raspberry Pi Picoで電子工作

概要 この記事は、Raspberry Pi PicoにRust言語を使って組込みを行う際のTips集です。 各電子パーツを使って実現したいことから、対応するコードの記法を探せるようになっています。 適宜追加するので、ちょくちょく見に来てもら...
Rust

Rustでベンチマークを取るテンプレート―TとOption<T>の速度比較

この記事は Rustにおいて、とある T型とOption<T>型に対して演算を行うのではどれぐらい速度が異なるのかを調べた。結論として、差はなかった。 その際に書いたコードは、Rustでベンチマークを取りたいとき一般にテンプレートとして使え...
ndarray

対象の配列の任意の1次元の長さが、任意の大きさだけ短いゼロ配列を作成する ー Rust-Ndarray例文集(第3回)

やりたいこと 前回は、対象の配列から任意の次元(軸)をまるごと落とす方法について述べた。今回は次元(軸)の数はそのままに、任意の次元の長さ(大きさ)を短くする。つまり、Shape=の配列と、対象とする次元(軸)1、短くする長さ(大きさ)3が...