SISCALL PRO
Modbus Register Map Universal Holding Register Reference (40001 to 40256)
📄 Firmware Spec & Code 📖 Full Index Spec ⚡ Live Inputs âš™ī¸ Config & Actions 🏆 Priorities 💾 EEPROM Memory Map đŸšĒ Corridor Dome

Complete Modbus Holding Register Reference & Memory Map

Full technical memory allocation for 1, 2, and 4-Button RS-485 Wall Units, Attached Toilet Units, Bedside Handsets, and Corridor Over-Door Dome Lights. 100% matched with the full system specification in index.html. All addresses use standard 16-bit Modbus Holding Registers (FC 03 Read, FC 06 Write Single, FC 16 Write Multiple).

Protocol: Modbus RTU over RS-485 (8-N-1) Baud: 19200 bps Transaction Latency: ~25 ms / unit (FC 03) Bus Cycle: ~250–750 ms (10–30 units) EEPROM Allocation: 53 Bytes Total (Offsets 0x00 to 0x34)
🔍

⚡ 1. Real-Time Inputs & Status Register — 40001 (0x0000 / Offset 0)

Function Code 0x03 (READ ONLY)

Polled periodically by the Raspberry Pi Gateway over RS-485. Represents the instantaneous 16-bit state of physical tactile switches and call inputs. Bits latch upon button event and clear when confirmed via Register 40009 (Clear-Mask) or reset:

PLC Address Protocol Offset Access Storage Parameter Name Bit Allocation & Complete Signal Map
40001 0x0000 (0) READ RAM Live Tactile Input Bitmask
Bit 0: BTN1_SP — Button 1 Single Press (< 2s)
Bit 1: BTN1_LP — Button 1 Long Press (> 2s)
Bit 2: BTN2_SP — Button 2 Single Press
Bit 3: BTN2_LP — Button 2 Long Press
Bit 4: BTN3_SP — Button 3 Single Press
Bit 5: BTN3_LP — Button 3 Long Press
Bit 6: BTN4_SP — Button 4 Single Press
Bit 7: BTN4_LP — Button 4 Long Press
Bit 8: TOILET_BTN1_SP — Toilet Unit Button 1 / Cord Single Pull
Bit 9: TOILET_BTN1_LP — Toilet Unit Button 1 / Cord Long Pull (> 2s)
Bit 10: TOILET_BTN2_SP — Toilet Unit Button 2 (Cancel / Reset) Single Press
Bit 11: TOILET_BTN2_LP — Toilet Unit Button 2 (Cancel / Reset) Long Press
Bit 12: REMOTE_BTN1_SP — Remote Pendant Button 1 Single Press
Bit 13: REMOTE_BTN1_LP — Remote Pendant Button 1 Long Press
Bit 14: REMOTE_BTN2_SP — Remote Pendant Button 2 Single Press
Bit 15: REMOTE_BTN2_LP — Remote Pendant Button 2 Long Press

âš™ī¸ 2. Hardware Timing, Key Enable Masks, Status & Commands (40002 to 40010)

FC 03 Read / FC 06 Write
PLC Address Protocol Offset Access Storage Parameter Name Default Value Range & Description
40002 0x0001 (1) R/W EEPROM Single-Press Key Enable Mask 0xFFFF 16-bit mask indexing even bit positions in Reg 40001 (Bits 0, 2, 4, 6, 8, 10, 12, 14). Bit = 1 enables Short Press, Bit = 0 ignores.
40003 0x0002 (2) R/W EEPROM Long-Press Key Enable Mask 0xFFFF 16-bit mask indexing odd bit positions in Reg 40001 (Bits 1, 3, 5, 7, 9, 11, 13, 15). Bit = 1 enables Long Press, Bit = 0 ignores.
40004 0x0003 (3) R/W EEPROM Long-Press Hold Threshold (ms) 2000 Time in milliseconds required to hold button to trigger a Long Press event (Range: 500 to 5000ms).
40005 0x0004 (4) R/W EEPROM Button Debounce Filter (ms) 50 Hardware tactile switch debounce filter duration (Range: 10 to 200ms).
40006 0x0005 (5) R/W EEPROM Idle / Standby Glow Status 3 (Blue) Controls Status LED in idle state: 3 = Blue glow, 0 = OFF. (Call colors cannot equal idle glow color).
40008 0x0007 (7) READ RAM Hardware Status Register 0 Continuous sensor status (NOT clear-on-read): Bit 0: Bed Mat Occupied (1=Occupied, 0=Vacant), Bit 1: Enclosure Tamper Switch Opened.
40009 0x0008 (8) R/W RAM Handled Bits Clear-Mask 0 Gateway writes handled bits bitmask here to clear acknowledged latched events in Register 40001. Reading this register returns 0x0000.
40010 0x0009 (9) R/W RAM Nurse Station Remote & Diagnostic Command 0 Downlink command & diagnostic bitmask: 0x0001 = Remote Clear, 0x0004 = Remote Ack, 0x0008 = Remote Mute, 0x0100 = LED Test (3s cycle), 0x0200 = Buzzer Chirp Test (200ms pulse), 0x0400 = EEPROM Integrity Verification. Diagnostic bits (0x0100, 0x0200, 0x0400) may be combined in a single write. MCU executes and auto-resets to 0.

