これはlibraryのarduinoの対応Verが古くそのための齟齬が生じているため。
以下3か所の変更が必要
ものはswitch scienceで販売されている
1.Serialのflush命令の削除
serial処理のflush命令が使えないため。この命令を削除する必要がある(このため送信完了待ちがなくなるが支障なかった)変更箇所はRCS6920S.cppの中にある
void RCS620S::flushSerial(void) という関数。
この関数内でコールされているflush()を削除する。
2.Serialポートの変更
libraryはプログラムの書き込み、モニタを行うSerialポートを選択する設定になっているので、これを別(M5Stackの場合はSerial2)にする変更を行ったほうが良い。RCS620S.cppの
#includeの下に、
HardwareSerial RCS620SSerial(2);
を追加してSerial2を"RCS620SSerial"という名称で使用する宣言を入れる。
プログラム内にある"Serial."の文字を"RCS620SSerial"で置き換える。
int RCS620S::initDevice(void) 関数内に
RCS620SSerial.begin(115200); // for RC-S620/S
の命令を追加する。
3.includeの削除
#include "Wprogram.h"
は削除するか、
#include "Arduino.h"
に置き換える(なくても動作する)
#include "Print.h"
は削除しても動作する。