研究でspresenseを用いた小型ロボットの製作に取り組んでいます。  
Arduino
IDEと互換性があるのでVstoneから出ているコントローラーであるvc-c3（Arduinoではps2xというgithubからのライブラリをインストールして使える）を組み込んで操作できるようにしたいと考えているのですがそのライブラリはspresenseで使おうとすると対応していないのかコンパイルできません。  
このコントローラはspresenseで使うことができるのか使えないのか、もし使えるのならどういうライブラリが必要なのかをおしえていただきたいです。
CC BY-SA 4.0
2023-07-18T09:25:00.133
95673
2023-07-22T05:30:26.803
58339
question
spresense
spresenseでvc-c3は使えるのか
VS-
RCV3とのSPI接続がうまくいっていないのではと思いましたが、コンパイルエラーということは、どこかにコードの記述があるか、参照できないコードが有効になっているのだと思います。

コミュニティの皆さんからより具体的なアドバイスをもらうには、できる範囲で具体的なコードを共有するか、エラー情報を掲載したらよいと思います。
CC BY-SA 4.0
2023-07-19T01:38:45.450
95680
2023-07-19T01:38:45.450
49022
95673
answer
使用しているライブラリは、https://github.com/madsci1016/Arduino-PS2X でしょうか？
（以降、こちらのライブラリを使っていることを前提とします）

ソースコードがそれほど長くないので見てみましたが、このライブラリは、Arduino互換の全てのボードに対応していないようです。前提としているプラットフォームは、AVR
と ESP8266 とおそらくPIC？だけのようです。そのため、SPRESENSE ではコンパイルエラーが発生しているようです。

この中でもっともAPIの構成が似ているのが、ESP8266なので、試しに次の定義を変えてみました。

```

    PS2X_lib.cpp（184行目、214行目、452行目）
    PS2X_lib.h  （98行目、220行目）
    （変更前） #ifdef ESP8266
    （変更後） #if defined(ESP8266) || defined(ARDUINO_ARCH_SPRESENSE)
    
```

一応コンパイルは通りました。vc-c3 が手元にないので、動くかどうかはわかりませんが、、、  
ご参考になれば幸いです。
CC BY-SA 4.0
2023-07-22T05:30:26.803
95726
2023-07-22T05:30:26.803
27334
95673
answer