Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for 917 #83

Merged
merged 23 commits into from
Feb 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ff65e21
wiseconnect: Introduce import script
jerome-pouiller Nov 22, 2024
349b61e
wiseconnect: Import Wiseconnect 3.4.0
jerome-pouiller Nov 22, 2024
04ce0d9
wiseconnect: Fix typo in EXTENTION
jerome-pouiller Nov 19, 2024
f200a14
wiseconnect: Use Zephyr socket definitions
jerome-pouiller Nov 19, 2024
f503ad8
wiseconnect: Fix conflict with Zephyr definition of "fd_set"
jerome-pouiller Sep 9, 2024
8b64c57
wiseconnect: Fix conflict with macro TIMERS
jerome-pouiller Feb 5, 2025
5126e88
wiseconnect: Fix macro redefinition of ROUND_UP()
jerome-pouiller Nov 19, 2024
5beae60
wiseconnect: Fix macro redefinition of MIN()
jerome-pouiller Nov 19, 2024
fbcde9b
wiseconnect: Fix macro redefinition of IS_POWER_OF_TWO()
jerome-pouiller Nov 19, 2024
9ba1804
wiseconnect: Avoid compiler warning in PRINT_STATUS()
jerome-pouiller Nov 19, 2024
efb6891
wiseconnect: Fix unavailable header
jerome-pouiller Nov 19, 2024
df6d484
wiseconnect: Remove dependency on sli_cmsis_os2_ext_task_register.h
jerome-pouiller Dec 2, 2024
1f712de
wiseconnect: Drop orphan functions sl_si91x_trigger_sleep()
jerome-pouiller Nov 19, 2024
5095949
wiseconnect: Fix use of configTICK_RATE_HZ
jerome-pouiller Dec 2, 2024
d851a70
wiseconnect: Remove dependency on os_tick.h
jerome-pouiller Nov 28, 2024
ed17455
wiseconnect: Fix compiler warning
jerome-pouiller Aug 9, 2024
90bce9f
wiseconnect: Disable high temperature security
jerome-pouiller Nov 28, 2024
10926c4
wiseconnect: Do not rely on ble_config.h
jerome-pouiller Dec 4, 2024
bbc05c5
wiseconnect: Use native Posix functions
jerome-pouiller Dec 4, 2024
b90c956
wiseconnect: Do not use .common_ipmu_ram
jerome-pouiller Nov 28, 2024
b322c4c
wiseconnect: Restore si91x_bus_events
jerome-pouiller Jan 24, 2025
c53f4ce
wiseconnect: Drop use of pow()
jerome-pouiller Feb 5, 2025
a0f13a4
wiseconnect: Drop ip_to_reverse_hex()
jerome-pouiller Feb 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 213 additions & 0 deletions scripts/import_wiseconnect.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
#!/usr/bin/env python3

"""
Copyright (c) 2024 Silicon Laboratories Inc.

SPDX-License-Identifier: Apache-2.0
"""

import argparse
import os
import shutil
import tempfile
import subprocess
from pathlib import Path


