2024-10-01から1ヶ月間の記事一覧
RustにはCLAP(Command Line Argument Parser for Rust)という優秀なコマンドラインパーサーがあるそうなので、こいつを使って遊んでいきます。 実際のところ 導入 $ cargo add clap --features deriveとやるか、 tomlに clap = { version = "4.5.20", featur…
Ubuntu22LTSでRust言語をやる その6:teensy4.0で組み込み用環境no_Stdをためす - Bye Bye Moore の続き。 組み込みといえば外付けセンサー。 まずはI2Cのテストとして、秋月で調達しやすいADT7410を使ってみることにします akizukidenshi.com 実際のところ…
実際のところ toml [package] name = "teensy_led_blink" version = "0.1.0" edition = "2021" [dependencies] cortex-m = "0.7" #Teensy4.0のCortexの低レイヤ実装をする方法 cortex-m-rt = "0.7" #Teensy4.0の起動時のあれこれ。メモリ初期化とか embedded…
no_std環境は、要するにOSに依存するような機能を削ぎ落として使用するってことです。 ファイルの読み書きといった機能が無効になる上、メモリを動的に確保することができなくなったりします。 まぁ、よりC言語的になるというか……。 ただ、このお陰で動作が…
.
.
インターネットの強い人たちが絶賛するRustのすごいトコの一つ、エラーハンドリングを見ていきます。 実際のところ matchでエラーの有無により挙動を切り替えできる。 use std::error::Error; use std::fs::File; fn complex_operation() -> Result<(), Box<dyn Error>></dyn>…
Pythonにおけるpip、Rubyにおけるgemみたいなのが、Rustにもあります。 今回はactix-webというパッケージを使ってWEB鯖をつくってみます。 実際のところ とりあえずシンプルに パッケージ導入 tomlファイルというのがありましたが、こいつを弄ると入る様子 […
Rust言語が称賛される理由の一つに「所有権」というやつがあります。 データの取り扱いを、ユーザーに意識的に行わせることで、安全性を保ちます。 実際のところ 所有権の基礎 fn main() { let s1 = String::from("hello"); // 基本的な所有権の移動 let _s2…
実際のところ $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shbashrcに以下の値を追加 source "$HOME/.cargo/env"環境変数を再読込 $ exec $SHELL 動作確認 $ rustc --version rustc 1.82.0 (f6e511eec 2024-10-15)個人的好みでベースに…
実際のところ 一部のピンは最初から割り込み設定に対応しているものの、そうでない奴は明示的に使い方を示しておかんといけないみたいです。 たとえば、ArduinoUno互換であれば2,3は対応しています。 サンプルコマンド通りに繋いだら動いたけど、ピン替えた…
.
.
Ubuntu22.04LTSにCursorをいれる際、公式推奨だとAppImageで入れることになります。 が、最初は良くても毎回毎回AppImageを展開するのはどうも文化的ではないような気がします。 というわけで、こいつを通常のアプリと同様ランチャーで起動できるようにし、…
上の方の➕をクリックし 参考もと https://support.apple.com/ja-jp/guide/iphone/iph6d01d862/ios
CAN FDをマイコンで扱った事例がネット上に少なく苦労しましたが……要約疎通したのでメモ 実際のところ 回路接続 M5stack Basic Grove PortA (赤)にコネクタをつなげる 私の環境では不要でしたが、終端の120Ωが必要なときは裏面にある端子をジャンパはんださ…
探してみても、以下のような情報くらいしか出ておらず……肝心のパケットはどこに行ったんだっていう Open CAN Protocol 1. CAN bus parameters and single motor command send and receive message format Bus interface: CAN Baud rate: 1Mbps The format of…
.
.
.
M5Stack用BUSモジュールArduino (アルドゥイーノ)Amazon 実際のところ M5Stack用BUSモジュールはソケットの引き出し口が横に出てくれています 公式の想定では、横方向へL金具を使って引きだす運用を考えているようです。 今回はこれを使って下にピンを出すよ…
.
.
なんかバッドノウハウ的ですが……Arduino系でCANFDを実現するときにつかうライブラリ"acan2517FD.h"で、 CAN FDパケットの疎通に失敗するときはpoll関数をブチ込むと、いう事を聞くようになる可能性があります。 実際のところ 初期化サイド const uint32_t er…
実際のところ 初期化時がこれで const uint32_t errorCode = can.begin(settings, [] { canfd.isr(); }); エラーコードの格納部分をこれ(M5stackに表示) if (errorCode == 0) { M5.Lcd.setCursor(10, 30); M5.Lcd.print("CAN FD OK"); } else { M5.Lcd.set…
.
.
.
.
.