xnecas 3 месяцев назад
Родитель
Сommit
42faab9320

+ 189 - 115
data.csv

@@ -1,115 +1,189 @@
-TS,5.1.1,5.1.2,5.1.3,5.2.1,5.2.2,5.2.3,5.3.1,5.3.2,5.4.1,5.4.2,5.5.1,5.129.1,5.130.1,5.130.2,9.1.1,9.1.2,9.1.3,9.2.1,9.2.2,9.2.3,9.3.1,9.3.2,9.4.1,9.4.2,9.5.1,9.129.1,9.130.1,9.130.2
-113111,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113164,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113217,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113270,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113323,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113376,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113429,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113482,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113535,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113588,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113641,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113694,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113747,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113800,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113853,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113906,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-113959,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114012,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114065,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114118,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114171,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114224,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114277,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114330,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114383,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114436,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114489,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114542,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114595,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114648,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114701,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114754,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114807,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114860,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114913,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-114966,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115019,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115072,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115125,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115178,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115231,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115284,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115337,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115390,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115443,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115496,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115549,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115602,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115655,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115708,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115761,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115814,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115867,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115920,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-115973,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116026,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116079,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116132,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116185,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116238,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116291,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116344,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116397,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116450,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116503,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116556,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116609,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116662,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116715,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116768,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116821,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116874,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116927,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-116980,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117033,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117086,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117139,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117192,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117245,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117298,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117351,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117404,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117457,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117510,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117563,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117616,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117669,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117722,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117775,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117828,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117881,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117934,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-117987,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118040,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118093,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118146,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118199,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118252,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118305,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118358,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118411,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118464,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118517,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118570,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118623,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118676,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118729,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118782,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118835,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118888,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118941,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-118994,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-119047,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
-119100,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+TS,5.1.1,5.1.2,5.1.3,5.2.1,5.2.2,5.2.3,5.3.1,5.3.2,5.4.1,5.4.2,5.5.1,5.129.1,5.130.1,5.130.2
+210358,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210411,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210464,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210517,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210570,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210623,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210676,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210729,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210782,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210835,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210888,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210941,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+210994,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211047,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211100,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211153,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211206,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211259,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211312,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211365,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211418,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211471,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211524,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211577,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211630,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211683,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211736,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211789,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211842,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211895,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+211948,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212001,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212054,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212107,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212160,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212213,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212266,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212319,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212372,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212425,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212478,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212531,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212584,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212637,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212690,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212743,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212796,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212849,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212902,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+212955,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213008,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213061,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213114,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213167,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213220,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213273,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213326,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213379,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213432,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213485,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213538,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213591,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213644,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213697,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213750,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213803,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213856,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213909,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+213962,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214015,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214068,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214121,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214174,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214227,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214280,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214333,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214386,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214439,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214492,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214545,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214598,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214651,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214704,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214757,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214810,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214863,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214916,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+214969,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215022,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215075,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215128,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215181,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215234,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215287,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215340,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215393,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215446,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215499,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215552,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215605,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215658,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215711,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215764,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215817,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215870,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215923,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+215976,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216029,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216082,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216135,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216188,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216241,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216294,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216347,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216400,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216453,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216506,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216559,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216612,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216665,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216718,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216771,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216824,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216877,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216930,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+216983,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217036,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217089,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217142,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217195,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217248,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217301,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217354,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217407,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217460,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217513,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217566,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217619,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217672,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217725,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217778,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217831,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217884,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217937,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+217990,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218043,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218096,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218149,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218202,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218255,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218308,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218361,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218414,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218467,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218520,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218573,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218626,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218679,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218732,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218785,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218838,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218891,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218944,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+218997,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219050,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219103,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219156,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219209,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219262,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219315,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219368,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219421,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219474,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219527,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219580,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219633,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219686,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219739,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219792,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219845,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219898,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+219951,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220004,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220057,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220110,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220163,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220216,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0
+220269,1278900,-1312300,-2182900,3054417410,-190887440,-19852295490,17100,1800,131186229045.10493,-606717310589.2699,32.683,0,0.0,0.0

+ 10 - 9
debug.py

