|
22 | 22 | #include "slave_drivers/uhk_module_driver.h" |
23 | 23 | #include "macros/status_buffer.h" |
24 | 24 | #include "connections.h" |
25 | | -#include "resend.h" |
26 | 25 | #include "debug.h" |
27 | 26 | #include "trace.h" |
28 | 27 | #include "usb_commands/usb_command_reenumerate.h" |
@@ -117,11 +116,6 @@ static connection_id_t determineChannel(device_id_t dst) { |
117 | 116 | return ConnectionId_Invalid; |
118 | 117 | } |
119 | 118 |
|
120 | | -uint16_t Messenger_GetMissedMessages(device_id_t dst) { |
121 | | - connection_id_t connId = determineChannel(dst); |
122 | | - return Connections[connId].watermarks.missedCount; |
123 | | -} |
124 | | - |
125 | 119 | static char getDeviceAbbrev(device_id_t src) { |
126 | 120 | switch (src) { |
127 | 121 | case DeviceId_Uhk80_Left: |
@@ -153,9 +147,6 @@ static void receiveLeft(device_id_t src, const uint8_t* data, uint16_t len) { |
153 | 147 | case MessageId_RoundTripTest: |
154 | 148 | RoundTripTest_Receive(data, len); |
155 | 149 | break; |
156 | | - case MessageId_ResendRequest: |
157 | | - Resend_ResendRequestReceived(src, determineChannel(src), data, len); |
158 | | - break; |
159 | 150 | default: |
160 | 151 | printk("Didn't expect to receive message %i %i\n", data[0], data[1]); |
161 | 152 | break; |
@@ -200,9 +191,6 @@ static void receiveRight(device_id_t src, const uint8_t* data, uint16_t len) { |
200 | 191 | case MessageId_RoundTripTest: |
201 | 192 | RoundTripTest_Receive(data, len); |
202 | 193 | break; |
203 | | - case MessageId_ResendRequest: |
204 | | - Resend_ResendRequestReceived(src, determineChannel(src), data, len); |
205 | | - break; |
206 | 194 | default: |
207 | 195 | printk("Unrecognized or unexpected message [%i, %i, ...]\n", data[0], data[1]); |
208 | 196 | break; |
@@ -264,9 +252,6 @@ static void receiveDongle(device_id_t src, const uint8_t* data, uint16_t len) { |
264 | 252 | case MessageId_RoundTripTest: |
265 | 253 | RoundTripTest_Receive(data, len); |
266 | 254 | break; |
267 | | - case MessageId_ResendRequest: |
268 | | - Resend_ResendRequestReceived(src, determineChannel(src), data, len); |
269 | | - break; |
270 | 255 | default: |
271 | 256 | printk("Unrecognized or unexpected message [%i, %i, ...]\n", data[0], data[1]); |
272 | 257 | break; |
@@ -386,34 +371,11 @@ void logAllMessages(uint8_t srcConnectionId, uint8_t src, const uint8_t* data, u |
386 | 371 |
|
387 | 372 |
|
388 | 373 | bool processWatermarks(uint8_t srcConnectionId, uint8_t src, const uint8_t* data, uint16_t len, uint8_t offset) { |
389 | | - if (data[offset+MessageOffset_MsgId1] == MessageId_ResendRequest) { |
390 | | - return true; |
391 | | - } |
392 | | - |
393 | | - uint8_t wm = data[offset+MessageOffset_Wm]; |
394 | | - uint8_t lastWm = Connections[srcConnectionId].watermarks.rxIdx; |
395 | | - uint8_t expectedWm = lastWm + 1; |
396 | | - |
397 | | - if (wm == lastWm) { |
398 | | - // we have already received this message, so don't push it into the queue again. |
399 | | - return false; |
400 | | - } |
401 | | - |
402 | 374 | if (data == MessengerQueue_BlackholeBuffer) { |
403 | 375 | return false; |
404 | 376 | } |
405 | 377 |
|
406 | | - if (false && wm != expectedWm && DEBUG_MODE) { |
407 | | - if (wm != 0) { |
408 | | - int8_t difference = wm - expectedWm; |
409 | | - LogUSDO("Message index doesn't match by %i message(s) from connection %d (%s), wm %d / %d\n", difference, srcConnectionId, Connections_GetStaticName(srcConnectionId), wm, expectedWm); |
410 | | - } else { |
411 | | - // they have resetted their connection; that is fine, just update our watermarks |
412 | | - } |
413 | | - Connections[srcConnectionId].watermarks.missedCount++; |
414 | | - } |
415 | | - |
416 | | - Connections[srcConnectionId].watermarks.rxIdx = wm; |
| 378 | + Connections[srcConnectionId].watermarks.rxIdx = data[offset+MessageOffset_Wm]; |
417 | 379 |
|
418 | 380 | return true; |
419 | 381 | } |
@@ -472,6 +434,10 @@ void Messenger_ProcessQueue() { |
472 | 434 | } |
473 | 435 | } |
474 | 436 |
|
| 437 | +void Messenger_UpdateWatermarks(message_t* msg) { |
| 438 | + msg->wm = Connections[msg->connectionId].watermarks.txIdx++; |
| 439 | +} |
| 440 | + |
475 | 441 | int Messenger_SendMessage(message_t* message) { |
476 | 442 | connection_id_t connectionId = message->connectionId; |
477 | 443 | device_id_t dst = message->dst; |
|
0 commit comments