DelayUs should not be implemented with thread::sleep
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- linux, rust
調査の方向性
Delay の実装とそのエントリポイントである DelayUs::delay_us から始め、続いて提供された Rust の例を Linux 上で再現して thread::sleep を測定します。観測されたタイミングを要求されたマイクロ秒精度と比較し、具体的でテスト済みのアプローチを文書化してください。完了とは、実装と推奨事項が実証された不一致に対処していることを意味します。
索引モデルが issue の本文から書いたものです。
説明
I believe thread::sleep cannot provide microsecond precision on linux.
Failing example:
extern crate embedded_hal;
extern crate linux_embedded_hal as hal;
use embedded_hal::blocking::delay::DelayUs;
fn main() {
let us = 10u8;
let t = ::std::time::SystemTime::now();
let mut delay = hal::Delay{};
delay.delay_us(us);
println!("Expecting {}us, got {}us", us, t.elapsed().unwrap().subsec_nanos() / 1000);
}
Prints
Running `target/release/test_hal`
Expecting 10us, got 84us
What is the recommended way to get this level of precision?
As an example this very bad loop works:
pub fn delay_us(us: u32) {
let target = Instant::now() + Duration::new(0, us * 1000);
while Instant::now() < target { }
}
- 主要言語
- Rust
- スター
- 319
- フォーク
- 60
- 平均マージ
- 12時間 31分
- マージ済み PR(30日)
- 1
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rust-embedded/linux-embedded-hal のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
rust-embedded/linux-embedded-hal#121 · コメント 4 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rust-embedded/linux-embedded-hal#117 · リアクション 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
rust-embedded/linux-embedded-hal#116 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
rust-embedded/linux-embedded-hal の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
TheLarkInn/aipm#2413 ·
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
alexgorbatchev/simple-ptt#15 ·
-
tooling
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
todo:ticket
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
taikoxyz/taiko-mono#22168 · コメント 1 件 ·