@@ -14,7 +14,7 @@ config = {
     "port_name": "COM4",
     "port_name": "COM4",
     "baud": NBusBaudrate.SPEED_921600,
     "baud": NBusBaudrate.SPEED_921600,
     "parity": NBusParity.NONE,
     "parity": NBusParity.NONE,
-    "timeout": 10.0,
+    "timeout": 1.0,
     "request_attempts": 1,
     "request_attempts": 1,
     "enable_log": True
     "enable_log": True
 }
 }
@@ -26,25 +26,26 @@ if __name__ == "__main__":
     #print(module1.cmd_get_sensor_type())
     #print(module1.cmd_get_sensor_type())
     #sys.exit()
     #sys.exit()
     #sys.exit(0)
     #sys.exit(0)
-    bridge = NBusBridge(port)
-    #print(module1.scan())
-
+    bridge = NBusBridge(port, 0.05, 0.05)
+    bridge.init_from_network()
+    print(bridge.cmd_get_data())
 
 
+    print(bridge.cmd_set_reset())
     print(bridge.cmd_get_slaves())
     print(bridge.cmd_get_slaves())
     print(bridge.cmd_get_format())
     print(bridge.cmd_get_format())
 
 
     bridge.start_data_streaming()
     bridge.start_data_streaming()
     time.sleep(5)
     time.sleep(5)
-    print((bridge.dataen()))
-    time.sleep(1)
+    print(bridge.fetch_chunk_from_stream())
+    time.sleep(5)
     bridge.stop_data_streaming()
     bridge.stop_data_streaming()
 
 
 
 
 
 
-    print((bridge.dataen()))
-    df = bridge.df
+    print(bridge.fetch_chunk_from_stream())
+    print(bridge.fetch_chunk_from_stream())
+    df = bridge.fetch_all_from_stream()
     df.to_csv("data.csv", index=False)
     df.to_csv("data.csv", index=False)
-
     sys.exit()
     sys.exit()
 
 
     module1.scan()
     module1.scan()

BIN
nbus_api/__pycache__/nbus_bridge.cpython-313.pyc


+ 143 - 111
nbus_api/nbus_bridge.py

@@ -15,50 +15,116 @@ from collections import namedtuple
 
 
 import pandas as pd
 import pandas as pd
 
 
-NBUS_RX_META = 4
-NBUS_FMT_SIZE = 4
-NBUS_TS_SIZE = 4
-NBUS_CRC_SIZE = 1
-NBUS_MA_SIZE = 1
-NBUS_SA_SIZE = 1
-
+from nbus_types.nbus_status_type import NBusStatusType
+
+NBUS_RX_META  =  4
+NBUS_FMT_SIZE =  4
+NBUS_TS_SIZE  =  4
+NBUS_CRC_SIZE =  1
+NBUS_MA_SIZE  =  1
+NBUS_SA_SIZE  =  1
 NBUS_CRC_ADDR = -1
 NBUS_CRC_ADDR = -1
+
 NBUS_BRIDGE_DATA_HDR = bytearray([0x00] + [0xFF] * 8 + [0x00])
 NBUS_BRIDGE_DATA_HDR = bytearray([0x00] + [0xFF] * 8 + [0x00])
+NBUS_BRIDGE_DATA_HDR_SIZE = len(NBUS_BRIDGE_DATA_HDR)
 
 
 @dataclass
 @dataclass
 class NBusSlaveMeta:
 class NBusSlaveMeta:
     obj: NBusSlaveModule
     obj: NBusSlaveModule
-    cnt: int
+    cnt: NBusSensorCount
     packet_size: int
     packet_size: int
 
 
 @beartype
 @beartype
 class NBusBridge:
 class NBusBridge:
-    def __init__(self, serial_port: NBusSerialPort):
+
+    def __init__(self, serial_port: NBusSerialPort, acquire_delay: float, flush_delay: float):
         """
         """
         Constructor.
         Constructor.
 
 
         :param serial_port: serial port
         :param serial_port: serial port
+        :param acquire_delay: intermediate delay between data fetching when data not ready
+        :param flush_delay: delay between stream flush
         """
         """
