@@ -156,16 +156,18 @@ primary_color = AppearanceManager.get_primary_color()
156156```
157157
158158### AudioManager
159- Manages audio playback and recording.
159+ Manages audio playback and recording with a device registry .
160160
161161``` python
162162from mpos import AudioManager
163163
164- # Initialize at startup
165- AudioManager.init()
164+ # Register devices at startup
165+ AudioManager.add(AudioManager.Output(name = " speaker" , kind = " i2s" , i2s_pins = {" ws" : 47 , " sd" : 16 }))
166+ AudioManager.add(AudioManager.Input(name = " mic" , kind = " i2s" , i2s_pins = {" ws" : 47 , " sd_in" : 15 }))
166167
167168# Use anywhere
168- AudioManager.play_wav(" path/to/audio.wav" )
169+ player = AudioManager.player(file_path = " path/to/audio.wav" )
170+ player.start()
169171AudioManager.stop()
170172```
171173
@@ -210,7 +212,7 @@ image_data = CameraManager.capture_photo()
210212```
211213
212214### SensorManager
213- Manages sensor access (accelerometer, gyroscope, etc. ).
215+ Manages sensor access (accelerometer, gyroscope, magnetometer, temperature ).
214216
215217``` python
216218from mpos import SensorManager
@@ -219,7 +221,8 @@ from mpos import SensorManager
219221SensorManager.init()
220222
221223# Read sensor data
222- accel_data = SensorManager.read_accelerometer()
224+ accel = SensorManager.get_default_sensor(SensorManager.TYPE_ACCELEROMETER )
225+ accel_data = SensorManager.read_sensor(accel)
223226```
224227
225228### TaskManager
@@ -259,7 +262,9 @@ def init_frameworks():
259262 """ Initialize all frameworks."""
260263 AppManager.refresh_apps() # Discover all installed apps
261264 AppearanceManager.init(prefs) # Requires SharedPreferences
262- AudioManager.init()
265+ # Register AudioManager devices for this board
266+ AudioManager.add(AudioManager.Output(name = " speaker" , kind = " i2s" , i2s_pins = {" ws" : 47 , " sd" : 16 }))
267+ AudioManager.add(AudioManager.Input(name = " mic" , kind = " i2s" , i2s_pins = {" ws" : 47 , " sd_in" : 15 }))
263268 DownloadManager.init()
264269 ConnectivityManager.init()
265270 CameraManager.init()
@@ -377,7 +382,9 @@ from mpos import AppearanceManager, AudioManager, CameraManager, ConnectivityMan
377382
378383# Then use class methods directly (no .get() needed)
379384AppearanceManager.init(prefs)
380- AudioManager.play_wav(" music.wav" )
385+ player = AudioManager.player(file_path = " music.wav" )
386+ player.start()
387+ accel = SensorManager.get_default_sensor(SensorManager.TYPE_ACCELEROMETER )
381388SensorManager.read_sensor(accel)
382389```
383390
0 commit comments