Skip to content

Commit c9871cc

Browse files
committed
Performance improvements
1 parent 53bf7da commit c9871cc

File tree

2 files changed

+42
-10
lines changed

2 files changed

+42
-10
lines changed

docker-compose.point-rot-nup.yml

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
version: '3'
22
services:
33

4-
point-rotation:
4+
point-rotation-0:
55
build: .
6-
container_name: cw-point-rot-nup
6+
container_name: cw-point-rot-nup-0
7+
image: cw-point-rot-nup
78
restart: unless-stopped
89
network_mode: "host"
910
environment:
@@ -15,4 +16,22 @@ services:
1516
- MQTT_TOPIC_IN_HEADING=CROWSNEST/SEAHORSE/GNSS/0/JSON
1617
- MQTT_TOPIC_OUT_RADAR_NORTHUP=CROWSNEST/SEAHORSE/RADAR/0/NUP
1718
- MQTT_TOPIC_OUT_LIDAR_NORTHUP=CROWSNEST/SEAHORSE/LIDAR/0/NUP
18-
19+
- CORR_HEADING=-10
20+
21+
point-rotation-1:
22+
depends_on:
23+
- point-rotation-0
24+
image: cw-point-rot-nup
25+
container_name: cw-point-rot-nup-1
26+
restart: unless-stopped
27+
network_mode: "host"
28+
environment:
29+
- MQTT_CLIENT_ID=platfrom-dev-local
30+
- MQTT_BROKER_HOST=localhost
31+
- MQTT_BROKER_PORT=1883
32+
- MQTT_TOPIC_IN_RADAR_SWEEP=CROWSNEST/SEAHORSE/RADAR/1/SWEEP
33+
- MQTT_TOPIC_IN_LIDAR_SWEEP=CROWSNEST/SEAHORSE/LIDAR/1/POINTCLOUD
34+
- MQTT_TOPIC_IN_HEADING=CROWSNEST/SEAHORSE/GNSS/0/JSON
35+
- MQTT_TOPIC_OUT_RADAR_NORTHUP=CROWSNEST/SEAHORSE/RADAR/1/NUP
36+
- MQTT_TOPIC_OUT_LIDAR_NORTHUP=CROWSNEST/SEAHORSE/LIDAR/1/NUP
37+
- CORR_HEADING=-10

main.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,14 @@
2828
MQTT_TOPIC_IN_RADAR_SWEEP: str = env("MQTT_TOPIC_IN_RADAR_SWEEP", "CROWSNEST/SEAHORSE/RADAR/0/SWEEP")
2929
MQTT_TOPIC_IN_LIDAR_SWEEP: str = env("MQTT_TOPIC_IN_LIDAR_SWEEP", "CROWSNEST/SEAHORSE/LIDAR/0/POINTCLOUD")
3030
MQTT_TOPIC_IN_HEADING: str = env("MQTT_TOPIC_IN_HEADING", "CROWSNEST/SEAHORSE/GNSS/0/JSON")
31-
CORR_HEADING: int = env("CORR_HEADING", 0)
31+
CORR_HEADING: int = env.int("CORR_HEADING", 0)
3232
MQTT_TOPIC_OUT_RADAR_NORTHUP: str = env("MQTT_TOPIC_OUT_RADAR_NORTHUP", "CROWSNEST/SEAHORSE/RADAR/0/NUP")
3333
MQTT_TOPIC_OUT_LIDAR_NORTHUP: str = env("MQTT_TOPIC_OUT_LIDAR_NORTHUP", "CROWSNEST/SEAHORSE/LIDAR/0/NUP")
3434

3535

3636
# Setup logger
37-
LOG_LEVEL = env.log_level("LOG_LEVEL", logging.WARNING)
37+
LOG_LEVEL = env.log_level("LOG_LEVEL", logging.INFO)
38+
# log_level = env.log_level("LOG_LEVEL")
3839
logging.basicConfig(level=LOG_LEVEL)
3940
logging.captureWarnings(True)
4041
warnings.filterwarnings("once")
@@ -93,13 +94,19 @@ def on_message(client, userdata, message):
9394
payload = json.loads(msg)
9495
topic = message.topic
9596

96-
LOGGER.info(message.topic)
97+
LOGGER.debug(message.topic)
9798

9899
if "message" in payload:
99100
msg = payload["message"]
100101

101102
if topic == MQTT_TOPIC_IN_HEADING:
102-
corrected_heading = CORR_HEADING + float(msg["heading"])
103+
LOGGER.debug("Heading message: %s", msg["heading"])
104+
LOGGER.debug("Heading tyep: %s", type(msg["heading"]))
105+
LOGGER.debug("Heading CORR: %s", type(CORR_HEADING))
106+
LOGGER.debug("Heading CORR: %s", CORR_HEADING)
107+
108+
heading = float(msg["heading"])
109+
corrected_heading = CORR_HEADING + heading
103110

104111
# Check that heading is within 0-360 after correction
105112
if corrected_heading < 360:
@@ -184,9 +191,15 @@ def rotate_points_azimuth(input_stream):
184191
source_heading = Stream()
185192

186193
# MQTT publish stream
187-
pipe_heading = source_heading.latest()
188-
# combined = source.latest().zip(pipe_heading)
189-
combined = source.latest().zip_latest(pipe_heading)
194+
195+
# Original with latest() to slow
196+
# pipe_heading = source_heading.latest()
197+
# combined = source.latest().zip_latest(pipe_heading)
198+
199+
# New version with only zip_latest looks to be managing it
200+
pipe_heading = source_heading
201+
combined = source.zip_latest(pipe_heading)
202+
190203
combined.map(rotate_points_azimuth).map(to_brefv_raw).sink(to_mqtt)
191204

192205
LOGGER.info("Connecting to MQTT broker...")

0 commit comments

Comments
 (0)