以下のレーザー距離センサーのM5stack用の開発環境準備のために調べてみた結果です。
https://www.switch-science.com/products/8183
① Arduino IDEではライブラリを選択して、Arduino用のデモプログラムを持って来ればコンパイル完了
https://learn.adafruit.com/adafruit-vl53l4cx-time-of-flight-distance-sensor/arduino
もちろんArduino IDEでM5stackを使えるような準備は必要です
② PlatformIOではライブラリ無いからソース持ってきてコンパイルしようとしてもエラー
ライブラリのソースは上記のリンク先のGitHubから、
https://github.com/stm32duino/VL53L4CX
デモプロはArduino IDEの時と同じくArduino用をそのまま、
試行錯誤の結果、PlatformIOでM5stackライブラリを組み込むとダメ、ライブラリ使わないようにすればコンパイルはうまくいく、ただしM5stackの機能を使うために、
#include<M5Stack.h>
を追加するとM5stackライブラリ無しでは当然コンパイルできないし、include文を追加すればコンパイルエラーも出ない。従ってArduino専用のサンプルプログラムの時(M5stackライブラリ不要時)にはM5stackライブラリをPlatformIOに組み込んではいけないということになります。おそらくArduino.hとM5Stack.hでコンフリクトしている(多分中身はかなり共通)んじゃないか想像できます。M5stackではArduino.hは不要だからArduino.hを削除してM5Stack.hだけ残しても問題なくコンパイルできるから。
コンパイル結果ですが、メモリ少ないデバイスでは動かないよと言われるように、結構メモリを消費しています。
admin