Yann Bouteiller commited on
Commit
5c3b17f
1 Parent(s): da5fc70

small modifs + fixed boot files for sound

Browse files
boot/boot.scr ADDED
Binary file (2.12 kB). View file
boot/linux-image-4.14.98-imx_12-4_arm64.deb CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:74d6a69d76d03fb59bffd60d6c1d3229bb9307f5e64a1f2c8af6ce2233dffa0d
3
- size 11093740
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:573a0f42c1f5aafd34c588369f35abc225be73fd7c79ac8f45a757b260d606dc
3
+ size 11096552
boot/portiloop.dtbo ADDED
Binary file (3.12 kB). View file
boot/portiloop.dts CHANGED
@@ -1,7 +1,7 @@
1
  /dts-v1/;
2
  /plugin/;
3
 
4
- ///include/ "fsl-imx8mq-phanbell.dtb";
5
 
6
  / {
7
  compatible = "fsl,imx8mq-phanbell", "fsl,imx8mq";
@@ -78,13 +78,15 @@
78
  #sound-dai-cells = <0>;
79
  compatible = "fsl,sgtl5000";
80
  reg = <0x0a>;
81
-
82
- clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
83
- assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
84
- assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
85
  assigned-clock-rates = <24576000>;
86
 
87
  status = "okay";
 
 
 
88
  };
89
  };
90
  };
@@ -106,8 +108,8 @@
106
  simple-audio-card,name = "sgtl5000";
107
  simple-audio-card,format = "i2s";
108
  simple-audio-card,widgets = "Headphone", "Headphones";
109
- simple-audio-card,routing = "Headphones", "HPOUTL",
110
- "Headphones", "HPOUTR";
111
 
112
  status = "okay";
113
 
@@ -117,7 +119,7 @@
117
 
118
  audio_codec: simple-audio-card,codec {
119
  sound-dai = <&sgtl5000>;
120
- clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
121
  frame-master;
122
  bitclock-master;
123
  };
1
  /dts-v1/;
2
  /plugin/;
3
 
4
+ ///include/ "fsl-imx8mq-phanbell.dts";
5
 
6
  / {
7
  compatible = "fsl,imx8mq-phanbell", "fsl,imx8mq";
78
  #sound-dai-cells = <0>;
79
  compatible = "fsl,sgtl5000";
80
  reg = <0x0a>;
81
+ clocks = <&clk 211>;
82
+ assigned-clocks = <&clk 129>;
83
+ assigned-clock-parents = <&clk 27>;
 
84
  assigned-clock-rates = <24576000>;
85
 
86
  status = "okay";
87
+
88
+ VDDA-supply = <&reg_apex>;
89
+ VDDIO-supply = <&reg_apex>;
90
  };
91
  };
92
  };
108
  simple-audio-card,name = "sgtl5000";
109
  simple-audio-card,format = "i2s";
110
  simple-audio-card,widgets = "Headphone", "Headphones";
111
+ simple-audio-card,routing = "Headphones", "HP_OUT",
112
+ "Headphones", "HP_OUT";
113
 
114
  status = "okay";
115
 
119
 
120
  audio_codec: simple-audio-card,codec {
121
  sound-dai = <&sgtl5000>;
122
+ clocks = <&clk 211>;
123
  frame-master;
124
  bitclock-master;
125
  };
portiloop/capture.py CHANGED
@@ -445,15 +445,20 @@ class Capture:
445
  self._test_stimulus_lock = Lock()
446
  self._test_stimulus = False
447
 
448
- mixers = alsaaudio.mixers()
449
- if len(mixers) <= 0:
 
 
 
 
 
 
 
 
 
450
  warnings.warn(f"No ALSA mixer found.")
451
  self.mixer = DummyAlsaMixer()
452
- elif 'PCM' in mixers:
453
- self.mixer = alsaaudio.Mixer(control='PCM')
454
- else:
455
- warnings.warn(f"Could not find mixer PCM, using {mixers[0]} instead.")
456
- self.mixer = alsaaudio.Mixer(control=mixers[0])
457
  self.volume = self.mixer.getvolume()[0] # we will set the same volume on all channels
458
 
459
 
445
  self._test_stimulus_lock = Lock()
446
  self._test_stimulus = False
447
 
448
+ try:
449
+ mixers = alsaaudio.mixers()
450
+ if len(mixers) <= 0:
451
+ warnings.warn(f"No ALSA mixer found.")
452
+ self.mixer = DummyAlsaMixer()
453
+ elif 'PCM' in mixers:
454
+ self.mixer = alsaaudio.Mixer(control='PCM')
455
+ else:
456
+ warnings.warn(f"Could not find mixer PCM, using {mixers[0]} instead.")
457
+ self.mixer = alsaaudio.Mixer(control=mixers[0])
458
+ except ALSAAudioError as e:
459
  warnings.warn(f"No ALSA mixer found.")
460
  self.mixer = DummyAlsaMixer()
461
+
 
 
 
 
462
  self.volume = self.mixer.getvolume()[0] # we will set the same volume on all channels
463
 
464
 
portiloop/notebooks/tests.ipynb CHANGED
@@ -2,12 +2,25 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": null,
6
  "id": "16651843",
7
  "metadata": {
8
  "scrolled": false
9
  },
10
- "outputs": [],
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  "source": [
12
  "from portiloop.capture import Capture\n",
13
  "from portiloop.detection import SleepSpindleRealTimeDetector\n",
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": 1,
6
  "id": "16651843",
7
  "metadata": {
8
  "scrolled": false
9
  },
10
+ "outputs": [
11
+ {
12
+ "ename": "ALSAAudioError",
13
+ "evalue": "No such file or directory [default]",
14
+ "output_type": "error",
15
+ "traceback": [
16
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
17
+ "\u001b[0;31mALSAAudioError\u001b[0m Traceback (most recent call last)",
18
+ "\u001b[0;32m<ipython-input-1-c2044ba37313>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mmy_stimulator_class\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSleepSpindleRealTimeStimulator\u001b[0m \u001b[0;31m# you may also want to implement yours\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mcap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCapture\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdetector_cls\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmy_detector_class\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstimulator_cls\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmy_stimulator_class\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
19
+ "\u001b[0;32m~/portiloop-software/portiloop/capture.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, detector_cls, stimulator_cls)\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_test_stimulus\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 447\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 448\u001b[0;31m \u001b[0mmixers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0malsaaudio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmixers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 449\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmixers\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 450\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"No ALSA mixer found.\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
20
+ "\u001b[0;31mALSAAudioError\u001b[0m: No such file or directory [default]"
21
+ ]
22
+ }
23
+ ],
24
  "source": [
25
  "from portiloop.capture import Capture\n",
26
  "from portiloop.detection import SleepSpindleRealTimeDetector\n",