-        self.__port = serial_port
-        self.__slaves_meta = {}
-        self.__slaves = {}
-        self.__slaves_meta = {}
-        self.__scan_thread = None
-        self.__data_raw = bytearray([])
-        self.buf = deque()
-        self.lock = Lock()
-        self.__in_scan = False
-        self.__packet_size = 0
-
-        self.df = pd.DataFrame()
+        self.__port = serial_port               # serial port reference
+        self.__slaves_meta = {}                 # list of slaves meta information
+        self.__acquire_thread = None            # thread for data acquisition
+        self.__data_raw = bytearray()           # raw data buffer
+        self._lock = Lock()                     # thread lock
+        self.__in_acquisition = False           # flag when in acquisition
+        self.__acquire_delay = acquire_delay    # intermediate delay between data fetching when data not ready
+        self.__flush_delay = flush_delay        # delay between stream flush
+        self.__df = pd.DataFrame()              # internal data frame
 
 
     def init_from_network(self):
     def init_from_network(self):
+        try:
+            self.cmd_get_slaves()
+            self.cmd_get_format()
+        except Exception:
+            self.panic()
+
+    def panic(self):
+        self.stop_data_streaming()
+        self.cmd_set_reset()
         self.cmd_get_slaves()
         self.cmd_get_slaves()
         self.cmd_get_format()
         self.cmd_get_format()
 
 
+    def start_data_streaming(self):
+        self.__port.send_bridge(NBusCommand.CMD_SET_START, bytearray())
+
+        self.__acquire_thread = Thread(target=self.__acquire_callback)
+        self.__in_acquisition = True
+
+        # end thread if running
+        if self.__acquire_thread.is_alive():
+            self.__acquire_thread.join()
+
+        self.__acquire_thread.start()
+
+    def stop_data_streaming(self):
+        self.__port.send_bridge(NBusCommand.CMD_SET_STOP, bytearray())
+
+        self.__in_acquisition = False
+
+        if self.__acquire_thread is not None and self.__acquire_thread.is_alive():
+            self.__acquire_thread.join()
+
+        self.__port.flush(self.__flush_delay)
+
+    def fetch_chunk_from_stream(self):
+        with self._lock:
+            packets = self.__data_raw.split(NBUS_BRIDGE_DATA_HDR)
+            packet_cnt = len(packets) - self.__in_acquisition
+            parsed_packets = []
+
+            # parse packets
+            for i in range(packet_cnt):
+                data = self._parse_bridge_data(packets[i], True)
+                if data is not None:
+                    parsed_packets.append(data)
+
+            # extend internal dataframe
+            if parsed_packets:
+                data_frame = pd.DataFrame(parsed_packets)
+                self.__df = pd.concat([self.__df, data_frame], ignore_index=True)
+            else:
+                data_frame = pd.DataFrame()
+
+            # erase raw data buffer
+            if self.__in_acquisition:
+                unparsed_bytes = len(packets[-1]) + NBUS_BRIDGE_DATA_HDR_SIZE
+                self.__data_raw = self.__data_raw[-unparsed_bytes:]
+            else:
+                self.__data_raw = bytearray()
+
+        return data_frame
+
+    def fetch_all_from_stream(self):
+        df = self.__df
+        self.__df = pd.DataFrame()
+        return df
+
     def cmd_get_slaves(self):
     def cmd_get_slaves(self):
         resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_SLAVES, bytearray([]))
         resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_SLAVES, bytearray([]))
-
         slaves = {}
         slaves = {}
         data_offset = 0
         data_offset = 0
 
 
@@ -67,13 +133,21 @@ class NBusBridge:
             slave_sensor_cnt = NBusSensorCount(response[data_offset + 1] , response[data_offset + 2])
             slave_sensor_cnt = NBusSensorCount(response[data_offset + 1] , response[data_offset + 2])
 
 
             slaves[slave_addr] = slave_sensor_cnt
             slaves[slave_addr] = slave_sensor_cnt
-            self.__slaves_meta[slave_addr] = NBusSlaveMeta(NBusSlaveModule(self.__port, slave_addr), slave_sensor_cnt, 0)
+
+            self.__slaves_meta[slave_addr] = NBusSlaveMeta(
+                NBusSlaveModule(self.__port, slave_addr), slave_sensor_cnt, 0
+            )
+
             data_offset += 3
             data_offset += 3
 
 
         return slaves
         return slaves
 
 
+    def cmd_set_reset(self):
+        resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_SET_RESET, bytearray())
+        return NBusStatusType(response[0])
+
     def cmd_get_format(self):
     def cmd_get_format(self):
-        resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_FORMAT, bytearray([]))
+        resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_FORMAT, bytearray())
         data_offset = 0
         data_offset = 0
         fmt = {}
         fmt = {}
 
 
