1 Commits

Author SHA1 Message Date
10fb65ae40 docu: current architecture draft; layout slightly suboptimal.
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 3m0s
Check code formatting / Check-C-Format (push) Successful in 7s
Check code formatting / Check-Python-Flake8 (push) Successful in 9s
Check code formatting / Check-Bash-Shellcheck (push) Successful in 5s
Run unit tests on host / Run-Unit-Tests (push) Successful in 8s
2025-05-20 19:09:14 +02:00

View File

@@ -0,0 +1,60 @@
@startuml
component "Application Context" {
component PlayerApp [
PlayerApp
- manages playlists
- random or sequential
- resumable or not
]
component MP3Player [
MP3Player
- stream bytes to core1
- track playback position in time and bytes
]
component LED [
LED
]
component NFCReader [
NFCReader
- poll nfc
]
component Button [
Button
- debounce
- key repeat
]
}
component Filesystem {
component MP3
component Database
}
[PlayerApp] -left-> [MP3Player] : startPlayback(file)
[PlayerApp] -left-> [MP3Player] : stop()
[PlayerApp] -left-> [MP3Player] : pause() : current_position
[PlayerApp] -up-> [LED] : set()
[MP3Player] -down-> [Audiocore] : mp3_bytestream
[MP3Player] -down-> [Audiocore] : volume
[Audiocore] -up-> [MP3Player] : position
[PlayerApp] -up--> [Filesystem] : readdir
[PlayerApp] -up--> [Filesystem] : open
[NFCReader] -left-> [PlayerApp] : onTagChanged
[NFCReader] <--> [MFRC522]
[Button] -left-> [PlayerApp] : onButtonEvent
[Button] <--> [GPIO]
[WebAPI] <---> [PlayerApp] : ? (e.g. stop)
[WebAPI] ---> [Filesystem]
@enduml