From 10fb65ae40e087e84a05d0b34fa38a37ed489df7 Mon Sep 17 00:00:00 2001 From: Stefan Kratochwil Date: Tue, 29 Apr 2025 21:51:42 +0200 Subject: [PATCH] docu: current architecture draft; layout slightly suboptimal. --- software/doc/architecture.puml | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 software/doc/architecture.puml diff --git a/software/doc/architecture.puml b/software/doc/architecture.puml new file mode 100644 index 0000000..661bfc9 --- /dev/null +++ b/software/doc/architecture.puml @@ -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 \ No newline at end of file