micd: revert check playing sound (high cpu usage) (#26672)

* don't use hardware

* check micd proc

* use pactl package

* cleanup

* Revert "cleanup"

This reverts commit baf9887e2d.

* Revert "use pactl package"

This reverts commit 0c1f3a4b86.

* Revert "micd: don't update filtered sound level if playing sound (#26652)"

This reverts commit 6703f6fa0297ad587ce80fcf1af432c402ba4e7e.

* Revert "check micd proc"

This reverts commit 9ebbe2aa42.

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 060b69ee2f
taco
Shane Smiskol 2 years ago committed by GitHub
parent d568972df0
commit 16859211f5
  1. 4
      system/hardware/base.py
  2. 4
      system/hardware/pc/hardware.py
  3. 3
      system/hardware/tici/hardware.py
  4. 4
      system/micd.py

@ -43,10 +43,6 @@ class HardwareBase(ABC):
def get_sound_card_online(self): def get_sound_card_online(self):
pass pass
@abstractmethod
def is_sound_playing(self):
pass
@abstractmethod @abstractmethod
def get_imei(self, slot) -> str: def get_imei(self, slot) -> str:
pass pass

@ -1,5 +1,4 @@
import random import random
import subprocess
from cereal import log from cereal import log
from system.hardware.base import HardwareBase, ThermalConfig from system.hardware.base import HardwareBase, ThermalConfig
@ -18,9 +17,6 @@ class Pc(HardwareBase):
def get_sound_card_online(self): def get_sound_card_online(self):
return True return True
def is_sound_playing(self):
return "RUNNING" in subprocess.check_output(["pactl", "list", "short", "sinks"]).decode('utf8')
def reboot(self, reason=None): def reboot(self, reason=None):
print("REBOOT!") print("REBOOT!")

@ -96,9 +96,6 @@ class Tici(HardwareBase):
return (os.path.isfile('/proc/asound/card0/state') and return (os.path.isfile('/proc/asound/card0/state') and
open('/proc/asound/card0/state').read().strip() == 'ONLINE') open('/proc/asound/card0/state').read().strip() == 'ONLINE')
def is_sound_playing(self):
return "RUNNING" in subprocess.check_output(["pactl", "list", "short", "sinks"]).decode('utf8')
def reboot(self, reason=None): def reboot(self, reason=None):
subprocess.check_output(["sudo", "reboot"]) subprocess.check_output(["sudo", "reboot"])

@ -5,7 +5,6 @@ import numpy as np
from cereal import messaging from cereal import messaging
from common.filter_simple import FirstOrderFilter from common.filter_simple import FirstOrderFilter
from common.realtime import Ratekeeper from common.realtime import Ratekeeper
from system.hardware import HARDWARE
from system.swaglog import cloudlog from system.swaglog import cloudlog
RATE = 10 RATE = 10
@ -60,8 +59,7 @@ class Mic:
sound_pressure, _ = calculate_spl(self.measurements) sound_pressure, _ = calculate_spl(self.measurements)
measurements_weighted = apply_a_weighting(self.measurements) measurements_weighted = apply_a_weighting(self.measurements)
sound_pressure_weighted, sound_pressure_level_weighted = calculate_spl(measurements_weighted) sound_pressure_weighted, sound_pressure_level_weighted = calculate_spl(measurements_weighted)
if not HARDWARE.is_sound_playing(): self.spl_filter_weighted.update(sound_pressure_level_weighted)
self.spl_filter_weighted.update(sound_pressure_level_weighted)
else: else:
sound_pressure = 0 sound_pressure = 0
sound_pressure_weighted = 0 sound_pressure_weighted = 0

Loading…
Cancel
Save