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

Figure out application structure #9

Open
@mroach

Description

@mroach

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions