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
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
This commit is contained in:
60
software/doc/architecture.puml
Normal file
60
software/doc/architecture.puml
Normal 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
|
||||
Reference in New Issue
Block a user