-
Notifications
You must be signed in to change notification settings - Fork 17
Create Alert Notification API or plugin system
We want to integrate traffic light/buzzer tower for test station monitoring.
To control the light tower, this requires some hardware interface specific implementation. Hardware/installation specific code doesn't really belong in the Fixate sequencer. At the same time, because it is common behavior related to the sequencer state, it is not something that can implemented in test scripts.
An option is to use a plugin that can be installed along side each Fixate install, to implement hardware specific code. Fixate will need to have a interface spec that the plugin implement. The interface should focus on functional state, rather than specific actions (e.g. "running" or "stopped" rather than "green" or "red")
Proposed states:
- Running
- Stopped - O.K. - User action required
- Stopped - Error - User action required (aka equipment error)
- Stopped - Fail - User action required (aka DUT test failure)
- Finished - Pass
- Finished - Error
- Finished - Fail
The sequence would call function in the notification plugin to update the state. Base on the change of state, the plugin implementation would be able to change light colours, flash lights, sounds buzzer etc.
Background info Quick list of resources on different plug-in options for python. (I think a pre-canned plugin system is probably best, but we might not choose to go that way)
- Blog post: Fundamentals
- Blog post: Extending Your Applications with Plugins
- Stevedore
- pluggy
- gather
- straight.plugin
- Yapsy