sarapy 0.1.2__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarapy
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Library for Sarapico Metadata processing
5
5
  Home-page: https://github.com/lucasbaldezzari/sarapy
6
6
  Author: Lucas Baldezzari
@@ -24,13 +24,17 @@ Requires-Dist: geopy
24
24
 
25
25
  Library for processing SARAPICO project metadata of _AMG_.
26
26
 
27
- #### Version 0.1.1
27
+ #### Version 0.1.4
28
28
 
29
- Setting new tests
29
+ Setting an **init**.py file for TLMSensorDataExtractor module.
30
30
 
31
- #### Version 0.1.0
31
+ #### Version 0.1.3
32
32
 
33
- Just for testing
33
+ Setting version.py file.
34
+
35
+ #### Version 0.1.1 and Version 0.1.0
36
+
37
+ Just for testing.
34
38
 
35
39
  ### Docs
36
40
 
sarapy-0.1.4/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # SARAPY
2
+
3
+ Library for processing SARAPICO project metadata of _AMG_.
4
+
5
+ #### Version 0.1.4
6
+
7
+ Setting an **init**.py file for TLMSensorDataExtractor module.
8
+
9
+ #### Version 0.1.3
10
+
11
+ Setting version.py file.
12
+
13
+ #### Version 0.1.1 and Version 0.1.0
14
+
15
+ Just for testing.
16
+
17
+ ### Docs
18
+
19
+ Documentation [here](https://github.com/lucasbaldezzari/sarapy/blob/main/docs/docs.md).
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "sarapy"
3
3
 
4
- version = "0.1.2"
4
+ version = "0.1.4"
5
5
  authors = [
6
6
  {name = "Lucas Baldezzari", email = "lmbaldezzari@gmail.com"},]
7
7
  maintainers = [
@@ -0,0 +1,663 @@
1
+ """
2
+ La clase MetadataManager se encarga de gestionar los metadatos obtenidos de la base de datos. Estos metadatos se corresponden con los datos registrados en los sarapicos.
3
+
4
+ - Versión de metadatos utilizada: Revision 9
5
+ - Apuntes de identificiación: https://docs.google.com/document/d/1E-TvkMWqeL9d57FOeRH7Zk_Fr5SdmknnmuQ7n7uwUVg/edit#heading=h.3dy6vkm
6
+ - Apuntes de
7
+ - Apuntes de Desarrollo:
8
+
9
+ - Autor: BALDEZZARI Lucas
10
+ """
11
+
12
+ ##importamos numpy
13
+ import numpy as np
14
+ # from geopy.distance import geodesic
15
+
16
+ from sklearn.base import BaseEstimator, TransformerMixin
17
+
18
+ class TLMSensorDataExtractor(BaseEstimator, TransformerMixin):
19
+ """
20
+ Clase que se encarga de procesar los metadatos obtenidos de la base de datos histórica.
21
+
22
+ - Versión de metadatos utilizada: Revision 9
23
+ - Link documento metadato: https://trello.com/c/M6DWjpwr/70-definici%C3%B3n-metadatos-a-relevar
24
+ - Los metadatos de DATA_TLM en la Revisión 9 vienen en un string de 0 y 1. Estos valores indican, lo siguiente:
25
+ |RF(1bit)|GNSS(1bit)|RFID(1bit)|FLASH(1bit)|RTCS(1bit)|MODE(1bit)|NBAT(2bits)|TIMEAC(8bits)|ESTAC(1bit)|DSTR PT(4bits)|INEST PT(1bit)|OFFS PT(2bits)|X(1bit)|DSTR FT(4bits)|INEST FT(1bit)|OFFS FT(2bits)|X(1bit)|GYRO_X(3bits)|GYRO_Y(3bits)|GYRO_Z(2bits)|ACEL_X(2bits)|ACEL_Y(2bits)|ACEL_Z(2bits)|EST MO(1bit)|EST OR(1bit)|SBAT(2bits)|VBAT(3bits)|CBAT(2bits)|EST BMS(1bit)
26
+
27
+ Los valores X indican bit sin uso.
28
+
29
+ - Versión 1.0.0.RevA
30
+ - Autor: BALDEZZARI Lucas
31
+ """
32
+
33
+ __metadataVersion = "Revision 9" #Versión de metadatos utilizada
34
+
35
+ def __init__(self, *args, **kwargs):
36
+ """
37
+ Constructor de la clase MetadataManager.
38
+
39
+ :param metadata: Diccionario con los metadatos obtenidos de la base de datos.
40
+ :type metadata: strg
41
+ """
42
+
43
+ ### Creamos constantes que sirven para buscar los datos en el string de telemetría
44
+ ### Cada constante es una tupla con la posición del bit menos significativo y la posición del bit más significativo
45
+ self.__RFflag_pos = (0,0) #RF(1bit)
46
+ self.__GNSSflag_pos = (1,1) #GNSS(1bit)
47
+ self.__RFIDflag_pos = (2,2) #RFID(1bit)
48
+ self.__FLASHflag_pos = (3,3) #FLASH(1bit)
49
+ self.__RTCSflag_pos = (4,4) #RTCS(1bit)
50
+ self.__MODEflag_pos = (5,5) #MODE(1bit)
51
+ self.__NBAT_pos = (6,7) #NBAT(2bits)
52
+ self.__TIMEAC_pos = (8,14) #TIMEAC(8bits)
53
+ self.__ESTACflag_pos = (15,15) #ESTAC(1bit)
54
+ self.__DSTRPT_pos = (16,19) #DSTR PT(4bits)
55
+ self.__INESTPTflag_pos = (20,20) #INEST PT(1bit) Inestabilidad de plantín
56
+ self.__OFFSPT_pos = (21,22) #OFFS PT(2bits)
57
+ self.__DSTRFT_pos = (24,27) #DSTR FT(4bits)
58
+ self.__INESTFTflag_pos = (28,28) #INEST FT(1bit)
59
+ self.__OFFSFT_pos = (29,30) #OFFS FT(2bits)
60
+ self.__PMSTFlag = (31,31) #PMST(1bit)
61
+ self.__GYROX_pos = (32,34) #GYRO_X(3bits)
62
+ self.__GYROY_pos = (35,37) #GYRO_Y(3bits)
63
+ self.__GYROZf_pos = (38,39) #GYRO_Z(2bits)
64
+ self.__ACELX_pos = (40,41) #ACEL_X(2bits)
65
+ self.__ACELY_pos = (42,43) #ACEL_Y(2bits)
66
+ self.__ACELZ_pos = (44,45) #ACEL_Z(2bits)
67
+ self.__ESTMOflag_pos = (46,46) #EST MO(1bit)
68
+ self.__ESTORflag_pos = (47,47) #EST OR(1bit)
69
+ self.__SBAT_pos = (48,49) #SBAT(2bits) salud de la batería
70
+ self.__VBAT_pos = (50,52) #VBAT(3bits) voltaje de la batería
71
+ self.__CBAT_pos = (53,54) #CBAT(2bits) consumo de la batería
72
+ self.__ESTBMSflag_pos = (55,55) #EST BMS(1bit)
73
+
74
+ # self.kilometers = kwargs.pop('kilometers', 0)
75
+ self.is_fitted = False
76
+
77
+ def fit(self, X, y=None):
78
+ """
79
+ Método para generar datos a partir de la metadata.
80
+
81
+ X es un array de strings. Cada string es un dato de la metadata.
82
+
83
+ Extraigo información de cada fila de X. Genero numpys array de cada dato extraido de la metadata.
84
+
85
+ Parametros
86
+ ----------
87
+ X: Array de strings.
88
+ y: None
89
+ No se utiliza.
90
+ """
91
+
92
+ ##chequeamos si todos los strings de X tienen la misma longitud, sino arrojamos un assert
93
+ assert all(len(x) == len(X[0]) for x in X), "Todos los strings de X deben tener la misma longitud"
94
+
95
+ self.RFFlag = np.vectorize(self.getRFFlag)(X)
96
+ self.GNSSFlag = np.vectorize(self.getGNSSFlag)(X)
97
+ self.RFIDFlag = np.vectorize(self.getRFIDFlag)(X)
98
+ self.FLASHFlag = np.vectorize(self.getFLASHFlag)(X)
99
+ self.RTCSFlag = np.vectorize(self.getRTCSFlag)(X)
100
+ self.MODEFlag = np.vectorize(self.getMODEFlag)(X)
101
+ self.NBAT = np.vectorize(self.getNBAT)(X)
102
+ self.TIMEAC = np.vectorize(self.getTIMEAC)(X)
103
+ self.ESTAC = np.vectorize(self.getESTAC)(X)
104
+ self.DSTRPT = np.vectorize(self.getDSTRPT)(X)
105
+ self.INESTPT = np.vectorize(self.getINESTPTFlag)(X)
106
+ self.OFFSPT = np.vectorize(self.getOFFSPT)(X)
107
+ self.DSTRFT = np.vectorize(self.getDSTRFT)(X)
108
+ self.INESTFT = np.vectorize(self.getINESTFTFlag)(X)
109
+ self.OFFSFT = np.vectorize(self.getOFFSFT)(X)
110
+ self.PMSTFlag = np.vectorize(self.getPMSTFlag)(X)
111
+ self.GYROX = np.vectorize(self.getGYROX)(X)
112
+ self.GYROY = np.vectorize(self.getGYROY)(X)
113
+ self.GYROZ = np.vectorize(self.getGYROZ)(X)
114
+ self.ACELX = np.vectorize(self.getACELX)(X)
115
+ self.ACELY = np.vectorize(self.getACELY)(X)
116
+ self.ACELZ = np.vectorize(self.getACELZ)(X)
117
+ self.ESTMOFlag = np.vectorize(self.getESTMOFlag)(X)
118
+ self.ESTORFlag = np.vectorize(self.getESTORFlag)(X)
119
+ self.SBAT = np.vectorize(self.getSBAT)(X)
120
+ self.VBAT = np.vectorize(self.getVBAT)(X)
121
+ self.CBAT = np.vectorize(self.getCBAT)(X)
122
+ self.ESTBMSFlag = np.vectorize(self.getESTBMSFlag)(X)
123
+
124
+ self.is_fitted = True
125
+
126
+
127
+ def transform(self, X, y=None):
128
+ """Genera un array de numpy con los datos extraidos de la metadata.
129
+
130
+ Forma una matriz de numpy.
131
+
132
+ Parametros
133
+ ----------
134
+ X: X es un array de strings. Cada string es un dato de la metadata.
135
+ y: None
136
+ No se utiliza."""
137
+
138
+ ##chequeamos si se ha llamado a fit(). Sino, se arroja un error
139
+ if not self.is_fitted:
140
+ raise ValueError("MetadataManager no ha sido fitteado. Llame a fit() previamente.")
141
+
142
+ return np.array([ self.RFFlag,
143
+ self.GNSSFlag,
144
+ self.RFIDFlag,
145
+ self.FLASHFlag,
146
+ self.RTCSFlag,
147
+ self.MODEFlag,
148
+ self.NBAT,
149
+ self.TIMEAC,
150
+ self.ESTAC,
151
+ self.DSTRPT,
152
+ self.INESTPT,
153
+ self.OFFSPT,
154
+ self.DSTRFT,
155
+ self.INESTFT,
156
+ self.OFFSFT,
157
+ self.PMSTFlag,
158
+ self.GYROX,
159
+ self.GYROY,
160
+ self.GYROZ,
161
+ self.ACELX,
162
+ self.ACELY,
163
+ self.ACELZ,
164
+ self.ESTMOFlag,
165
+ self.ESTORFlag,
166
+ self.SBAT,
167
+ self.VBAT,
168
+ self.CBAT,
169
+ self.ESTBMSFlag]).T
170
+
171
+ def fit_transform(self, X, y=None):
172
+ """Combinamos fit() y transform() en un solo método.
173
+
174
+ Parametros
175
+ ----------
176
+ X: X es un array de strings. Cada string es un dato de la metadata.
177
+ y: None
178
+ No se utiliza.
179
+
180
+ Return
181
+ ------
182
+ numpy array:
183
+ Array de numpy con los datos extraidos de la metadata.
184
+ """
185
+ self.fit(X)
186
+ return self.transform(X)
187
+
188
+ def getRFFlag(self, metadata):
189
+ """
190
+ Devuelve el valor del flag RF.
191
+
192
+ Parametros
193
+ ----------
194
+ metadata: str
195
+ String con los metadatos obtenidos de la base de datos.
196
+ Return
197
+ ------
198
+ int
199
+ Valor del flag RF.
200
+ """
201
+
202
+ return np.uint8(int(metadata[self.__RFflag_pos[0]:self.__RFflag_pos[1]+1],2))
203
+
204
+ def getGNSSFlag(self, metadata):
205
+ """
206
+ Devuelve el valor del flag RF.
207
+
208
+ Parametros
209
+ ----------
210
+ metadata: str
211
+ String con los metadatos obtenidos de la base de datos.
212
+ Return
213
+ ------
214
+ int
215
+ Valor del flag GNSS.
216
+ """
217
+
218
+ return np.uint8(int(metadata[self.__GNSSflag_pos[0]:self.__GNSSflag_pos[1]+1],2))
219
+
220
+ def getRFIDFlag(self, metadata):
221
+ """
222
+ Devuelve el valor del flag RFID.
223
+
224
+ Parametros
225
+ ----------
226
+ metadata: str
227
+ String con los metadatos obtenidos de la base de datos.
228
+ Return
229
+ ------
230
+ int
231
+ Valor del flag RFID.
232
+ """
233
+
234
+ return np.uint8(int(metadata[self.__RFIDflag_pos[0]:self.__RFIDflag_pos[1]+1],2))
235
+
236
+ def getFLASHFlag(self, metadata):
237
+ """
238
+ Devuelve el valor del flag FLASH.
239
+
240
+ Parametros
241
+ ----------
242
+ metadata: str
243
+ String con los metadatos obtenidos de la base de datos.
244
+ Return
245
+ ------
246
+ int
247
+ Valor del flag FLASH.
248
+ """
249
+
250
+ return np.uint8(int(metadata[self.__FLASHflag_pos[0]:self.__FLASHflag_pos[1]+1],2))
251
+
252
+ def getRTCSFlag(self, metadata):
253
+ """
254
+ Devuelve el valor del flag RTCS.
255
+
256
+ Parametros
257
+ ----------
258
+ metadata: str
259
+ String con los metadatos obtenidos de la base de datos.
260
+ Return
261
+ ------
262
+ int
263
+ Valor del flag RTCS.
264
+ """
265
+
266
+ return np.uint8(int(metadata[self.__RTCSflag_pos[0]:self.__RTCSflag_pos[1]+1],2))
267
+
268
+ def getMODEFlag(self, metadata):
269
+ """
270
+ Devuelve el valor del flag MODE.
271
+
272
+ Parametros
273
+ ----------
274
+ metadata: str
275
+ String con los metadatos obtenidos de la base de datos.
276
+ Return
277
+ ------
278
+
279
+ int
280
+ Valor del flag MODE.
281
+ """
282
+
283
+ return np.uint8(int(metadata[self.__MODEflag_pos[0]:self.__MODEflag_pos[1]+1],2))
284
+
285
+ def getNBAT(self, metadata):
286
+ """
287
+ Devuelve el valor del flag NBAT.
288
+
289
+ Parametros
290
+ ----------
291
+ metadata: str
292
+ String con los metadatos obtenidos de la base de datos.
293
+ Return
294
+ ------
295
+ int
296
+ Valor del flag NBAT.
297
+ """
298
+
299
+ return np.uint8(int(metadata[self.__NBAT_pos[0]:self.__NBAT_pos[1]+1],2))
300
+
301
+ def getTIMEAC(self, metadata):
302
+ """
303
+ Devuelve el tiempo de accionamiento en segundos
304
+
305
+ Parametros
306
+ ----------
307
+ metadata: str
308
+ String con los metadatos obtenidos de la base de datos.
309
+ Return
310
+ ------
311
+ float
312
+ Tiempo de accionamiento en segundos.
313
+ """
314
+
315
+ return np.float16(int(metadata[self.__TIMEAC_pos[0]:self.__TIMEAC_pos[1]+1],2)*0.1)
316
+
317
+ def getESTAC(self, metadata):
318
+ """
319
+ Devuelve el valor del flag de ANOMALÍA OPERATIVA
320
+
321
+ Parametros
322
+ ----------
323
+ metadata: str
324
+ String con los metadatos obtenidos de la base de datos.
325
+ Return
326
+ ------
327
+ int
328
+ Valor del flag de ANOMALÍA OPERATIVA.
329
+ """
330
+
331
+ return np.uint8(int(metadata[self.__ESTACflag_pos[0]:self.__ESTACflag_pos[1]+1],2))
332
+
333
+ def getDSTRPT(self, metadata):
334
+ """
335
+ Devuelve el nivel de distorsión para plantín
336
+
337
+ Parametros
338
+ ----------
339
+ metadata: str
340
+ String con los metadatos obtenidos de la base de datos.
341
+ Return
342
+ ------
343
+ int:
344
+ Valor de distorsión para plantín.
345
+ """
346
+
347
+ return np.uint8(int(metadata[self.__DSTRPT_pos[0]:self.__DSTRPT_pos[1]+1],2))
348
+
349
+ def getINESTPTFlag(self,metadata):
350
+ """
351
+ Devuelve el valor del flag de INESTABILIDAD PARA PLANTÍN
352
+
353
+ Parametros
354
+ ----------
355
+ metadata: str
356
+ String con los metadatos obtenidos de la base de datos.
357
+ Return
358
+ ------
359
+ int:
360
+ Valor del flag de INESTABILIDAD PARA PLANTÍN.
361
+ """
362
+
363
+ return np.uint8(int(metadata[self.__INESTPTflag_pos[0]:self.__INESTPTflag_pos[1]+1],2))
364
+
365
+ def getOFFSPT(self,metadata):
366
+ """
367
+ Devuelve el valor del flag de OFFSET PARA PLANTÍN
368
+
369
+ Parametros
370
+ ----------
371
+ metadata: str
372
+ String con los metadatos obtenidos de la base de datos.
373
+ Return
374
+ ------
375
+ int:
376
+ Valor del flag de OFFSET PARA PLANTÍN.
377
+ """
378
+
379
+ return np.uint8(int(metadata[self.__OFFSPT_pos[0]:self.__OFFSPT_pos[1]+1],2))
380
+
381
+ def getDSTRFT(self,metadata):
382
+ """
383
+ Devuelve el nivel de distorsión para fertilizante
384
+
385
+ Parametros
386
+ ----------
387
+ metadata: str
388
+ String con los metadatos obtenidos de la base de datos.
389
+ Return
390
+ ------
391
+ int:
392
+ Valor de distorsión para fertilizante.
393
+ """
394
+
395
+ return np.uint8(int(metadata[self.__DSTRFT_pos[0]:self.__DSTRFT_pos[1]+1],2))
396
+
397
+ def getINESTFTFlag(self,metadata):
398
+ """
399
+ Devuelve el valor del flag de INESTABILIDAD PARA FERTILIZANTE
400
+
401
+ Parametros
402
+ ----------
403
+ metadata: str
404
+ String con los metadatos obtenidos de la base de datos.
405
+ Return
406
+ ------
407
+ int:
408
+ Valor del flag de INESTABILIDAD PARA FERTILIZANTE.
409
+ """
410
+
411
+ return np.uint8(int(metadata[self.__INESTFTflag_pos[0]:self.__INESTFTflag_pos[1]+1],2))
412
+
413
+ def getOFFSFT(self,metadata):
414
+ """
415
+ Devuelve el valor del flag de OFFSET PARA FERTILIZANTE
416
+
417
+ Parametros
418
+ ----------
419
+ metadata: str
420
+ String con los metadatos obtenidos de la base de datos.
421
+ Return
422
+ ------
423
+ int:
424
+ Valor del flag de OFFSET PARA FERTILIZANTE.
425
+ """
426
+
427
+ return np.uint8(int(metadata[self.__OFFSFT_pos[0]:self.__OFFSFT_pos[1]+1],2))
428
+
429
+ def getPMSTFlag(self,metadata):
430
+ """
431
+ Devuelve el valor del flag perdida de muestreo.
432
+
433
+ Parametros
434
+ ----------
435
+ metadata: str
436
+ String con los metadatos obtenidos de la base de datos.
437
+ Return
438
+ ------
439
+ int:
440
+ Valor de flag perdida de muestreo.
441
+ """
442
+
443
+ return np.uint8(int(metadata[self.__PMSTFlag[0]:self.__PMSTFlag[1]+1],2))
444
+
445
+ def getGYROX(self,metadata):
446
+ """
447
+ Devuelve el valor del giroscopio en X.
448
+
449
+ Parametros
450
+ ----------
451
+ metadata: str
452
+ String con los metadatos obtenidos de la base de datos.
453
+ Return
454
+ ------
455
+ int:
456
+ Valor del giroscopio en X.
457
+ """
458
+
459
+ return np.uint8(int(metadata[self.__GYROX_pos[0]:self.__GYROX_pos[1]+1],2))
460
+
461
+ def getGYROY(self,metadata):
462
+ """
463
+ Devuelve el valor del giroscopio en Y.
464
+
465
+ Parametros
466
+ ----------
467
+ metadata: str
468
+ String con los metadatos obtenidos de la base de datos.
469
+ Return
470
+ ------
471
+ int:
472
+ Valor del giroscopio en Y.
473
+ """
474
+
475
+ return np.uint8(int(metadata[self.__GYROY_pos[0]:self.__GYROY_pos[1]+1],2))
476
+
477
+ def getGYROZ(self,metadata):
478
+ """
479
+ Devuelve el valor del giroscopio en Z.
480
+
481
+ Parametros
482
+ ----------
483
+ metadata: str
484
+ String con los metadatos obtenidos de la base de datos.
485
+ Return
486
+ ------
487
+ int:
488
+ Valor del giroscopio en Z.
489
+ """
490
+
491
+ return np.uint8(int(metadata[self.__GYROZf_pos[0]:self.__GYROZf_pos[1]+1],2))
492
+
493
+ def getACELX(self,metadata):
494
+ """
495
+ Devuelve el valor del acelerómetro en X.
496
+
497
+ Parametros
498
+ ----------
499
+ metadata: str
500
+ String con los metadatos obtenidos de la base de datos.
501
+ Return
502
+ ------
503
+ int:
504
+ Valor del acelerómetro en X.
505
+ """
506
+
507
+ return np.uint8(int(metadata[self.__ACELX_pos[0]:self.__ACELX_pos[1]+1],2))
508
+
509
+ def getACELY(self,metadata):
510
+ """
511
+ Devuelve el valor del acelerómetro en Y.
512
+
513
+ Parametros
514
+ ----------
515
+ metadata: str
516
+ String con los metadatos obtenidos de la base de datos.
517
+ Return
518
+ ------
519
+ int:
520
+ Valor del acelerómetro en Y.
521
+ """
522
+
523
+ return np.uint8(int(metadata[self.__ACELY_pos[0]:self.__ACELY_pos[1]+1],2))
524
+
525
+ def getACELZ(self,metadata):
526
+ """
527
+ Devuelve el valor del acelerómetro en Z.
528
+
529
+ Parametros
530
+ ----------
531
+ metadata: str
532
+ String con los metadatos obtenidos de la base de datos.
533
+ Return
534
+ ------
535
+ int:
536
+ Valor del acelerómetro en Z.
537
+ """
538
+
539
+ return np.uint8(int(metadata[self.__ACELZ_pos[0]:self.__ACELZ_pos[1]+1],2))
540
+
541
+ def getESTMOFlag(self, metadata):
542
+ """
543
+ Devuelve el valor del flag de ESTMO
544
+
545
+ Parametros
546
+ ----------
547
+ metadata: str
548
+ String con los metadatos obtenidos de la base de datos.
549
+ Return
550
+ ------
551
+ int:
552
+ Valor del flag de ESTMO
553
+ """
554
+
555
+ return np.uint8(int(metadata[self.__ESTMOflag_pos[0]:self.__ESTMOflag_pos[1]+1],2))
556
+
557
+ def getESTORFlag(self, metadata):
558
+ """
559
+ Devuelve el valor del flag de ESTOR
560
+
561
+ Parametros
562
+ ----------
563
+ metadata: str
564
+ String con los metadatos obtenidos de la base de datos.
565
+ Return
566
+ ------
567
+ int:
568
+ Valor del flag de ESTOR
569
+ """
570
+
571
+ return np.uint8(int(metadata[self.__ESTORflag_pos[0]:self.__ESTORflag_pos[1]+1],2))
572
+
573
+ def getSBAT(self, metadata):
574
+ """
575
+ Devuelve el valor del estado de salud de la batería
576
+
577
+ Parametros
578
+ ----------
579
+ metadata: str
580
+ String con los metadatos obtenidos de la base de datos.
581
+ Return
582
+ ------
583
+ int:
584
+ Valor del flag de SBAT
585
+ """
586
+
587
+ return np.uint8(int(metadata[self.__SBAT_pos[0]:self.__SBAT_pos[1]+1],2))
588
+
589
+ def getVBAT(self, metadata):
590
+ """
591
+ Devuelve el valor del voltaje de la batería
592
+
593
+ Parametros
594
+ ----------
595
+ metadata: str
596
+ String con los metadatos obtenidos de la base de datos.
597
+ Return
598
+ ------
599
+
600
+ int:
601
+ Valor del flag de VBAT
602
+ """
603
+
604
+ return np.uint8(int(metadata[self.__VBAT_pos[0]:self.__VBAT_pos[1]+1],2))
605
+
606
+ def getCBAT(self, metadata):
607
+ """
608
+ Devuelve el valor del consumo de la batería
609
+
610
+ Parametros
611
+ ----------
612
+ metadata: str
613
+ String con los metadatos obtenidos de la base de datos.
614
+ Return
615
+ ------
616
+
617
+ int:
618
+ Valor del flag de CBAT
619
+ """
620
+
621
+ return np.uint8(int(metadata[self.__CBAT_pos[0]:self.__CBAT_pos[1]+1],2))
622
+
623
+ def getESTBMSFlag(self, metadata):
624
+ """
625
+ Devuelve el valor del flag de ESTBMS
626
+
627
+ Parametros
628
+ ----------
629
+ metadata: str
630
+ String con los metadatos obtenidos de la base de datos.
631
+ Return
632
+ ------
633
+
634
+ int:
635
+ Valor del flag de ESTBMS
636
+ """
637
+
638
+ return np.uint8(int(metadata[self.__ESTBMSflag_pos[0]:self.__ESTBMSflag_pos[1]+1],2))
639
+
640
+
641
+ @classmethod
642
+ def getMetadataRevisionNumber(cls):
643
+ """
644
+ Devuelve la versión de los metadatos utilizada.
645
+
646
+ Return
647
+ ------
648
+ str:
649
+ Versión de los metadatos utilizada.
650
+ """
651
+ return cls.__metadataVersion
652
+
653
+ if __name__ == "__main__":
654
+ tlmsde = TLMSensorDataExtractor()
655
+ print(tlmsde.getMetadataRevisionNumber())
656
+
657
+ sample = np.array(["1010001000010000110000001011000000000000000000001111011010001001",
658
+ "1010001000010000110000001011000000000000000000001111011010001001"])
659
+
660
+ tlmsde.getTIMEAC(sample[0])
661
+
662
+ # tlmsde.fit(sample)
663
+ print(tlmsde.fit_transform(sample))
@@ -0,0 +1 @@
1
+ from .TLMSensorDataExtractor import TLMSensorDataExtractor
@@ -1,2 +1,2 @@
1
1
  ## Version of the package
2
- __version__ = "0.1.2"
2
+ __version__ = "0.1.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarapy
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Library for Sarapico Metadata processing
5
5
  Home-page: https://github.com/lucasbaldezzari/sarapy
6
6
  Author: Lucas Baldezzari
@@ -24,13 +24,17 @@ Requires-Dist: geopy
24
24
 
25
25
  Library for processing SARAPICO project metadata of _AMG_.
26
26
 
27
- #### Version 0.1.1
27
+ #### Version 0.1.4
28
28
 
29
- Setting new tests
29
+ Setting an **init**.py file for TLMSensorDataExtractor module.
30
30
 
31
- #### Version 0.1.0
31
+ #### Version 0.1.3
32
32
 
33
- Just for testing
33
+ Setting version.py file.
34
+
35
+ #### Version 0.1.1 and Version 0.1.0
36
+
37
+ Just for testing.
34
38
 
35
39
  ### Docs
36
40
 
@@ -7,4 +7,6 @@ sarapy.egg-info/PKG-INFO
7
7
  sarapy.egg-info/SOURCES.txt
8
8
  sarapy.egg-info/dependency_links.txt
9
9
  sarapy.egg-info/requires.txt
10
- sarapy.egg-info/top_level.txt
10
+ sarapy.egg-info/top_level.txt
11
+ sarapy/dataProcessing/TLMSensorDataExtractor.py
12
+ sarapy/dataProcessing/__init__.py
sarapy-0.1.2/README.md DELETED
@@ -1,15 +0,0 @@
1
- # SARAPY
2
-
3
- Library for processing SARAPICO project metadata of _AMG_.
4
-
5
- #### Version 0.1.1
6
-
7
- Setting new tests
8
-
9
- #### Version 0.1.0
10
-
11
- Just for testing
12
-
13
- ### Docs
14
-
15
- Documentation [here](https://github.com/lucasbaldezzari/sarapy/blob/main/docs/docs.md).
File without changes
File without changes
File without changes