@@ -458,8 +458,6 @@ def conv19bitToInt32 (threeByteBuffer):
458458
459459 return (prefix << 19 ) | (threeByteBuffer [0 ] << 16 ) | (threeByteBuffer [1 ] << 8 ) | threeByteBuffer [2 ]
460460
461-
462-
463461def decompressDeltas19Bit (buffer ):
464462 """
465463 Called to when a compressed packet is received.
@@ -468,63 +466,63 @@ def decompressDeltas19Bit(buffer):
468466 """
469467 if len (buffer ) != 19 :
470468 raise ValueError ("Input should be 19 bytes long." )
471-
469+
472470 receivedDeltas = [[0 , 0 , 0 , 0 ],[0 , 0 , 0 , 0 ]]
473471
474472 # Sample 1 - Channel 1
475473 miniBuf = [
476474 (buffer [0 ] >> 5 ),
477- ((buffer [0 ] & 0x1F ) << 3 ) | (buffer [1 ] >> 5 ),
478- ((buffer [1 ] & 0x1F ) << 3 ) | (buffer [2 ] >> 5 )
475+ ((buffer [0 ] & 0x1F ) << 3 & 0xFF ) | (buffer [1 ] >> 5 ),
476+ ((buffer [1 ] & 0x1F ) << 3 & 0xFF ) | (buffer [2 ] >> 5 )
479477 ]
480478
481479 receivedDeltas [0 ][0 ] = conv19bitToInt32 (miniBuf )
482480
483481 # Sample 1 - Channel 2
484482 miniBuf = [
485483 (buffer [2 ] & 0x1F ) >> 2 ,
486- (buffer [2 ] << 6 ) | (buffer [3 ] >> 2 ),
487- (buffer [3 ] << 6 ) | (buffer [4 ] >> 2 )
484+ (buffer [2 ] << 6 & 0xFF ) | (buffer [3 ] >> 2 ),
485+ (buffer [3 ] << 6 & 0xFF ) | (buffer [4 ] >> 2 )
488486 ]
489487 receivedDeltas [0 ][1 ] = conv19bitToInt32 (miniBuf )
490488
491489 # Sample 1 - Channel 3
492490 miniBuf = [
493- ((buffer [4 ] & 0x03 ) << 1 ) | (buffer [5 ] >> 7 ),
494- ((buffer [5 ] & 0x7F ) << 1 ) | (buffer [6 ] >> 7 ),
495- ((buffer [6 ] & 0x7F ) << 1 ) | (buffer [7 ] >> 7 )
491+ ((buffer [4 ] & 0x03 ) << 1 & 0xFF ) | (buffer [5 ] >> 7 ),
492+ ((buffer [5 ] & 0x7F ) << 1 & 0xFF ) | (buffer [6 ] >> 7 ),
493+ ((buffer [6 ] & 0x7F ) << 1 & 0xFF ) | (buffer [7 ] >> 7 )
496494 ]
497495 receivedDeltas [0 ][2 ] = conv19bitToInt32 (miniBuf )
498496
499497 # Sample 1 - Channel 4
500498 miniBuf = [
501499 ((buffer [7 ] & 0x7F ) >> 4 ),
502- ((buffer [7 ] & 0x0F ) << 4 ) | (buffer [8 ] >> 4 ),
503- ((buffer [8 ] & 0x0F ) << 4 ) | (buffer [9 ] >> 4 )
500+ ((buffer [7 ] & 0x0F ) << 4 & 0xFF ) | (buffer [8 ] >> 4 ),
501+ ((buffer [8 ] & 0x0F ) << 4 & 0xFF ) | (buffer [9 ] >> 4 )
504502 ]
505503 receivedDeltas [0 ][3 ] = conv19bitToInt32 (miniBuf )
506504
507505 # Sample 2 - Channel 1
508506 miniBuf = [
509507 ((buffer [9 ] & 0x0F ) >> 1 ),
510- (buffer [9 ] << 7 ) | (buffer [10 ] >> 1 ),
511- (buffer [10 ] << 7 ) | (buffer [11 ] >> 1 )
508+ (buffer [9 ] << 7 & 0xFF ) | (buffer [10 ] >> 1 ),
509+ (buffer [10 ] << 7 & 0xFF ) | (buffer [11 ] >> 1 )
512510 ]
513511 receivedDeltas [1 ][0 ] = conv19bitToInt32 (miniBuf )
514512
515513 # Sample 2 - Channel 2
516514 miniBuf = [
517- ((buffer [11 ] & 0x01 ) << 2 ) | (buffer [12 ] >> 6 ),
518- (buffer [12 ] << 2 ) | (buffer [13 ] >> 6 ),
519- (buffer [13 ] << 2 ) | (buffer [14 ] >> 6 )
515+ ((buffer [11 ] & 0x01 ) << 2 & 0xFF ) | (buffer [12 ] >> 6 ),
516+ (buffer [12 ] << 2 & 0xFF ) | (buffer [13 ] >> 6 ),
517+ (buffer [13 ] << 2 & 0xFF ) | (buffer [14 ] >> 6 )
520518 ]
521519 receivedDeltas [1 ][1 ] = conv19bitToInt32 (miniBuf )
522520
523521 # Sample 2 - Channel 3
524522 miniBuf = [
525523 ((buffer [14 ] & 0x38 ) >> 3 ),
526- ((buffer [14 ] & 0x07 ) << 5 ) | ((buffer [15 ] & 0xF8 ) >> 3 ),
527- ((buffer [15 ] & 0x07 ) << 5 ) | ((buffer [16 ] & 0xF8 ) >> 3 )
524+ ((buffer [14 ] & 0x07 ) << 5 & 0xFF ) | ((buffer [15 ] & 0xF8 ) >> 3 ),
525+ ((buffer [15 ] & 0x07 ) << 5 & 0xFF ) | ((buffer [16 ] & 0xF8 ) >> 3 )
528526 ]
529527 receivedDeltas [1 ][2 ] = conv19bitToInt32 (miniBuf )
530528
0 commit comments