Dependencies: SimpleMapSerialization serial_communication
Diff: communication.cpp
- Revision:
- 4:24d383b68566
- Parent:
- 2:074942a78af1
- Child:
- 5:b1573848235e
diff -r 41100e52d11d -r 24d383b68566 communication.cpp --- a/communication.cpp Sun Apr 03 14:18:39 2016 +0000 +++ b/communication.cpp Mon Apr 04 07:43:32 2016 +0000 @@ -7,6 +7,7 @@ communication* communication::instance_ = NULL; const int communication::velocity_offset_ = 32767; +const float communication::analog_stick_lower_limit_ = 0.2f; communication::communication() {} @@ -20,39 +21,30 @@ serial_communication::instance()->get("stkLY") }; - // 受信データは [0, 65535] の範囲であるので [-1, 1] に変換する if ((iv[0] == velocity_offset_) && (iv[1] == velocity_offset_)) { return vector2f(); } vector2f v; + // 受信データは [0, 65535] の範囲であるので [-1, 1] に変換する for (uint32_t i = 0; i < 2; ++i) { v[i] = iv[i]; v[i] -= velocity_offset_; v[i] /= velocity_offset_; - /* - switch(iv[i]) { - case 0: - v[i] = 0.0f; - break; - - case 1: - v[i] = 1.0f; - - break; - - case 2: - v[i] = -1.0f; - break; - } - */ } if (v.length() > 1.0f) { return v.unit(); } + if (v.length() < analog_stick_lower_limit_) { + return vector2f(); // しきい値以下なら移動操作無しとみなす + } + + + + return v; /*