đŸŽ¯ 3. Button Action Code Registers (40011 to 40038)

Saved in EEPROM
Action Codes are stored as Bitmask Values: value = sum of (1 << code):
â€ĸ 0x0000 (0) : DISABLED / NO_ACTION — Ignore button press; no call registered, no LED change.
â€ĸ 0x0001 (1) : CLEAR_ALL (Bit 0) — Turn OFF all LEDs, turn OFF HOLD LED, mute buzzer, return to standby.
â€ĸ 0x0002 (2) : CALL_SOLID (Bit 1) — Assigned button LED turns SOLID ON with configured color.
â€ĸ 0x0004 (4) : ACKNOWLEDGE (Bit 2) — Turn ON Acknowledge (HOLD) LED when pressed as non-call action. Active call LED stays solid, mutes buzzer.
â€ĸ 0x0008 (8) : MUTE_BUZZER (Bit 3) — When pressed alone (without call bits), snoozes active call buzzer. When combined with call bits (e.g. 0x000A), creates a silent call without snoozing other calls.
â€ĸ 0x0010 (16): STAFF_CHECKIN (Bit 4) — Turns ON confirmation LED for 3.0 seconds, then automatically clears itself.
â€ĸ 0x0020 (32): CALL_BLINK (Bit 5) — Assigned button LED BLINKS continuously with configured color.
â€ĸ 0x0040 (64): MULTI_CALL_CYCLE (Bit 6) — Modifier bit (combine with 0x0002 or 0x0020; not a standalone action). When 2+ buttons are pressed: alternates active call colors in sequence (Color 1 → Color 2 → Color 1).
Validation Rules: Valid action range is 0x00 to 0x7F (bits 0–6). Writes above 0x7F are rejected with Modbus Exception 03 (Illegal Data Value). The following combinations are invalid and must be blocked by the configuring tool: CLEAR_ALL + call bits, ACKNOWLEDGE + call bits, and CALL_SOLID + CALL_BLINK. Should such a value already be present in EEPROM from an earlier configuration, firmware resolves it deterministically: CALL_SOLID + CALL_BLINK renders BLINK; CLEAR_ALL + call bits performs the clear and ignores the call bits; ACKNOWLEDGE + call bits registers the call and ignores the acknowledge.
PLC Address Protocol Offset Access Storage Parameter Name Default Bitmask Hardware Execution Action
40011 0x000A (10) R/W EEPROM Button 1 SP Action Code 0x0002 (CALL_SOLID) Action executed on Button 1 Single Press → Activates Call LED Solid.
40012 0x000B (11) R/W EEPROM Button 1 LP Action Code 0x0020 (CALL_BLINK) Action executed on Button 1 Long Press → Blinks Call LED.
40013 0x000C (12) R/W EEPROM Button 2 SP Action Code 0x0020 (CALL_BLINK) Action executed on Button 2 Single Press → Code Blue / Rapid Flash.
40014 0x000D (13) R/W EEPROM Button 2 LP Action Code 0x0020 (CALL_BLINK) Action executed on Button 2 Long Press → Emergency Alarm.
40015 0x000E (14) R/W EEPROM Button 3 SP Action Code 0x0002 (CALL_SOLID) Action executed on Button 3 Single Press → Assist / Call Solid.
40016 0x000F (15) R/W EEPROM Button 3 LP Action Code 0x0002 (CALL_SOLID) Action executed on Button 3 Long Press.
40017 0x0010 (16) R/W EEPROM Button 4 SP Action Code 0x0004 (ACKNOWLEDGE) Action executed on Button 4 Single Press → Turns ON ACK (Hold) LED, mutes call buzzer.
40018 0x0011 (17) R/W EEPROM Button 4 LP Action Code 0x0001 (CLEAR_ALL) Action executed on Button 4 Long Press → Instantly resets all LEDs & mutes buzzer.
40019 0x0012 (18) R/W EEPROM Toilet Btn 1 (Pull) SP Action 0x0020 (CALL_BLINK) Action on Toilet Pull Cord Single Pull → Blinks Call LED + Alarm.
40020 0x0013 (19) R/W EEPROM Toilet Btn 1 (Pull) LP Action 0x0020 (CALL_BLINK) Action on Toilet Pull Cord Long Pull (> 2s).
40031 0x001E (30) R/W EEPROM Remote Btn 1 SP Action 0x0002 (CALL_SOLID) Bitmask on Handset Btn 1 Single Press. Supports combined actions (∑ 2code):
â€ĸ 2 (0x0002): Call Solid  |  10 (0x000A): Call + Mute Buzzer  |  18 (0x0012): Call + Checkin
40032 0x001F (31) R/W EEPROM Remote Btn 1 LP Action 0x0020 (CALL_BLINK) Bitmask on Handset Btn 1 Long Press. Supports combined actions (∑ 2code):
â€ĸ 32 (0x0020): Urgent Blink  |  40 (0x0028): Blink + Mute  |  96 (0x0060): Blink + Multi-Cycle
40033 0x0020 (32) R/W EEPROM Remote Btn 2 SP Action 0x0004 (ACKNOWLEDGE) Bitmask on Handset Btn 2 Single Press. Supports combined actions (∑ 2code):
â€ĸ 4 (0x0004): Acknowledge  |  12 (0x000C): Ack + Mute  |  20 (0x0014): Ack + Staff Checkin
40034 0x0021 (33) R/W EEPROM Remote Btn 2 LP Action 0x0001 (CLEAR_ALL) Bitmask on Handset Btn 2 Long Press. Supports combined actions (∑ 2code):
â€ĸ 1 (0x0001): Clear All Calls  |  9 (0x0009): Clear + Mute  |  17 (0x0011): Clear + Checkin
40037 0x0024 (36) R/W EEPROM Toilet Btn 2 (Cancel) SP Action 0x0001 (CLEAR_ALL) Action on Toilet Cancel Key Single Press → Local Clear (0x0001).
40038 0x0025 (37) R/W EEPROM Toilet Btn 2 (Cancel) LP Action 0x0001 (CLEAR_ALL) Action on Toilet Cancel Key Long Press → Local Clear (0x0001).

