Closed matsudai closed 1 year ago
ESP-PICO でサンプルコードを動かすと、 scd30.dataReady がtrueのときでもデータが取得できないことがありました。( scd30.read がfalseyでした)
scd30.dataReady
scd30.read
データシート > 1.1 I2C Protocol を見たところ、I2CのBaud rateを50kHz以下にすることが推奨されているようです。
Maximal I2C speed is 100 kHz and the master has to support clock stretching. Sensirion recommends to operate the SCD30 at a baud rate of 50 kHz or smaller.
しかし、I2Cクラスのfreqのデフォルト値は400kHz になっており、Baud rateが高いためデータの取得漏れが発生した可能性があります。
I2C.new の引数でfreqを推奨値の50kHzに変更したところ取得エラーが起きづらくなりました。 PRを出しますのでご確認いただきたく思います。
I2C.new
マージありがとうございます!
本Issueをクローズいたします。
概要
ESP-PICO でサンプルコードを動かすと、
scd30.dataReady
がtrueのときでもデータが取得できないことがありました。(scd30.read
がfalseyでした)環境
原因
データシート > 1.1 I2C Protocol を見たところ、I2CのBaud rateを50kHz以下にすることが推奨されているようです。
しかし、I2Cクラスのfreqのデフォルト値は400kHz になっており、Baud rateが高いためデータの取得漏れが発生した可能性があります。
I2C.new
の引数でfreqを推奨値の50kHzに変更したところ取得エラーが起きづらくなりました。 PRを出しますのでご確認いただきたく思います。