87 for (
size_t i = 0; i < 8; ++i) {
88 if (buf_[0] == 0x80 || !uart_.
receive(buf_.data(), 1, 0)) {
92 if (buf_[0] != 0x80 || !uart_.
receive(buf_.data() + 1, 7, 0)) {
97 for (
size_t i = 1; i < 7; ++i) {
101 if ((checksum & 0x7F) == buf_[7]) {
102 keys_ = (buf_[1] << 8) | buf_[2];
103 if ((keys_ & 0x03) == 0x03) {
107 if ((keys_ & 0x0C) == 0x0C) {
111 for (
size_t i = 0; i < 4; ++i) {
112 axes_[i] = (
static_cast<float>(buf_[i + 3]) - 64) / 64;