modeはSTS3215のworkmodeの設定に応じて選択してください。 シリアル通信のbaudrateが1Mbpsだと、オーバーランエラーになる可能性があります(処理能力依存) 500kbps以下を推奨します。
#include <cstdio>
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart4;
extern "C" void main_thread(void *) {
uart2.enable_stdout();
while (true) {
if(!sts.update()){
printf("error\r\n");
}else{
float Kp = 5;
float x_target = 0.5f;
float x_actual = sts.get_rotation();
float error = x_target - x_actual;
sts.set_ref(Kp * error);
printf("%f %f\r\n", sts.get_rps(), sts.get_rotation());
}
Thread::delay(10);
}
}
Definition sts3215.hpp:64