Skip to content
This repository has been archived by the owner on May 12, 2020. It is now read-only.

Figure out application structure #9

Open
mroach opened this issue Apr 7, 2019 · 0 comments
Open

Figure out application structure #9

mroach opened this issue Apr 7, 2019 · 0 comments

Comments

@mroach
Copy link
Owner

mroach commented Apr 7, 2019

Goals

  • The system should be able to run perfectly without any of the human interface devices (LCD, RFID, buttons) being available. That is, the admin UI should function great for controlling mpd. This is the typical setup during development.
  • The system should function with only some HIDs present. For example only the buttons, or buttons and RFID, etc.
  • The system should function with the admin UI being down. That is, be able to shut down the Phoenix app and the buttons and RFID can still control music playback

So then, the only app that is truly required is the music player itself. In other words, all HIDs and the admin UI depend on the music player, but the music player shouldn't depend on anything else.

Screenshot 2019-04-07 at 12 33 24

So, how to we structure the app so the HIDs and UI can easily talk to the music player and be made aware of events?

Here's a basic sequence diagram of how the parts interact with the player. Since the LCD is read-only, it's not included. It would just listen for events.

Screenshot 2019-04-07 at 12 49 58

Issues

  • The HIDs won't compile on a system that doesn't have SPI or GPIO available.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant