X



トップページ電気・電子
1002コメント342KB
Raspberry Pi pico part1
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001774ワット発電中さん
垢版 |
2021/02/03(水) 21:51:39.21ID:rGcGCHKG
Raspberry Pi picoについて語らうスレです。
0852774ワット発電中さん
垢版 |
2022/03/01(火) 14:46:37.22ID:O3ZM3CwE
警告出ようが少し挙動がおかしかろうが動けばいいって考えで投稿する奴がいて
狭い業界では他に選択肢が少ないから定番ライブラリとして紹介され定着するのよ
0853774ワット発電中さん
垢版 |
2022/03/01(火) 15:02:51.81ID:nQPDqowP
業界じゃなくてアマチュア界隈でしょ
仕事でやってるレベルと一緒にしないで欲しいわ
0854774ワット発電中さん
垢版 |
2022/03/01(火) 15:08:43.65ID:B3lQ8y+k
意味的に界隈と同じような意味で業界って使ったんだと思うよ
0856774ワット発電中さん
垢版 |
2022/03/01(火) 15:25:58.39ID:IqzyEIQt
仕事のはずだが
不正アクセスによる情報流出に関するご報告とお詫び | 株式会社メタップスペイメント
ttps://www.metaps-payment.com/company/20220228.html
動けばおkのガバガバ実装で大炎上

Arduino(笑)などと素人をバカにしている場合じゃないと思うわ
0859774ワット発電中さん
垢版 |
2022/03/01(火) 16:39:56.62ID:rGAuA6By
>>853
オープンソースの奴を流用しようとすると
多かれ少なかれ、そんな奴にぶち当たるのだ…
0865774ワット発電中さん
垢版 |
2022/03/02(水) 06:12:44.33ID:a+TmHLt2
>>845
PicoのmbedベースのArduinoはArduino公式のやつなんだけどな
by Arduinoってなってるでしょ?
Arduino公式でもArduino Nano RP2040 Connectというの出してるがあれもmbedベース
Arduino Nano 33 BLEなんかもARMのArduinoだけどmbedベースだよね
0866774ワット発電中さん
垢版 |
2022/03/02(水) 06:25:08.04ID:a+TmHLt2
>>845
今回の件はライブラリが問題なんじゃなくて、スケッチに問題があったというだけじゃないの?
ちなみに>>840はPicoのArduinoで問題なく動くよ
pico-sdkでも問題なく動く
>>840は俺が書き込んだんだが問題なく動く
単にsnprintfつかってるだけだしな

>>852
LinuxやWindowsで有名なオープンソースのソフトでも
自分でビルドすると警告出まくりだよ
自分でビルドしたことないの?
0867774ワット発電中さん
垢版 |
2022/03/02(水) 07:32:21.43ID:a+TmHLt2
PaulStoffregenさんのOneWireのライブラリの中身見ると
直接レジスタにアクセスしてデジタルピンの読み込みや書き込みしてるね
そしてRP2040用のコードがちょっと見ただけでは見当たらない
そりゃ、ハングするのも当然かもしれない
0868774ワット発電中さん
垢版 |
2022/03/02(水) 08:05:41.27ID:N7Q3AiGG
つまりあれだ
そんなものを
RP2040対応として登録したやつが悪い
0869774ワット発電中さん
垢版 |
2022/03/02(水) 08:11:25.31ID:a+TmHLt2
ttp://make.bcde.jp/arduino/ds18b201-wire%E3%81%A7%E6%B8%A9%E5%BA%A6%E8%A8%88%E6%B8%AC/
ここのスケッチを参考にしてPlatform IOで追ってみたけど
GPIOのレジスタ操作の定義がしてあるOneWire_direct_gpio.hに
該当しない機種に関しての記述があって普通のdigitalWriteなんかを使うように定義されてた
#else
#define PIN_TO_BASEREG(pin) (0)
#define PIN_TO_BITMASK(pin) (pin)
#define IO_REG_TYPE unsigned int
#define IO_REG_BASE_ATTR
#define IO_REG_MASK_ATTR
#define DIRECT_READ(base, pin) digitalRead(pin)
#define DIRECT_WRITE_LOW(base, pin) digitalWrite(pin, LOW)
#define DIRECT_WRITE_HIGH(base, pin) digitalWrite(pin, HIGH)
#define DIRECT_MODE_INPUT(base, pin) pinMode(pin,INPUT)
#define DIRECT_MODE_OUTPUT(base, pin) pinMode(pin,OUTPUT)
#warning "OneWire. Fallback mode. Using API calls for pinMode,digitalRead and digitalWrite. Operation of this library is not guaranteed on this architecture."