@@ -93,77 +167,33 @@ class NBusBridge:
         return fmt
         return fmt
 
 
     def cmd_get_data(self):
     def cmd_get_data(self):
-        resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_FORMAT, bytearray([]))
-
-    def scan_fn(self):
-            while self.__in_scan:
-                with self.lock:
-                    if self.__port.get_port().in_waiting > 0:
-                        self.__data_raw.extend(self.__port.get_port().read())
-                    else:
-                        time.sleep(0.05)
-
-
-    def start_data_streaming(self):
-
-        self.__port.send_bridge(NBusCommand.CMD_SET_START, bytearray([]))
-        self.__scan_thread = Thread(target=self.scan_fn)
-        self.__in_scan = True
-        self.__scan_thread.start()
-
-
-    def stop_data_streaming(self):
-        self.__port.send_bridge(NBusCommand.CMD_SET_STOP, bytearray([]))
-        self.__in_scan = False
-        self.__scan_thread.join()
-
-        while self.__port.get_port().in_waiting:
-            time.sleep(0.05)
-            self.__port.get_port().reset_input_buffer()
-            print("flushed baby")
-
-    def get_data(self):
-        return self.__data_raw
-
-    def dataen(self):
-
-        with (self.lock):
-            frames = self.__data_raw.split(NBUS_BRIDGE_DATA_HDR)
-            contain_end = int(self.__in_scan)
-            frames_cnt = len(frames) - contain_end
-
-            for i in range(frames_cnt):
-                frame = frames[i]
-                frame_len = len(frame)
-                frame_crc = crc8(NBUS_BRIDGE_DATA_HDR + frame[:NBUS_CRC_ADDR])
-                data_offset = 0
-
-                if frame_len == self.__packet_size and frame[NBUS_CRC_ADDR] == frame_crc:
-                    ts = struct.unpack("<I", frame[data_offset : data_offset + NBUS_TS_SIZE])[0]
-                    data = {"TS": ts}
-                    data_offset += NBUS_TS_SIZE
-
-                    while data_offset < frame_len - 1:
-                        module_addr = frame[data_offset]
-                        data_offset += NBUS_MA_SIZE
-                        packet_size = self.__slaves_meta[module_addr].packet_size
-                        packet = frame[data_offset : data_offset + packet_size]
-
-                        data |= self._get_data_from_response(module_addr, packet_size, packet)
-                        data_offset += packet_size
-
-                    self.df = pd.concat([self.df, pd.DataFrame([data])])
-                else:
-                    print("Zahodeny")
-
-
-
-            if contain_end:
-                unparsed_bytes = len(frames[-1]) + len(NBUS_BRIDGE_DATA_HDR)
-                self.__data_raw = self.__data_raw[-unparsed_bytes:]
-
-
-        return []
+        resp_length, *response = self.__port.request_bridge(NBusCommand.CMD_GET_DATA, bytearray())
+        return self._parse_bridge_data(bytearray(response), False)
+
+    def _parse_bridge_data(self, data_packet, check_packet):
+        packet_size = len(data_packet)
+        packet_crc = crc8(data_packet[:NBUS_CRC_ADDR])
+
+        if check_packet and (packet_size < NBUS_TS_SIZE + NBUS_CRC_SIZE or data_packet[NBUS_CRC_ADDR] != packet_crc):
+            return None
+        try:
+            data_offset = 0
+            ts = struct.unpack("<I", data_packet[data_offset : data_offset + NBUS_TS_SIZE])[0]
+            data = {"TS": ts}
+            data_offset += NBUS_TS_SIZE
+
+            while data_offset < packet_size - NBUS_CRC_SIZE:
+                module_addr = data_packet[data_offset]
+                data_offset += NBUS_MA_SIZE
+                packet_size = self.__slaves_meta[module_addr].packet_size
+                packet = data_packet[data_offset : data_offset + packet_size]
+
+                data |= self._get_data_from_response(module_addr, packet_size, packet)
+                data_offset += packet_size
+            return data
+
+        except Exception as ex:
+            return None
 
 
     def _set_data_packet_size(self):
     def _set_data_packet_size(self):
         self.__packet_size = NBUS_TS_SIZE + NBUS_CRC_SIZE
         self.__packet_size = NBUS_TS_SIZE + NBUS_CRC_SIZE
