@@ -19,6 +19,7 @@ into an existing Matter network and can be controlled by this network.
19
19
- [ Bluetooth LE Rendezvous] ( #bluetooth-le-rendezvous )
20
20
- [ Device UI] ( #device-ui )
21
21
- [ Building] ( #building )
22
+ - [ Long Idle Time ICD Support] ( #long-idle-time-icd-support )
22
23
- [ Manufacturing data] ( #manufacturing-data )
23
24
- [ Flashing] ( #flashing )
24
25
- [ Flashing the NBU image] ( #flashing-the-nbu-image )
@@ -100,13 +101,15 @@ will not work.
100
101
** RGB LED** shows the state of the simulated contact sensor. when the LED is
101
102
lit, the sensor is contacted, when not lit, the sensor is non-contacted.
102
103
103
- ** Button SW2** can be used to start BLE advertising. A SHORT press of the button
104
- will enable Bluetooth LE advertising for a predefined period of time. A LONG
105
- Press Button SW2 initiates a factory reset. After an initial period of 3
106
- seconds, LED 2 and RGB LED will flash in unison to signal the pending reset.
107
- After 6 seconds will cause the device to reset its persistent configuration and
108
- initiate a reboot. The reset action can be cancelled by press SW2 button at any
109
- point before the 6 second limit.
104
+ ** Button SW2** . SHORT press function is overloaded depending on the device type
105
+ and commissioning state. If the device is not commissioned, a SHORT press of the
106
+ button will enable Bluetooth LE advertising for a predefined period of time. If
107
+ the device is commissioned and is acting as a LIT ICD then a SHORT press of the
108
+ button will enable Active Mode. A LONG Press of Button SW2 initiates a factory
109
+ reset. After an initial period of 3 seconds, LED 2 and RGB LED will flash in
110
+ unison to signal the pending reset. After 6 seconds will cause the device to
111
+ reset its persistent configuration and initiate a reboot. The reset action can
112
+ be cancelled by press SW2 button at any point before the 6 second limit.
110
113
111
114
** Button SW3** can be used to change the state of the simulated contact sensor.
112
115
The button behaves as a toggle, swapping the state every time it is short
@@ -141,6 +144,43 @@ After a successful build, the `elf` and `srec` files are found in `out/debug/` -
141
144
build, the ` elf ` and ` srec ` files are found in ` out/debug/ ` -
142
145
` see the files prefixed with chip-k32w1-contact-example ` .
143
146
147
+ ## Long Idle Time ICD Support
148
+
149
+ By default, contact-sensor is compiled as SIT ICD (Short Idle Time
150
+ Intermittently Connected Device) - see rules from k32w1_sdk.gni:
151
+
152
+ ```
153
+ chip_ot_idle_interval_ms = 2000 # 2s Idle Intervals
154
+ chip_ot_active_interval_ms = 500 # 500ms Active Intervals
155
+
156
+ nxp_idle_mode_duration_s = 600 # 10min Idle Mode Interval
157
+ nxp_active_mode_duration_ms = 10000 # 10s Active Mode Interval
158
+ nxp_active_mode_threshold_ms = 1000 # 1s Active Mode Threshold
159
+ nxp_icd_supported_clients_per_fabric = 2 # 2 registration slots per fabric
160
+ ```
161
+
162
+ If LIT ICD support is needed then ` chip_enable_icd_lit=true ` must be specified
163
+ as gn argument and the above parameters can be modified to comply with LIT
164
+ requirements (e.g.: LIT devices must configure
165
+ ` chip_ot_idle_interval_ms > 15000 ` ). Example LIT configuration:
166
+
167
+ ```
168
+ chip_ot_idle_interval_ms = 15000 # 15s Idle Intervals
169
+ chip_ot_active_interval_ms = 500 # 500ms Active Intervals
170
+
171
+ nxp_idle_mode_duration_s = 3600 # 60min Idle Mode Interval
172
+ nxp_active_mode_duration_ms = 0 # 0 Active Mode Interval
173
+ nxp_active_mode_threshold_ms = 30000 # 30s Active Mode Threshold
174
+ ```
175
+
176
+ ICD parameters that may be disabled once LIT functionality is enabled:
177
+
178
+ ```
179
+ chip_persist_subscriptions: try once to re-establish subscriptions from the server side after reboot
180
+ chip_subscription_timeout_resumption: same as above + try to re-establish timeout out subscriptions
181
+ using Fibonacci backoff for retries pacing.
182
+ ```
183
+
144
184
## Manufacturing data
145
185
146
186
Use ` chip_with_factory_data=1 ` in the gn build command to enable factory data.
0 commit comments