F2: EPT joined to EquipmentDataModel + server-side CEID emission
EquipmentDataModel now carries an EptStateMachine as a value member alongside the other top-level state machines. Server installs a state-change handler that maps every EPT transition to a CEID emission through the existing emit_event path: 1100 NonScheduledTime 1103 Engineering 1101 ScheduledDowntime 1104 Standby 1102 UnscheduledDowntime 1105 Productive CEIDs land in the 1100+ block to keep clear of the demo equipment.yaml (100s/200s/400s) and E90 (900s). Log lines include the dwell time of the previous state so trace-level diagnostics show utilization without extra tooling. Application code drives transitions by calling model->ept.on_event(...); the existing event-report machinery (subscription state, S6F11 batching, spool) gates wire emission so EPT events spool on offline hosts like every other CEID. Closes Tranche F — E116 Equipment Performance Tracking end-to-end. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "secsgem/gem/store/alarms.hpp"
|
||||
#include "secsgem/gem/store/carriers.hpp"
|
||||
#include "secsgem/gem/store/clock.hpp"
|
||||
#include "secsgem/gem/ept_state.hpp"
|
||||
#include "secsgem/gem/store/control_jobs.hpp"
|
||||
#include "secsgem/gem/store/equipment_constants.hpp"
|
||||
#include "secsgem/gem/store/event_reports.hpp"
|
||||
@@ -41,6 +42,7 @@ struct EquipmentDataModel {
|
||||
CarrierStore carriers;
|
||||
LoadPortStore load_ports;
|
||||
SubstrateStore substrates;
|
||||
EptStateMachine ept;
|
||||
|
||||
// Convenience: VID -> value lookup spanning SVIDs and DVIDs.
|
||||
std::optional<s2::Item> vid_value(uint32_t vid) const {
|
||||
|
||||
Reference in New Issue
Block a user