Test power usage for mapsd and navmodeld (#28378)

* Test power usage for mapsd and navmodeld

* Send LLK message from thread

* Use threading.Event
pull/28421/head
Mitchell Goff 2 years ago committed by GitHub
parent aa4bbcefd3
commit dd6f7116f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      system/hardware/tici/tests/test_power_draw.py

@ -2,9 +2,11 @@
import unittest
import time
import math
import threading
from dataclasses import dataclass
from tabulate import tabulate
import cereal.messaging as messaging
from system.hardware import HARDWARE, TICI
from system.hardware.tici.power_monitor import get_power
from selfdrive.manager.process_config import managed_processes
@ -24,8 +26,22 @@ PROCS = [
Proc('modeld', 0.93, atol=0.2),
Proc('dmonitoringmodeld', 0.4),
Proc('encoderd', 0.23),
Proc('mapsd', 0.1),
Proc('navmodeld', 0.05),
]
def send_llk_msg(done):
pm = messaging.PubMaster(['liveLocationKalman'])
msg = messaging.new_message('liveLocationKalman')
msg.liveLocationKalman.positionGeodetic = {'value': [32.7174, -117.16277, 0], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.calibratedOrientationNED = {'value': [0., 0., 0.], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.status = 'valid'
# Send liveLocationKalman at 20hz
while not done.is_set():
pm.send('liveLocationKalman', msg)
time.sleep(1/20)
class TestPowerDraw(unittest.TestCase):
@ -46,6 +62,9 @@ class TestPowerDraw(unittest.TestCase):
def test_camera_procs(self):
baseline = get_power()
done = threading.Event()
thread = threading.Thread(target=send_llk_msg, args=(done,), daemon=True)
thread.start()
prev = baseline
used = {}
@ -57,6 +76,7 @@ class TestPowerDraw(unittest.TestCase):
used[proc.name] = now - prev
prev = now
done.set()
manager_cleanup()
tab = []

Loading…
Cancel
Save