Code: Select all
On checkID Do
// %eventvalue1% = key
// %eventvalue2% = lower limit index
// %eventvalue3% = upper limit index
Let,997,(%eventvalue2%+%eventvalue3%)/2 // Compute "middle" index
Let,998,[int#997]+1
// [int#%v997%] is the key in the middle of our search range
If %eventvalue1% = [int#%v997%] or %eventvalue1% = [int#%v998%]
// Found it
Event,OkTag=%eventvalue1%
Else
If %eventvalue2%=%eventvalue3%
// Upper and lower limit are the same
// So we have not found the key
// No need to continue searching
Else
// When refering to an index, make sure to use the [int#<n>] notation, not the floating point version.
If %eventvalue1% > [int#%v997%]
// Check upper half
Asyncevent,checkID=%eventvalue1%,[int#997],%eventvalue3%
Else
// Check lower half
Asyncevent,checkID=%eventvalue1%,%eventvalue2%,[int#997]
Endif
Endif
Endif
Endon
On Stage2_IN#Tag Do
if %iswifi%=7
else
If [Stage2_IN#Tag]>0
Event,readet=[Stage2_IN#Tag]
Endif
endif
Endon
On Stage2_OUT#Tag Do
if %iswifi%=7
else
If [Stage2_OUT#Tag]>0
Event,readet=[Stage2_OUT#Tag]
Endif
endif
Endon
On readet Do // Valid tag value, now check if accepted
// %eventvalue1% = key
// 1000 = Lower limit
// [int#999] = upper limit
Asyncevent,checkID=%eventvalue1%,1000,[int#999]
Endon
On OkTag Do
LogEntry,'Tag %eventvalue1% OK',1 // ERROR log
LongPulse,27,1,2
// Pulse,19,0,5
Endon
on http#192.168.21.28=-1 do
if [Stage2_IN#Tag]>0
Event,readet=[Stage2_IN#Tag]
elseif [Stage2_OUT#Tag]>0
Event,readet=[Stage2_OUT#Tag]
endif
endon
on WiFi#Connected do
// LongPulse_mS,25,0,300,300,6
// LongPulse_mS,21,0,300,300,6
NeoPixel,1,0,0,20
endon
on WiFi#Disconnected do
// LongPulse_mS,25,0,500,500,6
// LongPulse_mS,21,0,500,500,6
NeoPixel,1,20,20,0
endon
on http#192.168.21.28=201 do
LongPulse,27,1,2
Pulse,25,0,5
timerSet,1,2
NeoPixel,1,0,20,0
endon
on http#192.168.21.28=202 do
LongPulse,27,1,2
Pulse,21,0,5
timerSet,1,2
NeoPixel,1,0,20,0
endon
on http#192.168.21.28=400 do
LongPulse,25,0,3
LongPulse,21,0,3
timerSet,1,3
NeoPixel,1,20,0,0
endon
on Stage2in do
LongPulse,27,1,2
endon
on Stage2out do
LongPulse,27,1,2
endon
on in1#State=0 do
LongPulse,27,1,2
timerSet,1,2
NeoPixel,1,0,20,0
endon
on in2#State=0 do
LongPulse,27,1,2
timerSet,1,2
NeoPixel,1,0,20,0
endon
On Rules#Timer=1 do
NeoPixel,1,0,0,20
endOn
On System#Boot Do
Asyncevent,loadData // Load the sorted tag data
timerSet,1,2
Endon
Code: Select all
On loadData Do
Let,999,1300
Let,1000,109327
Let,1001,109602
Let,1002,365871
Let,1003,845402
Let,1004,852479
Let,1005,858520
Let,1006,866206
Let,1007,867031
Let,1008,1945170
Let,1009,3047188
Let,1010,3082261
Let,1011,3353752
Let,1012,3366429
Let,1013,3727088
Let,1014,3727540
Let,1015,3771400
Let,1016,3772885
Let,1017,3773062
Let,1018,3787096
Let,1019,3801121
Let,1020,4026145
Let,1021,4072241
Let,1022,4080007
Let,1023,4082169
Let,1024,4097419
Let,1025,4112794
Let,1026,7008377
Let,1027,7019290
Let,1028,7444956
Let,1029,7818841
Let,1030,8074761
Let,1031,9586795
Let,1032,9602697
Let,1033,9603548
Let,1034,9657199
Let,1035,9665933
Let,1036,11672488
Let,1037,92246380
Let,1038,95878284
Let,1039,115410654
Let,1040,1111111111
Let,1041,1111111111
Let,1042,1111111111
Let,1043,1111111111
Let,1044,1111111111
Let,1045,1111111111
Let,1046,1111111111
Let,1047,1111111111
Let,1048,1111111111
Let,1049,1111111111
Let,1050,1111111111
Let,1051,1111111111
Let,1052,1111111111
Let,1053,1111111111
Let,1054,1111111111
Let,1055,1111111111
Let,1056,1111111111
Let,1057,1111111111
Let,1058,1111111111
Let,1059,1111111111
Let,1060,1111111111
Let,1061,1111111111
Let,1062,1111111111
Let,1063,1111111111
Let,1064,1111111111
Let,1065,1111111111
Let,1066,1111111111
Let,1067,1111111111
Let,1068,1111111111
Let,1069,1111111111
Let,1070,1111111111
Let,1071,1111111111
Let,1072,1111111111
Let,1073,1111111111
Let,1074,1111111111
Let,1075,1111111111
Let,1076,1111111111
Let,1077,1111111111
Let,1078,1111111111
Let,1079,1111111111
Let,1080,1111111111
Let,1081,1111111111
Let,1082,1111111111
Let,1083,1111111111
Let,1084,1111111111
Let,1085,1111111111
Let,1086,1111111111
Let,1087,1111111111
Let,1088,1111111111
Let,1089,1111111111
Let,1090,1111111111
Let,1091,1111111111
Let,1092,1111111111
Let,1093,1111111111
Let,1094,1111111111
Let,1095,1111111111
Let,1096,1111111111
Let,1097,1111111111
Let,1098,1111111111
Let,1099,1111111111
Let,1100,1111111111
Let,1101,1111111111
Let,1102,1111111111
Let,1103,1111111111
Let,1104,1111111111
Let,1105,1111111111
Let,1106,1111111111
Let,1107,1111111111
Let,1108,1111111111
Let,1109,1111111111
Let,1110,1111111111
Let,1111,1111111111
Let,1112,1111111111
Let,1113,1111111111
Let,1114,1111111111
Let,1115,1111111111
Let,1116,1111111111
Let,1117,1111111111
Let,1118,1111111111
Let,1119,1111111111
Let,1120,1111111111
Let,1121,1111111111
Let,1122,1111111111
Let,1123,1111111111
Let,1124,1111111111
Let,1125,1111111111
Let,1126,1111111111
Let,1127,1111111111
Let,1128,1111111111
Let,1129,1111111111
Let,1130,1111111111
Let,1131,1111111111
Let,1132,1111111111
Let,1133,1111111111
Let,1134,1111111111
Let,1135,1111111111
Let,1136,1111111111
Let,1137,1111111111
Let,1138,1111111111
Let,1139,1111111111
Let,1140,1111111111
Let,1141,1111111111
Let,1142,1111111111
Let,1143,1111111111
Let,1144,1111111111
Let,1145,1111111111
Let,1146,1111111111
Let,1147,1111111111
Let,1148,1111111111
Let,1149,1111111111
Let,1150,1111111111
Let,1151,1111111111
Let,1152,1111111111
Let,1153,1111111111
Let,1154,1111111111
Let,1155,1111111111
Let,1156,1111111111
Let,1157,1111111111
Let,1158,1111111111
Let,1159,1111111111
Let,1160,1111111111
Let,1161,1111111111
Let,1162,1111111111
Let,1163,1111111111
Let,1164,1111111111
Let,1165,1111111111
Let,1166,1111111111
Let,1167,1111111111
Let,1168,1111111111
Let,1169,1111111111
Let,1170,1111111111
Let,1171,1111111111
Let,1172,1111111111
Let,1173,1111111111
Let,1174,1111111111
Let,1175,1111111111
Let,1176,1111111111
Let,1177,1111111111
Let,1178,1111111111
Let,1179,1111111111
Let,1180,1111111111
Let,1181,1111111111
Let,1182,1111111111
Let,1183,1111111111
Let,1184,1111111111
Let,1185,1111111111
Let,1186,1111111111
Let,1187,1111111111
Let,1188,1111111111
Let,1189,1111111111
Let,1190,1111111111
Let,1191,1111111111
Let,1192,1111111111
Let,1193,1111111111
Let,1194,1111111111
Let,1195,1111111111
Let,1196,1111111111
Let,1197,1111111111
Let,1198,1111111111
Let,1199,1111111111
Let,1200,1111111111
Let,1201,1111111111
Let,1202,1111111111
Let,1203,1111111111
Let,1204,1111111111
Let,1205,1111111111
Let,1206,1111111111
Let,1207,1111111111
Let,1208,1111111111
Let,1209,1111111111
Let,1210,1111111111
Let,1211,1111111111
Let,1212,1111111111
Let,1213,1111111111
Let,1214,1111111111
Let,1215,1111111111
Let,1216,1111111111
Let,1217,1111111111
Let,1218,1111111111
Let,1219,1111111111
Let,1220,1111111111
Let,1221,1111111111
Let,1222,1111111111
Let,1223,1111111111
Let,1224,1111111111
Let,1225,1111111111
Let,1226,1111111111
Let,1227,1111111111
Let,1228,1111111111
Let,1229,1111111111
Let,1230,1111111111
Let,1231,1111111111
Let,1232,1111111111
Let,1233,1111111111
Let,1234,1111111111
Let,1235,1111111111
Let,1236,1111111111
Let,1237,1111111111
Let,1238,1111111111
Let,1239,1111111111
Let,1240,1111111111
Let,1241,1111111111
Let,1242,1111111111
Let,1243,1111111111
Let,1244,1111111111
Let,1245,1111111111
Let,1246,1111111111
Let,1247,1111111111
Let,1248,1111111111
Let,1249,1111111111
Let,1250,1111111111
Let,1251,1111111111
Let,1252,1111111111
Let,1253,1111111111
Let,1254,1111111111
Let,1255,1111111111
Let,1256,1111111111
Let,1257,1111111111
Let,1258,1111111111
Let,1259,1111111111
Let,1260,1111111111
Let,1261,1111111111
Let,1262,1111111111
Let,1263,1111111111
Let,1264,1111111111
Let,1265,1111111111
Let,1266,1111111111
Let,1267,1111111111
Let,1268,1111111111
Let,1269,1111111111
Let,1270,1111111111
Let,1271,1111111111
Let,1272,1111111111
Let,1273,1111111111
Let,1274,1111111111
Let,1275,1111111111
Let,1276,1111111111
Let,1277,1111111111
Let,1278,1111111111
Let,1279,1111111111
Let,1280,1111111111
Let,1281,1111111111
Let,1282,1111111111
Let,1283,1111111111
Let,1284,1111111111
Let,1285,1111111111
Let,1286,1111111111
Let,1287,1111111111
Let,1288,1111111111
Let,1289,1111111111
Let,1290,1111111111
Let,1291,1111111111
Let,1292,1111111111
Let,1293,1111111111
Let,1294,1111111111
Let,1295,1111111111
Let,1296,1111111111
Let,1297,1111111111
Let,1298,1111111111
Let,1299,1111111111
Let,1300,1111111111
Endon