@@ -76,7 +76,8 @@ def test_dump_constants_simple(self):
76
76
'const uint16_t kBAROneSpace = 1485;' ,
77
77
'const uint16_t kBARZeroSpace = 520;' ,
78
78
'const uint16_t kBARFreq = 38000; // Hz. (Guessing the most common '
79
- 'frequency.)'
79
+ 'frequency.)' ,
80
+ 'const bool kBARMsbFirst = true; // default assumption'
80
81
])
81
82
self .assertEqual (
82
83
output .getvalue (), 'Guessing key value:\n '
@@ -113,7 +114,8 @@ def test_dump_constants_aircon(self):
113
114
'const uint16_t kTESTZeroSpace = 554;' ,
114
115
'const uint16_t kTESTSpaceGap = 19990;' ,
115
116
'const uint16_t kTESTFreq = 38000; // Hz. (Guessing the most common '
116
- 'frequency.)'
117
+ 'frequency.)' ,
118
+ 'const bool kTESTMsbFirst = true; // default assumption'
117
119
])
118
120
self .assertEqual (
119
121
output .getvalue (), 'Guessing key value:\n '
@@ -302,6 +304,7 @@ def test_parse_and_report(self):
302
304
'const uint16_t kFOOZeroSpace = 520;\n '
303
305
'const uint16_t kFOOFreq = 38000; // Hz. (Guessing the most common'
304
306
' frequency.)\n '
307
+ 'const bool kFOOMsbFirst = true; // default assumption\n '
305
308
'const uint16_t kFOOBits = 16; // Move to IRremoteESP8266.h\n '
306
309
'const uint16_t kFOOOverhead = 5;\n '
307
310
'\n '
@@ -323,15 +326,15 @@ def test_parse_and_report(self):
323
326
' // Data Section #1\n '
324
327
' // e.g. data = 0xEB, nbits = 8\n '
325
328
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
326
- ' send_data, 8, true );\n '
329
+ ' send_data, 8, kFOOMsbFirst );\n '
327
330
' send_data >>= 8;\n '
328
331
' // Footer\n '
329
332
' mark(kFOOBitMark);\n '
330
333
' space(kFOOHdrSpace);\n '
331
334
' // Data Section #2\n '
332
335
' // e.g. data = 0x1, nbits = 8\n '
333
336
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
334
- ' send_data, 8, true );\n '
337
+ ' send_data, 8, kFOOMsbFirst );\n '
335
338
' send_data >>= 8;\n '
336
339
' // Footer\n '
337
340
' mark(kFOOBitMark);\n '
@@ -374,7 +377,8 @@ def test_parse_and_report(self):
374
377
' // e.g. data_result.data = 0xEB, nbits = 8\n '
375
378
' data_result = matchData(&(results->rawbuf[offset]), 8,\n '
376
379
' kFOOBitMark, kFOOOneSpace,\n '
377
- ' kFOOBitMark, kFOOZeroSpace);\n '
380
+ ' kFOOBitMark, kFOOZeroSpace,\n '
381
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
378
382
' offset += data_result.used;\n '
379
383
' if (data_result.success == false) return false; // Fail\n '
380
384
' data <<= 8; // Make room for the new bits of data.\n '
@@ -390,7 +394,8 @@ def test_parse_and_report(self):
390
394
' // e.g. data_result.data = 0x1, nbits = 8\n '
391
395
' data_result = matchData(&(results->rawbuf[offset]), 8,\n '
392
396
' kFOOBitMark, kFOOOneSpace,\n '
393
- ' kFOOBitMark, kFOOZeroSpace);\n '
397
+ ' kFOOBitMark, kFOOZeroSpace,\n '
398
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
394
399
' offset += data_result.used;\n '
395
400
' if (data_result.success == false) return false; // Fail\n '
396
401
' data <<= 8; // Make room for the new bits of data.\n '
@@ -585,6 +590,7 @@ def test_leader_marks(self):
585
590
'const uint16_t kHitachiSpaceGap = 49290;\n '
586
591
'const uint16_t kHitachiFreq = 38000; // Hz. (Guessing the most'
587
592
' common frequency.)\n '
593
+ 'const bool kHitachiMsbFirst = true; // default assumption\n '
588
594
'const uint16_t kHitachiBits = 424; // Move to IRremoteESP8266.h\n '
589
595
'const uint16_t kHitachiStateLength = 53; // Move to IRremoteESP8266.h'
590
596
'\n '
@@ -616,7 +622,7 @@ def test_leader_marks(self):
616
622
'FFCA358F7000FF00FF01FEC03F807F11EE00FF00FFFF00FF00FF00FF00,'
617
623
' nbits = 424\n '
618
624
' sendData(kHitachiBitMark, kHitachiOneSpace, kHitachiBitMark,'
619
- ' kHitachiZeroSpace, send_data, 424, true );\n '
625
+ ' kHitachiZeroSpace, send_data, 424, kHitachiMsbFirst );\n '
620
626
' send_data >>= 424;\n '
621
627
' // Footer\n '
622
628
' mark(kHitachiBitMark);\n '
@@ -663,7 +669,8 @@ def test_leader_marks(self):
663
669
' kHitachiBitMark, kHitachiZeroSpace,\n '
664
670
' kHitachiBitMark, kHitachiSpaceGap,\n '
665
671
' data + pos, 53, // Bytes\n '
666
- ' kHitachiFreq, true, kNoRepeat, kDutyDefault);\n '
672
+ ' kHitachiFreq, kHitachiMsbFirst, kNoRepeat,'
673
+ ' kDutyDefault);\n '
667
674
' pos += 53; // Adjust by how many bytes of data we sent\n '
668
675
' }\n '
669
676
'}\n '
@@ -714,7 +721,9 @@ def test_leader_marks(self):
714
721
' nbits = 424\n '
715
722
' data_result = matchData(&(results->rawbuf[offset]), 424,\n '
716
723
' kHitachiBitMark, kHitachiOneSpace,\n '
717
- ' kHitachiBitMark, kHitachiZeroSpace);\n '
724
+ ' kHitachiBitMark, kHitachiZeroSpace,\n '
725
+ ' kUseDefTol, kMarkExcess,'
726
+ ' kHitachiMsbFirst);\n '
718
727
' offset += data_result.used;\n '
719
728
' if (data_result.success == false) return false; // Fail\n '
720
729
' data <<= 424; // Make room for the new bits of data.\n '
@@ -772,7 +781,8 @@ def test_leader_marks(self):
772
781
' kHitachiHdrMark, kHitachiHdrSpace,\n '
773
782
' kHitachiBitMark, kHitachiOneSpace,\n '
774
783
' kHitachiBitMark, kHitachiZeroSpace,\n '
775
- ' kHitachiBitMark, kHitachiSpaceGap, true);\n '
784
+ ' kHitachiBitMark, kHitachiSpaceGap,'
785
+ ' kHitachiMsbFirst);\n '
776
786
' if (used == 0) return false; // We failed to find any data.\n '
777
787
' offset += used; // Adjust for how much of the message we read.\n '
778
788
' pos += 53; // Adjust by how many bytes of data we read\n '
@@ -898,6 +908,7 @@ def test_unusual_gaps(self):
898
908
'const uint16_t kFOOSpaceGap = 13996;\n '
899
909
'const uint16_t kFOOFreq = 38000; // Hz. (Guessing the most common'
900
910
' frequency.)\n '
911
+ 'const bool kFOOMsbFirst = true; // default assumption\n '
901
912
'const uint16_t kFOOBits = 128; // Move to IRremoteESP8266.h\n '
902
913
'const uint16_t kFOOStateLength = 16; // Move to IRremoteESP8266.h\n '
903
914
'const uint16_t kFOOOverhead = 16;\n '
@@ -922,15 +933,15 @@ def test_unusual_gaps(self):
922
933
' // Data Section #1\n '
923
934
' // e.g. data = 0x5F5F4040, nbits = 32\n '
924
935
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
925
- ' send_data, 32, true );\n '
936
+ ' send_data, 32, kFOOMsbFirst );\n '
926
937
' send_data >>= 32;\n '
927
938
' // Header\n '
928
939
' mark(kFOOHdrMark);\n '
929
940
' space(kFOOHdrSpace);\n '
930
941
' // Data Section #2\n '
931
942
' // e.g. data = 0x5F5F4040, nbits = 32\n '
932
943
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
933
- ' send_data, 32, true );\n '
944
+ ' send_data, 32, kFOOMsbFirst );\n '
934
945
' send_data >>= 32;\n '
935
946
' // Header\n '
936
947
' mark(kFOOHdrMark);\n '
@@ -944,15 +955,15 @@ def test_unusual_gaps(self):
944
955
' // Data Section #3\n '
945
956
' // e.g. data = 0x2F2F6C6C, nbits = 32\n '
946
957
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
947
- ' send_data, 32, true );\n '
958
+ ' send_data, 32, kFOOMsbFirst );\n '
948
959
' send_data >>= 32;\n '
949
960
' // Header\n '
950
961
' mark(kFOOHdrMark);\n '
951
962
' space(kFOOHdrSpace);\n '
952
963
' // Data Section #4\n '
953
964
' // e.g. data = 0x2F2F6C6C, nbits = 32\n '
954
965
' sendData(kFOOBitMark, kFOOOneSpace, kFOOBitMark, kFOOZeroSpace,'
955
- ' send_data, 32, true );\n '
966
+ ' send_data, 32, kFOOMsbFirst );\n '
956
967
' send_data >>= 32;\n '
957
968
' // Header\n '
958
969
' mark(kFOOHdrMark);\n '
@@ -994,7 +1005,7 @@ def test_unusual_gaps(self):
994
1005
' kFOOBitMark, kFOOZeroSpace,\n '
995
1006
' kFOOHdrMark, kFOOHdrSpace,\n '
996
1007
' data + pos, 4, // Bytes\n '
997
- ' kFOOFreq, true , kNoRepeat, kDutyDefault);\n '
1008
+ ' kFOOFreq, kFOOMsbFirst , kNoRepeat, kDutyDefault);\n '
998
1009
' pos += 4; // Adjust by how many bytes of data we sent\n '
999
1010
' // Data Section #2\n '
1000
1011
' // e.g.\n '
@@ -1005,7 +1016,7 @@ def test_unusual_gaps(self):
1005
1016
' kFOOBitMark, kFOOZeroSpace,\n '
1006
1017
' kFOOHdrMark, kFOOHdrSpace,\n '
1007
1018
' data + pos, 4, // Bytes\n '
1008
- ' kFOOFreq, true , kNoRepeat, kDutyDefault);\n '
1019
+ ' kFOOFreq, kFOOMsbFirst , kNoRepeat, kDutyDefault);\n '
1009
1020
' pos += 4; // Adjust by how many bytes of data we sent\n '
1010
1021
' // Data Section #3\n '
1011
1022
' // e.g.\n '
@@ -1016,7 +1027,7 @@ def test_unusual_gaps(self):
1016
1027
' kFOOBitMark, kFOOZeroSpace,\n '
1017
1028
' kFOOHdrMark, kFOOHdrSpace,\n '
1018
1029
' data + pos, 4, // Bytes\n '
1019
- ' kFOOFreq, true , kNoRepeat, kDutyDefault);\n '
1030
+ ' kFOOFreq, kFOOMsbFirst , kNoRepeat, kDutyDefault);\n '
1020
1031
' pos += 4; // Adjust by how many bytes of data we sent\n '
1021
1032
' // Data Section #4\n '
1022
1033
' // e.g.\n '
@@ -1027,7 +1038,7 @@ def test_unusual_gaps(self):
1027
1038
' kFOOBitMark, kFOOZeroSpace,\n '
1028
1039
' kFOOHdrMark, kFOOHdrSpace,\n '
1029
1040
' data + pos, 4, // Bytes\n '
1030
- ' kFOOFreq, true , kNoRepeat, kDutyDefault);\n '
1041
+ ' kFOOFreq, kFOOMsbFirst , kNoRepeat, kDutyDefault);\n '
1031
1042
' pos += 4; // Adjust by how many bytes of data we sent\n '
1032
1043
' }\n '
1033
1044
'}\n '
@@ -1068,7 +1079,8 @@ def test_unusual_gaps(self):
1068
1079
' // e.g. data_result.data = 0x5F5F4040, nbits = 32\n '
1069
1080
' data_result = matchData(&(results->rawbuf[offset]), 32,\n '
1070
1081
' kFOOBitMark, kFOOOneSpace,\n '
1071
- ' kFOOBitMark, kFOOZeroSpace);\n '
1082
+ ' kFOOBitMark, kFOOZeroSpace,\n '
1083
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
1072
1084
' offset += data_result.used;\n '
1073
1085
' if (data_result.success == false) return false; // Fail\n '
1074
1086
' data <<= 32; // Make room for the new bits of data.\n '
@@ -1084,7 +1096,8 @@ def test_unusual_gaps(self):
1084
1096
' // e.g. data_result.data = 0x5F5F4040, nbits = 32\n '
1085
1097
' data_result = matchData(&(results->rawbuf[offset]), 32,\n '
1086
1098
' kFOOBitMark, kFOOOneSpace,\n '
1087
- ' kFOOBitMark, kFOOZeroSpace);\n '
1099
+ ' kFOOBitMark, kFOOZeroSpace,\n '
1100
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
1088
1101
' offset += data_result.used;\n '
1089
1102
' if (data_result.success == false) return false; // Fail\n '
1090
1103
' data <<= 32; // Make room for the new bits of data.\n '
@@ -1112,7 +1125,8 @@ def test_unusual_gaps(self):
1112
1125
' // e.g. data_result.data = 0x2F2F6C6C, nbits = 32\n '
1113
1126
' data_result = matchData(&(results->rawbuf[offset]), 32,\n '
1114
1127
' kFOOBitMark, kFOOOneSpace,\n '
1115
- ' kFOOBitMark, kFOOZeroSpace);\n '
1128
+ ' kFOOBitMark, kFOOZeroSpace,\n '
1129
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
1116
1130
' offset += data_result.used;\n '
1117
1131
' if (data_result.success == false) return false; // Fail\n '
1118
1132
' data <<= 32; // Make room for the new bits of data.\n '
@@ -1128,7 +1142,8 @@ def test_unusual_gaps(self):
1128
1142
' // e.g. data_result.data = 0x2F2F6C6C, nbits = 32\n '
1129
1143
' data_result = matchData(&(results->rawbuf[offset]), 32,\n '
1130
1144
' kFOOBitMark, kFOOOneSpace,\n '
1131
- ' kFOOBitMark, kFOOZeroSpace);\n '
1145
+ ' kFOOBitMark, kFOOZeroSpace,\n '
1146
+ ' kUseDefTol, kMarkExcess, kFOOMsbFirst);\n '
1132
1147
' offset += data_result.used;\n '
1133
1148
' if (data_result.success == false) return false; // Fail\n '
1134
1149
' data <<= 32; // Make room for the new bits of data.\n '
@@ -1189,7 +1204,7 @@ def test_unusual_gaps(self):
1189
1204
' kFOOHdrMark, kFOOHdrSpace,\n '
1190
1205
' kFOOBitMark, kFOOOneSpace,\n '
1191
1206
' kFOOBitMark, kFOOZeroSpace,\n '
1192
- ' kFOOHdrMark, kFOOHdrSpace, true );\n '
1207
+ ' kFOOHdrMark, kFOOHdrSpace, kFOOMsbFirst );\n '
1193
1208
' if (used == 0) return false; // We failed to find any data.\n '
1194
1209
' offset += used; // Adjust for how much of the message we read.\n '
1195
1210
' pos += 4; // Adjust by how many bytes of data we read\n '
@@ -1204,7 +1219,7 @@ def test_unusual_gaps(self):
1204
1219
' kFOOHdrMark, kFOOHdrSpace,\n '
1205
1220
' kFOOBitMark, kFOOOneSpace,\n '
1206
1221
' kFOOBitMark, kFOOZeroSpace,\n '
1207
- ' kFOOHdrMark, kFOOHdrSpace, true );\n '
1222
+ ' kFOOHdrMark, kFOOHdrSpace, kFOOMsbFirst );\n '
1208
1223
' if (used == 0) return false; // We failed to find any data.\n '
1209
1224
' offset += used; // Adjust for how much of the message we read.\n '
1210
1225
' pos += 4; // Adjust by how many bytes of data we read\n '
@@ -1219,7 +1234,7 @@ def test_unusual_gaps(self):
1219
1234
' kFOOHdrMark, kFOOHdrSpace,\n '
1220
1235
' kFOOBitMark, kFOOOneSpace,\n '
1221
1236
' kFOOBitMark, kFOOZeroSpace,\n '
1222
- ' kFOOHdrMark, kFOOHdrSpace, true );\n '
1237
+ ' kFOOHdrMark, kFOOHdrSpace, kFOOMsbFirst );\n '
1223
1238
' if (used == 0) return false; // We failed to find any data.\n '
1224
1239
' offset += used; // Adjust for how much of the message we read.\n '
1225
1240
' pos += 4; // Adjust by how many bytes of data we read\n '
@@ -1234,7 +1249,7 @@ def test_unusual_gaps(self):
1234
1249
' kFOOHdrMark, kFOOHdrSpace,\n '
1235
1250
' kFOOBitMark, kFOOOneSpace,\n '
1236
1251
' kFOOBitMark, kFOOZeroSpace,\n '
1237
- ' kFOOHdrMark, kFOOHdrSpace, true );\n '
1252
+ ' kFOOHdrMark, kFOOHdrSpace, kFOOMsbFirst );\n '
1238
1253
' if (used == 0) return false; // We failed to find any data.\n '
1239
1254
' offset += used; // Adjust for how much of the message we read.\n '
1240
1255
' pos += 4; // Adjust by how many bytes of data we read\n '
@@ -1333,6 +1348,7 @@ def test_no_headers(self):
1333
1348
'const uint16_t kZeroSpace = 547;\n '
1334
1349
'const uint16_t kFreq = 38000; // Hz. (Guessing the most common'
1335
1350
' frequency.)\n '
1351
+ 'const bool kMsbFirst = true; // default assumption\n '
1336
1352
'const uint16_t kBits = 128; // Move to IRremoteESP8266.h\n '
1337
1353
'const uint16_t kStateLength = 16; // Move to IRremoteESP8266.h\n '
1338
1354
'const uint16_t kOverhead = 1;\n '
@@ -1354,7 +1370,7 @@ def test_no_headers(self):
1354
1370
' // Data Section #1\n '
1355
1371
' // e.g. data = 0xA55A0000400000000000000000000080, nbits = 128\n '
1356
1372
' sendData(kBitMark, kOneSpace, kBitMark, kZeroSpace, send_data,'
1357
- ' 128, true );\n '
1373
+ ' 128, kMsbFirst );\n '
1358
1374
' send_data >>= 128;\n '
1359
1375
' // Footer\n '
1360
1376
' mark(kBitMark);\n '
@@ -1393,7 +1409,7 @@ def test_no_headers(self):
1393
1409
' kBitMark, kZeroSpace,\n '
1394
1410
' kBitMark, kDefaultMessageGap,\n '
1395
1411
' data + pos, 16, // Bytes\n '
1396
- ' kFreq, true , kNoRepeat, kDutyDefault);\n '
1412
+ ' kFreq, kMsbFirst , kNoRepeat, kDutyDefault);\n '
1397
1413
' pos += 16; // Adjust by how many bytes of data we sent\n '
1398
1414
' }\n '
1399
1415
'}\n '
@@ -1429,7 +1445,8 @@ def test_no_headers(self):
1429
1445
' = 128\n '
1430
1446
' data_result = matchData(&(results->rawbuf[offset]), 128,\n '
1431
1447
' kBitMark, kOneSpace,\n '
1432
- ' kBitMark, kZeroSpace);\n '
1448
+ ' kBitMark, kZeroSpace,\n '
1449
+ ' kUseDefTol, kMarkExcess, kMsbFirst);\n '
1433
1450
' offset += data_result.used;\n '
1434
1451
' if (data_result.success == false) return false; // Fail\n '
1435
1452
' data <<= 128; // Make room for the new bits of data.\n '
@@ -1483,7 +1500,7 @@ def test_no_headers(self):
1483
1500
' 0, 0,\n '
1484
1501
' kBitMark, kOneSpace,\n '
1485
1502
' kBitMark, kZeroSpace,\n '
1486
- ' kBitMark, kDefaultMessageGap, true );\n '
1503
+ ' kBitMark, kDefaultMessageGap, kMsbFirst );\n '
1487
1504
' if (used == 0) return false; // We failed to find any data.\n '
1488
1505
' offset += used; // Adjust for how much of the message we read.\n '
1489
1506
' pos += 16; // Adjust by how many bytes of data we read\n '
0 commit comments