cfa2d1e531
Replaces the simplified <L,3 PRJOBID PPID MTRLOUTSPEC> demo body with
the full SEMI E40-0705 §10.2 shape:
<L,5 PRJOBID MF PRRECIPEMETHOD
<L,2 PPID <L,n <L,2 RCPPARNM RCPPARVAL>>>
<L,n MTRLOUTSPEC>
<L,n <L,2 PARAMNAME PARAMVAL>>>
ProcessJob now carries the extra fields (MaterialFlag, ProcessRecipeMethod,
RcpVar[], ProcessParam[]) so a tool's recipe engine can later consume
the recipe-variable overrides and per-job process parameters. Server
S16F11 dispatch populates them via the new ProcessJobStore::set_e40_extras
helper after a successful create.
MaterialFlag + ProcessRecipeMethod enums live in their own tiny header
(`e40_constants.hpp`) so process_jobs.hpp (the store) can use them
without dragging in messages_helpers.hpp (which would create a circular
include via data_model.hpp).
The simplified 3-arg HostHandler::send_create_process_job convenience
remains; it constructs a sensible-default PRJobCreateRequest internally.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
29 lines
1020 B
C++
29 lines
1020 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
// E40-0705 §10.2 constants used by both the runtime stores (e.g.
|
|
// ProcessJob carries MaterialFlag) and the generated message catalog
|
|
// (S16F11 PRJobCreate body shape). Kept in its own tiny header so the
|
|
// store side can use them without pulling in messages_helpers.hpp,
|
|
// which in turn pulls in data_model.hpp -> the stores themselves.
|
|
|
|
namespace secsgem::gem {
|
|
|
|
// E40 S16F11 MF (Material Flag). Classifies what the material outspec
|
|
// represents. Values from SEMI E40 §10.2.
|
|
enum class MaterialFlag : uint8_t {
|
|
Substrate = 0, // outspec holds substrate / wafer IDs
|
|
Carrier = 1, // outspec holds carrier IDs
|
|
Other = 2, // tool-defined
|
|
};
|
|
|
|
// E40 S16F11 PRRECIPEMETHOD. Tells equipment what to do with the
|
|
// recipe id in RCPSPEC.
|
|
enum class ProcessRecipeMethod : uint8_t {
|
|
RecipeOnly = 0, // PPID identifies an existing recipe; use as is
|
|
RecipeWithVariableTuning = 1, // PPID + apply RCPVARLIST overrides
|
|
};
|
|
|
|
} // namespace secsgem::gem
|