💡 Combining Multiple Action Codes (Bitwise Flags) on Wall Unit & Remote Handset Buttons

Every action register holds a bitmask formula ∑ (1 << code) allowing multiple firmware operations on a single click:

Example A: Wall Btn 1 Silent Nurse Call (Reg 40011 = 10)
  • Bit 1 (Code 1 = 1 << 1 = 2) : Call Solid ON
  • Bit 3 (Code 3 = 1 << 3 = 8) : Mute Buzzer (Silent locally)
  • Combined Register Value: 2 + 8 = 10 (0x000A)
  • Use Case: Patient calls nurse without disturbing sleeping roommates.
Master Request: 01 06 00 0A 00 0A 29 CF
Example B: Wall Btn 1 Call + Attendance (Reg 40011 = 18)
  • Bit 1 (Code 1 = 1 << 1 = 2) : Call Solid ON
  • Bit 4 (Code 4 = 1 << 4 = 16): Staff Checkin (3s Pulse + 100ms Chirp)
  • Combined Register Value: 2 + 16 = 18 (0x0012)
  • Use Case: Creates nurse call while logging initial nurse checkin attendance.
Master Request: 01 06 00 0A 00 12 29 C5
Example C: Remote Handset Silent Call (Reg 40031 = 10)
  • Bit 1 (Code 1 = 1 << 1 = 2) : Call Solid ON
  • Bit 3 (Code 3 = 1 << 3 = 8) : Mute Buzzer (Silent)
  • Combined Register Value: 2 + 8 = 10 (0x000A)
  • Use Case: Patient calls nurse silently from bed remote handset.
