Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.

Commit 20d45ed

Browse files
authored
Merge pull request #105 from Solid-Energy-Systems/millisecond_timestamps
Millisecond timestamps for ndc 11 and 14
2 parents f423da8 + cecdf3b commit 20d45ed

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

NewareNDA/NewareNDAx.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)