paths = [
"components/common/inc/sl_additional_status.h",
"components/common/inc/sl_constants.h",
"components/common/inc/sl_ieee802_types.h",
"components/common/inc/sl_ip_types.h",
"components/common/inc/sl_utility.h",
"components/common/src/sl_utility.c",
"components/device/silabs/si91x/mcu/core/chip/config/sl_board_configuration.h",
"components/device/silabs/si91x/mcu/core/chip/inc/base_types.h",
"components/device/silabs/si91x/mcu/core/chip/inc/data_types.h",
"components/device/silabs/si91x/mcu/core/chip/inc/em_device.h",
"components/device/silabs/si91x/mcu/core/chip/inc/rsi_ccp_common.h",
"components/device/silabs/si91x/mcu/core/chip/inc/rsi_error.h",
"components/device/silabs/si91x/mcu/core/chip/inc/rsi_ps_ram_func.h",
"components/device/silabs/si91x/mcu/core/chip/inc/rsi_system_config.h",
"components/device/silabs/si91x/mcu/core/chip/inc/si91x_device.h",
"components/device/silabs/si91x/mcu/core/chip/inc/si91x_mvp.h",
"components/device/silabs/si91x/mcu/core/chip/inc/system_si91x.h",
"components/device/silabs/si91x/mcu/core/chip/src/iPMU_prog/iPMU_dotc/ipmu_apis.c",
"components/device/silabs/si91x/mcu/core/chip/src/iPMU_prog/iPMU_dotc/rsi_system_config_917.c",
"components/device/silabs/si91x/mcu/core/chip/src/rsi_deepsleep_soc.c",
"components/device/silabs/si91x/mcu/core/chip/src/system_si91x.c",
"components/device/silabs/si91x/mcu/core/config/rsi_ccp_user_config.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include/Driver_Common.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include/Driver_I2C.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include/Driver_SAI.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include/Driver_SPI.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include/Driver_USART.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/config/RTE_Device_917.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/GSPI.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/I2C.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/SAI.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/SPI.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/UDMA.h",
"components/device/silabs/si91x/mcu/drivers/cmsis_driver/USART.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_crc.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_ct.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_efuse.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_egpio.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_gpdma.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_pwm.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_qspi.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_qspi_proto.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_rng.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_timers.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_udma.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc/rsi_udma_wrapper.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/clock_update.c",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/clock_update.h",
"components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_rng.c",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_packing.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_clks.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_egpio.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_power_save.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_rng.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_table_si91x.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_udma.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_udma_wrapper.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/inc/rsi_rom_ulpss_clk.h",
"components/device/silabs/si91x/mcu/drivers/rom_driver/src/rsi_rom_table_si91x.c",
"components/device/silabs/si91x/mcu/drivers/service/clock_manager/inc/sl_si91x_clock_manager.h",
"components/device/silabs/si91x/mcu/drivers/service/clock_manager/src/sl_si91x_clock_manager.c",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_ipmu.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_pll.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_power_save.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_processor_sensor.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_reg_spi.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_retention.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_temp_sensor.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_time_period.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_ulpss_clk.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/inc/rsi_wwdt.h",
"components/device/silabs/si91x/mcu/drivers/systemlevel/src/rsi_ipmu.c",
"components/device/silabs/si91x/mcu/drivers/systemlevel/src/rsi_pll.c",
"components/device/silabs/si91x/mcu/drivers/systemlevel/src/rsi_ulpss_clk.c",
"components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h",
"components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h",
"components/device/silabs/si91x/mcu/drivers/unified_api/src/sl_si91x_driver_gpio.c",
"components/device/silabs/si91x/mcu/drivers/unified_peripheral_drivers/inc/sl_si91x_gpio_common.h",
"components/device/silabs/si91x/mcu/drivers/unified_peripheral_drivers/inc/sl_si91x_gpio.h",
"components/device/silabs/si91x/mcu/drivers/unified_peripheral_drivers/inc/sl_si91x_peripheral_gpio.h",
"components/device/silabs/si91x/mcu/drivers/unified_peripheral_drivers/src/sl_si91x_peripheral_gpio.c",
"components/device/silabs/si91x/wireless/ahb_interface/inc/rsi_m4.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/rsi_os.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/rsi_pkt_mgmt.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/rsi_wisemcu_hardware_setup.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/sl_device.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/sli_siwx917_soc.h",
"components/device/silabs/si91x/wireless/ahb_interface/inc/sli_siwx917_timer.h",
"components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_ram.c",
"components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_rom.c",
"components/device/silabs/si91x/wireless/ahb_interface/src/sli_siwx917_soc.c",
"components/device/silabs/si91x/wireless/ahb_interface/src/sl_platform.c",
"components/device/silabs/si91x/wireless/ahb_interface/src/sl_platform_wireless.c",
"components/device/silabs/si91x/wireless/ahb_interface/src/sl_si91x_bus.c",
"components/device/silabs/si91x/wireless/asynchronous_socket/inc/sl_si91x_socket.h",
"components/device/silabs/si91x/wireless/asynchronous_socket/src/sl_si91x_socket.c",
"components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_ble_common_config.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_ble.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_bt_common_apis.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_bt_common_config.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_bt_common.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_common_apis.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_common.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_user.h",
"components/device/silabs/si91x/wireless/ble/inc/rsi_utils.h",
"components/device/silabs/si91x/wireless/ble/inc/sl_si91x_ble.h",
"components/device/silabs/si91x/wireless/ble/src/rsi_bt_ble.c",
"components/device/silabs/si91x/wireless/ble/src/rsi_common_apis.c",
"components/device/silabs/si91x/wireless/ble/src/rsi_utils.c",
"components/device/silabs/si91x/wireless/host_mcu/si91x/siwx917_soc_ncp_host.c",
"components/device/silabs/si91x/wireless/inc/sl_rsi_utility.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_constants.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_core_utilities.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_host_interface.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_protocol_types.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_status.h",
"components/device/silabs/si91x/wireless/inc/sl_si91x_types.h",
"components/device/silabs/si91x/wireless/inc/sl_wifi_device.h",
"components/device/silabs/si91x/wireless/memory/malloc_buffers.c",
"components/device/silabs/si91x/wireless/sl_net/inc/sl_net_rsi_utility.h",
"components/device/silabs/si91x/wireless/sl_net/inc/sl_net_si91x.h",
"components/device/silabs/si91x/wireless/sl_net/inc/sl_net_si91x_integration_handler.h",
"components/device/silabs/si91x/wireless/sl_net/src/sl_net_rsi_utility.c",
"components/device/silabs/si91x/wireless/sl_net/src/sl_net_si91x_callback_framework.c",
"components/device/silabs/si91x/wireless/sl_net/src/sl_net_si91x_integration_handler.c",
"components/device/silabs/si91x/wireless/sl_net/src/sl_si91x_net_credentials.c",
"components/device/silabs/si91x/wireless/sl_net/src/sl_si91x_net_internal_stack.c",
"components/device/silabs/si91x/wireless/socket/inc/sl_bsd_utility.h",
"components/device/silabs/si91x/wireless/socket/inc/sl_si91x_socket_callback_framework.h",
"components/device/silabs/si91x/wireless/socket/inc/sl_si91x_socket_constants.h",
"components/device/silabs/si91x/wireless/socket/inc/sl_si91x_socket_types.h",
"components/device/silabs/si91x/wireless/socket/inc/sl_si91x_socket_utility.h",
"components/device/silabs/si91x/wireless/socket/src/sl_si91x_socket_utility.c",
"components/device/silabs/si91x/wireless/src/sl_rsi_utility.c",
"components/device/silabs/si91x/wireless/src/sl_si91x_callback_framework.c",
"components/device/silabs/si91x/wireless/src/sl_si91x_driver.c",
"components/device/silabs/si91x/wireless/threading/sli_si91x_multithreaded.c",
"components/protocol/wifi/inc/sl_wifi_callback_framework.h",
"components/protocol/wifi/inc/sl_wifi_constants.h",
"components/protocol/wifi/inc/sl_wifi_credentials.h",
"components/protocol/wifi/inc/sl_wifi.h",
"components/protocol/wifi/inc/sl_wifi_host_interface.h",
"components/protocol/wifi/inc/sl_wifi_types.h",
"components/protocol/wifi/si91x/sl_wifi.c",
"components/protocol/wifi/src/sl_wifi_basic_credentials.c",
"components/protocol/wifi/src/sl_wifi_callback_framework.c",
"components/service/bsd_socket/si91x_socket/sl_si91x_socket_support.h",
"components/service/network_manager/inc/sl_net_constants.h",
"components/service/network_manager/inc/sl_net_dns.h",
"components/service/network_manager/inc/sl_net.h",
"components/service/network_manager/inc/sl_net_ip_types.h",
"components/service/network_manager/inc/sl_net_types.h",
"components/service/network_manager/inc/sl_net_wifi_types.h",
"components/service/network_manager/si91x/sl_net_si91x.c",
"components/service/network_manager/src/sl_net_basic_credentials.c",
"components/service/network_manager/src/sl_net_basic_profiles.c",
"components/service/network_manager/src/sl_net.c",
"components/service/network_manager/src/sl_net_credentials.c",
"resources/defaults/sl_net_default_values.h",
"resources/defaults/sl_wifi_region_db_config.h",
]

def copy_files(src: Path, dst: Path, paths: list[str]) -> None:
for path in paths:
for f in src.glob(path):
if not os.path.exists(f):
print(f"Invalid path: {f}")
continue
destfile = dst / f.relative_to(src)
if os.path.exists(destfile):
continue
print(f"Import {f.relative_to(src)}")
destfile.parent.mkdir(parents=True, exist_ok=True)
shutil.copy(f, destfile)

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("sdk", type=Path,
help="Source WiseConnect directory")
parser.add_argument("--dest", "-d", type=Path,
help="store the result somewhere else than \"wiseconnect/\" directory")
parser.add_argument("--overwrite", "-f", action="store_true",
help="Remove DEST before to continue")
args = parser.parse_args()

if args.dest:
dst = args.dest
else:
dst = (Path(__file__).parent.parent / "wiseconnect").resolve()

if args.overwrite:
shutil.rmtree(dst)
copy_files(args.sdk, dst, paths)

Loading