Closed Noir-swim closed 4 months ago
src/schneider_model.cpp: In constructor 'omniboat::Schneider::Schneider()':
src/schneider_model.cpp:29:5: error: class 'omniboat::Schneider' does not have any field named 'pc'
29 | pc(USBTX, USBRX) {
| ^~
*** [.pio/build/nucleo_f303k8/src/schneider_model.o] Error 1
lib/MPU6050/MPU6050.cpp: In member function 'void MPU6050::setGyroRange(char)':
lib/MPU6050/MPU6050.cpp:156:17: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
156 | temp = temp + range << 3;
| ~~~~~^~~~~~~
========================= [FAILED] Took 167.12 seconds =========================
このエラーが出ていたのでcppファイルのpcが含まれている箇所を消せばいいと考えているのですがあってますか?? 探したところ、該当箇所はこの部分で
pc(USBTX, USBRX) {
led(1);
led(2);
led(3);
printf("start up\n");
servo_1.period_ms(20);
servo_2.period_ms(20);
}
pc(USBTX, USBRX)が{}でくくっているので、}
まで消せばいいと思っているのですが、ledの変数まで消してはダメな気がします。。どうすればいいでしょうか?
ちなみに消してみたらエラーが出たのと、これではクラスの構造を壊してしまっているので間違っている気がします。。
そもそも
hppファイルにあった
BufferedSerial pc
を消すのではなくて、
を別の変数にすればよかったのでしょうか.......?
今このようになっています
はい、そこでは「コンストラクタのメンバ変数初期化子リスト」という構文が使われています それを踏まえて考えてみてください https://zenn.dev/melos/articles/7b7fbc5fd41270
もしかしてこれであってますか?? リンクで記載してあったの構造のように pcのくくりを消して、そのあとに{}を加えてみたらエラーが消えました。 間違っていましたらヒントを教えていただきたいです。。。。
とりあえずプッシュしてみます。
https://github.com/rogy-AquaLab/omniboat_robokit/issues/166