Skip to content

Commit b924155

Browse files
authored
Merge pull request #14 from SlimeVR/abnormal-rotation-packet-4
Filter abnormal rotation for packet 4
2 parents 11241b2 + 902ca35 commit b924155

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/hid.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ K_THREAD_DEFINE(usb_init_thread_id, 256, usb_init_thread, NULL, NULL, NULL, 6, 0
217217
//|1 |id |q0 |q1 |q2 |q3 |a0 |a1 |a2 |
218218
//|2 |id |batt |batt_v |temp |q_buf |a0 |a1 |a2 |rssi |
219219
//|3 |id |svr_stat|status |resv |rssi |
220+
//|4 |id |q0 |q1 |q2 |q3 |m0 |m1 |m2 |
220221
//|255 |id |addr |resv |
221222

222223
#include "util.h"
@@ -226,13 +227,13 @@ static int last_valid_trackers[256] = {0};
226227
void hid_write_packet_n(uint8_t *data, uint8_t rssi)
227228
{
228229
// discard packets with abnormal rotation // TODO:
229-
if (data[0] == 1 || data[0] == 2)
230+
if (data[0] == 1 || data[0] == 2 || data[0] == 4)
230231
{
231232
float v[3] = {0};
232233
float q[4] = {0};
233234
int16_t *buf = (int16_t *)&data[2];
234235
uint32_t *q_buf = (uint32_t *)&data[5];
235-
if (data[0] == 1)
236+
if (data[0] == 1 || data[0] == 4)
236237
{
237238
q[0] = FIXED_15_TO_DOUBLE(buf[3]);
238239
q[1] = FIXED_15_TO_DOUBLE(buf[0]);

0 commit comments

Comments
 (0)