Master Request: 01 06 00 1E 00 0A 69 CB
Example D: Remote Handset Urgent Multi-Cycle (Reg 40032 = 96)
  • Bit 5 (Code 5 = 1 << 5 = 32): Urgent Call Blink
  • Bit 6 (Code 6 = 1 << 6 = 64): Multi-Call Alternating Cycle
  • Combined Register Value: 32 + 64 = 96 (0x0060)
  • Use Case: Long press triggers urgent alert and joins ward room multi-call loop.
Master Request: 01 06 00 1F 00 60 B8 24
Example E: Muted Urgent Multi-Call (Reg 40011 = 104)
  • Bit 3 (Code 3 = 1 << 3 = 8) : Mute Buzzer
  • Bit 5 (Code 5 = 1 << 5 = 32): Urgent Call Blink
  • Bit 6 (Code 6 = 1 << 6 = 64): Multi-Call Alternating Cycle
  • Combined Register Value: 8 + 32 + 64 = 104 (0x0068)
  • Use Case: Blinking multi-call alert with local sound muted.
Master Request: 01 06 00 0A 00 68 A8 26

🎨 4. Button RGB Color Code Registers (40021 to 40030)

EEPROM Stored
Digital 7-Color RGB Codes: 0=OFF, 1=Red, 2=Green, 3=Blue, 4=Yellow, 5=Cyan, 6=Magenta, 7=White.
Note: No call color may equal the idle glow color (40006 = 3 Blue).
PLC Address Protocol Offset Access Storage Parameter Name Default Color Color Meaning & Hardware Use Case
40021 0x0014 (20) R/W EEPROM Button 1 SP Color 4 (Yellow) Normal Nurse Call.
40022 0x0015 (21) R/W EEPROM Button 1 LP Color 1 (Red) Emergency Assist.
40023 0x0016 (22) R/W EEPROM Button 2 SP Color 1 (Red) Code Blue (Cardiac Arrest).
40024 0x0017 (23) R/W EEPROM Button 2 LP Color 1 (Red) Stat CPR Team.
40025 0x0018 (24) R/W EEPROM Button 3 SP Color 5 (Cyan) Doctor / Resident MO Call.
40026 0x0019 (25) R/W EEPROM Button 3 LP Color 1 (Red) Direct Resuscitation Request.
40027 0x001A (26) R/W EEPROM Button 4 SP Color 2 (Green) Nurse Present / Care Started color.
40028 0x001B (27) R/W EEPROM Button 4 LP Color 0 (OFF) Reset / Clear Mode (LED turns off).
40029 0x001C (28) R/W EEPROM Toilet Pull Cord & Aux Call Color 4 (Yellow) Color code (0..7) for all Toilet call inputs (40019, 40020, 40037, 40038 when configured as call). Non-call actions (Clear 0x0001) ignore color.
40030 0x001D (29) R/W EEPROM Remote Handset Call Color 4 (Yellow) Color code (0..7) for all Remote Handset call inputs (40031..40034 when configured as call). Non-call actions (Ack 0x0004, Clear 0x0001) ignore color.

🏆 5. Priority Ranking & Arbitration Registers (40061 to 40076)

1 = Highest Call Priority, 0 = Non-Call Action

Scale: 1 to 16 where 1 = Code Blue (Highest Emergency) and 16 = Lowest Call. Value 0 is reserved for non-call actions (ACKNOWLEDGE, CLEAR_ALL, MUTE_BUZZER, STAFF_CHECKIN) which skip priority arbitration and act immediately on the winning active call.

