1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
//! Theta symbol constants for IoT semantic classification.
//!
//! Plain `u16` constants — no external dependencies.
//! Source of truth: emergent-symbols (private). Inlined here for zero-dep edge installs.
// ---------------------------------------------------------------------------
// Hardware Sensor (0xFC60–0xFC6F)
// ---------------------------------------------------------------------------
pub const SENSOR_TEMP: u16 = 0xFC60; // S~t Temperature reading
pub const SENSOR_VOLTAGE: u16 = 0xFC61; // S~v Voltage reading
pub const SENSOR_CURRENT: u16 = 0xFC62; // S~a Current (amps)
pub const SENSOR_FAN: u16 = 0xFC63; // S~f Fan speed
pub const SENSOR_PRESSURE: u16 = 0xFC64; // S~p Pressure
pub const SENSOR_HUMIDITY: u16 = 0xFC65; // S~h Humidity
pub const SENSOR_POWER_DRAW: u16 = 0xFC66; // S~w Power draw (watts)
pub const SENSOR_VIBRATION: u16 = 0xFC67; // S~x Vibration
pub const SENSOR_NOISE: u16 = 0xFC68; // S~n Noise level (dB)
pub const SENSOR_ALTITUDE: u16 = 0xFC69; // S~z Altitude
pub const SENSOR_POLL: u16 = 0xFC6A; // S? Generic sensor read / poll
pub const SENSOR_SUBSCRIBE: u16 = 0xFC6B; // S* Subscribe to sensor stream
pub const SENSOR_THRESHOLD: u16 = 0xFC6C; // S| Threshold configuration
pub const SENSOR_ALERT: u16 = 0xFC6D; // S! Threshold alert triggered
pub const SENSOR_CALIBRATE: u16 = 0xFC6E; // S= Calibration event
pub const SENSOR_HISTORY: u16 = 0xFC6F; // S[] Historical data query
// ---------------------------------------------------------------------------
// Hardware GPIO (0xFC80–0xFC8F)
// ---------------------------------------------------------------------------
pub const GPIO_READ: u16 = 0xFC80; // IO? Read digital pin
pub const GPIO_WRITE: u16 = 0xFC81; // IO= Write digital pin
pub const GPIO_HIGH: u16 = 0xFC82; // IO^ Set pin high
pub const GPIO_LOW: u16 = 0xFC83; // IOv Set pin low
pub const GPIO_TOGGLE: u16 = 0xFC84; // IO~ Toggle pin
pub const GPIO_PULL_UP: u16 = 0xFC85; // IO+ Enable pull-up
pub const GPIO_PULL_DOWN: u16 = 0xFC86; // IO- Enable pull-down
pub const GPIO_FLOATING: u16 = 0xFC87; // IO| Set floating
pub const GPIO_IRQ_RISE: u16 = 0xFC88; // IO↑! Rising edge interrupt
pub const GPIO_IRQ_FALL: u16 = 0xFC89; // IO↓! Falling edge interrupt
pub const GPIO_IRQ_BOTH: u16 = 0xFC8A; // IO↕! Both-edge interrupt
pub const GPIO_PWM_SET: u16 = 0xFC8B; // IO% Set PWM duty cycle
pub const GPIO_PWM_FREQ: u16 = 0xFC8C; // IO# Set PWM frequency
pub const GPIO_ANALOG_READ: u16 = 0xFC8D; // IOA? Analog read (ADC)
pub const GPIO_ANALOG_WRITE: u16 = 0xFC8E; // IOA= Analog write (DAC)
pub const GPIO_RES: u16 = 0xFC8F; // IO?? Reserved
// ---------------------------------------------------------------------------
// Hardware Actuator (0xFC90–0xFC9F)
// ---------------------------------------------------------------------------
pub const ACTUATOR_MOTOR_START: u16 = 0xFC90; // M▶ Start motor
pub const ACTUATOR_MOTOR_STOP: u16 = 0xFC91; // M⏹ Stop motor
pub const ACTUATOR_MOTOR_SPEED: u16 = 0xFC92; // M# Set motor speed
pub const ACTUATOR_MOTOR_DIR: u16 = 0xFC93; // M↔ Set motor direction
pub const ACTUATOR_SERVO_SET: u16 = 0xFC94; // SV= Set servo position
pub const ACTUATOR_SERVO_HOME: u16 = 0xFC95; // SV0 Servo home position
pub const ACTUATOR_RELAY_ON: u16 = 0xFC96; // RL^ Relay on
pub const ACTUATOR_RELAY_OFF: u16 = 0xFC97; // RLv Relay off
pub const ACTUATOR_RELAY_TOGGLE: u16 = 0xFC98; // RL~ Relay toggle
pub const ACTUATOR_SOLENOID_OPEN: u16 = 0xFC99; // SL^ Solenoid open
pub const ACTUATOR_SOLENOID_CLOSE:u16 = 0xFC9A; // SLv Solenoid close
pub const ACTUATOR_STEPPER_STEP: u16 = 0xFC9B; // ST→ Stepper step
pub const ACTUATOR_STEPPER_HOME: u16 = 0xFC9C; // ST0 Stepper home
pub const ACTUATOR_BUZZER_ON: u16 = 0xFC9D; // BZ^ Buzzer on
pub const ACTUATOR_LED_SET: u16 = 0xFC9E; // LD= LED set
pub const ACTUATOR_RES: u16 = 0xFC9F; // A?? Reserved
// ---------------------------------------------------------------------------
// IoT Protocol (0xFCA0–0xFCAF)
// ---------------------------------------------------------------------------
pub const PROTO_MQTT_PUB: u16 = 0xFCA0; // MQ↑ MQTT publish
pub const PROTO_MQTT_SUB: u16 = 0xFCA1; // MQ* MQTT subscribe
pub const PROTO_MQTT_CONN: u16 = 0xFCA2; // MQ→ MQTT connect
pub const PROTO_MQTT_DISC: u16 = 0xFCA3; // MQ← MQTT disconnect
pub const PROTO_COAP_GET: u16 = 0xFCA4; // CP? CoAP GET
pub const PROTO_COAP_PUT: u16 = 0xFCA5; // CP= CoAP PUT
pub const PROTO_COAP_POST: u16 = 0xFCA6; // CP+ CoAP POST
pub const PROTO_COAP_OBS: u16 = 0xFCA7; // CP* CoAP observe
pub const PROTO_ZIGBEE_JOIN: u16 = 0xFCA8; // ZB+ Zigbee join
pub const PROTO_ZIGBEE_SEND: u16 = 0xFCA9; // ZB↑ Zigbee send
pub const PROTO_LORA_TX: u16 = 0xFCAA; // LR↑ LoRa transmit
pub const PROTO_LORA_RX: u16 = 0xFCAB; // LR↓ LoRa receive
pub const PROTO_BLE_ADV: u16 = 0xFCAC; // BT* BLE advertise
pub const PROTO_BLE_CONN: u16 = 0xFCAD; // BT→ BLE connect
pub const PROTO_MATTER_CMD: u16 = 0xFCAE; // MT→ Matter command
pub const PROTO_RES: u16 = 0xFCAF; // P?? Reserved
// ---------------------------------------------------------------------------
// Edge Lifecycle (0xFCB0–0xFCBF)
// ---------------------------------------------------------------------------
pub const EDGE_OTA_START: u16 = 0xFCB0; // OTA▶ OTA update start
pub const EDGE_OTA_CHUNK: u16 = 0xFCB1; // OTA+ OTA chunk transfer
pub const EDGE_OTA_VERIFY: u16 = 0xFCB2; // OTA= OTA verify
pub const EDGE_OTA_APPLY: u16 = 0xFCB3; // OTA✓ OTA apply
pub const EDGE_WDT_KICK: u16 = 0xFCB4; // WD♥ Watchdog kick
pub const EDGE_WDT_EXPIRE: u16 = 0xFCB5; // WD✗ Watchdog expired
pub const EDGE_SLEEP: u16 = 0xFCB6; // Zz Enter sleep
pub const EDGE_WAKE: u16 = 0xFCB7; // Z! Wake from sleep
pub const EDGE_DEEP_SLEEP: u16 = 0xFCB8; // ZZz Deep sleep
pub const EDGE_PROVISION: u16 = 0xFCB9; // ID+ Provision device
pub const EDGE_DEPROVISION: u16 = 0xFCBA; // ID- Deprovision device
pub const EDGE_TWIN_SYNC: u16 = 0xFCBB; // DT= Digital twin sync
pub const EDGE_TWIN_DELTA: u16 = 0xFCBC; // DT∆ Digital twin delta
pub const EDGE_INFER: u16 = 0xFCBD; // EI▶ Edge inference
pub const EDGE_RESET: u16 = 0xFCBE; // HW0 Hardware reset
pub const EDGE_RES: u16 = 0xFCBF; // E?? Reserved
// ---------------------------------------------------------------------------
// Geographic / GPS (0xFA00–0xFA7F)
// ---------------------------------------------------------------------------
pub const GEO_FIX: u16 = 0xFA00; // GPS fix acquired
pub const GEO_MOVE: u16 = 0xFA10; // Movement event
pub const GEO_FENCE_ENTER: u16 = 0xFA20; // Geofence enter
pub const GEO_FENCE_EXIT: u16 = 0xFA21; // Geofence exit
pub const GEO_PROXIMITY: u16 = 0xFA70; // Proximity event
// ---------------------------------------------------------------------------
// Metrics (0xF200–0xF2FF)
// ---------------------------------------------------------------------------
pub const METRICS_COUNTER_INC: u16 = 0xF200; // Counter increment
pub const METRICS_GAUGE_SET: u16 = 0xF210; // Gauge set
pub const METRICS_GAUGE_CURRENT: u16 = 0xF216; // Gauge current value
pub const METRICS_EVENT_EMIT: u16 = 0xF230; // Event emit
// ---------------------------------------------------------------------------
// Fallback
// ---------------------------------------------------------------------------
pub const GENERIC_POLL: u16 = SENSOR_POLL;