Picarro Edge implements a publish/subscribe surface on top of gRPC server streaming: every service exposes a `watch(picarro.signal.Filter)` method that returns a stream of `Signal` messages, where the `oneof signal` field acts as the topic. This document describes that real event surface. PROVENANCE: Picarro publishes NO AsyncAPI document. This description was DERIVED from Picarro's own first-party ProtoBuf interface definitions in https://github.com/picarro/sam-foup-public (mirrored verbatim in this repo under `grpc/`). Every channel, message and enumerated value below appears in those .proto files; nothing has been invented. It is an API Evangelist derivation, not a provider artifact.
View SpecView on GitHubCompanyGas DetectionEnvironmental MonitoringEmissionsMethaneGreenhouse GasScientific InstrumentsSemiconductorsIndustrial IoTSensorsAnalyticsgRPCAsyncAPIEventsgRPC
Channels
foupSignals
Server stream of picarro.sam.foup.Signal. Clients pass a picarro.signal.Filter with the oneof field numbers to include (polarity=true) or exclude (polarity=false); an empty filter streams every event.
measurementSetSignals
Server stream of picarro.sam.ms.Signal.
controllerSignals
Server stream of picarro.sam.controller.Signal. This is a "mapping signal": each message carries mapping_action (MAP_ADDITION | MAP_UPDATE | MAP_REMOVAL) and mapping_key (the analyzer identity, e.g. "Picarro_8008-AMSADS3008"). analyzer_health is cached server-side and re-emitted to new watchers.
netConfigSignals
Server stream of picarro.platform.netconfig.Signal.
sysConfigSignals
Server stream of picarro.platform.sysconfig.Signal.
upgradeSignals
Server stream of picarro.platform.upgrade.Signal.
Messages
✉
OperationalStatus
Overall operational status
Emitted on any change of system operational state.
✉
JobStatus
Job status
Emitted upon change, and once per second during a run.
✉
JobResult
Job results
Emitted once a job has completed successfully.
✉
ReprocessedResult
Reprocessed job results
Emitted when reprocessed data is available.
✉
AnalyzerFdcEvent
Analyzer Fault Detection and Classification event
Emitted when the analyzer reports FDC flags. Introduced in FOUP v6.1. Carries an escalation reason (ESCALATED, ESCALATION_CONTINUED every 60s while critical, or DE_ESCALATED after 60s of inactivity).
✉
MSOpResponse
Measurement set operation status
Emitted on measurement-set operation status change (MS_OP_ACCEPTED, MS_OP_SUCCESS, ...).
✉
SuggestedMeasurementSets
Suggested measurement sets
Measurement-set additions the system suggests from historical data.
✉
RawPicarroMQ
Raw PicarroMQ message
Raw message received over PicarroMQ from SAM core. mapping_key is the PicarroMQ topic; mapping_action is fixed as MAP_UPDATE. Not cached server-side. Debugging use.
✉
AnalyzerDriverStarted
Analyzer driver started
mapping_action fixed as MAP_ADDITION; mapping_key is the analyzer identity (e.g. "Picarro_9038-NUV1083"). Implicitly invalidates existing analyzer_health mappings. Not cached server-side.
✉
AnalyzerHealth
Analyzer health alert
mapping_action indicates added/updated/removed; mapping_key is the analyzer identity. Cached server-side and re-emitted on subsequent watch() calls.
✉
GenericPlatformSignal
Platform service signal
Signal multiplexer emitted by the platform services. See the corresponding .proto file in grpc/ for the exact oneof variants.
Servers
grpc
edge
picarro-edge, the FOUP job-control gRPC server. Plaintext ("insecure") h2c by default; deployed on the customer's instrument network. Use --host=ADDRESS to reach a remote instance. gRPC reflection is enabled.
grpc
platform
platformserver, managing host settings on the SLIM computer. Plaintext gRPC, reflection enabled.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.