@@ -178,7 +208,6 @@ class NBusBridge:
             slave_meta.packet_size = packet_size
             slave_meta.packet_size = packet_size
             self.__packet_size += packet_size + NBUS_MA_SIZE
             self.__packet_size += packet_size + NBUS_MA_SIZE
 
 
-
     def _set_slave_format_from_response(self, slave_addr, resp_length, response):
     def _set_slave_format_from_response(self, slave_addr, resp_length, response):
         data_offset = 0
         data_offset = 0
         formats = {}
         formats = {}
@@ -188,7 +217,7 @@ class NBusBridge:
         # parse format
         # parse format
         while data_offset < resp_length:
         while data_offset < resp_length:
             device_id = response[data_offset]
             device_id = response[data_offset]
-            device_format = NbusCommonParser.format_from_response(response[data_offset:data_offset + 4])
+            device_format = NbusCommonParser.format_from_response(response[data_offset : data_offset + NBUS_FMT_SIZE])
 
 
             if device_id not in devices:
             if device_id not in devices:
                 devices[device_id] = NBusSensor(device_id)
                 devices[device_id] = NBusSensor(device_id)
@@ -201,30 +230,33 @@ class NBusBridge:
         return formats
         return formats
 
 
     def _get_data_from_response(self, slave_addr, resp_length, response):
     def _get_data_from_response(self, slave_addr, resp_length, response):
-        """
-        Get data from all module sensors.
-
-        :return: dict of device addresses and data values
-        """
-        # parse data
         data_offset = 0
         data_offset = 0
         data = {}
         data = {}
         devices = self.__slaves_meta[slave_addr].obj.get_devices()
         devices = self.__slaves_meta[slave_addr].obj.get_devices()
 
 
         while data_offset < resp_length:
         while data_offset < resp_length:
             device_id = response[data_offset]
             device_id = response[data_offset]
-            # handle errors
-            if devices[device_id].data_format is None:  # check for format and params
-                raise NBusErrorAPI(NBusErrorAPIType.FORMAT_NOT_LOADED)
 
 
-            values, offset = NbusCommonParser.data_from_response(devices[device_id].data_format,
-                                                                  response[data_offset:])
+            if devices[device_id].data_format is None:
+                raise NBusErrorAPI(NBusErrorAPIType.FORMAT_NOT_LOADED)
 
 
-            tag = str(slave_addr) + "." + str(device_id)
+            values, offset = NbusCommonParser.data_from_response(devices[device_id].data_format, response[data_offset:])
+            data_tag = str(slave_addr) + "." + str(device_id)
 
 
             for i in range(len(values)):
             for i in range(len(values)):
-                data[tag + "." + str(i + 1)] = values[i]
+                data[data_tag + "." + str(i + 1)] = values[i]
 
 
             data_offset += offset + NBUS_SA_SIZE
             data_offset += offset + NBUS_SA_SIZE
 
 
-        return data
+        return data
+
+    def __acquire_callback(self):
+        while self.__in_acquisition:
+            data = self.__port.try_read()
+
+            if not data:
+                time.sleep(self.__acquire_delay)
+                continue
+
+            with self._lock:
+                self.__data_raw.extend(data)

BIN
nbus_hal/nbus_serial/__pycache__/serial_port.cpython-313.pyc


+ 20 - 8
nbus_hal/nbus_serial/serial_port.py

@@ -1,6 +1,7 @@
 import time
 import time
 import serial
 import serial
 from typing import Any, Callable
 from typing import Any, Callable
+from nbus_types.nbus_defines import *
 
 
 from beartype import beartype
 from beartype import beartype
 
 
@@ -75,6 +76,17 @@ class NBusSerialPort(NBusPort):
         self._port.flush()
         self._port.flush()
         self._log('i', 0, 'Open communication port')
         self._log('i', 0, 'Open communication port')
 
 
+    def flush(self, inter_delay) -> None:
+        while self._port.in_waiting:
+            self._port.reset_input_buffer()
+            time.sleep(inter_delay)
+
+    def try_read(self):
+        if self._port.in_waiting > 0:
+            return self._port.read()
+        else:
+            return bytearray()
+
     def close(self) -> None:
     def close(self) -> None:
         """
         """
         Close port.
         Close port.
@@ -103,7 +115,7 @@ class NBusSerialPort(NBusPort):
         :param data: command data to send
         :param data: command data to send
              :param long_answer: delay in s for longer answer
              :param long_answer: delay in s for longer answer
         """
         """
