Skip to content
Neil Dorin edited this page Nov 10, 2022 · 23 revisions

Welcome to PepperDash Essentials!

PepperDash Essentials is an open-source framework for control systems, built on Crestron's Simpl# Pro framework. It can be configured as a standalone program capable of running a wide variety of system designs and can also be used to augment other Crestron programs.

Essentials is a collection of C# libraries that can be used in many ways. It is a 100% configuration-driven framework that can be extended to add different workflows and behaviors, either through the addition of new device-types and classes, or via a plug-in mechanism. The framework is a collection of things that are all related and interconnected, but in general do not have strong dependencies on each other.


Get started

Or use the links to the right to navigate our documentation.


Benefits

  • Runs on Crestron 3-Series, 4-Series and VC-4 Control System platforms
  • Reduced hardware overhead compared to S+ and Simpl solutions
  • Quick development cycle
  • Shared resources made easily available
  • More flexibility with less code
  • Configurable using simple JSON files
  • Is awesome

Documentation

Click the links to the right to explore Essentials further!


Comment

The Essentials wiki is clearly in-progress right now. Take a look at the links to the right. We are actively working on this documentation, so please be patient with us. If you have any comments on or suggestions for the documentation, please file an issue here, with as much detail as you can provide: https://github.com/PepperDash/Essentials/issues

Thanks!


Collaboration

Essentials is an open-source project and we encourage collaboration on this community project. For features that may not be useful to the greater community, or for just-plain learning, we want to remind developers to try writing plugins for Essentials. More information can be found here: Plugins

Open-source-collaborative workflow

The main branch always contain the latest stable version. The development branch is used for most development efforts.

GitFlow will be used as the workflow for this collaborative project. To contribute, follow this process:

  1. Fork this repository (More Info)
  2. Create a branch using standard GitFlow branch prefixes (feature/hotfix) followed by a descriptive name.
    • Example: feature/add-awesomeness or hotfix/really-big-oops
    • When working on a new feature or bugfix, branch from the development branch. When working on a hotfix, branch from main.
  3. Make commits as necessary (often is better). And use concise, descriptive language, leveraging issue notation and/or Closing Keywords to ensure any issues addressed by your work are referenced accordingly.
  4. When the scope of the work for your branch is complete, make sure to rebase your branch in case further progress has been made since the repo was forked
  5. Create a Pull Request to pull your branch into the appropriate branch in the main repository.
  6. Your Pull Request will be reviewed by our team and evaluated for inclusion into the main repository.

Next: Get started