PLC Address Protocol Offset Access Storage Parameter Name Default Rank Arbitration Behavior
40061 0x003C (60) R/W EEPROM Button 1 SP Priority Rank 3 (Normal) Priority rank on Button 1 Single Press.
40062 0x003D (61) R/W EEPROM Button 1 LP Priority Rank 2 (Emergency) Priority rank on Button 1 Long Press.
40063 0x003E (62) R/W EEPROM Button 2 SP Priority Rank 1 (Code Blue) Highest emergency priority → Activates Code Blue LED.
40064 0x003F (63) R/W EEPROM Button 2 LP Priority Rank 1 (Critical CPR) Critical resuscitation call rank.
40065 0x0040 (64) R/W EEPROM Button 3 SP Priority Rank 4 (Assist) Doctor Assist / Housekeeping priority.
40066 0x0041 (65) R/W EEPROM Button 3 LP Priority Rank 4 (Assist) Doctor Assist Long Press priority.
40067 0x0042 (66) R/W EEPROM Button 4 SP Priority Rank 0 (Non-Call) Acknowledge / Care Started (0 = Acts on active call unconditionally).
40068 0x0043 (67) R/W EEPROM Button 4 LP Priority Rank 0 (Non-Call) Reset / Clear Action (0 = Clears active call unconditionally).
40069 0x0044 (68) R/W EEPROM Toilet Btn 1 (Pull) SP Priority 2 (Toilet SOS) Toilet pull cord single-pull priority.
40070 0x0045 (69) R/W EEPROM Toilet Btn 1 (Pull) LP Priority 1 (Urgent) Toilet cord urgent long-pull priority.
40071 0x0046 (70) R/W EEPROM Toilet Btn 2 (Cancel) SP Priority 0 (Non-Call) Toilet cancel button priority (0 = Resets toilet alert).
40072 0x0047 (71) R/W EEPROM Toilet Btn 2 (Cancel) LP Priority 0 (Non-Call) Toilet cancel long-press priority.
40073 0x0048 (72) R/W EEPROM Remote Btn 1 SP Priority 3 (Remote Call) Bedside handset button 1 single-press rank.
40074 0x0049 (73) R/W EEPROM Remote Btn 1 LP Priority 2 (Urgent) Bedside handset button 1 long-press rank.
40075 0x004A (74) R/W EEPROM Remote Btn 2 SP Priority 0 (Non-Call) Bedside handset button 2 Acknowledge rank.
40076 0x004B (75) R/W EEPROM Remote Btn 2 LP Priority 0 (Non-Call) Bedside handset cancel rank (0 = Clears call).

🚨 6. Hospital Emergency & System Commissioning Registers (40050, 40253 to 40256)

Global Commands & Commissioning Protocol
PLC Address Protocol Offset Access Storage Parameter Name Default Value Range & Microcontroller Behavior
40050 0x0031 (49) R/W RAM Global Emergency Broadcast Alarm 0 1: Blink ALL Wall Unit LEDs RED simultaneously + Continuous Emergency Alarm Sound.
0: Stop alarm & return unit to normal standby.
40250 0x00F9 (249) READ FLASH Hardware Model & Type Code 104 104 = 4-Btn Wall Unit, 102 = 2-Btn, 101 = 1-Btn, 200 = Corridor Dome Light.
40251 0x00FA (250) READ FLASH Firmware Version (BCD / Hex) 0x0200 Embedded firmware version (e.g. 0x0200 = v2.00, 0x0210 = v2.10).
40252 0x00FB (251) READ FLASH Device Serial Number (Batch ID) 1001 Unique 16-bit factory serial number / production batch identifier.
40253 0x00FC (252) R/W RAM Dedicated Pairing Selection Flag 0 1: Selected for Commissioning (Set when technician holds Button 1 for 3s in discovery mode).
0: Standby / Unselected. At address 255, only units with Reg 40253 == 1 will respond or accept ID writes.
40254 0x00FD (253) R/W EEPROM Commissioning Status Flag 0 (Pending) 0: Factory / Uncommissioned State (Pending Setup)
1: Commissioned by Gateway (Production Active)
40255 0x00FE (254) R/W RAM System Discovery Command 0x0000 0x00AA: Discover Uncommissioned Only (Reg 253 == 0 blinks at 2.5Hz)
0x00FF: Force Discover ALL Units on Bus
0x0000: Exit discovery and return to normal mode (Auto-exit timeout: 10 mins).
40256 0x00FF (255) R/W EEPROM Modbus Slave ID 255 Assigned Modbus address (1..247). MCU sends echo reply FIRST from current address, burns ID to EEPROM, sets Reg 253 = 1, switches address, and displays Solid Green for 3.0s on a non-blocking timer.

💾 7. Microcontroller EEPROM Non-Volatile Memory Layout (53 Bytes Total)

Complete 53-Byte Packed Layout

Complete packed non-volatile Flash/EEPROM layout ensuring button action codes, colors, priorities, masks, and timers persist across power cycles. Total footprint is 53 Bytes:

