@@ -389,16 +389,17 @@ def _read_ndc_11_filetype_18(mm):
389389 mm .seek (header )
390390 while mm .tell () < mm_size :
391391 bytes = mm .read (record_len )
392- for i in struct .iter_unpack ('<isffff12siii2s ' , bytes [132 :- 63 ]):
392+ for i in struct .iter_unpack ('<isffff12siiih ' , bytes [132 :- 63 ]):
393393 Time = i [0 ]
394394 [Charge_Capacity , Discharge_Capacity ] = [i [2 ], i [3 ]]
395395 [Charge_Energy , Discharge_Energy ] = [i [4 ], i [5 ]]
396396 [Timestamp , Step , Index ] = [i [7 ], i [8 ], i [9 ]]
397+ Msec = i [10 ]
397398 if Index != 0 :
398399 rec .append ([Time / 1000 ,
399400 Charge_Capacity / 3600 , Discharge_Capacity / 3600 ,
400401 Charge_Energy / 3600 , Discharge_Energy / 3600 ,
401- datetime .fromtimestamp (Timestamp , timezone .utc ), Step , Index ])
402+ datetime .fromtimestamp (Timestamp + Msec / 1000 , timezone .utc ), Step , Index ])
402403
403404 # Create DataFrame
404405 df = pd .DataFrame (rec , columns = [
@@ -468,16 +469,17 @@ def _read_ndc_14_filetype_18(mm):
468469 mm .seek (header )
469470 while mm .tell () < mm_size :
470471 bytes = mm .read (record_len )
471- for i in struct .iter_unpack ('<isffff12siii10s ' , bytes [132 :- 59 ]):
472+ for i in struct .iter_unpack ('<isffff12siiih8s ' , bytes [132 :- 59 ]):
472473 Time = i [0 ]
473474 [Charge_Capacity , Discharge_Capacity ] = [i [2 ], i [3 ]]
474475 [Charge_Energy , Discharge_Energy ] = [i [4 ], i [5 ]]
475476 [Timestamp , Step , Index ] = [i [7 ], i [8 ], i [9 ]]
477+ Msec = i [10 ]
476478 if Index != 0 :
477479 rec .append ([Time / 1000 ,
478480 Charge_Capacity * 1000 , Discharge_Capacity * 1000 ,
479481 Charge_Energy * 1000 , Discharge_Energy * 1000 ,
480- datetime .fromtimestamp (Timestamp , timezone .utc ), Step , Index ])
482+ datetime .fromtimestamp (Timestamp + Msec / 1000 , timezone .utc ), Step , Index ])
481483
482484 # Create DataFrame
483485 df = pd .DataFrame (rec , columns = [
0 commit comments