Skip to content

Commit

Permalink
hardware: only create dbus objects when needed (commaai#21576)
Browse files Browse the repository at this point in the history
* only create dbus objects when needed

* fix typo

* use cached_property
  • Loading branch information
pd0wm authored Jul 13, 2021
1 parent 8eba02e commit 45d4f83
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions selfdrive/hardware/tici/hardware.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import os
from functools import cached_property
from enum import IntEnum
import subprocess
from pathlib import Path
Expand Down Expand Up @@ -51,13 +52,20 @@ def write_amplifier_reg(reg, val, offset, mask):
v = (v & (~mask)) | ((val << offset) & mask)
bus.write_byte_data(AMP_ADDRESS, reg, v, force=True)


class Tici(HardwareBase):
def __init__(self):
@cached_property
def bus(self):
import dbus # pylint: disable=import-error
return dbus.SystemBus()

@cached_property
def nm(self):
return self.bus.get_object(NM, '/org/freedesktop/NetworkManager')

self.bus = dbus.SystemBus()
self.nm = self.bus.get_object(NM, '/org/freedesktop/NetworkManager')
self.mm = self.bus.get_object(MM, '/org/freedesktop/ModemManager1')
@cached_property
def mm(self):
return self.bus.get_object(MM, '/org/freedesktop/ModemManager1')

def get_os_version(self):
with open("/VERSION") as f:
Expand Down

0 comments on commit 45d4f83

Please sign in to comment.