EEPROM Offset Modbus Register Hex Addr Data Type Factory Default Description & Firmware Purpose
0x00 Reg 255 (40256) 0x00FF uint8_t 255 (0xFF) Slave ID: Modbus RS-485 device address (1 to 247).
0x01 Reg 253 (40254) 0x00FD uint8_t 0 (Pending) Commissioned Flag: 0 = Factory Uncommissioned, 1 = Commissioned by Siscall.
0x02..0x03 Reg 1 (40002) 0x0001 uint16_t 0xFFFF Single-Press Key Mask: Which button presses are enabled.
0x04..0x05 Reg 2 (40003) 0x0002 uint16_t 0xFFFF Long-Press Key Mask: Which long-presses are enabled.
0x06..0x07 Reg 3 (40004) 0x0003 uint16_t 2000 ms Long-Press Hold Time: Milliseconds to hold button (500-5000ms).
0x08..0x09 Reg 4 (40005) 0x0004 uint16_t 50 ms Debounce Time: Hardware debounce filter in ms (10-200ms).
0x0A Reg 5 (40006) 0x0005 uint8_t 3 (Blue) Idle Glow Color: Standby glow color (3=Blue, 0=OFF).
0x0B..0x0E Reg 10,12,14,16 0x000A.. uint8_t[4] [2, 32, 2, 4] Button 1..4 SP Action Codes: Bitmasks for single-press actions.
0x0F..0x12 Reg 11,13,15,17 0x000B.. uint8_t[4] [32, 32, 2, 1] Button 1..4 LP Action Codes: Bitmasks for long-press actions.
0x13..0x14 Reg 18, 19 0x0012.. uint8_t[2] [32, 32] Toilet Btn 1 (Pull) SP / LP Action Codes
0x15..0x16 Reg 36, 37 0x0024.. uint8_t[2] [1, 1] Toilet Btn 2 (Cancel) SP / LP Action Codes (40037, 40038)
0x17..0x1A Reg 30..33 0x001E.. uint8_t[4] [2, 32, 4, 1] Remote Pendant Btn 1..2 SP / LP Action Codes (40031..40034)
0x1B..0x1E Reg 20,22,24,26 0x0014.. uint8_t[4] [4, 1, 5, 2] Button 1..4 SP Colors: 4=Yellow, 1=Red, 5=Cyan, 2=Green.
0x1F..0x22 Reg 21,23,25,27 0x0015.. uint8_t[4] [1, 1, 1, 0] Button 1..4 LP Colors: 1=Red, 1=Red, 1=Red, 0=OFF.
0x23 Reg 28 (40029) 0x001C uint8_t 4 (Yellow) Toilet Pull Cord Color
0x24 Reg 29 (40030) 0x001D uint8_t 4 (Yellow) Remote Pendant Call Color
0x25..0x28 Reg 60,62,64,66 0x003C.. uint8_t[4] [3, 1, 4, 0] Button 1..4 SP Priorities (40061,63,65,67): 3=Normal, 1=Code Blue, 4=Assist, 0=Ack.
0x29..0x2C Reg 61,63,65,67 0x003D.. uint8_t[4] [2, 1, 4, 0] Button 1..4 LP Priorities (40062,64,66,68): 2=Emergency, 1=CPR, 4=Assist, 0=Clear.
0x2D..0x2E Reg 68, 69 0x0044.. uint8_t[2] [2, 1] Toilet Btn 1 (Pull) SP / LP Priorities (40069, 40070)
0x2F..0x30 Reg 70, 71 0x0046.. uint8_t[2] [0, 0] Toilet Btn 2 (Cancel) SP / LP Priorities (40071, 40072 - 0=Non-Call)
0x31..0x34 Reg 72..75 0x0048.. uint8_t[4] [3, 2, 0, 0] Remote Pendant Btn 1..2 SP / LP Priorities (40073..40076)
â„šī¸ Reserved / Undefined Registers Behavior:
On wall units, registers 40007, 40035, and 40036 are reserved. Reading returns 0x0000. Writing is accepted and silently ignored with NO Modbus exception, allowing continuous block writes (e.g. FC 16 writing 40002 to 40038 in one single transaction). (Note: on corridor dome units, register 40007 is assigned to Color Bed Slot 6.)

Corridor Door Dome LED — Non-Volatile EEPROM Memory Layout (8 Bytes Total):

EEPROM Offset Modbus Register Hex Addr Data Type Factory Default Description & Purpose
0x00 Reg 255 (40256) 0x00FF uint8_t 255 (0xFF) Slave ID: Modbus address (1..247, Factory Default 255 uncommissioned).
0x01 Reg 253 (40254) 0x00FD uint8_t 0 (Pending) Commissioned Flag: 0 = Uncommissioned, 1 = Commissioned.
0x02..0x03 Reg 10 (40011) 0x000A uint16_t 1500 ms Cycle Interval: Display duration per active bed color.
0x04 Reg 11 (40012) 0x000B uint8_t 3 (Blue) Idle Heartbeat Color: Standby glow (3=Blue, 0=OFF).
0x05..0x07 — — uint8_t[3] [0, 0, 0] Reserved / Future Expansion