#endif

ハングするとしたらmbedのdigitalWrite、digitalReadなんかのの関数の問題かもね
0870774ワット発電中さん
垢版 |
2022/03/02(水) 08:14:04.03ID:a+TmHLt2
まあ、コメントにもこう書かれてるし、使い方の問題だね
>#warning "OneWire. Fallback mode. Using API calls for pinMode,digitalRead
>and digitalWrite. Operation of this library is not guaranteed on this architecture."
0871774ワット発電中さん
垢版 |
2022/03/02(水) 08:48:19.61ID:a+TmHLt2
RP2040の問題がOneWireのライブラリのところにあがってるね
https://github.com/PaulStoffregen/OneWire/issues/105

そしてその回答
BTW: Since RP 2040 chip is becoming quite popular
I've added support for it in my OneWireNg library.
I don't have any RP 2040 based platform,
so I'm not able to check the implementation correctness.
Fell free to check it out on your board.
The library is compliant with OneWire via OneWire.h C++ header
therefore shall work out of the box after replacing OneWire with OneWireNg.

OneWireNg
https://github.com/pstolarz/OneWireNg

これにrp2040が追加されてるけど、Not tested.になってるね
0872774ワット発電中さん
垢版 |
2022/03/02(水) 08:52:02.90ID:PE/zOPSe
PlatformIOのライブラリの対応リストだろ?
あれ誰でも登録できるからなw
0873774ワット発電中さん
垢版 |
2022/03/02(水) 08:58:26.13ID:z4lYOx2T
過疎ってて修正もされないし自分でサクッと書いたほうが速いだろ
0875774ワット発電中さん
垢版 |
2022/03/02(水) 11:17:39.67ID:n29JBX37
ID:a+TmHLt2こいつID:EZyIT3tdやID:iTMHsFOm同一人物だなきっと。
無知が知識得たばかりのときは興奮してるものだ
0876774ワット発電中さん
垢版 |
2022/03/02(水) 11:40:10.25ID:ri705ILE
そうやって偉ぶって何も書かないよりは知らない人の躓いたところが書いてある方が誰かの遥かに役に立つぞ
0877774ワット発電中さん
垢版 |
2022/03/02(水) 11:46:15.81ID:PYPtNSXP
同一人物でも構わない
無知でも構わん
気になるなら教育してやればいいじゃん?
嫌がらせ発言しかしないのは気持ち悪いぜ
0878774ワット発電中さん
垢版 |
2022/03/02(水) 11:47:41.77ID:1rEMQcbI
printfがどうのこうのとかどこに書いてあっただのは本質じゃない。
ミューテックスや最適化やマルチスレッドを理解してないことが原因だ。そしてラップされたわけのわからんものを使ってるから混乱してる。ラップされたものもソースが公開されてるんだから読めばいいだけ。それすらせずどこに書いてあっただのわけのわからんものを書き付けるのは
変だと気が付かないほうが変だよ
0879774ワット発電中さん
垢版 |
2022/03/02(水) 11:50:30.87ID:1rEMQcbI
嫌がらせと思うならblogに書けよ。
適切な指摘が都度さてれても理解できないアホが騒いでるんだろう?
0880774ワット発電中さん
垢版 |
2022/03/02(水) 11:58:52.86ID:ri705ILE
自分では適切な指摘が出来てると思ってるだけ
具体性がないから何も伝わってない
0882774ワット発電中さん
垢版 |
2022/03/02(水) 12:05:40.16ID:OJnTWLgj
結局ライブラリがバグってるのにprintf使ったクソコードが云々言ってたプロな方も居ましたね〜
0883774ワット発電中さん
垢版 |
2022/03/02(水) 12:11:39.34ID:dwxvhHEg
OneWire に限らないけど通信が終わるまで待つのか
バックグラウンドで通信させとくのか
どっちがいいかは時々で違うだろうし
結局自分で書いたほうが楽なんだよな。
ライブラリとか公開されてるのは参考になるしありがたい。
0884774ワット発電中さん
垢版 |
2022/03/02(水) 12:20:17.07ID:qfAbdgae
エロゲにダンスもカラオケもいらないのに一部の声が大きなニワカ信者ばかり相手して今の惨状になった
0887774ワット発電中さん
垢版 |
2022/03/02(水) 13:03:50.54ID:PYPtNSXP
>>886
でも工場システム組むの凄く楽になったよ?
シーケンサーの方がと言われるけれどあれら高いねん
0888774ワット発電中さん
垢版 |
2022/03/02(水) 14:16:43.20ID:nnARVyUK
printfとmutex、デットロックの関係性も知らないで何を話をそらして暴れてるんだか
0889774ワット発電中さん
垢版 |
2022/03/02(水) 15:04:51.23ID:7hpvzPNN
まっ、頑張れ。
こんな落書き場で何か解決すると思う方がおかしいしな。
0891774ワット発電中さん
垢版 |
2022/03/02(水) 15:52:15.23ID:cS5mH+v0
>>886
らずぱいやあるどぅいのはSMだったのか・・・(・∀・*
0892774ワット発電中さん
垢版 |
2022/03/02(水) 17:33:56.91ID:03I8XLDn
>>887
それはおかしくなったらリセットすればいいレベルの物でしょ?
原則ノンストップで仕事してくれないと困る物をコピペ実装とはいかんでしょ
0893774ワット発電中さん
垢版 |
2022/03/02(水) 20:46:04.48ID:a+TmHLt2
実際試してみたけど、Picoで公式のArduinoでprintf使ってもハングしないですよw
0894774ワット発電中さん
垢版 |
2022/03/02(水) 20:47:46.89ID:a+TmHLt2
>>875
自分が気に入らない人をすべて同一人物だと思い込むって統合失調か何かですか?
0895774ワット発電中さん
垢版 |
2022/03/02(水) 21:09:31.80ID:a+TmHLt2
Mutex: 0x20009A98, Not allowed in ISR context
これでググったらトップに
シリアルの割り込みでprintf使ってハングする例が出てきたけど
結局、ググってこれが出たから知ったかぶりしてるだけ?
0897774ワット発電中さん
垢版 |
2022/03/02(水) 22:55:43.80ID:a+TmHLt2
だいたい、Arduinoなのにprintfてなんだよって話
ArduinoならSerial.print()やSerial.println()でしょ?
Picoの公式のArduinoではSerial.printfは使えないしな

「Mutex: 0x20009A98, Not allowed in ISR context」
で検索してトップに出てきたmbedの例を見て脊髄反射で書いちゃったのかな?

そもそもArduinoの場合は割り込み関連は外部ライブラリ使うからな
例えば、Pico用のtimer割り込みの場合、MBED_RPI_PICO_TimerInterruptなんてのがある
Arduinoの場合、割り込み関連は使ってるマイコン自体に依存する場合がほとんどじゃないの?
0898774ワット発電中さん
垢版 |
2022/03/03(木) 00:47:25.39ID:0oaFCHzW
>>897
おまえは要領得ないだらけたレス連投するから皆が嫌がってる
短く的確に余計な感情など書くな
0899774ワット発電中さん
垢版 |
2022/03/03(木) 02:02:03.99ID:xdvvII/W
皆がなどと書かなきゃならんほど自分の意見に自信がないんか
0900774ワット発電中さん
垢版 |
2022/03/03(木) 05:14:17.49ID:3xwIxleG
printfだろうがprintだろうがprintlnだろうがどうでも良いことだろ
そしてライブラリがどうこうもどうでも良いことだよ

本質はmutexを理解せずにデットロックして
吹っ飛んでシリアルが制御できずide接続が切れること

で、デバッカーで追えて幸せだなんて言ってないでちゃんとコード読まないからいつまでも解決しないってことだろう

また他のことでやらかすぞこいつ

ところでライブラリのバグだとケチつけたがどうやってそのライブラリが事象を発生させてるか、そしてライブラリをどう治せば解決するかはこんなに時間使ったんだからそろそろ理解したんだよな?
0902774ワット発電中さん
垢版 |
2022/03/03(木) 05:46:11.08ID:Tk/KWTxH
割り込みハンドラ側でシリアル出力して止まるならキューでメインルーチンに送って
メインルーチンでシリアルに送ればいいだけだろ?
printfとかわけわからないこと言いだしたのは誰だろうな

あまりよくないことだけど、割り込みハンドラ側でsnprintf使ってもハングはしない

https://pastebin.com/mdGjBVSz
0903774ワット発電中さん
垢版 |
2022/03/03(木) 05:52:46.87ID:Tk/KWTxH
>>900
結局、ライブラリはPicoのArduinoに対応してなかったけどな

新しいOneWireNgという方で対応し始めたらしいが
まだ、作者が実機をもってないらしくテストしてないようだけどね
mbedベースのArduinoはArduinoの範疇を超えるようなことする場合
mbedの知識が必要らしい
0905774ワット発電中さん
垢版 |
2022/03/03(木) 06:04:12.10ID:Tk/KWTxH
結局、ググってこのサンプルコード見て脊髄反射でprintfなんて言っちゃったんだろうね
Arduinoでprintfなんて使えないのにね

ttps://os.mbed.com/questions/86903/Error-Message-Mutex-0x2000168C-Not-allow/
0906774ワット発電中さん
垢版 |
2022/03/03(木) 06:22:45.99ID:Tk/KWTxH
mutexだのシリアルが制御だの言ってるがたぶんID:iTMHsFOmはそこまでしてないと思うぞ
どうも、割り込みハンドラ側でシリアル出力するだけでハングするみたい
mutexはたぶん、mbed自身のライブラリかArduino coreの方で使ってるんだろうね
>>905に書かれてるソースも別にmutex使ってないし
0907774ワット発電中さん
垢版 |
2022/03/03(木) 07:41:09.75ID:Tk/KWTxH
割り込みハンドラ側でシリアル出力したら即ハングするのもUSBシリアルの問題っぽいね
UART出力のSerial1にしたら割り込みハンドラ側からシリアル出力してもハングしない
ただ、メインルーチンと割り込みハンドラ側で同時にSerial1を使うなら
queueでメインルーチンに送信してメインルーチン側で処理した方が確実だね
0908774ワット発電中さん
垢版 |
2022/03/03(木) 07:48:16.19ID:D355cDx9
必ずしも互換性がない物をまとめてArduinoって呼んでいるうえに
マニュアルすら読まない人が使っているんだから混乱を生じない方が不思議
0909774ワット発電中さん
垢版 |
2022/03/03(木) 09:19:59.09ID:cag1O0Oj
自分で意識しているコード(ライブラリ含む)以外にも
mbed OSなるものの処理が走っていて
おまけにUSBによるパソコンとのやり取りもしてるからな。
0910774ワット発電中さん
垢版 |
2022/03/03(木) 09:27:14.73ID:cag1O0Oj
picoprobeでのデバック中にUSB側のSerialにアクセスするとハングしたりね。
0911774ワット発電中さん
垢版 |
2022/03/03(木) 11:07:45.03ID:9BUqAaE0
このスレpicoよりメモリ容量少ない奴多いな
脳内メモリが少ないからって垂れ流すなよ
何度も同じようなことを連レスする前に頭の中を整理整頓して出力しろ
0912774ワット発電中さん
垢版 |
2022/03/03(木) 12:03:20.99ID:9l6/W1Ix
基本的に5ch質問して解決しようとするアホに
付き合っておちょくってヒートすることを楽しみにしてる連中がいて
それを無視して説教を始る
まさに2ch伝統
0916774ワット発電中さん
垢版 |
2022/03/03(木) 14:28:48.48ID:XcJRl7j2
こんな板にいる子供部屋おじさんが若者ぶって笑笑とか言っても寒々しいだけだぞ
匿名掲示板の陰キャおっさんらしく藁とか(ワラとか使いなさい
出来ないなら世のため人の為に今すぐ死になさい
0918774ワット発電中さん
垢版 |
2022/03/03(木) 16:30:32.93ID:CqD0+e3T
>>911
ほんそれ
0921774ワット発電中さん
垢版 |
2022/03/05(土) 11:53:33.48ID:IjrUmib7
バージョンと再現コードくらい晒すのがマナー
0925774ワット発電中さん
垢版 |
2022/03/07(月) 15:50:40.42ID:ZueYYvcH
↓ぼくの想像する あるでゅいの・じぇいそん さん(35)のイメージ(^p^)
0930774ワット発電中さん
垢版 |
2022/03/08(火) 17:17:52.71ID:1j0LQeBX
寝たかと思ったら本当に出てた汁
0931774ワット発電中さん
垢版 |
2022/03/08(火) 17:29:35.48ID:1j0LQeBX
尼損観たが確かに書評がまだ無い
ISBN
4295600407
目次だけ観る限りは初歩の初歩だけって感じだし
このスレずっと観て来た人には不要じゃないかな
0932ふむぅ・・・
垢版 |
2022/03/08(火) 19:13:12.77ID:+XiWe4EB
取り敢えず今言える事は、左右で(瞳の)虹彩のサイズを換えるのは
パースを付けているつもりなのかもしれないが
左右の瞳で優位のサイズ差が生じるのは相当カメラが顔面に近い場合であって
この様な上半身まるまる画角に収まる場合においては立体幾何的に不適切ではないか?
とおもうわけだぐゎ、あとはpicoを斜めに見てこのサイズという事は 頭部よりもpico基板の方が大きいわけで
このおにゃの子はおそらくサイズ的に妖精さんではないか?という事が強く推測される(^p^)かわええのぅ
0934出はご要望にお応えしてキモくいってみませう!!
垢版 |
2022/03/08(火) 19:28:06.56ID:+XiWe4EB
しまった、おれさまとしたことが鳥頭で以前の話を失念していた!!
先に指摘されていた驚愕の新事実 >>891 を踏まえるに
こんなかわいい妖精さんが 革の戦闘服に身を包み
鞭や蝋燭でびっしばし我々を詰って下さるに違いない!
ぐふゅふゅ(^p^*)ありがてぇ ありがてぇ
0935774ワット発電中さん
垢版 |
2022/03/08(火) 19:46:10.36ID:KxF4V1sc
    \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな表紙で俺様が釣られクマ――
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
0936774ワット発電中さん
垢版 |
2022/03/08(火) 19:49:01.06ID:KxF4V1sc
それはともかく、InterfaceのPICO特集は初歩的すぎるのと
アセンブラ駆使の両極端で微妙だった。
0940774ワット発電中さん
垢版 |
2022/03/09(水) 13:04:21.95ID:BeYFNh/d
なぜPICの話・・・あれ? もしかしてPICOってPIC乗せてるの?!
0942774ワット発電中さん
垢版 |
2022/03/09(水) 15:37:43.01ID:ag+1fOTF
cortex-Mアセンブラ、32bit定数ロードがLDR疑似命令なんだよな
armは昔からそうだとは言え、馴れない…
0943774ワット発電中さん
垢版 |
2022/03/09(水) 17:55:10.87ID:qh3TPsci
アセンブラ読み書きするならRXが良い
Cortex-Mは16bit命令と32bit命令の板挟みでウボァー
0946774ワット発電中さん
垢版 |
2022/03/10(木) 06:40:42.41ID:iviWTatN
>>942
Cortex-M3、M4、M7になら16bitずつ読み込む他のRISC CPUみたいな命令あるんだけどね
PicoはCortex-M0+なのでそんな命令はありません。
Cortex-M0+はほとんどの命令が命令長16bitの命令なので仕方がない
そもそもすべてのCortex-MシリーズにはARM命令はないです。
そしてCortex-M0、M0+は他のCortex-Mと違ってARMv6-Mです(他のはARMv7-M)。
たしか、Cortex-M0、M0+は後方512バイトまでのリテラルプールにしかアクセスできない
だから長い関数だと関数の途中にリテラルプールが置かれる

>>943
今のARMはユニバーサルアセンブラというアセンブラがあってな
ってかPicoはCortex-M0+だからアセンブラ使いにくいよね
アセンブラで組むならせめてCortex-M3がほしい
0947774ワット発電中さん
垢版 |
2022/03/10(木) 07:19:23.79ID:iviWTatN
アセンブラといってもたいていはインラインアセンブラだろうけど、
インラインアセンブラじゃなくて、関数全体をアセンブラで書く場合で
Arduino IDEでアセンブラやる場合に
Arduino IDEはアセンブラの拡張子で小文字の.sは認識してくれません。
大文字の.Sを使いましょう
あと、Arduinoの場合はC++なのでアセンブラで書いた関数にはextern "C" {}で囲いましょう
0948774ワット発電中さん
垢版 |
2022/03/10(木) 10:39:38.53ID:Sp3+s9L2
いよいよ part2 スレか
0949774ワット発電中さん
垢版 |
2022/03/10(木) 11:28:42.33ID:OAQdURok
新スレ前にてんぷれかんがえようず
お勧めの購入先
お勧めの教本
お勧めの電力会社 もとい ぱわーさぷらい☆彡
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況