|
42 | 42 | _CD_STAGING_DIR = os.path.join(_CHEF_SCRIPT_PATH, "staging")
|
43 | 43 | _EXCLUDE_DEVICE_FROM_LINUX_CI = [ # These do not compile / deprecated.
|
44 | 44 | "noip_rootnode_dimmablelight_bCwGYSDpoe",
|
| 45 | + "icd_rootnode_contactsensor_ed3b19ec55", |
45 | 46 | "rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680",
|
46 | 47 | ]
|
47 | 48 |
|
@@ -328,6 +329,8 @@ def main() -> int:
|
328 | 329 | action="store_true", dest="do_erase")
|
329 | 330 | parser.add_option("-i", "--terminal", help="opens terminal to interact with with device",
|
330 | 331 | action="store_true", dest="do_interact")
|
| 332 | + parser.add_option("-I", "--enable_lit_icd", help="enable LIT ICD (Long Idle Time Intermittently Connected Device) mode", |
| 333 | + action="store_true", default=False) |
331 | 334 | parser.add_option("-m", "--menuconfig", help="runs menuconfig on platforms that support it",
|
332 | 335 | action="store_true", dest="do_menuconfig")
|
333 | 336 | parser.add_option("-z", "--zap", help="runs zap to generate data model & interaction model artifacts",
|
@@ -390,11 +393,18 @@ def main() -> int:
|
390 | 393 | help=("Builds Chef Examples defined in cicd_config under ci_allow_list_linux. "
|
391 | 394 | "Devices are built without -c for faster compilation."),
|
392 | 395 | dest="ci_linux", action="store_true")
|
393 |
| - parser.add_option( |
394 |
| - "", "--enable_ipv4", help="Enable IPv4 mDNS. Only applicable to platforms that can support IPV4 (e.g, Linux, ESP32)", |
395 |
| - action="store_true", default=False) |
396 |
| - parser.add_option( |
397 |
| - "", "--cpu_type", help="CPU type to compile for. Linux only.", choices=["arm64", "arm", "x64"]) |
| 396 | + parser.add_option("", "--cpu_type", |
| 397 | + help="CPU type to compile for. Linux only.", |
| 398 | + choices=["arm64", "arm", "x64"]) |
| 399 | + parser.add_option("", "--enable_ipv4", |
| 400 | + help="Enable IPv4 mDNS. Only applicable to platforms that can support IPV4 (e.g, Linux, ESP32)", |
| 401 | + action="store_true", default=False) |
| 402 | + parser.add_option("", "--icd_persist_subscription", |
| 403 | + help="Enable ICD persistent subscription and re-establish subscriptions from the server side after reboot", |
| 404 | + action="store_true", default=False) |
| 405 | + parser.add_option("", "--icd_subscription_resumption", |
| 406 | + help="Enable subscription resumption after timeout", |
| 407 | + action="store_true", default=False) |
398 | 408 |
|
399 | 409 | options, _ = parser.parse_args(sys.argv[1:])
|
400 | 410 |
|
@@ -894,6 +904,17 @@ def main() -> int:
|
894 | 904 | else:
|
895 | 905 | linux_args.append("chip_inet_config_enable_ipv4=false")
|
896 | 906 |
|
| 907 | + if options.enable_lit_icd: |
| 908 | + linux_args.append("chip_enable_icd_server = true") |
| 909 | + linux_args.append("chip_icd_report_on_active_mode = true") |
| 910 | + linux_args.append("chip_enable_icd_lit = true") |
| 911 | + linux_args.append("chip_enable_icd_dsls = true") |
| 912 | + if options.icd_subscription_resumption: |
| 913 | + options.icd_persist_subscription = True |
| 914 | + linux_args.append("chip_subscription_timeout_resumption = true") |
| 915 | + if options.icd_persist_subscription: |
| 916 | + linux_args.append("chip_persist_subscriptions = true") |
| 917 | + |
897 | 918 | if sw_ver_string:
|
898 | 919 | linux_args.append(
|
899 | 920 | f'chip_device_config_device_software_version_string = "{sw_ver_string}"')
|
|
0 commit comments