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:
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
// E116 §6 standard collection-event identifiers, one per top-level
|
||||
// state. Equipment fires the matching CEID on transition into that
|
||||
// state; hosts subscribe via the existing S2F33 / S2F35 / S2F37 flow.
|
||||
namespace secsgem::gem::e116 {
|
||||
|
||||
inline constexpr uint32_t kCeidNonScheduledTime = 1100;
|
||||
inline constexpr uint32_t kCeidScheduledDowntime = 1101;
|
||||
inline constexpr uint32_t kCeidUnscheduledDowntime = 1102;
|
||||
inline constexpr uint32_t kCeidEngineering = 1103;
|
||||
inline constexpr uint32_t kCeidStandby = 1104;
|
||||
inline constexpr uint32_t kCeidProductive = 1105;
|
||||
|
||||
} // namespace secsgem::gem::e116
|
||||
Reference in New Issue
Block a user