Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: EdDev/cppplay
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: EdDev/cppplay
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: dynamic_state_machine
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 14 files changed
  • 1 contributor

Commits on Nov 15, 2014

  1. Dynamic State Machine

    A State Machine implementation with configurable state transitions.
    It maintains state decoupling, allowing it to scale and support multiple setups.
    
    Setup/Definition logic:
    - Create a State Machine.
    - Create states.
    - Set the SM initial state.
    - Set the SM default behavior: Action to take if no map is found.
      (NULL specifies to remain in the same state)
    - Map State & Result to the next State. (state, result, nextState)
      Receiving an event wile in state, triggers a state operation, resulting in a StateResult.
      SM State is changed to the nextState based on the result.
    
    Operation:
    - Usually called from a controller that receives events in an asynchronous mode.
      Usage example:
      State *state = sm->getCurrentState();
      sm->execEvent(state->evExist());
      // At this stage sm->getCurrentState() will return a new state.
    EdDev committed Nov 15, 2014
    Configuration menu
    Copy the full SHA
    b2c15f3 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2014

  1. Card Controller - Integrated with the Dynamic State Machine.

    The controller is serving the cards (devices) by providing them means
    to register to the controller with their SM and giving each a unique id for communication.
    
    regCard() is used for card registration.
    run() is used for running the controller, usually in it's own task in an endless loop,
    blocking on recv messages.
    EdDev committed Nov 16, 2014
    Configuration menu
    Copy the full SHA
    c96d9bc View commit details
    Browse the repository at this point in the history
  2. Adding Controller & SM documentation.

    An UML and a README file have been added.
    EdDev committed Nov 16, 2014
    Configuration menu
    Copy the full SHA
    027e876 View commit details
    Browse the repository at this point in the history
Loading