Skip to content

Commit 844e3a1

Browse files
committed
lap official_time
1 parent 0ca7360 commit 844e3a1

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

telemetry/management/commands/replay.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
from telemetry.influx import Influx
1616
from telemetry.models import Lap
17-
from telemetry.pitcrew.firehose import Firehose
18-
from telemetry.pitcrew.session_saver import SessionSaver
17+
# from telemetry.pitcrew.firehose import Firehose
18+
# from telemetry.pitcrew.session_saver import SessionSaver
1919

2020
B4MAD_RACING_MQTT_HOST = os.environ.get("MOSQUITTO_MQTT_SERVICE_HOST", "telemetry.b4mad.racing")
2121
B4MAD_RACING_MQTT_PORT = int(os.environ.get("MOSQUITTO_MQTT_SERVICE_PORT", 31883))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 5.1b1 on 2024-11-13 06:42
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("telemetry", "0033_alter_car_unique_together"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="lap",
15+
name="official_time",
16+
field=models.FloatField(default=0),
17+
),
18+
]

telemetry/models/lap.py

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class Lap(ExportModelOperationsMixin("lap"), DirtyFieldsMixin, TimeStampedModel)
1111
start = models.DateTimeField(default=datetime.datetime.now)
1212
end = models.DateTimeField(default=datetime.datetime.now)
1313
time = models.FloatField(default=0)
14+
official_time = models.FloatField(default=0)
1415
length = models.IntegerField(default=0)
1516
valid = models.BooleanField(default=False)
1617
completed = models.BooleanField(default=True)

telemetry/models/session.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def analyze_rbr(self, telemetry, now):
141141

142142
if not self.current_lap:
143143
# RBR has only one lap
144-
self.new_lap(now, current_lap)
144+
self.current_lap = self.new_lap(now, current_lap)
145145
self.previous_tick_time = -1
146146
self.previous_tick_distance = 100_000_000
147147
self.counter_time_not_updated = 0
@@ -168,7 +168,8 @@ def analyze_rbr(self, telemetry, now):
168168

169169
if self.counter_time_not_updated > 10 and self.counter_distance_updated > 10:
170170
self.current_lap.completed = True
171-
self.current_lap.end = now
171+
self.current_lap.official_time = lap_time
172+
self.current_lap.save_dirty_fields()
172173

173174
self.previous_tick_time = lap_time
174175
self.previous_tick_distance = distance
@@ -215,13 +216,13 @@ def analyze_other(self, telemetry, now) -> None:
215216
if distance > self.current_lap.length:
216217
self.current_lap.length = distance
217218
self.current_lap.valid = lap_is_valid
218-
# self.current_lap.time = lap_time
219+
self.current_lap.time = lap_time
219220

220221
if lap_time_previous != self.previous_lap_time_previous:
221222
if self.previous_lap:
222-
self.previous_lap.time = lap_time_previous
223223
self.previous_lap.valid = previous_lap_was_valid
224-
self.previous_lap.finished = True
224+
self.previous_lap.official_time = lap_time_previous
225+
self.previous_lap.completed = True
225226
logger.debug(f"lap {self.previous_lap.number} time {lap_time_previous} valid {previous_lap_was_valid}")
226227
self.previous_lap.save_dirty_fields()
227228

0 commit comments

Comments
 (0)