-        return self._request_response(0, 0xFF, command.value, data, long_answer)
+        return self._request_response(NBUS_BROADCAST_ADDR, NBUS_BRIDGE_ADDR, command.value, data, long_answer)
 
 
     def send_bridge(self, command: NBusCommand, data: bytearray):
     def send_bridge(self, command: NBusCommand, data: bytearray):
         """
         """
@@ -112,7 +124,7 @@ class NBusSerialPort(NBusPort):
         :param data: command data to send
         :param data: command data to send
              :param long_answer: delay in s for longer answer
              :param long_answer: delay in s for longer answer
         """
         """
-        request = self._create_packet(bytearray([0, 0, 0xFF, command.value]), data)
+        request = self._create_packet(bytearray([0, NBUS_BROADCAST_ADDR, NBUS_BRIDGE_ADDR, command.value]), data)
         self._log("\tBRQ>", list(request))
         self._log("\tBRQ>", list(request))
         self._port.write(request)  # send message
         self._port.write(request)  # send message
 
 
@@ -122,7 +134,7 @@ class NBusSerialPort(NBusPort):
         :param command: command id
         :param command: command id
         :param data: command data to send
         :param data: command data to send
         """
         """
-        request = self._create_packet(bytearray([0, 0, 0xFF, command.value]), data)
+        request = self._create_packet(bytearray([0, NBUS_BROADCAST_ADDR, NBUS_BRIDGE_ADDR, command.value]), data)
         self._log("\tBRQ>", list(request))
         self._log("\tBRQ>", list(request))
         self._port.write(request)  # send message
         self._port.write(request)  # send message
 
 
@@ -227,17 +239,17 @@ class NBusSerialPort(NBusPort):
             raise NBusErrorNetwork(NBusErrorNetworkType.MESSAGE_NOT_COMPLETE)
             raise NBusErrorNetwork(NBusErrorNetworkType.MESSAGE_NOT_COMPLETE)
 
 
         # check for crc
         # check for crc
-        if response[-1] != crc8(response[:-1]):
-            print(response_l, response, crc8(response[:-1]), response[-1])
+        if response[NBUS_CRC_ADDR] != crc8(response[:NBUS_CRC_ADDR]):
             raise NBusErrorNetwork(NBusErrorNetworkType.DAMAGED_MESSAGE)
             raise NBusErrorNetwork(NBusErrorNetworkType.DAMAGED_MESSAGE)
 
 
         self._log('d', 0, "\tRS>", [response_l] + list(response))   # log response
         self._log('d', 0, "\tRS>", [response_l] + list(response))   # log response
 
 
         # check for node error
         # check for node error
-        if response[2] & NBUS_ERR_BIT:
-            raise NBusErrorNode(NBusErrorNodeType(response[3]))
+        if response[NBUS_FC_ADDR] & NBUS_ERR_BIT:
+            raise NBusErrorNode(NBusErrorNodeType(response[NBUS_DATA0_ADDR]))
 
 
-        return bytearray([response_l - 4]) + bytearray(response[3:-1])   # return payload length + payload
+        # return payload length + payload
+        return bytearray([response_l - NBUS_RX_META]) + bytearray(response[NBUS_DATA0_ADDR:NBUS_CRC_ADDR])
 
 
     def _log(self, *message: Any) -> None:
     def _log(self, *message: Any) -> None:
         """
         """

BIN
nbus_types/__pycache__/nbus_defines.cpython-313.pyc


+ 21 - 0
nbus_types/nbus_defines.py

@@ -0,0 +1,21 @@
+from typing import Final
+
+NBUS_RX_META: Final    =  4
+
+NBUS_BROADCAST_ADDR: Final =  0x00
+NBUS_BRIDGE_ADDR: Final    =  0xFF
+
+
+
+NBUS_FMT_SIZE: Final   =  4
+NBUS_TS_SIZE: Final    =  4
+NBUS_CRC_SIZE: Final   =  1
+NBUS_MA_SIZE: Final    =  1
+NBUS_SA_SIZE: Final    =  1
+
+NBUS_MA_ADDR: Final    =  0
+NBUS_SA_ADDR: Final    =  1
+NBUS_FC_ADDR: Final    =  2
+NBUS_DATA0_ADDR: Final =  3
+NBUS_CRC_ADDR: Final   = -1
+