đŸšĒ 8. Corridor Over-Door Dome LED Registers (Factory Default Slave ID: 255, Example Assigned: 20)

Up to 6 Simultaneous Bed Slots

The Corridor Door Light is an independent Modbus Slave device located outside the patient room that displays active calls. Gateway rules: 1 active call → Mode 1; 2+ active calls → Mode 3 (alternating active colors, skipping color 0 slots); Any Priority 1 call → Mode 2 (emergency red flash). The Gateway writes Registers 40001-40007 in a single FC 16 write to prevent visual flicker.

đŸšĒ Corridor Dome Commissioning Architecture:
â€ĸ Factory Default: Uncommissioned domes ship at Slave ID 255 (0x00FF) with Reg 40254 = 0.
â€ĸ Discovery State: Flashes White / Cyan at 2.5 Hz when Gateway broadcasts Discovery command (0x00AA / 0x00FF).
â€ĸ Pairing Trigger: Technician holds the internal PCB service button (or places an installer magnet against the external enclosure to trip an internal reed switch) for 3.0 seconds → Dome turns Solid Yellow and sets Register 40253 = 1.
â€ĸ Addressing: Gateway reads Reg 40253 on Slave 255, writes the assigned ID (e.g. 20 or 120) into Register 40256, dome responds, burns to EEPROM, turns Solid Green for 3.0s, and Gateway configures Cycle Interval (40011) and Idle Color (40012).
PLC Address Protocol Offset Access Storage Parameter Name Default Value Range & Description
40001 0x0000 (0) R/W RAM Dome Display Mode 0 0: Idle Glow (Heartbeat color)
1: Single Solid Color (Shows Color 1)
2: Fast SOS Blinking (Emergency Red)
3: Multi-Call Alternating Cycle (Cycles active bed slot colors 1..6)
40002 0x0001 (1) R/W RAM Color Bed Slot 1 0 (OFF) Color code (0 to 7) for Bed Slot 1 active call.
40003 0x0002 (2) R/W RAM Color Bed Slot 2 0 (OFF) Color code (0 to 7) for Bed Slot 2 active call.
40004 0x0003 (3) R/W RAM Color Bed Slot 3 0 (OFF) Color code (0 to 7) for Bed Slot 3 active call.
40005 0x0004 (4) R/W RAM Color Bed Slot 4 0 (OFF) Color code (0 to 7) for Bed Slot 4 active call.
40006 0x0005 (5) R/W RAM Color Bed Slot 5 0 (OFF) Color code for Bed Slot 5 call (for 6-bed rooms).
40007 0x0006 (6) R/W RAM Color Bed Slot 6 0 (OFF) Color code for Bed Slot 6 call (for 6-bed rooms).
40011 0x000A (10) R/W EEPROM Cycle Interval (ms) 1500 Interval in ms to display each active bed color before alternating.
40012 0x000B (11) R/W EEPROM Idle Heartbeat Color 3 (Blue) Glow color displayed when all calls in the room are cleared.
40250 0x00F9 (249) READ FLASH Hardware Model Type 200 200 = Corridor Over-Door Dome Light.
40251 0x00FA (250) READ FLASH Firmware Version 0x0200 Embedded firmware version (v2.00).
40252 0x00FB (251) READ FLASH Device Serial Number 2001 Unique 16-bit factory serial number.
40253 0x00FC (252) R/W RAM Pairing Selection Flag 0 1 = Dome pairing trigger activated (internal service button or magnetic reed switch held >3s) during discovery; 0 = Standby.
40254 0x00FD (253) R/W EEPROM Commissioning Status Flag 0 (Pending) 0 = Factory Uncommissioned, 1 = Commissioned.
40255 0x00FE (254) R/W RAM Discovery Command 0x0000 0x00AA (New), 0x00FF (All), 0x0000 (Normal). Flashes Cyan during discovery.
40256 0x00FF (255) R/W EEPROM Modbus Slave ID 255 Assigned Slave address for this Corridor Dome LED (1..247, Factory Default 255 uncommissioned).