From bad8e9b9b88b48f5332de2a20ca8df33e84025a5 Mon Sep 17 00:00:00 2001 From: jczhang Date: Thu, 17 Mar 2022 21:36:19 +0800 Subject: [PATCH 01/18] BL602 pull request --- .gitmodules | 4 + BUILD.gn | 6 + build/config/BUILDCONFIG.gn | 2 + build/config/compiler/BUILD.gn | 22 + build/config/riscv.gni | 64 ++ build/toolchain/riscv_gcc/BUILD.gn | 21 + build/toolchain/riscv_gcc/riscv_toolchain.gni | 34 + build_overrides/bl602_sdk.gni | 18 + config/bouffalolab/bl602/lib/pw_rpc/BUILD.gn | 36 + .../bouffalolab/bl602/lib/pw_rpc/pw_rpc.gni | 28 + config/bouffalolab/bl602/toolchain/BUILD.gn | 39 + examples/build_overrides/bl602_sdk.gni | 19 + examples/lighting-app/bouffalolab/bl602/.gn | 28 + .../lighting-app/bouffalolab/bl602/BUILD.gn | 126 +++ .../lighting-app/bouffalolab/bl602/README.md | 81 ++ .../lighting-app/bouffalolab/bl602/README.pdf | Bin 0 -> 522566 bytes .../lighting-app/bouffalolab/bl602/args.gni | 28 + .../bouffalolab/bl602/build_overrides | 1 + .../bouffalolab/bl602/include/AppConfig.h | 43 + .../bouffalolab/bl602/include/AppEvent.h | 55 ++ .../bouffalolab/bl602/include/AppTask.h | 94 ++ .../bl602/include/CHIPDeviceManager.h | 125 +++ .../bl602/include/CHIPProjectConfig.h | 129 +++ .../bl602/include/DeviceCallbacks.h | 49 + .../bl602/include/FreeRTOSConfig.h | 241 +++++ .../bouffalolab/bl602/include/LEDWidget.h | 68 ++ .../bl602/include/LightingManager.h | 85 ++ .../bouffalolab/bl602/src/AppTask.cpp | 523 +++++++++++ .../bl602/src/CHIPDeviceManager.cpp | 107 +++ .../bouffalolab/bl602/src/DeviceCallbacks.cpp | 252 +++++ .../bouffalolab/bl602/src/LEDWidget.cpp | 240 +++++ .../bouffalolab/bl602/src/LightingManager.cpp | 225 +++++ .../bouffalolab/bl602/src/main.cpp | 113 +++ .../bl602/third_party/connectedhomeip | 1 + examples/platform/bouffalolab/bl602/BUILD.gn | 22 + .../bouffalolab/bl602/InitPlatform.cpp | 219 +++++ .../platform/bouffalolab/bl602/InitPlatform.h | 33 + .../platform/bouffalolab/bl602/LEDWidget.cpp | 94 ++ .../bouffalolab/bl602/MemMonitoring.cpp | 102 +++ .../bouffalolab/bl602/MemMonitoring.h | 35 + .../bouffalolab/bl602/PigweedLogger.cpp | 103 +++ .../bouffalolab/bl602/PigweedLogger.h | 31 + .../platform/bouffalolab/bl602/Service.cpp | 102 +++ examples/platform/bouffalolab/bl602/Service.h | 21 + examples/platform/bouffalolab/bl602/args.gni | 21 + .../platform/bouffalolab/bl602/board_config.h | 64 ++ .../bouffalolab/bl602/board_features.h | 246 +++++ .../platform/bouffalolab/bl602/display/lcd.c | 129 +++ .../bouffalolab/bl602/hal-config-app-common.h | 121 +++ examples/platform/bouffalolab/bl602/lcd.h | 39 + .../bouffalolab/bl602/ldscripts/flash_rom.ld | 272 ++++++ .../bl602/project_include/OpenThreadConfig.h | 60 ++ .../bouffalolab/bl602/pw_sys_io/BUILD.gn | 39 + .../pw_sys_io/public/pw_sys_io_efr32/init.h | 27 + .../bl602/pw_sys_io/sys_io_efr32.cc | 81 ++ examples/platform/bouffalolab/bl602/uart.c | 307 +++++++ examples/platform/bouffalolab/bl602/uart.h | 40 + scripts/examples/gn_bl602_example.sh | 63 ++ src/lib/shell/BUILD.gn | 5 + src/lwip/BUILD.gn | 11 +- src/platform/BUILD.gn | 7 + .../bouffalolab/BL602/BL602Config.cpp | 373 ++++++++ src/platform/bouffalolab/BL602/BL602Config.h | 135 +++ .../bouffalolab/BL602/BLEManagerImpl.cpp | 866 ++++++++++++++++++ .../bouffalolab/BL602/BLEManagerImpl.h | 189 ++++ src/platform/bouffalolab/BL602/BUILD.gn | 72 ++ .../bouffalolab/BL602/BlePlatformConfig.h | 36 + .../BL602/CHIPDevicePlatformConfig.h | 133 +++ .../BL602/CHIPDevicePlatformEvent.h | 98 ++ .../bouffalolab/BL602/CHIPMem-Platform.cpp | 164 ++++ .../bouffalolab/BL602/CHIPPlatformConfig.h | 149 +++ .../BL602/ConfigurationManagerImpl.cpp | 218 +++++ .../BL602/ConfigurationManagerImpl.h | 133 +++ .../BL602/ConnectivityManagerImpl.cpp | 153 ++++ .../BL602/ConnectivityManagerImpl.h | 124 +++ .../DeviceNetworkProvisioningDelegateImpl.cpp | 48 + .../DeviceNetworkProvisioningDelegateImpl.h | 43 + .../BL602/DiagnosticDataProviderImpl.cpp | 138 +++ .../BL602/DiagnosticDataProviderImpl.h | 53 ++ src/platform/bouffalolab/BL602/DnssdImpl.cpp | 299 ++++++ .../bouffalolab/BL602/GroupKeyStoreImpl.cpp | 386 ++++++++ .../bouffalolab/BL602/GroupKeyStoreImpl.h | 73 ++ .../bouffalolab/BL602/InetPlatformConfig.h | 47 + .../BL602/KeyValueStoreManagerImpl.cpp | 210 +++++ .../BL602/KeyValueStoreManagerImpl.h | 92 ++ src/platform/bouffalolab/BL602/Logging.cpp | 45 + .../BL602/NetworkCommissioningDriver.h | 136 +++ .../BL602/NetworkCommissioningWiFiDriver.cpp | 371 ++++++++ .../bouffalolab/BL602/PlatformManagerImpl.cpp | 221 +++++ .../bouffalolab/BL602/PlatformManagerImpl.h | 101 ++ .../BL602/SoftwareUpdateManagerImpl.cpp | 45 + .../BL602/SoftwareUpdateManagerImpl.h | 88 ++ .../bouffalolab/BL602/SystemPlatformConfig.h | 54 ++ .../BL602/ThreadStackManagerImpl.cpp | 160 ++++ .../BL602/ThreadStackManagerImpl.h | 118 +++ .../bouffalolab/BL602/WarmPlatformConfig.h | 39 + src/platform/bouffalolab/BL602/args.gni | 45 + .../BL602/bl602-chip-mbedtls-config.h | 142 +++ src/platform/bouffalolab/BL602/gatt.xml | 98 ++ src/platform/bouffalolab/BL602/gatt_db.c | 379 ++++++++ src/platform/bouffalolab/BL602/gatt_db.h | 42 + src/platform/device.gni | 8 +- third_party/bouffalolab/bl602_sdk/BUILD.gn | 27 + .../bouffalolab/bl602_sdk/bl602_board.gni | 31 + .../bl602_sdk/bl602_executable.gni | 51 ++ .../bouffalolab/bl602_sdk/bl602_riscv.gni | 21 + .../bouffalolab/bl602_sdk/bl602_sdk.gni | 567 ++++++++++++ third_party/bouffalolab/bl602_sdk/repo | 1 + 108 files changed, 12219 insertions(+), 4 deletions(-) create mode 100644 build/config/riscv.gni create mode 100644 build/toolchain/riscv_gcc/BUILD.gn create mode 100644 build/toolchain/riscv_gcc/riscv_toolchain.gni create mode 100644 build_overrides/bl602_sdk.gni create mode 100644 config/bouffalolab/bl602/lib/pw_rpc/BUILD.gn create mode 100644 config/bouffalolab/bl602/lib/pw_rpc/pw_rpc.gni create mode 100644 config/bouffalolab/bl602/toolchain/BUILD.gn create mode 100644 examples/build_overrides/bl602_sdk.gni create mode 100644 examples/lighting-app/bouffalolab/bl602/.gn create mode 100644 examples/lighting-app/bouffalolab/bl602/BUILD.gn create mode 100644 examples/lighting-app/bouffalolab/bl602/README.md create mode 100644 examples/lighting-app/bouffalolab/bl602/README.pdf create mode 100644 examples/lighting-app/bouffalolab/bl602/args.gni create mode 120000 examples/lighting-app/bouffalolab/bl602/build_overrides create mode 100644 examples/lighting-app/bouffalolab/bl602/include/AppConfig.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/AppEvent.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/AppTask.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/CHIPDeviceManager.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/CHIPProjectConfig.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/DeviceCallbacks.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/FreeRTOSConfig.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/LEDWidget.h create mode 100644 examples/lighting-app/bouffalolab/bl602/include/LightingManager.h create mode 100644 examples/lighting-app/bouffalolab/bl602/src/AppTask.cpp create mode 100644 examples/lighting-app/bouffalolab/bl602/src/CHIPDeviceManager.cpp create mode 100644 examples/lighting-app/bouffalolab/bl602/src/DeviceCallbacks.cpp create mode 100644 examples/lighting-app/bouffalolab/bl602/src/LEDWidget.cpp create mode 100644 examples/lighting-app/bouffalolab/bl602/src/LightingManager.cpp create mode 100644 examples/lighting-app/bouffalolab/bl602/src/main.cpp create mode 120000 examples/lighting-app/bouffalolab/bl602/third_party/connectedhomeip create mode 100644 examples/platform/bouffalolab/bl602/BUILD.gn create mode 100644 examples/platform/bouffalolab/bl602/InitPlatform.cpp create mode 100644 examples/platform/bouffalolab/bl602/InitPlatform.h create mode 100644 examples/platform/bouffalolab/bl602/LEDWidget.cpp create mode 100644 examples/platform/bouffalolab/bl602/MemMonitoring.cpp create mode 100644 examples/platform/bouffalolab/bl602/MemMonitoring.h create mode 100644 examples/platform/bouffalolab/bl602/PigweedLogger.cpp create mode 100644 examples/platform/bouffalolab/bl602/PigweedLogger.h create mode 100644 examples/platform/bouffalolab/bl602/Service.cpp create mode 100644 examples/platform/bouffalolab/bl602/Service.h create mode 100644 examples/platform/bouffalolab/bl602/args.gni create mode 100644 examples/platform/bouffalolab/bl602/board_config.h create mode 100644 examples/platform/bouffalolab/bl602/board_features.h create mode 100644 examples/platform/bouffalolab/bl602/display/lcd.c create mode 100644 examples/platform/bouffalolab/bl602/hal-config-app-common.h create mode 100644 examples/platform/bouffalolab/bl602/lcd.h create mode 100644 examples/platform/bouffalolab/bl602/ldscripts/flash_rom.ld create mode 100644 examples/platform/bouffalolab/bl602/project_include/OpenThreadConfig.h create mode 100644 examples/platform/bouffalolab/bl602/pw_sys_io/BUILD.gn create mode 100644 examples/platform/bouffalolab/bl602/pw_sys_io/public/pw_sys_io_efr32/init.h create mode 100644 examples/platform/bouffalolab/bl602/pw_sys_io/sys_io_efr32.cc create mode 100644 examples/platform/bouffalolab/bl602/uart.c create mode 100644 examples/platform/bouffalolab/bl602/uart.h create mode 100755 scripts/examples/gn_bl602_example.sh create mode 100644 src/platform/bouffalolab/BL602/BL602Config.cpp create mode 100644 src/platform/bouffalolab/BL602/BL602Config.h create mode 100644 src/platform/bouffalolab/BL602/BLEManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/BLEManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/BUILD.gn create mode 100644 src/platform/bouffalolab/BL602/BlePlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/CHIPDevicePlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/CHIPDevicePlatformEvent.h create mode 100644 src/platform/bouffalolab/BL602/CHIPMem-Platform.cpp create mode 100644 src/platform/bouffalolab/BL602/CHIPPlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/ConfigurationManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/ConnectivityManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.h create mode 100644 src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h create mode 100644 src/platform/bouffalolab/BL602/DnssdImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/GroupKeyStoreImpl.h create mode 100644 src/platform/bouffalolab/BL602/InetPlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/Logging.cpp create mode 100644 src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h create mode 100644 src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp create mode 100644 src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/PlatformManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/SystemPlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/ThreadStackManagerImpl.cpp create mode 100644 src/platform/bouffalolab/BL602/ThreadStackManagerImpl.h create mode 100644 src/platform/bouffalolab/BL602/WarmPlatformConfig.h create mode 100644 src/platform/bouffalolab/BL602/args.gni create mode 100644 src/platform/bouffalolab/BL602/bl602-chip-mbedtls-config.h create mode 100644 src/platform/bouffalolab/BL602/gatt.xml create mode 100644 src/platform/bouffalolab/BL602/gatt_db.c create mode 100644 src/platform/bouffalolab/BL602/gatt_db.h create mode 100644 third_party/bouffalolab/bl602_sdk/BUILD.gn create mode 100644 third_party/bouffalolab/bl602_sdk/bl602_board.gni create mode 100644 third_party/bouffalolab/bl602_sdk/bl602_executable.gni create mode 100644 third_party/bouffalolab/bl602_sdk/bl602_riscv.gni create mode 100644 third_party/bouffalolab/bl602_sdk/bl602_sdk.gni create mode 160000 third_party/bouffalolab/bl602_sdk/repo diff --git a/.gitmodules b/.gitmodules index 99d22f909aa2b2..9e285ff25bad2e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -203,3 +203,7 @@ [submodule "third_party/efr32_sdk/wiseconnect-wifi-bt-sdk"] path = third_party/efr32_sdk/wiseconnect-wifi-bt-sdk url = https://github.com/SiliconLabs/wiseconnect-wifi-bt-sdk +[submodule "third_party/bouffalolab/bl602"] + path = third_party/bouffalolab/bl602_sdk/repo + url = https://github.com/bouffalolab/bl_iot_sdk_matter.git + branch = gebx/rebase-to-ee7682d5 diff --git a/BUILD.gn b/BUILD.gn index 09b8f29565265a..66ee58c6b63915 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -192,6 +192,9 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") { # Set this to true to enable k32w builds by default. enable_k32w_builds = false + + # Set this to true to enable bl602 builds by default. + enable_bl602_builds = false } declare_args() { @@ -274,6 +277,9 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") { # Build the k32w shell app example. enable_k32w_shell_app_build = enable_k32w_builds + # Build the bl602 lock app example. + enable_bl602_lighting_app_build = enable_bl602_builds + enable_fake_tests = enable_default_builds && host_os == "linux" } diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn index 7f770cf68f7cc5..99f26677c5419a 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -74,6 +74,8 @@ if (_chip_defaults.custom_toolchain != "") { } else if (target_os == "freertos") { if (target_cpu == "arm") { _default_toolchain = "${_build_overrides.build_root}/toolchain/arm_gcc" + } else if (target_cpu == "riscv") { + _default_toolchain = "${_build_overrides.build_root}/toolchain/riscv_gcc" } else { assert(false, "Unsupported target_cpu: ${target_cpu}") } diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn index 6c16e492d3b6bc..7c66e9638dd710 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -42,6 +42,8 @@ if (current_cpu == "arm" || current_cpu == "arm64") { import("${build_root}/config/arm.gni") } else if (current_cpu == "x86" || current_cpu == "x86_64") { import("${build_root}/config/x86.gni") +} else if (current_cpu == "riscv") { + import("${build_root}/config/riscv.gni") } config("release") { @@ -122,6 +124,26 @@ config("abi_default") { ] } } + if (current_cpu == "riscv") { + if (riscv_arch != "") { + cflags += [ "-march=${riscv_arch}" ] + } + if (riscv_cpu != "") { + cflags += [ "-mcpu=${riscv_cpu}" ] + } + if (riscv_tune != "") { + cflags += [ "-mtune=${riscv_tune}" ] + } + if (riscv_abi != "") { + cflags += [ "-mabi=${riscv_abi}" ] + } + if (riscv_fpu != "") { + cflags += [ "-mfpu=${riscv_fpu}" ] + } + if (riscv_float_abi != "") { + cflags += [ "-mfloat-abi=${riscv_float_abi}" ] + } + } } asmflags = cflags diff --git a/build/config/riscv.gni b/build/config/riscv.gni new file mode 100644 index 00000000000000..37e1aaa1350460 --- /dev/null +++ b/build/config/riscv.gni @@ -0,0 +1,64 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") + +if (current_cpu == "riscv" && current_os == "freertos") { + declare_args() { + # Build file to import for RISCV defaults. + riscv_platform_config = "" + } + + # Allow platforms to override how RISCV architecture flags are chosen by + # providing a file to import. + if (riscv_platform_config != "") { + _platform_defaults = { + import(riscv_platform_config) + } + } + + _defaults = { + riscv_arch = "" + riscv_cpu = "" + riscv_tune = "" + riscv_fpu = "" + riscv_float_abi = "" + riscv_abi = "" + + # Update defaults with platform values, if any. + if (riscv_platform_config != "") { + forward_variables_from(_platform_defaults, "*") + } + } + + declare_args() { + # RISCV architecture (value for -march flag). + riscv_arch = _defaults.riscv_arch + + # RISCV CPU (value for -mcpu flag). + riscv_cpu = _defaults.riscv_cpu + + # RISCV tuning (value for -mtune flag). + riscv_tune = _defaults.riscv_tune + + # RISCV FPU (value for -mfpu flag). + riscv_fpu = _defaults.riscv_fpu + + # RISCV float ABI (value for -mfloat-abi flag). + riscv_float_abi = _defaults.riscv_float_abi + + # RISCV ABI (value for -mabi flag). + riscv_abi = _defaults.riscv_abi + } +} diff --git a/build/toolchain/riscv_gcc/BUILD.gn b/build/toolchain/riscv_gcc/BUILD.gn new file mode 100644 index 00000000000000..9af62a3cc15e71 --- /dev/null +++ b/build/toolchain/riscv_gcc/BUILD.gn @@ -0,0 +1,21 @@ +# Copyright 2021 The Pigweed Authors +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("riscv_toolchain.gni") + +riscv_toolchain("riscv_gcc") { + toolchain_args = { + } +} diff --git a/build/toolchain/riscv_gcc/riscv_toolchain.gni b/build/toolchain/riscv_gcc/riscv_toolchain.gni new file mode 100644 index 00000000000000..d7765a7934d767 --- /dev/null +++ b/build/toolchain/riscv_gcc/riscv_toolchain.gni @@ -0,0 +1,34 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") + +import("${build_root}/toolchain/gcc_toolchain.gni") + +template("riscv_toolchain") { + gcc_toolchain(target_name) { + _tool_name_root = "riscv64-unknown-elf-" + ar = _tool_name_root + "ar" + cc = _tool_name_root + "gcc" + cxx = _tool_name_root + "g++" + + toolchain_args = { + current_cpu = "riscv" + current_os = invoker.current_os + is_clang = false + + forward_variables_from(invoker.toolchain_args, "*") + } + } +} diff --git a/build_overrides/bl602_sdk.gni b/build_overrides/bl602_sdk.gni new file mode 100644 index 00000000000000..e74bf42d737d42 --- /dev/null +++ b/build_overrides/bl602_sdk.gni @@ -0,0 +1,18 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +declare_args() { + # Root directory for bl602 SDK build files. + bl602_sdk_build_root = "//third_party/bouffalolab/bl602_sdk" +} diff --git a/config/bouffalolab/bl602/lib/pw_rpc/BUILD.gn b/config/bouffalolab/bl602/lib/pw_rpc/BUILD.gn new file mode 100644 index 00000000000000..66ab51fc23adf0 --- /dev/null +++ b/config/bouffalolab/bl602/lib/pw_rpc/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") +import("$dir_pw_build/target_types.gni") + +static_library("pw_rpc") { + output_name = "libPwRpc" + + public_configs = [ "${dir_pigweed}/pw_hdlc:default_config" ] + + public_deps = [ + "$dir_pw_rpc:server", + "$dir_pw_rpc/nanopb:echo_service", + "${chip_root}/examples/platform/bl602/pw_sys_io:pw_sys_io_bl602", + "${dir_pigweed}/pw_hdlc:pw_rpc", + dir_pw_assert, + dir_pw_checksum, + dir_pw_hdlc, + dir_pw_log, + ] + + output_dir = "${root_out_dir}/lib" +} diff --git a/config/bouffalolab/bl602/lib/pw_rpc/pw_rpc.gni b/config/bouffalolab/bl602/lib/pw_rpc/pw_rpc.gni new file mode 100644 index 00000000000000..29f549efd4b088 --- /dev/null +++ b/config/bouffalolab/bl602/lib/pw_rpc/pw_rpc.gni @@ -0,0 +1,28 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") + +pw_log_BACKEND = "$dir_pw_log_basic" +pw_assert_BACKEND = "$dir_pw_assert_log" +pw_sys_io_BACKEND = + "${chip_root}/examples/platform/bl602/pw_sys_io:pw_sys_io_bl602" + +pw_build_LINK_DEPS = [ + "$dir_pw_assert:impl", + "$dir_pw_log:impl", +] + +dir_pw_third_party_nanopb = "${chip_root}/third_party/nanopb/repo" diff --git a/config/bouffalolab/bl602/toolchain/BUILD.gn b/config/bouffalolab/bl602/toolchain/BUILD.gn new file mode 100644 index 00000000000000..950b2732a57a05 --- /dev/null +++ b/config/bouffalolab/bl602/toolchain/BUILD.gn @@ -0,0 +1,39 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") +import("//build_overrides/chip.gni") + +import("${build_root}/toolchain/riscv_gcc/riscv_toolchain.gni") + +riscv_toolchain("bl602_lock_app") { + toolchain_args = { + current_os = "freertos" + import("${chip_root}/examples/lock-app/bl602/args.gni") + } +} + +riscv_toolchain("bl602_lighting_app") { + toolchain_args = { + current_os = "freertos" + import("${chip_root}/examples/lighting-app/bl602/args.gni") + } +} + +riscv_toolchain("bl602_window_app") { + toolchain_args = { + current_os = "freertos" + import("${chip_root}/examples/window-app/bl602/args.gni") + } +} diff --git a/examples/build_overrides/bl602_sdk.gni b/examples/build_overrides/bl602_sdk.gni new file mode 100644 index 00000000000000..f2ff1f1ee45cf5 --- /dev/null +++ b/examples/build_overrides/bl602_sdk.gni @@ -0,0 +1,19 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +declare_args() { + # Root directory for bl602 SDK. + bl602_sdk_build_root = + "//third_party/connectedhomeip/third_party/bouffalolab/bl602_sdk" +} diff --git a/examples/lighting-app/bouffalolab/bl602/.gn b/examples/lighting-app/bouffalolab/bl602/.gn new file mode 100644 index 00000000000000..27a24ca4db236b --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/.gn @@ -0,0 +1,28 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") + +# The location of the build configuration file. +buildconfig = "${build_root}/config/BUILDCONFIG.gn" + +# CHIP uses angle bracket includes. +check_system_includes = true + +default_args = { + target_cpu = "riscv" + target_os = "freertos" + + import("//args.gni") +} diff --git a/examples/lighting-app/bouffalolab/bl602/BUILD.gn b/examples/lighting-app/bouffalolab/bl602/BUILD.gn new file mode 100644 index 00000000000000..d586cf4647ba51 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/BUILD.gn @@ -0,0 +1,126 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/bl602_sdk.gni") +import("//build_overrides/build.gni") +import("//build_overrides/chip.gni") + +import("${bl602_sdk_build_root}/bl602_executable.gni") +import("${bl602_sdk_build_root}/bl602_sdk.gni") +import("${build_root}/config/defaults.gni") + +assert(current_os == "freertos") + +bl602_project_dir = "${chip_root}/examples/lighting-app/bouffalolab/bl602" +examples_plat_dir = "${chip_root}/examples/platform/bouffalolab/bl602" + +declare_args() { + # Dump memory usage at link time. + chip_print_memory_usage = true + + # PIN code for PASE session establishment. + setupPinCode = 20202021 + + # Monitor & log memory usage at runtime. + enable_heap_monitoring = false +} + +show_qr_code = false + +# BL-HWC-G1 (No LCD) +if (bl602_board == "BL-HWC-G1" || bl602_board == "IOT_DVK_3S") { + show_qr_code = false +} + +bl602_sdk("sdk") { + sources = [ + "${bl602_project_dir}/include/CHIPProjectConfig.h", + "${bl602_project_dir}/include/FreeRTOSConfig.h", + ] + + include_dirs = [ + "${chip_root}/src/platform/bouffalolab/BL602", + "${bl602_project_dir}/include", + "${examples_plat_dir}", + ] + + defines = [ + "CONFIG_PSM_EASYFLASH_SIZE=16384", + "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE=${setupPinCode}", + ] +} + +bl602_executable("lighting_app") { + output_name = "chip-bl602-lighting-example.out" + + sources = [ + "${examples_plat_dir}/InitPlatform.cpp", + "src/AppTask.cpp", + "src/CHIPDeviceManager.cpp", + "src/DeviceCallbacks.cpp", + "src/LEDWidget.cpp", + "src/LightingManager.cpp", + "src/main.cpp", + ] + + deps = [ + ":sdk", + "${chip_root}/examples/common/QRCode", + "${chip_root}/examples/lighting-app/lighting-common", + "${chip_root}/src/lib", + "${chip_root}/src/setup_payload", + ] + + include_dirs = [ "include" ] + + if (bl602_board == "IOT_DVK_3S") { + defines = [ "BOARD_ID=0" ] + } else { + defines = [ "BOARD_ID=1" ] + } + + if (show_qr_code) { + sources += [ "${examples_plat_dir}/display/lcd.c" ] + + defines += [ "DISPLAY_ENABLED" ] + } + + if (enable_heap_monitoring) { + defines += [ "HEAP_MONITORING" ] + sources += [ "${examples_plat_dir}/MemMonitoring.cpp" ] + } + + ldscript = "${examples_plat_dir}/ldscripts/flash_rom.ld" + + ldflags = [ "-T" + rebase_path(ldscript, root_build_dir) ] + + inputs = [ ldscript ] + + if (chip_print_memory_usage) { + ldflags += [ + "-Wl,--print-memory-usage", + "-fstack-usage", + ] + } + + output_dir = root_out_dir +} + +group("bl602") { + deps = [ ":lighting_app" ] +} + +group("default") { + deps = [ ":bl602" ] +} diff --git a/examples/lighting-app/bouffalolab/bl602/README.md b/examples/lighting-app/bouffalolab/bl602/README.md new file mode 100644 index 00000000000000..7e27582662b971 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/README.md @@ -0,0 +1,81 @@ +#CHIP BL602 Lighting Example + +## Build + +- Install some additional tools(likely already present for CHIP developers): + + #Linux \$ sudo apt-get install git libwebkitgtk-1.0-0 ninja-build + + #Mac OS X \$ brew install ninja + +* Build the example application: + +``` +connectedhomeip$ ./scripts/examples/gn_bl602_example.sh ./examples/lighting-app/bouffalolab/bl602 out/lighting_app_bl602 +``` + +Generated files + + connectedhomeip/out/lighting_app_bl602/chip-bl602-lighting-example.bin + +- To delete generated executable, libraries and object files use: + + $ cd ~/connectedhomeip/ + $ rm -rf out/ + +## Flash +- Download [FLASH_TOOL](https://dev.bouffalolab.com/download/). + +### Setting up Python Controller + +Once BL602 is up and running, we need to set up a device controller to perform +commissioning and cluster control. + +- Set up python controller. + + $ cd {path-to-connectedhomeip} + $ ./scripts/build_python.sh -m platform + +- Execute the controller. + + $ source ./out/python_env/bin/activate + $ chip-device-ctrl + +### Commissioning over BLE + +- Establish the secure session over BLE. BLE is the default mode in the + application and is configurable through menuconfig. + + - chip-device-ctrl > ble-scan + - chip-device-ctrl > set-pairing-wifi-credential TESTSSID P455W4RD + - chip-device-ctrl > connect -ble 3904 20202021 135246 + + Parameters: + 1. Discriminator: 3904 + 2. Setup-pin-code: 20202021 + 3. Node ID: Optional. + If not passed in this command, then it is auto-generated by the controller and displayed in the output of connect. + The same value should be used in the next commands. + We have chosen a random node ID which is 135246. + 4. TESTSSID : Wi-Fi SSID + 5. P455W4RD : Wi-Fi Password + +### Cluster control + +- After successful commissioning, use the OnOff cluster commands to control + the OnOff attribute. This allows you to toggle a parameter implemented by + the device to be On or Off. + + `chip-device-ctrl > zcl OnOff On 135246 1 1` + `chip-device-ctrl > zcl OnOff Off 135246 1 1` + +- Use the LevelControl cluster commands to control the CurrentLevel attribute. + This allows you to control the brightness of the led. + + `chip-device-ctrl > zcl LevelControl MoveToLevel 135246 1 1 level=10 transitionTime=0 optionMask=0 optionOverride=0` + +- Use the ColorControl cluster commands to control the CurrentHue and + CurrentSaturation attribute. + + `chip-device-ctrl > zcl ColorControl MoveToHue 135246 1 1 hue=100 direction=0 transitionTime=0 optionsMask=0 optionsOverride=0` + `chip-device-ctrl > zcl ColorControl MoveToSaturation 135245 1 1 saturation=200 transitionTime=0 optionsMask=0 optionsOverride=0` diff --git a/examples/lighting-app/bouffalolab/bl602/README.pdf b/examples/lighting-app/bouffalolab/bl602/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c65f135e06e57ebd536948a45f31c07bb3b2a408 GIT binary patch literal 522566 zcmdqJbzGI();6pNNF!YW3y_Y*qDzqOPDzPHNp~YHE!~~c9n#$m(hZUVN|$~M-0rRK z-se2${XOTO?_EE2-Rr(*j5+6+*BI9r^OjsrNQ555z>17OUJdymBY*&m082enWCR`_ zppvr{7$~S~r)y?u1eDV?0^0(ZAdeM*Qo0sKRA38wWkqTLP|?oDUf)j11`JlPw6p`T zaNHM>*0p&pZeeH%Y3A+{Yyf~11M@;Y$OvEygZnP-8vCuU`#ykzmi88Q09K%+iGi&K zfcdUD05j{4ulvRUEO$~W09fvCY5{(2^RD>c+Jp#i1BSHuLwW_Ut);zbT1fCgdM>2$2|@JGvi%3 zUS6QElbxudovs}i(zd7~JAnPZzNjJx;Jz%Rgq)3~z9QI80|;3Fpc2^04k&I8nPGt+ zUxGir#P7xilm;7^=n7amX+Rob1h8_lGB7g%I9NaooJ?8($ZT2ILB?ha_#v&RjitR6 zq}ThkyZ-@H1S;9+TG(3M&4Io%P*4#l1a>gd2P=pQKw4MQ)w6{Z`LT*W=E)Yo`0JG3 zHT-i*MNG`>z&1b;GsxJ4!1|U3V4xJ(!pP1TzzkwxzpG_yX9LzXM@Dc;uGXBlSm;G_ z$4U1DyyJQI(Eni9^^x}jZDgQXM_|l;2N&vB@|uY1>4;4OM?TXQkn(fpifodGZo7%r z-b6G`+uVW=!|!)VgCCCsRaQQh{UGX2GCUGoa~SkJIrXjjDBmF=W+r3Xqy)CMAfbWv z>8F#8o)%1ES=qVZiKxe9nB!Az*f`(0o@ZnUKZJpncU9!re66bK*4jbD>)16vaxx4s z_`=q_X4&-h=wu`BYscoPJ$Qg!b&4-Im{>*@_U27XYAR+&R0)*@iQnUJAYU_m|MIf= zhrB7K85^h?q>36V#53f%Qox9>C4ue-5e|Ca(++3+!a*Ztdb?sReC?NvHHrgA`B3TD zS13dQGO-`Zh9~C^9(-PT3NK=0{cM}lKz%yh=s9)hV{ZS{FX=CL+XOY+runVv`cY$m zz`{_vQrb||cQ-+0w0P)t`6*jS)ZTc$AIbE^;zr)BXnuZbB*t)a!}Q|A15P}P_DOAN z24Bj!7#dK$xzZ(Uic1#>BHoS3K?n4zX_R+hShR#sTzhDfS+@+V+hNI;3LIT_*dsx2 z#A<75K^y-^y)a$+70A?7;i<|rM{hQ0N{~oG50DziMiI#k^85}TUC3BjX!asMu8H#J z@6nLn^47Db$B+vO%^&0K>MBg@CtkMA$5v<~q1j5{ShkWgW1!OhD3X&NLe;laiDLWO zw;riP<=voKD7b@5HBpr`d+bP;(1xF1!uMHpu%oINix6Afh11Z3C_UtJ>QMZT&lV}U z$*OSECwwZNKe&K>2E851x9rP2x|nWP=)22Gw3}gGJ4MNs_~jRRvCeB5-v(okd?tyO?H~%A1-C67$y0C9iUNySk00j?HE2 zMcUBUA`i#CtP04Q1hBAH|B@*Q*6MYX@laLNhRW{@gR< ztKvn*Y6)&BJm~C5!>(*8^+OpL@4i%Z{c^5|S6R)>`6pkh=X*dOKNece@OmNU7bnG% zk9y(DCz6_ZOJTvc;Shc+fd%lcr5n92=ag*_IySz%^)XwhAp7o26;8v!1aDj|(=*b8 z0A8wQAJUi#7aLGVw!ZZ&X0WJtBIujT5E^s3dD9ba*T~iZkRm9=zHt>qH@t3ciqbxf zHpoX<6EMKynippOR9la*>9CrERluNsgZ5q)m|guo2%Oij#sBq7RPgNC8B^+4%`l-N z)z#X?=1!hr=6*SLUAKlKksLw{5cbe0%E2c~+<|iqiR?z|>z!uX(N(6SVWCTA{DCe} zHq&gDN7UhEM7k{%o9sc1w>;T4R9;4E|V9KO=T6Hvk=NIhR{q z-;IXkr`ylFz)(CS%vwik(oOSlGha)+p`Wom)fO(ApzGDgYKg(_GWKs~s z2wOo<3Y9D>uD&X9Qsb!0HN*}=c(D!&PQS3Hq=;$bXXzmmtLQ|d^u zR&(i>?VR(=25~+XDN3tZC$?bZj>kEb7PI2xU5ZoZio|}=Hx|L0#09bWL!Bpbr|ai2w0x0YZw2@~ za)`SE`lI7YY2JL*Dmpyc=_%$gOyAm`yzJwR&&eIWIp^q5Ug6-|G8;^w%0TxI{p9x2 z?=x`BZ5qqitv`K`DYO%2xzA9COjHN~iyyy7Ul)_}TIFE%zqRBu&b z&LsmkeRhU83#?cikOiU=cOLTcrp>WI$u=)M~?oXCq1mJG%<&G9#$4L4FGXBBhC zA3TI&RB_*A-q4SCF&AKm<5qtekj!}0i!aVrFJc$WIvO1L;2U9i)6Lf}iLIUyppKRK zsd+-M!{8&X+Y<>9ro)eW@fvflm z!t{aGJTp-uPcxWV>5s{avFA-F5!9mP9H=443 z@^R`bbA(Ak`CWy?=!Yp0`mOlmXO-#i^QZuIYC%o9rM>FGMy)StbQMt?r8yqI=y`0{ zXiaMTgoRA3ly&_@OK>jQynZ9v!!OV?saa+O-yQWCPjKc=&5|r!OZNPT>O-EyI(|Yi z8K|H0RRVlw`mRFRwcnx`f8vAt0xMh||E+sBxXcJ&h~pWvXdl}S>#ntMI2Be8l^p?x zq><_25Cv9Qb)pCXx1-=IG={_eA&Quna#7^~mgl#hIC`sYndM8nW*eiym%3%|B4&-F zP!-PA zV^i~)kq%}Mz}KFM=jvcbos{bLHFl0ByR(#5X}h%S<_a%Oj@fjc;Zw$^8LvbeUUBLy z!xYP>dD3ziTl>In+NwA%yB$Kb+@xSC*N&&r1F9S1U$;GJ15ZD)PK{fd+L@VgboU1b zBRANO*?-3araRCiBj6oC6>tn#jyz{cTnE*goM`{MPDvl7dIA2 znY>B{l6)(Qfl_pg-#W9@3+*XWl54T67dB$sqMy{vekVQe}zLuDB#;gyvo~7aU)cF>fFJtG4rTWEij8W{^QUX(sEH=tb=myLY(7DF5c1Hum-jlr8cpso$#eX;etD8br zUM1a66`xFO8TI*qqjp(Pw?(UaTtGq^<5`r>Tb)r!OEbnmp+NN{yl3B?RJ`cZDx5wR z5NFG?aB;6Yg6n0t>6(1nvU7@Z!@3mGz#ETDI%Dti zR}5@ICtzu202H=>a2gW}BcQ5@1;2%@$)CUP>I#8v^=(Y7>?~~ne-J_w8(TX;V_h2n zGZTaq|8Wgs0zs-9*csab*g$_U!oNuGUCqDA{a4HPjPzdUe=jJ6ff?D}bt?{`=O+66 z7Di@Z03(p!R{xIZf*4sjAT0044|*n6W(bY9f(+8g*bcw}Vgm9z7~M+(?#l?=Gg5jGh#7F#0RY6z%y!o{gp%IP z6@(~)nE-5zfAHPE#(zhJe;fawTp1`J4V1C8G1oN%>gxhPzf#bK+W+e~ z?#tZEqyYfk2Qjn&e@)H(ou3l_hYI^s;RVHo?!>s$d8Qxa|9-TP+e((A;zH88R=}UK z1BFx}!a~*-@=(#)7P6>!ff@klM|9+_+F$AjS=ReesX|6`9~k*!5RpY`@XMl#SJfvGSpHftB@=V7EyU=^fE^+K zDp;E9TKwm0^&^fb^3Q9<{>xhZ4R%3)!`Tjp9K8(%f!J6`o-9Q*nTlKY@E!0 z85#0FydcdH}?*1a>t02Zb{><-Isc88ViZowddStdpnHUOlX-^0N7aoT^g zpZ*d26-~?)?SEN~pGfvkVE-dZ{0rEF{tl0S8Xygbly@-tE7;%P`6=Q53HESM52c=`>{7dOTETCVM zjsx=O7Y~Q=FQwz;WcyEa?yk9iaCR60^pGb2NFxA97r#3?KNk463H)0s;@%?vT+_RW z_{IPDr(O4_^Z9QSk?BX+|5ru42lU@0`7?qKQN;VFzbWFcDE_A+{*ydEMgQOX8ccuq z&%gT`Oh4caqK@}y1xcj*>=m_QH* z_)k*A4sjX&gbWsT&c7goiS2i9;{PN?KkXDV^G`d)en0(xI2MrFcXo;qVgVQ#0g!Hf zw^R2S!=GyXCpP}&M*I#E|B4d+h=u zf1TX>tov_czsu17&)M|9a_2vD;=g3r|4Nwuk!$~N=gavmEG+HrP7d6g6Ns7q4-@E+ z_{AN8|LH;eij8_J%`2LhgPT)&;wLh3eQ3kDznHJBQM`JqR@%Jl`##5pYzNbV_ zWrezNGnlTe?48~?PK1E{(FeeWERAAD#1^Z~Y0F7wHD0Pl%$|nxm1(G`yq}hhl4QFg z`tt?^KFxl3MWchw6~Gp;j3xES9u_C}6q&_v;=_|m;A3Ru^app2SCqJPK`1oYg6%=#;(5@SZ_7ylTlw=X z%_D5-*UnA;AiK+^=_A(RP&ldMP}nHWC#eXi6b)~YvZX2cWbjrkwqJaRe!)^s2i=MO zo!vixJe!z-H6uelNWz~y`^~VBg5UyglJtUBg=yRdHhp1pPuU=OZb~Z z@+(4x*6**ptIk?WIM~w$~=?s5c6BscfXCYm}Q$R+8j6S#Io?38o*Z z;_EreFmXqfT^q|}95Q;BYH>4!2BI*)r{=Kc2Z=;vXD1rIsLl~OWk&vLE!YK8TMn@{ zz+H#O>Xv6+oz#58F$<$Sp33APKsdvu&laoOhnEw3w5=X3qBA)Svn(dVx zewTwlXu6UNu06Vv2T$g%nNVo9(tN%;YW7?czkvwUWN8d3u~-#d(E@@2mGl!dZo)?+ zPG956Y^Amcr-qmqV>k7JGDaI;WtuF$dZ6Tzn$Y37m=a-uZ1B0+!aDaYM!AJB8u_yq zJ#EUc{IpK*PA|}&96GF8)Cc+1@sJQRnZR$6yeh|iH{dH4-8zf*g6WYcobU1bS1dZ0 z@ePfFe!&qevc2L@p`7#u;Iek3-$irTulcKenc8J}mz}DZ=kZG3UIJIkes?n5Ks3cL zUuLi36s%UooDV>pj6>ddspTOH5Pb z`;;VqzVM(&yB_zRkrwQ5n)P5P z2EI>1Br~pYByw9wn2v-a@eL7<(AUWam<+%}M26$9_&BgzpmgeKjUoyOB{FgQJM zMkLR$7)mnBc7+FtBjJ%bABSd|mN_YuD@1w^W3VM`yhZ?t3)#l&f;xGfoW!@fBwKr`Z2{vOpFvdL#?_9m{Ki;A^C~9anb|jF=<|ainCjmnbnB z{mQ5%UYMi^f#~axp2fby%*N2+N1!307BfmE@tax@B?76d!iRc_?ggRMp!RB@SmHLn zO0J%xKc6ALbyhu;*Pk=>lk`t2Sp>4L_LjC$m3Lp1bg|8JV9!I4CyR8};XA!3TB)(20|E935mhAAhSdS^3eSZjg z%+kT>z{1{ER$?~#ZS3|S8}+eNkjpx|6t{H0l>jw5<|HD81Cr_0(`YMRQqN1FtKzp_ zQVCw(>0&cadh_ehD?}wgHO;92ZFrqg8g!l9vQ-WqOkWRb6xH zbMwo*!%lmni7(3tbdAHyPX$HG@*VtVJG;YboI54y`ll}Gm&(<%@afCnOdApG6)gMj zJ8+UXTKAN_+MLol*qYXghj$Li@<&e8f!k6{Jyno-+QS z0IxY}hc@_iCw{;z%_DXR=dO%EX_(~bqRflJ(h>%18XE>=&5$6T%{kX7FtQj`&@lkjF=&r%WF)(Nra)rYzT!P&kU^=n9ZK2+{Cb(v1$tr%pmH8_V6NGA6$+KG=?BXjs4-S{zc({ffCI&P{rW8HBn}e3uc0^5J7}ly9 zX`MzbohSXGCwn;yTr6=$4-JQ%TCSrdM~}=nO_hAue3WzJtGRabajaIYmS>d*%~N4=3{S@x zMmvmRHp;y(mT{=W1+Y75ggOKSF=C8duniPeJXTZ>BQoLHtL)_BDcp$r=L^lTUp0R@ zNc&pehs;t9~;jVkuechq6qb0}{z{u=BI=DGZ%aBY5(+Zf6_iF6N}f743NGZB-O>j$pGPSOm|0DK>!wJb_RA<2)|@y z;9!Bc=K_ilhOc^;5CVz-Sb+RL`98nCor$FdqwVR{Y;TG|c=XKJ(wy{Nvz}4-$hh8Xo00fSY@O$5Cek!ja!26y!RBL?k`mDBxN$I2T`dokAw(SR} z@TH@AhXMkgIG$oI>zf|O!#;Y-LP{QyxS|C+DGNs~dM>id?hvmSJv&~# z=yJ^hHa&$GQVxhOx9Xhz)*p9A#PTY9n#;4D&?Y}3?l!Vx3&_t3Q)?M9Nf1x}W z{?x$z9%(vb^MC=JLsR6by49@zdRVfZCwCszSs>}sDhlEAuE>$?kZr%=s&vU!xJ!5W z$3*yUUtWJ%edLy|e5+P!`c=$^FA{0A`a9v`;WRpv zph$)ygH?w58_g`hP8J}C5j=^DT$Oqi86~gJ!qG37=(WN%*|o|BLzzWooKs)r9v4M$ zx;9M2n|>M&g>gpUNE;l4Dbq4?p2 z`?5w|@P?SXIT%tDrNJ{l@?w|m*{72#MR!b;*Udg%cpsZ2X`8B}FExs((84Kth&S~x zYe|(cc}1HPiD04?&d28+nuHtLs8A(NdfSjtFgc;0$rTzqTgSLZq_*MU*Dzz0?IJFMRDfZq3v_e%b zmOf~*1c7xacvUX9XkL*eaT^*hpJf*|fz3)}kpo}tv7=3W>G6c9QpFzO=E3o;Ac9)= zE>t!-|Lcdb3N8ttVIL?{_bR~4Qn5WetcZEV^8luE#p8ft>bB)ct+Z1cyflx_aL*9s zaZr;gu)?(l_%LW$f;!lK*MT`Guw9Vigj{=*4y|>Z$%MZm+d}=>E(Un}wS%kKJGxQm znhHUhM~a+#a9iT;*I#2R-y8+Kp7zg{Scst4DYusvN=YO-r%uM(Lo5dA>`1E(XF^pP zZqC1ZfgnCy(2jfHD*8O8GQG@uUgeo6rNnAq{^M#nPI2>;I46s6_wcR{>SsNUOrH`- zVVLvOUaYLlzoI~n2Zi}4MZc~BIOD-s-HxP5ybr!aKILM6Ut-`IE zfFT39uL3)MiY*3iCuB@BQxtw8DK+GadZy?lq_^<7NZbjJo|fM5Pt;C$S#@?VPMvfz znMAC2=%$N3s+_Xj4hIgNoNCLa%yb)!V$t~V>Tjra+io9P;psP5LU8|)I3zlUkt%h{ybkPMx|7xeEB{3N3La<%+0jVSc@+1oqmvWV}lN{3pW0^PZJDw8hD_`?h>$ASG6th9_v#R2o z^oA}rMi3Ftao1Ncv5|NjYgaPW6?xWQk7mxo{&|>JXYsQ{`X_lPg<)(|Z2RUZzsM{k zyme1Pdk|p8ayhs5`MRfQo(4=;TT{jay<&<5ZHr}I1IA8|B$_`z(r3D{#TqGQW3&~BZX;r2tJ)Y-?I2NuuoD)fc6Z_R}9cADr z7kR_f7g2Y2t=tt+5tTdK7-pNQIVDl)bR%wJxn;VZC)rBDx1b3SL^{KhD%2CxIh;P- z$djG)PjBV~$uth**ztsc7u6%s-IC;Auoz0N%&$HZ2@G)m}qWp;IEhApgs$3`G3w)l@3r{%SX7+YO_C$oO z@D8|Ud;wgUXhw#~4!FES{{(CXsX|*rGLQ`~3JEUBHnd}7K8C}FFABh4SB;Qa#MtK{ zml7Y3jlM1goQ3+M6~h-UyPoXKacssY8GDTRcDdFrLb8UCGphjnA*3lBADOHO z+AJi$GChiYmOi8ID_9;dUNw1x3iYM*d zh)c^qh`tO)A(#Ieke^i?h9KHdtlr4TOqEBVA{epQJBSy_rG1f=m zY5n|jbW7A2dAg6EgL~|y!q9tNP4zKs@a2_Kcqp294Bl$zc5IT{yiQ8jLdXliZ33Vr zxQ)0J29~}-)3)=H2sb{TOc7xTqg@O%boN21CP9^yUb#w5si4q&;qzFlOd)vU95c$0 z(ThTxdz4P^iDX_+b6y!s=J=Ozo^QlqO#O()Bh{Y;6uT}BLeBB@dDMEO^BgIu`*GLX z9%5|~8si&80y9H$T@;r*^KfZ$*5~ZH$3| zs3p!Gs%K}%B-QmqUd%^5J(b5uK!C0;Yk(FH1I4gOpcv_sRu_1^n}J>niG1US`gog^ ziEv9G%sV@R-?IJ?-G5-)p*OKAE5eE`tjGr+Ci+U=0EfIq&z@sa#+yl9#V<&@B3WK> zcR@(aB55L*y)0QjvNjM*%xLD|#a%9Gh7oMNN){y`%_1eNoJKbPAZl{oq4&MO!#V}6 zqG7hjiP9k?XMB@OTyjoY<+XmZuUb^&S%c2jxp1cq6)r1?NxHJ$>9M}HM$dmV-L?y= z(%xqAS(eO?maC$kZcBetE>j*W{|=LCx7ndA_M3i7?1x7ot1Koux|upoDB@YbSvaUl zSAG5bKxDX`*~oAB-xn9%n#R4Q9g4oqet#IB|6cbW*}}a$`;#r)XH@=hdH+m%-8;TN za)SU)$kCpkXAnVKZ#6$Gz|RmlL|5;;4Zki5bv>_K>6xo$D>!cyK1EunDO! zG!|N!)k7>SewT=_Ag@t$0EyR0#cZT>ghz-McjH>M873v6eQNltS>B`91IQ z+Lb-Vl8-pys@-F|a<2@bjY*k|$y3DY(R#D3ciyrMDoAlRai0qL)yn+{3mafNTs-ZW z_6AMcT2q(LyOujplVq2N2i^O9`PR=R`-MZ4?*w4%DQT5&GH@`^bBZ_2FXSS>SSc-+ z=F>c_XZC+Tx80$kRqxRPHj^)!&Y+koG2V4|N7>-g_U&ADJF(b^Q$k4!rOKU|jla6M zalq^;bWRSzju>%$5ZDh^6T!h zM}h_>bqr(k8O39pZ+i)yH`Hdl?%dZIt+Ro%QzPmh@NLPyS1bdmTb3OmZ`FRYjaKS3?qYJFBmJQKkk$B&p@DxGkwWwFWqOdl%s|HX#*^p}VS#>Cd}#Uf8A54wjzEphOy6ls6?EXfG<&v?f))et zjQ^a=A3e6%v6j%bAmgREWcMQRV)*#F8NNS3+9Fd{mBO0Atv&We24MS&;9+w(4Qx<5 zlsPJGiRs`QbVK>&4ouf2VKF!U>qP$<(VFMvtD5RC!(}Pq>)~sDPA|^~Xus;GGZ%@y zz~VUdW}{#*OAO57W<(ua5NE=O zGosIwC7g`AC1zz*VT~HK^PUCiroY|Vv1nWav6fq6R^@!a;%qZ9FPtP~afcx~JeohV za+Wn5bD!k6e!FKUEoRY^3)3N78u>j8DqM`t_4%_I1zkpe+GnrViSs^wsZ?EAnoCHE zSNy)*Iub+Jgk9Y#lBG$pI)cPo?)kc`khPskU42;r0K1Sm-5W>wq0mx@C{Tf-uum;e zSh^|em>~1{BV`1EEy+^PJr9rRQ3 zCbMHLN8C;5gB&F!5$OrWBXDa@=(_umre8u)ls|+l=L7C<)JH2PDi6KTyLWawJJ2`_ z%o6dHrUf6b zA*$%Dd&85zvy4eqflgK){O)kWXlm3yt@>KTVbCsVB|h17SIbqAy9@VGnhhB(uSebh zdcjT?4$YT2S=TX^mR^Mh+SV>lgV}_O;>b&J<@>x#q38a>OcR9Q)#!|S(r znI%LK)ZbDa4fZ8gO6Y1xbn5_xZ^hfjo-f!+F$qREYJc~AAEC;riRWGf0NOhm@b23g za!IUqVOB{MhCrJv>@@Yb!7R7k(0|tg!*-Te>q^XCBhxD*o}OgsZ@QE}F1QrAg;%9R zk^u%$;aU3Y-eP-ZHnH5kU`vx9Oe6J(*ThJkt9m=W^m3mr$aYXfAR^Ru8y;r3H*b&$ z8TazG6<6D19`ys=sX;MWcl^vCw95FpNj!SD>#-%`{_$W@{yt?T6Gq_fmMN;)x(Ltq ze0e%F&+ zJC(it@RclonC3hRZaLr*XaYJ^9dvcoFi-+6L+8zpmlQQH7hguyd<%$@p8$fMJR`kT zH>eHpf;tDXLH6UyayKf>aF9C-|LNJM9Gu}w+Ax#nmvMSTdm;lBeyPV^l(Yh~)Y65~ z5@Sd)X-Z_8!^P8XzUayGIudIO6rHenH4u_kKtL73LF=k!4P$=u+$AiIWmmbuh1PUj z>SM0Uuph4=4ADytI?A(%rZ)7gwsX`CFIQtD3#Y00*v@3W=Cn?&VMgHjM2!itG72W) zz>}lmPEFfzP8i}Y?2uN&*BA*XYZix)iLQ`Rey8RZI|w#JjlT3!kf?btDMg`q{YBrz zL{j$ftpFf+h!f4DE8aHhD&$hJ6E*6!lk@XQM8blU(&NnZnpHKm9!Qd2ta;Dx>t{}W;E#fg?in^nR4w+mHP8q zAi@?>@@OLp$tkb*(A4byLxiW0S%*Tfg&7XDNM??t`dSF;28(RJ2*v#3O^U$R9}4|` zvo`m!s|uMeClLFD>NGFsjHl+hB0XDm05`BegvhB5@ZhY>HdUHh7Ya=#Eac{0ftijM z^7!o5PK2i$N^;UPNlp~T6>;76cZe-Zo#V_jRuXPP6LURq5wEr{B`s(nIoRDUg+g63 zXj)=R6#smYwLY=qF^kbD{(33>ASW~%daGt1?Zogy3Gp?4H_<6+0K){o&7N3K0O6Y zp2XQZ!QUA1lW7Uqf@EJC7G4?pmi7D7V8}Ex_-O&1X6DA8bMSz;K}>TKtT(|fT3sqS z&z`ETG_G0G>n>iZy;5AM@)kb3Lg1mck_8>k=6#zS(72wtCf*v$tYuGrtYB46tJ7gdC<}uV91j)Mhg8N z$AkK;j+Uu7@m0I)hy9&>U2-L)_fMcMFPWybg@iQa2Reyvr%q>l$I*=PS~JE;pjkCk z=9x4pl1DVXTuqG}6gtq&mI91+^_y-EEtETBu5V4phv4ZvXphQzzv4Y=GX65Pnkl?3 z($H$`KPI@6q1U_RPAZXiT5|ry0=3jYKytt1CKhw6PLKS#4ojA=NiJ6y!FK$)Jdnb? z7tq~r26AvC6QV#^Xp$Wf@zSB*QJn4n&~Ip3dC2D5?=L^u0n(myt@UW^7k2hHXjHET z3uQ@;tc4{JM$EB@r;%B$@jhlt6Yy#XbSCCKEz~B;IPj_8@yzd!l_sA3;rBsf<{~6x z>F^oZT!Wbl7H$iwB1{>6Usxb}a)2m6t4EkS)7aat2gwXm)HhUs3Dx8fNbI)(I*rm9mYSl69(bUGDvY zFkRUP9#lqD)%t{vOIi;JnhrI*L}O*IvrOBa9AP&^O`1e`Kb*f5yfj{?cc(LarN1QF z6kkQ+gIkE(Mm?{hK5?tMV&U#0g0N6eXUKMKA=uFVEGFqDA>okn@}tAZ%l9H%?wX?J z!O!6bKK8WZ8sP+N*uULA#ji*>t2oJ?VYF~kv(vNbs0%`R3w3^MKGx#m?4JPzB+SOD zTXB9Ww*uLmPaee6SXoTPrwW1i6>kC?UtSNJ?T#sI4Y4fj4~kgQrIU#X@oFWlNOuZM zYt!pKD|+_MTro2b$-TEDoR4T!L$@hIrS^Qk-5K#C3+Mm6l7w*=@=dzut3< ztB9Z7C$L!ZcVXQMiyp4a^?SZ9(P$=C?o5FS zKp#ldX?Ag;++hr#bHxt2jz1r_WGsmbKPx}y^8uF(lxwA>(E2?`K=0`K{C*fu;sA>y z>j&W>@JC2?yrymXeDNq?F+i6xz+r3Our-S^T__umkrtx*x{bKLILlDsfDzAfSKoGjgwt$;uww zI8{=SY;GLLzbCp;Cx`E~g=d}Z5gyCUk`eiHtqH9aup>Xds3|m$+j6imXYuoe_-@X4 zA?r(Hdy!~CUt5erJKzLg(EK7XoRcZcK`(iYSz`-Oq?c&|{1^dWyD5 znR@I@H<&=1@3sM9!C|!VR+5WHY2ShmkNERo!|8HOTMfbLWMTil*!HWzO_820gP9ip z>zvk?@W>|=^Vnl~kj=ffs@SX8_kd<+@B3%W_-3;WZkti^zxw(-6rcP(KY#6) z@&{boHlJ<%YnbsbBnwOEJgw&r5hcvB6v?VEuofz-DB=2DnzJ)&<16!XGSm2CFOt+v z>)PPlZryc@t~a(6X^#L73PawB43h=Z#s;Q?V(~3})=1HE0z>a+eCH};t4*t=GNvRHY`a#d@4N!9lO)1b$ z6*SKJZp|Any*uhpUHTmQ;WKB|w6XSE?db4om$rI1%%KU(;!(wJE-bbH4mVBOBzoLr zu%e4;R~zB7^%2Th6633^eiEM)u=OFwOoF|Jkka19e@#Wc{veDFYHx6*>Brsuyw8|G zEaAkKM<(x7O}+Tt`cq;daxjE>7s)#GcPPnWa=dG`TPpVbgPrO=kqnyIp0n>9QLUbFw(?SQ058J!0Rf99UYVKpByL2r%8qsC~XIV~L6k%sEp2?yZ(f_M}~J^u1p&24T!Bh-jK9RoiPK>D{si zZ}+kna$Q%taPASoX75gzkVkar))U)6aVY^QsV=c_L+_eY+wX=vC4nQ~hl{ z{U9K(?>y9fdE68f%wMXW^x1qc@c0mejkbKdYr6cfUAkX=()(4sp3%C7qoP;d#OJ1K z?kb*YB#Q0dk$MB1AfwN&LQOT6l6cXSTxdFPn5t$aAxo%{KPGp_$; zLj!?#S77r;Z;WfN29W^>1>^bDbiF9qq)Ggw)ZP2D(v@Q+6kbseT&Mug^1S-K8%@(~ z;&y{{lUqh4_9c~t0`2)n>@C<2rp)1KWP?9eo4C70ac2boV`!YDVKie{tV`@i&(IfC zN4D+trbejO0uR1Dko!814kypYst-dN0}DvBgWfgTD+iz8kCu*fER<09z1B}3)k|>a_QUe?L1-} zl2f&pI7*1yLpej%F!go0i3pI|=aW_9KhAG@=^v1HVY8Pbx3X1~;)Q=H_&NEzwjRH{ zfhr9aLKo?K86&>ODmz^;O?juR#kJ9!`wbh9^uRc9MXL;B6?xO6a}QXz3?63!r# z=Tl=g;(bV4i^&P-1;uCi8ELXNZB;^K=(_K4&j!X!1a91zW#8-u-%T-U{TuYmahq^e z0zBZ;eK-fw@PGKZFjpI6w;|#wpy#&khkx+kg7Tp|6r}DAThUB=*p!x!Zc_`_CC~mt zIF4E?(>%ErSuG=kw;co1yf|ZqZ*-DP(jbMuA-FM%;P&)~p@{e@aDV*buEef_uvGmB zG0z36JVidNn2l2NsA-acIl1Z+a#q5^t>(517w7er;zKivnA>w_BZU%-7VbG4GK;B} zwAEnyvx#xA#_I{42BIwr|AvJd(k_zdS+>gN+B|kVcy#h2SRV_?ve9|X)NW4ZfsvQj zn!ITu**rTq#&%RSw74G0?c7(2Gb!g9*iOeC#bqs)*|a!yvJg49;s|L)>;ZyUV_`ZR zCiDViQ&Cwr-SNjuQ96tQHuHXllTxH#Gp>_c%#m8jaO|r#yOmH5B?xYVZUTX@ZK?0%b ztYof;mV4im<|owOBK2upv=^mz%b2t;M_$ajNe{!;fdt!xmz-S?2xximwoc zoxs|}2$q9}wDm<}(e)uJL~#X*6IoyYOQw*1$Sq>WW`+u#jnb9eSmgQVlmLR~I#KG^-+G(#8?R@(XS z(+3=n7(N*jL>@2a!Z3es9%)tr4pU-sNN;>D<<50i8q;ywJk)UV*Az(;NPy6K-ZMb* zm7~FBNSijdist59Y_GV)66O zEy3vZT39oz|Dw|<4+o{vd$daa(j_%q(|Xt2^pVx<7*G7`YO;wn*d~!Gj&Zk^#(Gb% zMreUS`&!Ot;-X#A3BirK2`spz>rVjZ3ec%I(W~`p8 zYSw&y&#YQZrS0$N8A_UrBPQnuDnEu)U@-Ug?WO=xW^EAs?+uj1IkT){>DfhEAwSOw zeEx!GzIO@I6=>0;=3@3j1&Q=A&Z^(UUthkr@iG$IEHRZe5|WPf@oB_r8Z1(7BvgS@ z&uF{$uW+*j!6IbIokVEXWsErenDLF5vC79S-3Va0=DCQinQEC>%VIO{UhL~1(imyur_;W#a5&+ zH_=G%T7m*>*u4LsnmC4;WwLc{{0c^ErF^2>tU|s`Q{7_md;r zUR~#@Zs(`wwY%JAq^aXnZ47YX1G!?Vggj~c`5ipfLxWW#8$hy1A)*K`y0h^%AbHNd zxbgkN&qH(kv^A=qWgjUFtAtwUwU!p+N@YI^a(1^dhv$@zb3|%o5GyX9OJ!_i?S!IM zJ`A(qST;$CmnR6V>i5%r;<9it-Z)L+qQ^QnY??bhp90i_OVz*ISM;ky)Y+F&%`Ibqo2C=2zZWvuiI6rQTWG@R9RB?93HT!Jb^?v{yy1X3YR`kMIu+4(ncFvhWSLHS%YSAC8!WdDl7n$J-50EIh5W&! z99y9#l;FaS=F}rq_tu=jVxJ#&4}vYqW`hxcEHQ;XR&hTWXSGd3)Ejlhirs!f&-%*g zE5mo;zdg@_f<#weso72oM#B-ZXMKdOxr4A0d-jje2>GgXF$)Ba_-vhf*PfCFnS_Ip#949^{euV~#&2PWMWG`A?*n zyV^aL94;e*Yb?^|aWQSRnQKw#YAr@2;?;(k@DNT*kc>XZ7Dzsc{`|5T3L6~l!P|x2nv>pcZUYLmqH`v8TT1zU? za+tc>5qHJOFlQFJ)U>sP&1GG73JDbkA{(znY#+xZ=7NXXXWc*Ncx@%PHp1JEG~6L@c<-u~Dye%@ z>RQl=LsHAw=v5vpR%GA<=kLIjkRwb+w?)i{+7lBD;5Zv-xCU$vihRk`qt7Agjp*7a z5&0DjY?kK1E?bU!TFU`k8)YpJ|2O>gu}@8Z+AEvo(jxcBrT3q8n*VD zEKU=DipUJUFdKu>^M#C$^=B3KsQk0!i^bWJ+Z|QZC=5;)Vx)g4Y0QM9NTRHAe}v)% z_57=0oIebxX1jFqfD$$MY083td^7IZm)`kG5v!mr1^KH==Yqaj>)hCRT$bi@3*izV z@uuuRvFwprVe_s3WqHNsK)h=gQlpRju;Cx@_v06t65Vv%LHRN|-1a=6?di z_4K!ZnPi0afpGI@^+j7e$x&TEjZE6-FkxzrM;4Y1`Kzkab$x|RK|`iNW5)p2>aHT} zD<^942D0)T4~#R=^uD$~OBs*cyj2m~%X#$4ppR5;&%2L2MHbO`s(U`7 zU^i1?v#IKRRE6D4V5<6cFHoAq-}=5HZI{rO@~OoTm~ z_4CsjQ4}`)U|hW?P%Ks0WPpQhPn3{O0w(PyZo9TIHRSH(l?xBa*w2NA1uPt7QHEen zFuw}X9@wi#Ok3~qW2gA^Jw-VEV>Qvv^jnTPM+w`(k88UHg$c(yIM5(vYJ`tW_>wb! zRQo;d$-penq;N*@^hO@Vf!J3D^4EP@3mdGX)PLPVj zZqbB=6i&`XZK6rHV;9lxq@7W4i|baH*%KR(1qdE?CHoDI@duZ$k^yppMf8#XZv(GI0mo*bSGeWIp@Mt@B_Ty$Q5^o zcO=+nAK>M@E+bzVtMm@5q{3ZKdd@i=h5#=;0QJt7X?G5~JNtsD&D4|hOPeT9F?KCL zI}zIf`KQ3Xd|RKTAxV|)#Z>zU5XtwJwdji>7XR!osvDNobvP?dsL)mHNLfx{ckN6U z7TxVf$V$fXb+#&>8YbaDOhr0yt4WzTubhdnb7w+DSnVe7SQmqnCFgy)9(L_NdXC^p zq7MDT+fcsr@Arzg2DLV?ZzHJAmudjSUr|Xr+Dn#IjTr@((FXgWuEw(@meTVfe2Y-o z?6Q2>G=g3ZZyeMLE&(QWW8xqBpjGnZAo@|r#tCY69TAE7<#qsRL{6mb6!c3dYS2e1 z_M9ERz#livRYe6odI@j;2^U>o`9OIg0Lyc>4wUue!nByH5D~g;N}pkWE|uia_OrKq z@1qlz6oa7APL4rOXIFWSLx~%L8gyWMX()sd_y8Y>W*Ks@=i)qCs#cXub)z+hCG;BA zq%c!qvVu#K$hVTAU4cJCm}P^B?@!w~8OyII80+v`%2KE2@XOp8JzdpR*28V*^~D#h zZ?^~^&!z@;laVPUF;bj=*hA}s%j{X{F;PMxufGrLq zRjC{ch-qJE#kgOu^MCh;a4kBd$*=pZe73SDHDo(bJ-!ZP$dZpSCEo=)`)28(pZ0Q( zN1&NziM4idK33l?T#~AL56k0VkCuC~-1#UMh*gz_PnTmJcke&(l(VFs+f7ACwcmGG z**lnsmlW9sWUwL}LQd8^w9#~lKU}zBr1wRYwiFe&?kQ;|OWV?^@vnPilvyO3ESqYk zr%Bu5M$nLye*Dcn-iH)p2TFUZqLSEq(sbjdnRQ{&`XH?t^LP55S?yC=GjDzxe>lC__2-6r^K(NMPxs1n zT~L7rP**hEMsd*kfXJlxf;RJeby*O-`=sx9gE1KU%_d`RRyMCf2^8h$2-e}3s5&_% z)K|O@Ah&QlT4Gzebp3g449SG`w@OI?f#yd|B7?Vw5tiq4$(eDmV0v=iE+3A(b3u6X z29gyPumDH5KLGD-;#ycm!n4WM6T7-}6S2_sM>C7a*gm~+#YWmmK!8p42V5KP=Qo@8 z{;r-^-?RRrvj2nY=gQKxs0-hYWks-krA5+9Rg&hxS2I&#GK)QAUDDA;wpEMaQ<~B6 z>itn^RJ1d7!!+4`C+@6y!xGKDUJbh9;E}C+m%YP}<1lXK@j=@Rkz~?JqZE?y`jk5r z)F$(!1Mdx=wYEFobW&D#tc0KY2r86_16_lxK|Rb{Bar7(M$L~(6$hTbP8!#B z4(8R8(6!xNxNcfvG5>y#CRqJa0>+)2_kxO^SxX{yu>D%5`nrg`BEdO;Bh7qx(?EL# z?r2jz8)ju%NtT30s)ICz!wG)GdwR9Cxq$|q+FYGRfV;#HU`LDYXZ!C#UAb+dXU;`4v+Zj)K?P`((~+hx~cul`k)g8iD6 z^!JMpS%K~3KBKcv%GY7vmcMtn`BknQY*DP~?UGB)6~H4dU0~NV5f6K+(m9T79&AgN z-{3STIelDVOgDImdN%8$;l6NMY_|7j#R3_>JmR`ClstT-^l+XV-qfd-P2Ce5y3No} zcoDn$mZFBudgImRtI6HkYc?!V_SKKoA+*G;>j_S`m+UiczVas0A3VOJUqDBDWGspa zQJHat{Mq#hEH0Pc1;R$epEQBDotT%yT^|Ym6-ZD+X(pM?ixNTSyy!PsKQ4Kj&&gem zDi6hl9yZ*WhBmWwTt*uvcZF;*oWo1`R!C#SS98ynK=jr|FCQ}kLMH!D~ z+~IGQXfUO2(EEX~DeeZ3HCJSCd-+js0lR??*ZOIe|kPkh+13cRrFj?R8Bd_26#V2#U10>TKMG$_%mtmwGiW zdi7%oU#p;Z`k88$*0hoVEu`SJ;U~bJHQn z6D78R-BFn<%I|9;?Yxr|x7%EXlI?qj9nvaEdKLL4bJxZK%Iy}EL4DZpHps;9<$2;O z#o7`#XZgPqW2)Vn;^F|`#}^q*X4q{Pg2e421bBaKk(+IXu}a++!jE zqw8twefk>j*rxP3KspAZ0aeeOVLbi`Eb;kp8%yS-z5mhT`e=G&#{WO zG7ChzV4khGA^7572B+gj8BVO3Y?+abxOJ7$vJXaraZuxze$NwD_+&6t-pgd(DD>J4 zvtNAigcz+`Aj5x(jUJ<_I#piQ?Bi6!L~$E|Lmy1^X5LObJ5>dWR!lk56-EhU!^Zgd zEi={*3HWf`UGO5fv>pClj`?}|kvc(Pwb8)M#d9%504qn{httqCwLQ{!^Q{c@;m)?A zb26#5PLaLeY9&r4#1G1AmN`=WLI!&5NXQ+@d%pY~151QAnUe)%15}4x4obCK({^3m zmET8O#GOdVZVUui7QV<`g?Aaglx$bW&#mI>+*g06Zd2em+?C(Z(ANy(Y&A{i*~#Ef zL6An3SWx!mc|sBWkmy#z29!;vqqR*0nuvUt_)Jgod91%lA@ZAq!R@2sSiVXY$mKD0zpK)YWzzp_UFI1+J|udM^nFH( zJfz6p8_K%raTO66VcWqlgtnD!SQmQDHvVFUaYy6Kd;Qvck+6wckuw(W8hoLwQzE|L z3TsW#bB{I>!HvYp4@`x=-om!-Po?T}0TacOh&t3+15bd->>COr$#6i*jG2y65i#uc0y|S2)T)I$$0xl26%T2DYhI~YoGgk*H`K~@83h#i%;hx z-Z8kJVmfu$a`QC$r~xqoaI@kN=A~PCnwZ<7=Epc~fz^cS;6zj-F9ObZl{+<)ec^|z zXZ+fA!7~it;Xk2Ozs_jBH3@3$C3MOQ+m2W_Z!wkAz__(osrSy@|BsyfwnN=sYYmz|PU(~P zy5|A-?PH`jx|C13_@WP|6&?@6|=Q)hoKh zrXSf9t=SO6;Cj8_d;S7EwAb7m{cDpVHml)&PZ+covQ9w@Gj_mS&s!16*xm6-K_JiP zeFhF;xJ1+i>^3ja?9FRTJ}XYhqKo?FeiY^ZP9>Z7XcTHu)m+vuZrh4CuWz<8twwkI zxIAlRMY%ks;pFL|#n5Iq*@dKx@rKPg?uZb5BkhAPniFWqhur=?AysN#;@QR>?b_X4 z?WxAu3vd&6XOwINFAbsFs)z{7A8W6I?N1*fD)Eq&I1uoU%(uNY@D^A%&hrWB5l1HC z?b}s1BV7fGa!uq(hnA*EBg}3&Z+#^m$R!`XWYoS zrvwkW6hC-`Mn!b2X15EUJVGjN;Xs|5x*T__$yunwt3*u-)vC;~kX-0IU+lMoaRdCW zKhcT{&A)jcxzxEIqxt8clO*;6Hv7rQ*GV*coq6f+x-!zZ`c+^FPV`7kRxE%VXMq`* z9s2$WCyVoJ`Isu>n6%f%Qj(>F8Amtg^Es@XMuUL((EILKhytx8t=wzckV2!qk|@5C&={4UCS zB5?TWg&3po`!NGqf0&IOaf`9K{QYuy-Mg3#qM6hHak~)AF*TOf81x`pNv_q~{mWaj z8yRyAwd>LugC3k!w!sF%W~+Ip4IX{|-~4U?;)oDehzksgD9M>G+m-aHZ#yPUFgNC+ zE7%u0L?+*w1jJW}J9t+?TzBs(e$`YUzl>R}a@5sz@9$1c|J|JOe|uecg^|QFN1m&x z=_L?4N@D-(|GZ*_-ONDrkY(vL>Bx-P@Kx*4`A+2#jLFZE3LfF&*1|5!e{W#L243q~ z0VSobX;aG#9~o0>SKdIB2@wO?~pc5APcm=RY+>dvMR=udR^Y~~o$apg zhl^bH18lrFC(sD!oW+xGXp?NPQ(b?hp9Zyk<9M@)ARF8ri;xifr7@!V!^q4jc8H#h zDpzf=dWvxD^Dme;J@905m5JIGSo)8iAe~fDD2W9)xFN^@VD!~w4TtPvLq5|NpuE#| zUgMX}*CKNfJo=VJ&IzcTsAt9=N84MIyrd4igT-epukrY8u+!X+2HRAqgbdXEv;wYT zZ8bHw$?~Ezos*j~Z@_`rWt3mMMYZmnpaLt;ugEduJo7S?c4ULDLe5^S{` z)@ip<>|#KIJilAXIhwvDhwqwcYnW91wdIsHel09%xz>@@9s3PJ5do-6&?@=p*=Vsk z%Jx0pH61y`gfzJQm0srh&{V|0W?DdTwe#)jyob<{`mMCs%(dQ8Y_Q(j6?yGXQhv-6 zn-!$;Gb?%K2xT){JJ5?mK2_RzeYHYBdI0%*#mK-GHa6=R$%d%6jH();2MvCR*g z3ozT5Biq8g-l3UzVj%sidiJYJ)IOBQleSzJvp$)w&`M6r&5y0x1LDoCMS;x1(@|>c zidiW{=pEP50ZK$8RAs<{vi25VorcZ*&$& zUvXx}f7q0RI>C)5yE>hjKfYPUqn=S8US?)xmPLZPcjFdAg%@0W>_j^b7+JiI1W33u;Q{7aOAFpZ!vfsWN0u&wGp~SU_3)m;uAa7hd@4-XEkss9FX&TV< zNo~z$@9sh!ol~4Z`E^aiZm}d|#`^_+GX<>W^OdPlKthb4jDt&t5Lj59GZ%$AxwMs| zg#gj{DJAEemA~as%d_3US>}nb^SW4jbjo@RKqgA25oM_?0wq63tk`Lbu`H`#%sVA? zzr|DJHg_`DWSd{ zOw6t>EzBv?-gz1-c<#_*k3j|88EW=+OWoUd6GpRB%);L1u_p_^qEV0_-`w5&;B-rs zFIFDi2{AjSviamYSPDzB(oqI$&2)hu#eek(_cO0x6XHL3OYi4#qx8P|Hg-+lsF91J z@Ph9%Y{7CsUmQ@h(j|`DO6+)63dxzmBwY1@ASP{pj75nMM6aLxpaHD z#c2IE3Zjnkls)7Q$48d{O97^PraW)reU_tKS*oJdc$AfS{+5%&s+xO@eJs_U9JlEU zxYE(mR?^scll7FJu$_HdYE$R61ZbmnJrgk^a%HRlKQ>TMxYoICE;UBG*QSv>0w{_b z_GOHn>$SMcWsW0%=UtBLm)Np1#H4i-M{HhL>a>=MH3(tZ{$dW+_PFtNS)|R6Bo~<|f{eS<^?SG6=k%1N z><`p0&3nI&?Hc69M8+BiI`$Gp3KL3{b8^tyUD$GQ5k(tXuOmz-%?&10dyVsNYv7ATI_aLuPmPxs%be-#JZe*T z+JlXO4ILiZOI*04I;AxvsE7z{-xWWiJff)sw@16)U`S7?MroENrFh(XRZR}2sP{c0 znt}SRr4KC1mC5!6bK=NLlhiZHG$inmf;g*ltNh%JjC!q$G-UwhG*Zh)?O4;vgYbj8 zh_32xp+1ksmydIy=%%5q?VRt4dSIdO^6)+%_}@TS=99e z4l=j+j7F54>hiJ`s`Jv zk+kE*vGADqjE(+ch4GiM!7T-=_b3C&RDobZ$|y6#P9-U?SEA=8*NB5Ta$^ z+s`?Er9JGid221xs#*B;e49E7+Q}g$I-_lgcrhe(UK>%zLtCMe`3kJC$mW(J(9+1C zGar`7lmA@p<+@2;w{yd*y}QHb&+Y7Z{O(Nwr<;eb5e>}*n%Zqj2oD$Y+%T3me>hd^ zGcsgC{^zTMFP}e1dMaqc9Jpk$KnsvZT#oB0;%EaNAnVL4Vl=v}kkGbvs0-J^vcJkV zfH=iXd2#nbDNcQ4e&Tkt-!DA!KhsK8xYq*~l z$$zLv;oQ z>?ux1yU%f&{z<`|EC{&e|LQ+=zI=S%jZ;@wC=5*QbgRSLc&2TCwHU1Jx?%TwUVl=I zeuwf`hxbrmRdjH_-gvY70!Ygl$eL9{XZP>b6@Br3mDj2!$lew+2IOp3yJoKTyr(IU z7tRVP6d+*T(Fx1)Q?GIQX1`@~@tLH41tgK&vxj2bw4q|4{b|aZO`bccDtM1rhLe3o z?eb!+@}0hKj@v+NBs6P(eKGUle5_oJPbG^pc_1vt2i!#GOC7#k zFSKX4lKVxF>Q-4U{#zS@&zhz4zd4C#{qNz zTtvctyO^P;83UM6tkhR(U)87S&dTO2Ma@2c1Jwkblyjh~y&|yz;|Wi0(IhszfA#Ry zqvCaAcuh^WII#<{ZjF%X>+4Iqj&C1G$$p?6CyVG7=n=rIIHkP0tx27N%^qNoJ#%W4 z#_j{}71wk%`pl&NLl72Hmakzn#6F*ZejiC|z0M1AIs@wN$e{Z$`h(2c&e3&C3^kFR zu+j%z-ra9|{{RX%3Fh4%_#O=X(Qez=1@o`ean>3+PZ%C|qsQjofA|Q}QU2D9e=x|7 zIcOv0`S1cQXf`uyV14g~wE3i!%1f|a??Jg13`wg?0~Z#<{qeqNEr_1Sk!dUYIzIV7 zp2=a*Tb?ClilB6koj3f@WpRz>N~5h4`dUOUCh6LsB1rNx8r6g4$_%$;2EShH;$YGjPNKDxlhgFMrTtts__^UCAu`B;c;DFu zHk!J0vzc(y7W>b5qHh*6*0f0&<^weA3v0mKM=3f_HtIPcuVaaen3%LY_y1YpTgB$L zIRms&t`N<%()ddQR;{W#((yWdfU0O2v+Sbwpt9NzXM*wmWcD}S2}VxreN%9Z_*+>2 zjxFTE|G^g3zFCogYTL=$pE}kG%jQ_hF3AHeXUdU3QgUQ)p`yyu%LaHQCRm4;)m_d!?@xC3X}7Ec@2$>fkIT9VHL4h1^*Po)6#n7;>~p>O zgWM(phbq~~gd-5HVYSqhSACo9Nh=)>X-q4hb)HVe4v85w!9b@%hB^rrUD@-!1R5qwP?x&n+g3R#y$IBld!$(?| z$TOn-;H#_|E_h>c6=39jn7Ug@5C>C zsWKur-&wYh|Df6)-6O~i1?h90Ks$I;hZ5^_Dz3Kod`AEy5-&1g!!OjPfgPlvO!?06 zlcK(08S?C^v8L&|#zzsUbfO2|=X$>WpP zSHq-tL4eEVhC^L?>JB7^UGPK*U%i{UWk&_aTgn)~?Z%zwC=q=7@^p8H z80QVtt4?4O=J~(HL;vM-_DA76Eaz&#&IbzU5zhC!4GBXS3x4TZtXwB#W%}9A3tCB} zw_0}GZKhE-tv}eO7X0L!yaHziGDo4Opbb5;4V0x7)6P9Nn@wTQ-$qqbVfED(tKK!M zndWV;wUZT&`}Z+tgn*p6EBfW?g92-{WDpbj&yPoE<9eE$sKd4qR_4{xU)8XP4$K0v z3A_#`$If!bxT9*(3wZ2+P~Btp&A9&_|U;G)f(@uiDeoBy98uDar3!Q zOH#hpNz{=QdB->GFg^hydk7ZgP*!s;b|F40skE?Vs?K~8$+p;^I+x2GjSvC!p+uel zXb`}*=9(Omj8H|cvHRe*e-r-=h*VXDjueU8ILm@ZHw0NJKI*_diCr_;9+_q0KdrnV+xUNooAtcUfdD^uxrN$GDw_wPfRXPU9hPht&TWVx6m=F;t~v64x+m%}9$+ zwd#_|G*Oa)`j)`#Ke^6o-kwLS|G3iNz0*n9vu1jj?UF2_4uSv1fY!wsDb1+oLLvm3 zTqHr+q8}p^&Hv0z6nBis#Z?8Z{ZM}p?4zGY)`r^2tvjZP<{Q`{J{RvV=RUg*Wy8|%)}uPs8unEaTD2!&?Tp$G{w8M>BwDhe0q!W+9A&od(3aWv; z)=rr5Xm`c|^0TvY`qUbaZsDUHva4sHy+MQ<8(qQpIxPJ~y?@B?;8~dccHt3K6wib4 zd|$$1HEfK;wSEQ8YyF(34~ZLP^^^_0!KLQNmIjE>f%foqrA*#;rL6l!@L$k{ zCF{{Q&nK{+-kIO;OSSsV(0J_&ENz4}RFWob2*t$`EQwFoi(heJQ_ZmXZq zq!A1jIl!Gl(;9mGAxhi$HN3h@!@~{O^L|X{Jh|RMgO%aqQh<86F@jga&HJt!e)*1< z{(s{!-Pq}?yc0zqmE~&}pF3yp%^vTM##0bzNrV2A(|&(`!^1Z42hJ|kOHZwEIG03o z@J%O&Kk-rh7WV@jpBOzR4W1Hg$u=Q8@83mJh_TXeSMh0SR=H$*fJfMKx$IGaz-z&U z@F=MVMHky^W6+N0wq4+VLNOyPxX=nv{M)V?${F6+aEmPH@z#d#B1Kt|)JL#vkfl{P8C!*+v`v9aVbzdM7X zfjT>y;sSs915$CWTHaE@iQn*$kWMv@&bcsW>AZ}sUOp9`siJ9?qR)C~=c-9FsoZ{3bSH}u`9*_q{{z6>{RJ@S0<%yJpz1-|uF z?6^UuK}UMrD!cGv9))B2WM4C+ovfRl>y;EbR{gNtU?|M8^`a2(pFX9K#OWDZ#Yspm z-T@u$SEE7ork?%$5HQI`%AQomCm(J0ZSE2J|6=eXSU+s^7AQ=Qx8c6_(g@vGRg>{q zvm{3rg5v30wGgxOaY(%TE9Wb5aB>eqg!;M}k>-9}vx%nf3F9?&_i~;^ znwh1CSKb)WCNR=)mzuRZM1 zo=ebLIShJ;-W=89$M}u163laJn;C~eeD4yk{<_d=pN^fD#Gkz2QTGU2`ManvlX4q$ z3)Z8(_`Kr$!gshs(SU4@_{64e7589l^;gwu7Kx4BV26jY=!R2D6Y=bys(5O^z0!q; z*S?FesQ7d{X7pf-;&KwhB=E;-%m=$0WIW%+9XmV(7P}64vvz}C=;runW599A{P@{e zSqYOk$c3R!mdkLE4{xqxKF%bAfU~&AZwib4f?sZFE)-vNuGzXy)-!dXJ;DerN6w0F z`8A*Mf&%I-b4KX;8!IRA!y#`b-yKsTWq6JcbU3PXycOEFXsK||8MN+hQ=2i%osN#7 z-M|Xqqq6tie0fVJTCrC<>|jeo&%Y2#+NSzqYY{S#fE$Jhi7zdK29XGnGGPq|k~vq%p$a>a371)CW$1;V_9 zrEHg%DB}&1=oJ#L;lJB~UA8SjhyG}x83 z^+)eZ?qjJgHfn;UHKLSVZ}TR;%Cw}pvM7dKh+^uqwWo)d)Mmcf#q0BZrh`KLqMt=D zC}AUA>cG|ISq@hAIY`lt?1sG7`yD3+k{D|H-ZeqG+V+KH8|99{PHu#?lW~4NIQsGD z{BL*Dw=q2Ge6L{EV<$;?Ig5wMmUo11V-(`V1iIz>k=aohlt?d+WCKgWUz&4jQ#$Iu z>;jpk40M)$^~o5DT_z}02f|FD>!9v8*`$4xqA8QUf}W(vS7_*>_#Aiaim^d4u!D|v zd2*B<^Mj<-MjmqRI^cnAT@sBCcV@h?30K&eIyW2L!LpXvdt3GC8G%6ifY33(n z;c;7W>#;U2vFlOCRI7C+cG}|YBC4-*v*qrESHH#71z&$9FS1Bk?hpuoLL*xQ{U|~TNL1}w+vFm^Bk%F9f{8W#0uTI z=5v4#jL(U&RMh%O=hJblZ2k#9)OQoSIP+346XcKQkM7>`Y61J&!mH ze{jq*vn_a#^EQv4wQufTx<&PlzWe0*lckQi&%@150Guu)@zf*(+Irqo)LQ{_KV_cG zRFR2aAUi1eC+{t|=Z)eI>-pUDCk_Pg2vR}M@T*gIGBN^K{_8lnu;#>Y*?*h#xtwz= zX$R{`lJE84AhF;}h1aqDSWjNG9kUP z!&EkkRriv#KLwmGEYPQ4V1Mgpdh$j{Qug+*4Tlleh~U0(N^^A_bJXgD1#&{}1bvwd z$3AMYRQvl;kIRRFw+Yt>q`~N=IwVBInaDx#dUC|$VM?zL^ z7;-2OI4BoK6bF_QBb--Dt5q)o;Jo~Z&9@B*!4^c=XF4e2>8(@EnLoUM1ZGKSR246-b19oR*bJipgZ{YUBxs^`R)1;a_qkb~S1XM$c3v zRYYyTO850W`GMSfIwga1vDa)dj6W?<;bMbL;o9aHK)^q4u4x(rJRHS5fsAD~6&$q9s+(2F9!C%3!5VeS z;PSQ1CbtJ#&3w8%3JzE$p8gY|&ZFZZ?0jJQD2~awqhf9F$@NhQ%QlvG2swOowC4PM z8_93*Mno@Gw0%n+E!#(~X=86icP+=7saruKJxP>&)VuXy^Pu4i^g%PVrYOp^30u?o zp3WTx{*It@ICM!1PidV&z5R{S6eh#Wy|qC@b}L7bG~{}`03jgvr)@09opLhn0A?HS ziYSw9b=Z*I?u>qm$A&BZV_?}0?Tq_yuvR->n(no(MINJ!X(R;%fDcC6lJ)mG!uRJo zrA}PcwV2?S6gk^L$Q%yBw9y@a=8{?Mo(Bqjk_=CU&Gq3jkQZTw!)P(Tpqo|_W!G{h znz{6^wXW6*+!ltmKIC?RJeC!?5isa)zok9aMHf1{q{lZ!mb@NUm-1W9!wwN@Z7q%i zc%bj*WE!Lx_(9;{6+4Npv~sC(SSE@6+q z*=Rzi^j6snw@dycw~I@S`QjCsiTPkLpHM%hy;90I4r8*K*swd;qBSj!&>r1XWXbWV zxnq3DB9UtleoZqoEuk7WEf?$CW4rd(PlEetJD<{~CLR{{W8N1q#?R0-ned2lnI;V3 zKRd8EkLDyO7Z`67&tL{mj?PUOJ?JI$`p&rmTk?e8_%Fn3YX*fdw`e#>Z6=r|cJYyKO&qbmM@pkmGO z@(1^OgEp~W(%oTsS5s5R&%0!8Pg__g1JJ6Wrk@%w?+ZU*YxZFKs@R_kX5D;Mi5k0T zJ8!b>#Q3r&iv?oSZB~4p7D=%!eI-O@@KF1rJg7_z~23J7q)h)Rz|GL=XU3A4`7T##| z6yxKy=E(>K=S%#nfkHol!}G0P%jVVMToQ~Kj~u|g8(521LUgo)eSg9eQ675!fjCCW z*Ff#%qAk6PbS$J|$}h|Lsilkd(FW3zk>}72TE7*Dlh2q$ zI-|FjjYG@njPQZ>x`MU z9`2sDfo`g}0i?ja1iDvi&At{$TOkiOlDgD0(J=fcKb&8;a<**r-BU;p_p;CimNzX! z0-YA&0}=>pM|7L5(nHbJi3jiqYdEysL@ki7;-7JIF!s)s`G0pe; zBeLl@JeS6UJdC2!Nll+i?Vr+}ev=xS9`jnzynehG<+ zf0S`{wM5`bnk1r|fHcIIEx8vNG1cL|R>{>R&YDdY%*&%QBm8@a3;_l_(msK2;YaN7 z)N!q&qYQ`GTD|*H>YH__?DbCi!)=zs(!+!iBb$>8<{KOMV+noM%TdJHT0G^;MR1QoJJCCLdmoaVZ8R*nO4y%x zKiH~U4PBOp`3#fkX-M7vnu&;Or#ZLnPgAHgoaKP|brI@wOeXeAN)l9mvdgFso0qkN zpp!cNgkBAK70-!`o|oP0Qj)Q*Ujs|kj(uZ)UnI-`ZeQAKss_MzQtH}HT-!M zzrkRCzE}iB-qp?m%%ZicmO1T5h45lRC3v+$eoa*TtQKKSC?t7q_s1Dv2Qb)ZgXRMyFP zq(+J6%)VRsB?TwSnwVVOO?C!tjA@_waLFp=~qAaG)(vj&0hvz6=}{3VdM7xDnNqaGD_ntCxb8nR&Ig>^t3d^&-$# z?e=s|)WMc5Wo|?TznDXbn>8D$FeSR_n^w}W`mUvdBfhxJw;D&Y5H-4BT-z@*f7d-6 z<~x;{7I@&7)I{-cKuE$>=k{-5Uw+5qPVvA}C$Da_G{x*g$*DWq%sHH8Sjg}owe`3c zY7Csei3SfgPtM6WgI;Z}fGTTH!_ zEy>YQJQ-cz7GAtg@B&p~S)8;uM`5Tpbc{N_8=y8B$DY*vW6RI9mLPc!nd#c)%ZdPs zWrHRcESMpvk&!&H4{qWV7ft+o=2OukFxVEwMb>o1nPe!*Bm3F#87y zkf&ZgM730jmi%d*5E8y0ZFA#rUgWjX{gqdNIIV|md5|SYzSiJ zNNa2eR|?u?*+g|~0IXA!x8EY#%(13-_Bh>Z830}|u<=lD7IVD9v2ou_@AdryunNy# zNKXdSz6gg4)sr!$^6X@nldJPe%aZ+b=O71bpMmow{0CClU3w)C;>q^chn=CWwuCXZ zH%>#qh^dOY;|#TPc1?=W=;8i>CQ+NIkKh8&UZ*rLH!Tf{6IjGVM>_((Lt_QhV^?>N z!K;qe<`&^JFF}JVpTucWe6ls2eIziy$C8!Q!HVD%l(@Q~wbc|ayz~bi;{`e~ts2;K zOY(!5knXb&!HYZtD+%|TQ^+7oMR%~r{VxN->K%nUb<>Wi8atx{|84G!Pek`~rAzne z{NG=${Xf>ti~~!Y(Mu2>=a-*-6|d`V)@oXFzeUKHHeSu$2uDxfCqPwPZVz`1JAxmj zw9>)x)V{$OpfLdK_j)P)155&W(mua_ze;o0faSA5>Y9djsGzbI7g{eFq!iMZIivIu@ubbG z*S-nqZc={z)VbGP-dR;7o&f@4Bk|&h93aJQv@Od{arp`VCU-@tbwaOx1VDMjD0?U@ zf|??v)zRCmMj0WN9@H2Xy5D9?%}36=Jd0MAqg+FZoa1H9pw}K@;@jGhfHQ?+FJsdB4LpfBuJD^h$rY@)Q4L4 ze@A_?|DZlngUy+qVA7Mtk=>Ab`7BQ^SaHzi3Li`)$w<0@7v%&r6pG6oXwaM)yL2zD z%E@AvXCbccaa8XnDj&KnqvbI{{BATQkGWGblJtH%kl*HCU%tfxRowwjJa8x>dC>yc zo6BrWF3Nr+M6i1D)*(ksv<0yhcY--X)b*aLYt%~tC$`6A4mFG^ab_s%n7#Bj>JkiT zGO}VB2!s!lbIK$?QOb7jX64YXI*K|!U)cC(*Jc~H$y57BwG6K_sJwsB%)H8P-mb*c zHCT=a%BqV2qBGpVaDLzG$wy9UOR*ZVHAmQQ7xx*BGAUrY>I@^1*;t5NdGd4d;3G_w zmmekmj_W@=`dEu#+weWx*lf1`YWFhNi$ifi_4TQ)7xlXeOD>&4qTDM{?3v4|%I4xR zd~gJ$NwDR8d_NAt7TRKd7dh+(x^v6Uiq_y1#K4;SV%SWF5~_&eWD);VU;l~_^)@yr z-%%Vd2BY+DG|-f{vC_%v^oN|=U=c-g26&Y3Ka*3~ypQd}#&$kKgSdY72OI<1rhJq3 zDt267gVcfO)yqigDl?x?hM4aRFVz$jREp=;yC2~J)2bg@N2@G|i&s`~5qcHZvwgZb zZLIl_j7S~XTcy^s%fixvO6*LH?h@c+kn>iTjhffy<8rhZK^Xm*c!D4+dgO`#br9>8!Rz3IQMb9`o7SFC@Yq z!ZzHMW1Keh1%*b#5ic1d{ZMcDc)GhcM60;A5!#p5Ul?fWxIAx-I(!Sfh8a2AzSGW#s>X<#1Snjl)uAFn!B?R0FO=v7Tw2xvLd2s~?{yhP3uv$1A;oC6_jj&Fq{Y zd1pLT(4A4D`0I?6|?K25K4Zv-D`F6*#0@> z3TCMZ5+~8SBj88{k86w0`pa2JaoM;+2C+2mgJj$Z&A`zb+lrLE)?NAqZf!iYVhJbo z2pQTRNp7;7ZjwNgv`m6y70;%~g5tjjlODV~CNS`ZS3TZa{;U>k?UWXA&(Y$-?0Lku z!bV`Ezt%`b4+p5+wl}4G2yH)7oZ&`BH#6S&noi_>2&4L#X))7{mhSsr@;j5#c@-6mWpsG$AYH6&j>3<RE8ZWnPW7U{{PHz+E$x~6j` zK$&Id7Cyc&-0KlwNe`1CLNJ(vFxvb`5y!%6m!o7=4-=P~DgLM9gH=Fr9hHT7iQ_DR z9clS+8lR_t96<2k@R8>j=xLe*UVam{cI&?)jfPY~qPVR_{VeavMz&gaiP^5_j?7=;jS^Y7a3PSHP61=|KMJ^bNs65>qZtu}uT}Wb0gg44;SZ_g}o7b7-gfdA<(3}1hMG{so z!7=zSNZX&L&rlJPI(7ubi8|fNOM$OnjZjiBvC@-{nIgxeecUHVKLxuIa|a18x}#+y zyc5us9h&lKF8XA!us*tZ?L5MX%jWMnvsP5g^n{m0A0EoEv@7*9RFQ)KGl7jw)z_4_ zPH+STBP7n0^AD}X&0FARvu4DDbo?)9Xa2i$#IJ=np~b~C?;Nduzl(Thw7{jEh!6%$ zBjzvu<&LYmp0{(hVB`88ks4^WPz|TIsC4hUXdC%n*^i^c@d(5S-wDqD_P(EF3 zRx+^ykY?to%t0G996t~1)?J6&Xur=xaY^aBt%W2kpZ}C^&|*$@;I{X@tTzG|6rmHV zQ03Y(G#DU^?x>yz&Wf=6P%H{jHFmA&R`K)&?|%b+O41Ns88^z+kDM4yfU%D9RpA&% zT72?}PUZA>c!QWJOe*)03574eobs|2prw;#uRuv=oW|NR=l&aUtgXUyG}_LtV$U=x3)lLIbO99~ z{|uFpl1HmMT^`|Jo_4w1)4{==ryU~T%?8>@59E^#x(-UX?6-`COH&71*O|<|QsEq1 zi6YI|kU)-;>c~D&=kZk);64PNEapU1F&}Rn!ZDcYbd6G{<*jXd-EuL6!-c0$S#;k= zm48XM(cR^pEBgU=H8ST3Ytc7tk@Vj(-*J@Qx}afCJyDC?a0(wCsh4tN^w%r2GkiBc z30v_O-YQF)kISyQyyHyZm(ezv=tOX`t z{XdS&0pPUe?v?Gh#XWXvdDOlg3+6vG#$UAb#;ao$s3G}{)*rTyhex;4F%z@m_@K(y?#8hA&0+}FJ zyMxv0qpJ_pk3ku{n9ZPVeA;-qN@8wy6jo^4=#D1 zEBOPm0KLBmEg%E8Ayw~L?K}bNtnk~faP6>V>D_C>LyRygL0*QA%=wv4KU#|ybW!W% zSzgN-VA+d_e{ZhHsFNDU3AZg3FIY)*)GHAMxNzwwBxq7HMzvsKyLNjkWNe-$)7~2$ zonXdWoW1J;we*U6=3)A z<9)5>o6f*w#;josl~_RyleSj3Y(Y9!_In{_9#yjq-B(cFL@$gy-1>SIh{7hn9H~#l z{!X^K6FT(NWejW*MTRVrJDZP`a-W--pT1`gb4NvI(^MQHH(wU!ue}BMkj<|IJ2Bbs zy--ti(_T5oVDGFi{r)F`e^_tRe_7fIK>Q9w)Ma%0pPs+;-b1q1Ul+vBQ=||o+49{I zYJ5{)Z2qb5r}Tb*|NcrudiwtJGoh&3K^t4k#7}P*r6EN!ja02O4I?!28%w|NCG^4iS?wH{myZxdWc6?zE{h5ZBfLt zoTpDsTjVq(C_gOol)eh{uI2f|=VknY%!Z}%1XD#ixAUWz`iIY-j@N0}Edn&$MsQ^j z-4B-wEY9BpMKx!zsI8pALmJ`8|6&g47Kh{d_cK>uAK|+0iKeBg7r%ippzBgdiXm)O zIdX-z-Wyh0kF;@pAhxS_6%VQW=IU?1kp1_hJgFR<28{6hva#@`qNw;5IVb;}p^h{< zrvm~A=GLoR5r&rL9G0lUKC{W_>MhawS4G_T=cJ@9oj>QkwBv_S zS)IlW&ov^jT2t;rtOTHq4j{Yy@X(c-c#Ky66%F2IWLw>EFFneK=~nBX!+);_t*-cI z`h%6>g}RMbyw--$sIqDC(!Y29Pny~q9=fohx=)$>zUYXfZHMz10@58pyrlhSv zMfuQbf@sU63~J*)&gSm`sXqpA`d*{8L>+pVgtJbtoi+Qae`H%)ffuiPz*~X;VXoXJ zUlFyux;8?rTuWOmUJ5`{!Gwy8FN_;zMTLhi&vGM=w|ANtc4x9&E3M#zM<<)+E>rMB z;{w@FxsF&PR_s6pMSZ$nMs`jES$AZB#Zm0kERLbdz!AE@WXtbAI81^SMp=+i^pX<2 zm@Zp=Q&m%S)Kt51eTIj;T&1tYa5}ZDC|1xfR|dBUrnBz zWr|Z0Q(|=s-LZ`qFzw6~IeY8w5;br;KA)Bo%r5eZUiB3veMwKn`sc;io2>0Uh`omK zoO%vS6p8CR>d|^_9pgrV&sS!l7q}rH-sCnD^=#Z=Q|Y-6cb<3rfBUBrTm~+K+m;DEQv2endk6URXa^bZUUmP3AxCL6&StRmFp0E3o^K` zSLjo!@x*`@s%~^EwS;hD9GKS+&8rrn=J7_FvK-7W_Q_5tLOf@(Rf2(xJXFX z0Xm3=CrEZpMg#>FTu1`an@g|gf~)uBJssKM zRW4MJb#xOs|D1L=J@|R?@r>QZOZ+T5J(KS3IN|vk1_&XmpbnG%U%->v(G+(CTg9iZ z=Wu4hYjyP&Dc8EQo9+3IZJg20IktU*^2=Rz2rZ$*CRzn6YIA_o*YR$N@|dZo!vGw* zr$%zhDx)aroR53DUZwqXl*W|yD(#H3a{hv6HgYX5w-^v&=LPkPuc;@gmwG-+3rp!I zmrwti-FN!$snY->1e)aHc#j4eoN^huhdPo|F1HgFL_ST>GSM>=#*6U!yGm=}rUp%G zF^gyNYUQs8I6?PZn+39YMZ<*gGa}A9Ion<)6-K5Zo%Y^_j#@`s=&%H;*2u9; z0aSh?9uq95qwNs_<6QcC>3HiU;4(^@y!iK!z9}-8;oVD42YlgWLGwp`m{O`6pTmWn zC#Aw+A03cV>&`}Kd#UE4uyOVTB|jDd%npcMO*{5$)~@r!dR?~va^uaS9?t~n`2F_R z!8cB9fx<@GYPV`9plDLv7PQj<^=90(Rk1f#V zr`|ErIcz)e5}4m8o!}u27bb(5@Omxwwwv=~ARSk2Fy;v9i8R=gdwMix8u`w95I&W^ zoqIU>$xG)a8AH99tW;Xa^;Ky|q%8p$jv~W0pP{S#rqxRT0HATuMrPAI9&4t?!14UX zrhQ_+NMUnPpSjXn7$~$CO4_bM9ZJkDYgU=RpK0o~Y-s=zf>pbCIURpz?vEW9ngH{}+W z4d_EXFcJw#3f8o%zHWw|NNxNW;|ySG&`+Q*kA(-W-Mp#ZGL5G`{}MXq-C{iWvBG&% zK~nAE{!|Vivija!WS@BL0ix+SRsSp>WYxl zAcDpRGP8!w>GQ8&gDm)x*54BoiWQ0Da-)&If!(=}A3!u8E6=sXRo@h)T)cUSqzMMF zb&7bx)SXoVC`zR0R_!tU^=A5QbH`ykE5seuF48}! zG*t`3CVc0CnQbNx^7CWnYdN@|1$GxIm}(oYLl~oi@@^&v3Fc(Q~S2ESI* zbK#70x0NwmpX4&%)U%OvsBUArdCm*1UJ^pn%Fbz++MY=GoYbG>bJOhA!6eLp)|O)2 z6GB19-0{-C_M&oJlfAc#=J}B!@JIK#;6@p5mOiy6r(s%ckjG*E4jwIoA$&D z0rVHbFRR~RV`g7^o`K&?Jh$@&(u7Y)Ny9rBRlsfLEwFkBtVucT{9vz?Aq5)ZIp{iG8tbk2wwwuPdEnrfSkPo(`4!Pp(NfP_2TfH z_PHmupnA*MXR>AKJ{nMhe6@KMm=0M4tF-9vW+LsdWn;EkmdjBno($@MZbP?cSevUrfT@n#d4r zxMZ*NNn;%>aX zu(G;cgeNLm4zsPP#E@t~=L5t4bioM$EglI%-hx!KolDom7JE^_S5Ys{=c|oN8xM!X z&eS_=&kil-PvwKhSWL9BDL5WHw+1f9aklqnm~8GGMu}(;3mFsoo@SdHtNog+sJhh7xX~% z9~JuA0Ins3f>yZ9hp(A?FM^*$!W1h zjg1cFXOc=DM1=FTIBh0r}uRdWlHWySSRJh{PVc%GcP8ud$%VEgaV!_oS_P5%IGa#ERUG&C%bE1Lq#G9 zAq&ff*RPrX89h1@wUwS5!YT4E`%iPPln$I4gap>Pal%2h`BQf@Re25O6yo>2FK(i7qYbe&D>(4W1ht7E~G2%L_mB@!HVUJiCn=cY5t zw!c5Fy;y!e)x4(v8?KBKVLj|lxB6xP*w|EON=s7`F~JGJTiq}L6X&*w!Efh~i;9z` z?bO)V+-;!Not@l~6l5o(lq{cI`q?ZX!Eu_>8^lx7^wD`RJGWJ>{?lUxM!{)lELg8H zoz|j9152`@7wLWlm#6WK7-Gj$+-~lvr4)PXY^HY%QEtyfGCO#$JRJ5-_MSeDpn0On zoJB%c!dh#2O@LR5#;@4_ol*Q52mX6pgsG)$?B}XoOaH+zfJY|;==VSSbN@M9Fx-TG zgCBjPR{D$t^Jgc~Ph39hq(r_j&Prwwmt2xxqcnp8pQ$}%J}o^?OA?I9hFaC&`3A>= z5V-i0P7IkSmn&L{ziBj%WlM1Ay{ULtJdc6(92CgUMvz-|{)syLq+|Q|Y%xACUaNbs zQq?MW#FC|PWskk+iooqCxC)_wJ+WY{lvVB0TLOf9n4i`F&O#XRoSRClJ4&ijjT8cq zRA}F_!O7<)VvljZg3)A;@m~=yq~4V?yD6=ylxyr1&B)toYgfGQO5YvCL5eO8mTEq{ zSW9A>^E6pLx(WR3mDAb$)2vE1k0I>5R2A=9aGVfampvt8gQDZEyYb{Bk5~P{LKrTF zX;3uSaXAc<#?WyWG^VXC>k}geCM1~|PSbv&d@FX#Pxr$3V_135eR)8Sca1DaFf8}_ z9OJ3J0%!4Jvas8BZE@y@X^EcUOaFVvbB#vgPrnLUJB{a&cV^14crK`a+(iw90ey%h zyf;L8sR;%RyqYs2CWp*8>z>HuLKZU|d_~k-&95MBadFEuHmtdJf$!jCG&Jwb@sx+)l`% z%GepFT&~w#l!Z%RQY>a7Oqn29t`qYyneiPX#B|9QtHkDGPF2;zD&s3gGRct7Vb+Jc z1x?rDb95ga76z^!mJ`CaYE$)hu0=@Tv>WW&3N10wZly$X*-W5kq!MP_r+Bm+XTX&j zBnI(jlyBa)TsQdB$JV5Pga659<>5g`$?}HZadh*V;|*!Yp-YL24sOMVDaBOV#AxGf zcjMKXBgJIA9&r(ga(_HX4W`;~7Sd_TS?7gG?E<58>=YT`1hOBrzmnia-dIR=n13-;$ER1bk@K`nk_{f)2f*s77Xvt&J@X z$+zB;RT2AIe@pjqPTEmbuT0Kyk)vN<8rSCD!1~qZ%cVM&o>hQtPCgKcwhdeGh;(1O z-9l&(Ia1>?-kF2BB&#*!3RCd)ZH1cP$qT(PS@_L2Euy-nH`!S8N8J(cz_+u3I=QJs zlDuahd2bn08oXnIJTGc2I|&<$8219g<8+(TXw1e`+c6~UrgOv(WNdQvSBX@LOK(g{ zHBhw2Tf6y*TDA5ppqPo?r4!v+SgVM;OYw4`2J< zSRtd1Z#`mcemPoa@Dl(8Tr(p$TVW@pHdzA-ZVXu< zLcgchx!)}%1>IB@70y+ON9lB!q%PtOasWQe7R{|(6WgLeMQX-S)ILVOBU_QTx?Wg` z;FzILdKZKIPObOQFP=Q;IB&Kmc6qQaHG8)0tKnC7spMr+W;qMpZ&R^hEb-)%C``oy z$p@NW`k3b3Jp7s28($NE@b1nrpJZ|cJ-{0ESbdyf!1F0aBzeCE)ov>ygq!? zcIYS)g#?bXn_8>TGdt{FyO-CSadtm-;sp%!qkL1QWbKU>?B7!$%ThLS6YmxRw-T8U z^RQ2p(q8~S&j@Rv-Q$>Y|Q7krD;n$a+ zaQ)>y(m8u2sZnu>n|W7a_ZWSBWGGnr7az=|8aB_0B0THAKk5sn<+uo73Mo?Rk;Y4T zM}Aet@?ipv-Dk*N{^qD|U=#R|MUE6cr2mu!sODl};)NN&U=M~}3j=(84> z(nQk;AV+cko>y*Gxcz_y{GE~2-+b4&+p>0s_*Urr5|N+l&S>TVD!2o|WtgWo29Vl&pAFO}r42TiS5Ld9v6Qkq<`x?E_5AzY6&$d|c01D`2Eo_Ex3C z-vc3ZyYt4MsOR&LU?}^67<4=F;PPUe&&g0u__Y0zF=a5bW?9Cj15Zg7zS5x0AXvu0 zd6#=*hrJ4?gN%$7N^g74PndXYwy|72@EeC)KfMukubp8iOwa}vt$_&uCr0BQ%}@v^ zJW>6|L5h-QkHFb4o1n7&ww+Y3>3BhV%t*96_Vk|KcHcG7t5#CTA7@U}pN#qc$ zIjU=7MKD(kI}#3G0&amdE>;_W1e(A|<7BtO74FT)rfiP8bJiZ-YCF_A;Uwe2<>U~e z5$THlp#A6z5~pQbyIJ#&A&2F1S3!xCYQ#qm`cID)#!iTIsHuNYk6V96i`EP-B7B$= zr0PYn!Jd52{F&~>nR|)uxHfg;)^>Z%`Sk&%$%Ed$l0hD%v7_$@;@V${GWMd8>Bna68 zGQVB6s_Etoi;z>31j>2_8%DI#$ab@6p$n%O3-cS2;347Wc}+>G)H$fgNlKO6dUMZG zdC3b6{2YXrD@B4!>*bRMah7B~xU}~6>52Pz=M7uT>*p+;azi%$1G2lYZNR5 z^OlG?wg_M~301Qh`&}vT!+bRML+Vbig^jq!9_>88+a-b?Sfh;zPC1}#tMI%F%AH_K zQ<`qt_2&uAQsTQ2NwZCkmy@Gg?uLcNyJukI6tt!KEUfo*qZw^ViVmx^X`YR|7t@C7 zkvVQ^%fu!Zba~HJjw>;-{k5(yqqZeTaNfdoHZ%6lZmt13RE4=dFV7a7B;Ox}&Gl96 zHxXVbBx)>fR^CJfpmE2diyMML(H@iu;JALSY7d<_8>3el@ziV>`G&fHRvhNT3%2^$Bx`KLd>TKeRGM>-Qb6ISH(u~=R+JjqR(ps*S3t`x|^VwoGuK67J z$^JGAY#WCGs;XLk$@fU)I6SOFlTE9YL3Ffe_l&czUGO%JX=d#`{HS`H$-g_85^hRp zTNq{b|#`%n87B-&>I=LIz1 zP#tkd_0SaUds%;JBdc+iN+L5fvoT*XtKy@{YrH51g(1KAd0+U*VTpmZc+%Bhjyts2a>JX!|S%7uV0j!#nM$RvoL}c-h3#!i)lYJ-J zGs99hx{BbuuBv%J3|}R|WazY~V_RPu>I2!@Rl;yb-pg{?i~E9iCpF{0Hq{RVi1u$M z4Nh`N-*REN^h#ts+Yz*B)forFCn(bbR;N-02@d88nEoI}@$QEqhwtSKmMe z9bi$7ppIG5YftL`g~YbIkzX{;#7E;A?0s=ty<1*H3sd;{#Db=I$6c3rpS5vk)WD-9 z6vnO|oJQDU)8Q9hD)T(JLrbjB2^i*URCctGF?9S&067{60Q_4>{h3l`VHGKiW(vh{ zN}KNrzx|!_sF~Z(mF`K&)-yR>{w6Vn6s|yf4vk=Pea(1{;^xTjWlzU&H!BRwgXjsP zFBYN1HHLgcuc6m;B`j~}s0ABubK0oFgjZT|9V)h6XnQnh`o8}}3Oh_j{HXwE+PX}N zrMup4^><`~iVlDuBPM`5S9(=dWM2{bjt288guk`)%Y{idt8IL{S&QsNH8!Us4D0vO zJDO1WM@H3^T0KXh$EqFv&(BV$qKF$L098-ddc=(cq0>5IF}-`$zlBk859QO-O|z+Wk5pfmM2J8>%T5T>mGzhNYJ}%Ax#W}J zgn9&y7q}5d8}s!rcJY~DSx8PLY3|<)HnyENOnFB_$>y3}2@u&qa0`|oQTut752WIr zxTZ9OV~!zXO{}JAj1OTx<|Ymch)F=$D#SI zS0^A8u?LiNFDfgEBS(@6j5ULUWE>x%RYtD4rZrLI1=Ua0rT@sMbB5)|(lzg}q`S2S z>qX1iiIV#8K!)b>URl~lAlN_M?oxhp)wJ!UBzB$uUb)Na6Izg*0 zMvK@P8REr{ELQl%myHBKn^J{xXL=EaYz|6-%FA?&cf+W))FNo<*ZC=)K2Ki=hvWC4 zo0YU^;o>*r29t=C!TrOExSm-*} zt|-&Zd}=SIVm^$Rz>X~=1#g{`tda|YF;f}_O^?!${F~qV_<3Gqaf7aX;}!CbLAv`h z{gL?+zw;wY*glX-B8~$^XMzrYWVxp^*x<6zVAt6?S~l{Tx_!f@T*eGs^zjxcB5f)k zmplF}J_Fp~FePS?!3KRtFEBo&a3uB_#hINj4<~!J;hU1>*fMoZc#7@Nd1R7~-hsdk zbml`kU>D?^F-I@voAO69&ywepgxEja=hJTzx~N+u+CUgW2HYE@g_r7ta{YI~WoHjo zn6k#21uP)J&s7_xNAd#b2Jg1GQ1JpSbU}78+8rD^U?3y#$el#uOm~@samVGU7&VhK zawHE4@F%$I8TNBELVKW+WJC$xrYbJbb-cA!AgxaqW9nrhbhbRsT5uHy8S}$t~Pr;Pa)^edyXn z=f7q-RQvw_PZIE-f#lXt3^j+5=5TNCCIi#X;Ht{8tgrYy0zT6pvCtF!)w!)t4M~08 zk~FUe@;CAGw00411I>imD4hp)^q)WAKiGUG-nh3vKL6N=bcKa7v@)=Furt)P{9Clv zGlPXtz_-rCVl-_RaNB5ZBt@aM#Y zN6+&2OJQa_dbWQhMm&0^eJm!A|Ry>CPP_f}L(*3!{!$T|N;vk~npzB}= ztWiXP6_52Vt%w2}-d|cEg{q96nW6rle-yI>-WL-i9`N<&p8kDg!ejdTk3dRUJ8OLf zLkA67SwUf1MMD>deP6GcQ% z9<2bdg}}Dk<1zhfy@;K)qYdx|{xaw92U-PMMLS(9dz(K@(s!j5P@okwbTZX9lo#O# zR#mdBHiWx%hYCmS241(=`EW8)og5La`)pBd%td#Kpp9s{i( ztKp3!0P6$J@uv*j_mPpjFc2L|rSEBJA8c5omr~y7aEqri?~Iq(ptTxp|3eb*{d- z2;c~aG_bEJ7H||1HG?N2XA3HNq2R#W0t}6#6_zRRAF_X2Znj$%$8Q3|kQF^5&@;SZ z=a=-xqt9co*7HQ35zT7D>xBX9s|_(10HZjX-60b=LM5cwXADXk1?OGk=)by z1kz9sZ6p}==u5O1eIgybcYMK;jYbJoY`itZk3P}$5GQg^#ioW>TRJJ`OOjdAV(tJ= z5lxJ2a2*gj*(Vr%>u>|i;VGYSnfj&d#w;8}E|?e^G%hRjQP0NLnu~Q`kT

|(Kfqm>(6cKkBd&8LZ3t*2vw}%liV60F^C^iol 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

NqK$6SQb@LxQ>#Vb`csUf2AL%{cgg;>1P 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 |x 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 Y`@MNG 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�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%0Aq^qwd7}r9Lon6 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 +} +// ---- Light Example App Config ---- + +#define APP_TASK_NAME "LIGHT-APP" + +// 3R: TODO +//#define SYSTEM_STATE_LED (25) +//#define LOCK_STATE_LED (26) + +//#define APP_LIGHT_BUTTON (34) +#define APP_FUNCTION_BUTTON (35) + +#define APP_BUTTON_DEBOUNCE_PERIOD_MS 50 + +#define APP_BUTTON_PRESSED 0 +#define APP_BUTTON_RELEASED 1 + +// Time it takes in ms for the simulated actuator to move from one +// state to another. +#define ACTUATOR_MOVEMENT_PERIOS_MS 2000 diff --git a/examples/lighting-app/bouffalolab/bl602/include/AppEvent.h b/examples/lighting-app/bouffalolab/bl602/include/AppEvent.h new file mode 100644 index 00000000000000..7a19b719edad25 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/AppEvent.h @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2018 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +struct AppEvent; +typedef void (*EventHandler)(AppEvent *); + +struct AppEvent +{ + enum AppEventTypes + { + kEventType_Button = 0, + kEventType_Timer, + kEventType_Light, + kEventType_Install, + }; + + uint16_t Type; + + union + { + struct + { + uint8_t Action; + } ButtonEvent; + struct + { + void * Context; + } TimerEvent; + struct + { + uint8_t Action; + int32_t Actor; + } LightEvent; + }; + + EventHandler Handler; +}; diff --git a/examples/lighting-app/bouffalolab/bl602/include/AppTask.h b/examples/lighting-app/bouffalolab/bl602/include/AppTask.h new file mode 100644 index 00000000000000..d27d9332c21c25 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/AppTask.h @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +#include "AppEvent.h" +#include "LightingManager.h" + +#include +#include +#include +#include + +// Application-defined error codes in the CHIP_ERROR space. +#define APP_ERROR_EVENT_QUEUE_FAILED CHIP_APPLICATION_ERROR(0x01) +#define APP_ERROR_CREATE_TASK_FAILED CHIP_APPLICATION_ERROR(0x02) +#define APP_ERROR_UNHANDLED_EVENT CHIP_APPLICATION_ERROR(0x03) +#define APP_ERROR_CREATE_TIMER_FAILED CHIP_APPLICATION_ERROR(0x04) +#define APP_ERROR_START_TIMER_FAILED CHIP_APPLICATION_ERROR(0x05) +#define APP_ERROR_STOP_TIMER_FAILED CHIP_APPLICATION_ERROR(0x06) + +void appError(CHIP_ERROR error); + +class AppTask +{ + +public: + CHIP_ERROR StartAppTask(); + static void AppTaskMain(void * pvParameter); + + void PostLightActionRequest(int32_t aActor, LightingManager::Action_t aAction); + void PostEvent(const AppEvent * event); + void ButtonEventHandler(uint8_t btnIdx, uint8_t btnAction); + void AppTask::OtaTask(void); + +private: + friend AppTask & GetAppTask(void); + + CHIP_ERROR Init(); + + static void ActionInitiated(LightingManager::Action_t aAction, int32_t aActor); + static void ActionCompleted(LightingManager::Action_t aAction); + + void CancelTimer(void); + + void DispatchEvent(AppEvent * event); + + static void FunctionTimerEventHandler(AppEvent * aEvent); + static void FunctionHandler(AppEvent * aEvent); + static void LightActionEventHandler(AppEvent * aEvent); + static void TimerEventHandler(TimerHandle_t xTimer); + + static void UpdateClusterState(void); + + void StartTimer(uint32_t aTimeoutMs); + + enum Function_t + { + kFunction_NoneSelected = 0, + kFunction_SoftwareUpdate = 0, + kFunction_StartBleAdv = 1, + kFunction_FactoryReset = 2, + + kFunction_Invalid + } Function; + + Function_t mFunction; + bool mFunctionTimerActive; + bool mSyncClusterToButtonAction; + + static AppTask sAppTask; +}; + +inline AppTask & GetAppTask(void) +{ + return AppTask::sAppTask; +} diff --git a/examples/lighting-app/bouffalolab/bl602/include/CHIPDeviceManager.h b/examples/lighting-app/bouffalolab/bl602/include/CHIPDeviceManager.h new file mode 100644 index 00000000000000..91d8c7c6c01d7b --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/CHIPDeviceManager.h @@ -0,0 +1,125 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file contains definitions for the CHIP DeviceManager Interface + * + * This object will co-ordinate multiple activities such as + * initialisation, rendezvous, session mgmt and other such + * activities within the CHIP stack. This is a singleton object. + */ + +#ifndef CHIP_LOCK_DEVICEMANAGER_H_ +#define CHIP_LOCK_DEVICEMANAGER_H_ + +#include +#include +#include + +#include + +#include +#include + +#include + +namespace chip { +namespace DeviceManager { + +/** + * @brief + * This class provides a skeleton for all the callback functions. The functions will be + * called by other objects within the CHIP stack for specific events. + * Applications interested in receiving specific callbacks can specialize this class and handle + * these events in their implementation of this class. + */ +class DLL_EXPORT CHIPDeviceManagerCallbacks +{ +public: + /** + * @brief + * Called when CHIP Device events (PublicEventTypes) are triggered. + * + * @param event ChipDeviceEvent that occurred + * @param arg arguments specific to the event, if any + */ + virtual void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + /** + * @brief + * Called after an attribute has been changed + * + * @param endpoint endpoint id + * @param clusterID cluster id + * @param attributeId attribute id that was changed + * @param mask mask of the attribute + * @param manufacturerCode manufacturer code + * @param type attribute type + * @param size size of the attribute + * @param value pointer to the new value + */ + virtual void PostAttributeChangeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attributeId, + uint8_t mask, uint8_t type, uint16_t size, uint8_t * value) + {} + virtual ~CHIPDeviceManagerCallbacks() {} +}; + +/** + * @brief + * A common class that drives other components of the CHIP stack + */ +class DLL_EXPORT CHIPDeviceManager +{ +public: + CHIPDeviceManager(const CHIPDeviceManager &) = delete; + CHIPDeviceManager(const CHIPDeviceManager &&) = delete; + CHIPDeviceManager & operator=(const CHIPDeviceManager &) = delete; + + static CHIPDeviceManager & GetInstance() + { + static CHIPDeviceManager instance; + return instance; + } + + /** + * @brief + * Initialise CHIPDeviceManager + * + * @param cb Application's instance of the CHIPDeviceManagerCallbacks for consuming events + */ + CHIP_ERROR Init(CHIPDeviceManagerCallbacks * cb); + /** + * @brief + * Fetch a pointer to the registered CHIPDeviceManagerCallbacks object. + * + */ + CHIPDeviceManagerCallbacks * GetCHIPDeviceManagerCallbacks() { return mCB; } + + /** + * Use internally for registration of the ChipDeviceEvents + */ + static void CommonDeviceEventHandler(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + +private: + CHIPDeviceManagerCallbacks * mCB = nullptr; + CHIPDeviceManager() {} +}; + +} // namespace DeviceManager +} // namespace chip + +#endif /* CHIP_LOCK_DEVICEMANAGER_H_ */ diff --git a/examples/lighting-app/bouffalolab/bl602/include/CHIPProjectConfig.h b/examples/lighting-app/bouffalolab/bl602/include/CHIPProjectConfig.h new file mode 100644 index 00000000000000..6df15a52750fee --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/CHIPProjectConfig.h @@ -0,0 +1,129 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Example project configuration file for CHIP. + * + * This is a place to put application or project-specific overrides + * to the default configuration values for general CHIP features. + * + */ + +#pragma once + +/** + * CHIP_DEVICE_CONFIG_ENABLE_TEST_DEVICE_IDENTITY + * + * Enables the use of a hard-coded default Chip device id and credentials if no device id + * is found in Chip NV storage. + * + * This option is for testing only and should be disabled in production releases. + */ +#define CHIP_DEVICE_CONFIG_ENABLE_TEST_DEVICE_IDENTITY 34 + +// Use a default pairing code if one hasn't been provisioned in flash. +#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021 +#endif +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF40 + +// For convenience, Chip Security Test Mode can be enabled and the +// requirement for authentication in various protocols can be disabled. +// +// WARNING: These options make it possible to circumvent basic Chip security functionality, +// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS. +// +#define CHIP_CONFIG_SECURITY_TEST_MODE 0 +#define CHIP_CONFIG_REQUIRE_AUTH 1 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID + * + * 0x235A: Chip's Vendor Id. + * 0xFFF1: Test vendor + */ +//#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0x130D +#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID + * + * 0x534B: BL602 lock-app + * TODO: 3R + */ +//#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0xF001 +#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_REVISION + * + * The product revision number assigned to device or product by the device vendor. This + * number is scoped to the device product id, and typically corresponds to a revision of the + * physical device, a change to its packaging, and/or a change to its marketing presentation. + * This value is generally *not* incremented for device software revisions. + */ +#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_REVISION 1 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION_STRING + * + * A string identifying the firmware revision running on the device. + * CHIP service currently expects the firmware version to be in the format + * {MAJOR_VERSION}.0d{MINOR_VERSION} + */ +#ifndef CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION_STRING +#define CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION_STRING "0.1ALPHA" +#endif +/** + * CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + * + * Enable support for Chip-over-BLE (CHIPoBLE). + */ +#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1 + +/** + * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC + * + * Enables synchronizing the device's real time clock with a remote Chip Time service + * using the Chip Time Sync protocol. + */ +#define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 0 + +/** + * CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER + * + * Enables the use of a hard-coded default serial number if none + * is found in Chip NV storage. + */ +#define CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER "TEST_SN" + +/** + * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS + * + * Enable recording UTC timestamps. + */ +#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1 + +/** + * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE + * + * A size, in bytes, of the individual debug event logging buffer. + */ +#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512) diff --git a/examples/lighting-app/bouffalolab/bl602/include/DeviceCallbacks.h b/examples/lighting-app/bouffalolab/bl602/include/DeviceCallbacks.h new file mode 100644 index 00000000000000..080c65751df181 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/DeviceCallbacks.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file DeviceCallbacks.h + * + * Implementations for the DeviceManager callbacks for this application + * + **/ + +#pragma once + +#include "CHIPDeviceManager.h" +#include +#include +#include + +class DeviceCallbacks : public chip::DeviceManager::CHIPDeviceManagerCallbacks +{ +public: + virtual void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + virtual void PostAttributeChangeCallback(chip::EndpointId endpointId, chip::ClusterId clusterId, chip::AttributeId attributeId, + uint8_t mask, uint8_t type, uint16_t size, uint8_t * value); + +private: + void OnInternetConnectivityChange(const chip::DeviceLayer::ChipDeviceEvent * event); + void OnSessionEstablished(const chip::DeviceLayer::ChipDeviceEvent * event); + void OnOnOffPostAttributeChangeCallback(chip::EndpointId endpointId, chip::AttributeId attributeId, uint8_t * value); + void OnLevelControlAttributeChangeCallback(chip::EndpointId endpointId, chip::AttributeId attributeId, uint8_t * value); + void OnColorControlAttributeChangeCallback(chip::EndpointId endpointId, chip::AttributeId attributeId, uint8_t * value); + void OnIdentifyPostAttributeChangeCallback(chip::EndpointId endpointId, chip::AttributeId attributeId, uint8_t * value); + + bool mEndpointOnOffState[2]; +}; diff --git a/examples/lighting-app/bouffalolab/bl602/include/FreeRTOSConfig.h b/examples/lighting-app/bouffalolab/bl602/include/FreeRTOSConfig.h new file mode 100644 index 00000000000000..96948ea64e95d9 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/FreeRTOSConfig.h @@ -0,0 +1,241 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/*************************************************************************** + * # License + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is Third Party Software licensed by Silicon Labs from a third party + * and is governed by the sections of the MSLA applicable to Third Party + * Software and the additional terms set forth below. + * + ******************************************************************************/ +/* + FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception. + + *************************************************************************** + >>! NOTE: The modification to the GPL is included to allow you to !<< + >>! distribute a combined work that includes FreeRTOS without being !<< + >>! obliged to provide the source code for proprietary components !<< + >>! outside of the FreeRTOS kernel. !<< + *************************************************************************** + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available on the following + link: http://www.freertos.org/a00114.html + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that is more than just the market leader, it * + * is the industry's de facto standard. * + * * + * Help yourself get started quickly while simultaneously helping * + * to support the FreeRTOS project by purchasing a FreeRTOS * + * tutorial book, reference manual, or both: * + * http://www.FreeRTOS.org/Documentation * + * * + *************************************************************************** + + http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading + the FAQ page "My application does not run, what could be wrong?". Have you + defined configASSERT()? + + http://www.FreeRTOS.org/support - In return for receiving this top quality + embedded software for free we request you assist our global community by + participating in the support forum. + + http://www.FreeRTOS.org/training - Investing in training allows your team to + be as productive as possible as early as possible. Now you can receive + FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers + Ltd, and the world's leading authority on the world's leading RTOS. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate. + Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS. + + http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High + Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and commercial middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + + 1 tab == 4 spaces! +*/ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "platform.h" +#include + +/*----------------------------------------------------------- + * Application specific definitions. + * + * These definitions should be adjusted for your particular hardware and + * application requirements. + * + * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE + * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. + * + * See http://www.freertos.org/a00110.html. + *----------------------------------------------------------*/ + +/* Tickless mode is not used. */ + +/* Some of the standard demo test tasks assume a tick rate of 1KHz, even +though that is faster than would normally be warranted by a real +application. */ +#define configTICK_RATE_HZ (1000) + +/* The full demo always has tasks to run so the tick will never be turned +off. The blinky demo will use the default tickless idle implementation to +turn the tick off. */ +#define configUSE_TICKLESS_IDLE (0) + +/* Hook function related definitions. */ +#define configUSE_TICK_HOOK (0) +#define configCHECK_FOR_STACK_OVERFLOW (2) +#define configUSE_MALLOC_FAILED_HOOK (1) +#define configUSE_IDLE_HOOK (0) + +#define configENERGY_MODE (sleepEM1) + +/* Main functions*/ +/* Run time stats gathering related definitions. */ +#define configGENERATE_RUN_TIME_STATS (0) + +/* Co-routine related definitions. */ +#define configUSE_CO_ROUTINES (0) +#define configMAX_CO_ROUTINE_PRIORITIES (2) + +/* Software timer related definitions. */ +#define configUSE_TIMERS (1) +#define configTIMER_TASK_PRIORITY (configMAX_PRIORITIES - 1) /* Highest priority */ +#define configTIMER_QUEUE_LENGTH (4) +#define configTIMER_TASK_STACK_DEPTH (400) + +/* Cortex-M specific definitions. */ +#ifdef __NVIC_PRIO_BITS +/* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */ +#define configPRIO_BITS (__NVIC_PRIO_BITS) +#else +#define configPRIO_BITS 3 /* 7 priority levels */ +#endif + +/* The lowest interrupt priority that can be used in a call to a "set priority" +function. */ +#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY (0x07) + +/* The highest interrupt priority that can be used by any interrupt service +routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL +INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER +PRIORITY THAN THIS! (higher priorities are lower numeric values. */ +#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY (0x03) + +/* Interrupt priorities used by the kernel port layer itself. These are generic +to all Cortex-M ports, and do not rely on any particular library functions. */ +#define configKERNEL_INTERRUPT_PRIORITY (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS)) +/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!! +See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS)) + +/* FreeRTOS MPU specific definitions. */ +#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS (0) + +#define configCPU_CLOCK_HZ (10 * 1000 * 1000) +#define configUSE_PREEMPTION (1) +#define configUSE_TIME_SLICING (1) +#define configUSE_PORT_OPTIMISED_TASK_SELECTION (1) +#define configUSE_TICKLESS_IDLE_SIMPLE_DEBUG (1) /* See into vPortSuppressTicksAndSleep source code for explanation */ +#define configMAX_PRIORITIES (32) +#define configMINIMAL_STACK_SIZE ((unsigned short) 112) /* Number of words to use for Idle and Timer stacks */ +#define configMAX_TASK_NAME_LEN (16) +#define configUSE_16_BIT_TICKS (0) +#define configIDLE_SHOULD_YIELD (1) +#define configUSE_MUTEXES (1) +#define configUSE_RECURSIVE_MUTEXES (1) +#define configUSE_COUNTING_SEMAPHORES (1) +#define configQUEUE_REGISTRY_SIZE (8) +// #define configUSE_QUEUE_SETS (0) +// #define configUSE_NEWLIB_REENTRANT (0) +#define configENABLE_BACKWARD_COMPATIBILITY (1) +#define configSUPPORT_STATIC_ALLOCATION (1) + +/* Optional functions - most linkers will remove unused functions anyway. */ +#define INCLUDE_vTaskPrioritySet (1) +#define INCLUDE_uxTaskPriorityGet (1) +#define INCLUDE_vTaskDelete (1) +#define INCLUDE_vTaskSuspend (1) +// #define INCLUDE_xResumeFromISR (1) +#define INCLUDE_vTaskDelayUntil (1) +#define INCLUDE_vTaskDelay (1) +#define INCLUDE_xTaskGetSchedulerState (0) +#define INCLUDE_xTaskGetCurrentTaskHandle (0) +#define INCLUDE_uxTaskGetStackHighWaterMark (1) +#define INCLUDE_xTaskGetIdleTaskHandle (0) +// #define INCLUDE_xTimerGetTimerDaemonTaskHandle (1) +// #define INCLUDE_pcTaskGetTaskName (1) +#define INCLUDE_eTaskGetState (1) +// #define INCLUDE_xEventGroupSetBitFromISR (1) +#define INCLUDE_xTimerPendFunctionCall (1) + +/* Stop if an assertion fails. */ +#define configASSERT(x) \ + if ((x) == 0) \ + vAssertCalled() + +// #define configASSERTNULL(x) \ +// if ((x) == NULL) \ +// { \ +// taskDISABLE_INTERRUPTS(); \ +// for (;;) \ +// ; \ +// } + +/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS +standard names. */ +// #define vPortSVCHandler SVC_Handler +// #define xPortPendSVHandler PendSV_Handler +#define xPortSysTickHandler SysTick_Handler + +#ifdef __cplusplus +} +#endif diff --git a/examples/lighting-app/bouffalolab/bl602/include/LEDWidget.h b/examples/lighting-app/bouffalolab/bl602/include/LEDWidget.h new file mode 100644 index 00000000000000..a32bdd9151795d --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/LEDWidget.h @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2018 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include +#include + +class LEDWidget +{ +public: + LEDWidget() { Init(0); } + + void Init(uint8_t gpioNum); + + void Set(bool state); + + void SetStateMask(bool state); + + void SetBrightness(uint8_t brightness); + + void Blink(uint32_t changeRateMS); + + void Blink(uint32_t onTimeMS, uint32_t offTimeMS); + + void BlinkOnError(); + + void Animate(); + void SetColor(uint8_t Hue, uint8_t Saturation); + + void HSB2rgb(uint16_t Hue, uint8_t Saturation, uint8_t brightness, uint8_t & red, uint8_t & green, uint8_t & blue); + +private: + int64_t mLastChangeTimeMS; + uint32_t mBlinkOnTimeMS; + uint32_t mBlinkOffTimeMS; + uint8_t mDefaultOnBrightness; + uint16_t mHue; // mHue [0, 360] + uint8_t mSaturation; // mSaturation [0, 100] + uint8_t mGPIONum; + int mVLED1; + int mVLED2; + bool mState; + bool mError; + TimerHandle_t errorTimer; + + void DoSet(bool state); + + friend void ClearErrorState(TimerHandle_t); +}; diff --git a/examples/lighting-app/bouffalolab/bl602/include/LightingManager.h b/examples/lighting-app/bouffalolab/bl602/include/LightingManager.h new file mode 100644 index 00000000000000..3aa9871e919074 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/include/LightingManager.h @@ -0,0 +1,85 @@ +/* + * + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +#include "AppEvent.h" + +#include "FreeRTOS.h" +#include "timers.h" // provides FreeRTOS timer support + +#include + +class LightingManager +{ +public: + enum Action_t + { + ON_ACTION = 0, + OFF_ACTION, + + INVALID_ACTION + } Action; + + enum State_t + { + kState_OffInitiated = 0, + kState_OffCompleted, + kState_OnInitiated, + kState_OnCompleted, + } State; + + CHIP_ERROR Init(); + bool IsLightOn(); + void EnableAutoTurnOff(bool aOn); + void SetAutoTurnOffDuration(uint32_t aDurationInSecs); + bool IsActionInProgress(); + bool InitiateAction(int32_t aActor, Action_t aAction); + + typedef void (*Callback_fn_initiated)(Action_t, int32_t aActor); + typedef void (*Callback_fn_completed)(Action_t); + void SetCallbacks(Callback_fn_initiated aActionInitiated_CB, Callback_fn_completed aActionCompleted_CB); + +private: + friend LightingManager & LightMgr(void); + State_t mState; + + Callback_fn_initiated mActionInitiated_CB; + Callback_fn_completed mActionCompleted_CB; + + bool mAutoTurnOff; + uint32_t mAutoTurnOffDuration; + bool mAutoTurnOffTimerArmed; + + void CancelTimer(void); + void StartTimer(uint32_t aTimeoutMs); + + static void TimerEventHandler(TimerHandle_t xTimer); + static void AutoTurnOffTimerEventHandler(AppEvent * aEvent); + static void ActuatorMovementTimerEventHandler(AppEvent * aEvent); + + static LightingManager sLight; +}; + +inline LightingManager & LightMgr(void) +{ + return LightingManager::sLight; +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/AppTask.cpp b/examples/lighting-app/bouffalolab/bl602/src/AppTask.cpp new file mode 100644 index 00000000000000..8214b3a2a26f91 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/AppTask.cpp @@ -0,0 +1,523 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AppTask.h" +#include "AppConfig.h" +#include "AppEvent.h" +#include "CHIPDeviceManager.h" +#include "DeviceCallbacks.h" +#include "LEDWidget.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define FACTORY_RESET_TRIGGER_TIMEOUT 3000 +#define FACTORY_RESET_CANCEL_WINDOW_TIMEOUT 3000 +#define APP_EVENT_QUEUE_SIZE 10 +#define APP_TASK_STACK_SIZE (8192) +#define APP_TASK_PRIORITY 2 +#define STATUS_LED_GPIO_NUM GPIO_NUM_2 // Use LED1 (blue LED) as status LED on DevKitC + +static const char * const TAG = "lighting-app"; +static xTaskHandle OTA_TASK_HANDLE; + +namespace { +TimerHandle_t sFunctionTimer; // FreeRTOS app sw timer. + +BaseType_t sAppTaskHandle; +QueueHandle_t sAppEventQueue; + +bool sHaveBLEConnections = false; + +StackType_t appStack[APP_TASK_STACK_SIZE / sizeof(StackType_t)]; +} // namespace + +using namespace ::chip; +using namespace ::chip::DeviceManager; +using namespace ::chip::DeviceLayer; +using namespace ::chip::Credentials; + +namespace { +chip::app::Clusters::NetworkCommissioning::Instance + sWiFiNetworkCommissioningInstance(0 /* Endpoint Id */, &(NetworkCommissioning::BLWiFiDriver::GetInstance())); +} // namespace + +using namespace ::chip::System; + +AppTask AppTask::sAppTask; +static DeviceCallbacks EchoCallbacks; + +CHIP_ERROR AppTask::StartAppTask() +{ + CHIP_ERROR err = CHIP_NO_ERROR; + sAppEventQueue = xQueueCreate(APP_EVENT_QUEUE_SIZE, sizeof(AppEvent)); + if (sAppEventQueue == NULL) + { + log_error("Failed to allocate app event queue\r\n"); + return APP_ERROR_EVENT_QUEUE_FAILED; + } + + // Start App task. + sAppTaskHandle = xTaskCreate(AppTaskMain, APP_TASK_NAME, ArraySize(appStack), NULL, 1, NULL); + if (sAppTaskHandle) + { + err = CHIP_NO_ERROR; + } + + return CHIP_NO_ERROR; +} + +CHIP_ERROR AppTask::Init() +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + // Create FreeRTOS sw timer for Function Selection. + sFunctionTimer = xTimerCreate("FnTmr", // Just a text name, not used by the RTOS kernel + 1, // == default timer period (mS) + false, // no timer reload (==one-shot) + (void *) this, // init timer id = app task obj context + TimerEventHandler // timer callback handler + ); + if (sFunctionTimer == NULL) + { + log_error("funct timer create failed\r\n"); + return APP_ERROR_CREATE_TIMER_FAILED; + } + + err = LightMgr().Init(); + if (err != CHIP_NO_ERROR) + { + log_error("LightMgr().Init() failed\r\n"); + return err; + } + + LightMgr().SetCallbacks(ActionInitiated, ActionCompleted); + + UpdateClusterState(); + + ConfigurationMgr().LogDeviceConfig(); + + PrintOnboardingCodes(chip::RendezvousInformationFlag(chip::RendezvousInformationFlag::kBLE)); + return err; +} + +void AppTask::AppTaskMain(void * pvParameter) +{ + AppEvent event; + Clock::Timestamp lastChangeTime = Clock::kZero; + CHIP_ERROR err; + + log_info("App Task entered\r\n"); + + sWiFiNetworkCommissioningInstance.Init(); + chip::Server::GetInstance().Init(); + + // Initialize device attestation config + SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider()); + + err = sAppTask.Init(); + if (err != CHIP_NO_ERROR) + { + log_error("AppTask.Init() failed due to %d\r\n", err); + return; + } + + while (true) + { + BaseType_t eventReceived = xQueueReceive(sAppEventQueue, &event, pdMS_TO_TICKS(10)); + while (eventReceived == pdTRUE) + { + log_info("receiving event type: %d\r\n", event.Type); + sAppTask.DispatchEvent(&event); + eventReceived = xQueueReceive(sAppEventQueue, &event, 0); + } + // Collect connectivity and configuration state from the CHIP stack. Because + // the CHIP event loop is being run in a separate task, the stack must be + // locked while these values are queried. However we use a non-blocking + // lock request (TryLockCHIPStack()) to avoid blocking other UI activities + // when the CHIP task is busy (e.g. with a long crypto operation). + if (PlatformMgr().TryLockChipStack()) + { + sHaveBLEConnections = (ConnectivityMgr().NumBLEConnections() != 0); + PlatformMgr().UnlockChipStack(); + } + + // Update the status LED if factory reset has not been initiated. + // + // If system has "full connectivity", keep the LED On constantly. + // + // If no connectivity to the service OR subscriptions are not fully + // established THEN blink the LED Off for a short period of time. + // + // If the system has ble connection(s) uptill the stage above, THEN blink + // the LEDs at an even rate of 100ms. + // + // Otherwise, blink the LED ON for a very short time. + if (sAppTask.mFunction != kFunction_FactoryReset) + { + if (sHaveBLEConnections) + { + // TODO: 3R + // sStatusLED.Blink(100, 100); + } + else + { + // TODO: 3R + // sStatusLED.Blink(50, 950); + } + } + + // TODO: 3R + // sStatusLED.Animate(); + + Clock::Timestamp now = SystemClock().GetMonotonicTimestamp(); + Clock::Timestamp nextChangeTime = lastChangeTime + Clock::Seconds16(5); + + if (nextChangeTime < now) + { + lastChangeTime = now; + } + } +} + +void AppTask::LightActionEventHandler(AppEvent * aEvent) +{ + bool initiated = false; + LightingManager::Action_t action; + int32_t actor; + CHIP_ERROR err = CHIP_NO_ERROR; + + if (aEvent->Type == AppEvent::kEventType_Light) + { + action = static_cast(aEvent->LightEvent.Action); + actor = aEvent->LightEvent.Actor; + } + else if (aEvent->Type == AppEvent::kEventType_Button) + { + if (LightMgr().IsLightOn()) + { + action = LightingManager::OFF_ACTION; + } + else + { + action = LightingManager::ON_ACTION; + } + actor = AppEvent::kEventType_Button; + } + else + { + err = APP_ERROR_UNHANDLED_EVENT; + } + + if (err == CHIP_NO_ERROR) + { + initiated = LightMgr().InitiateAction(actor, action); + + if (!initiated) + { + log_info("Action is already in progress or active.\r\n"); + } + } +} + +void AppTask::ButtonEventHandler(uint8_t btnIdx, uint8_t btnAction) +{ +#if 0 // TODO: 3R + if (btnIdx != APP_LOCK_BUTTON && btnIdx != APP_FUNCTION_BUTTON) + { + return; + } +#endif + + AppEvent button_event = {}; + button_event.Type = AppEvent::kEventType_Button; + // button_event.ButtonEvent.PinNo = btnIdx; + button_event.ButtonEvent.Action = btnAction; + + /* if (btnIdx == APP_LOCK_BUTTON && btnAction == APP_BUTTON_PRESSED) + { + button_event.Handler = LockActionEventHandler; + log_info("posting button_event(lock button)\r\n"); + sAppTask.PostEvent(&button_event); + } + else */ + if (btnIdx == APP_FUNCTION_BUTTON) + { + button_event.Handler = FunctionHandler; + log_info("posting button_event(function button)\r\n"); + sAppTask.PostEvent(&button_event); + } +} + +void AppTask::TimerEventHandler(TimerHandle_t xTimer) +{ + AppEvent event; + event.Type = AppEvent::kEventType_Timer; + event.TimerEvent.Context = (void *) xTimer; + event.Handler = FunctionTimerEventHandler; + sAppTask.PostEvent(&event); +} + +void AppTask::FunctionTimerEventHandler(AppEvent * aEvent) +{ + if (aEvent->Type != AppEvent::kEventType_Timer) + { + return; + } + + // If we reached here, the button was held past FACTORY_RESET_TRIGGER_TIMEOUT, + // initiate factory reset + if (sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_StartBleAdv) + { + log_info("Factory Reset Triggered. Release button within %ums to cancel.\r\n", FACTORY_RESET_CANCEL_WINDOW_TIMEOUT); + + // Start timer for FACTORY_RESET_CANCEL_WINDOW_TIMEOUT to allow user to + // cancel, if required. + sAppTask.StartTimer(FACTORY_RESET_CANCEL_WINDOW_TIMEOUT); + + sAppTask.mFunction = kFunction_FactoryReset; + } + else if (sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_FactoryReset) + { + // Actually trigger Factory Reset + sAppTask.mFunction = kFunction_NoneSelected; + ConfigurationMgr().InitiateFactoryReset(); + } +} + +void AppTask::FunctionHandler(AppEvent * aEvent) +{ + // To trigger software update: press the APP_FUNCTION_BUTTON button briefly (< + // FACTORY_RESET_TRIGGER_TIMEOUT) To initiate factory reset: press the + // APP_FUNCTION_BUTTON for FACTORY_RESET_TRIGGER_TIMEOUT + + // FACTORY_RESET_CANCEL_WINDOW_TIMEOUT All LEDs start blinking after + // FACTORY_RESET_TRIGGER_TIMEOUT to signal factory reset has been initiated. + // To cancel factory reset: release the APP_FUNCTION_BUTTON once all LEDs + // start blinking within the FACTORY_RESET_CANCEL_WINDOW_TIMEOUT + if (aEvent->ButtonEvent.Action == APP_BUTTON_PRESSED) + { + if (!sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_NoneSelected) + { + sAppTask.StartTimer(FACTORY_RESET_TRIGGER_TIMEOUT); + sAppTask.mFunction = kFunction_StartBleAdv; + } + } + else + { + // If the button was released before factory reset got initiated, start BLE advertissement in fast mode + if (sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_StartBleAdv) + { + sAppTask.CancelTimer(); + sAppTask.mFunction = kFunction_NoneSelected; + + if (!ConnectivityMgr().IsThreadProvisioned()) + { + // Enable BLE advertisements + ConnectivityMgr().SetBLEAdvertisingEnabled(true); + ConnectivityMgr().SetBLEAdvertisingMode(ConnectivityMgr().kFastAdvertising); + } + else + { + log_warn("Network is already provisioned, Ble advertissement not enabled\r\n"); + } + } + else if (sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_FactoryReset) + { +#if 0 // TODO: 3R + // Set lock status LED back to show state of lock. + sLockLED.Set(!BoltLockMgr().IsUnlocked()); +#endif + + sAppTask.CancelTimer(); + + // Change the function to none selected since factory reset has been + // canceled. + sAppTask.mFunction = kFunction_NoneSelected; + + log_info("Factory Reset has been Canceled\r\n"); + } + } +} + +void AppTask::CancelTimer() +{ + if (xTimerStop(sFunctionTimer, 0) == pdFAIL) + { + log_error("app timer stop() failed\r\n"); + return; + } + + mFunctionTimerActive = false; +} +void AppTask::StartTimer(uint32_t aTimeoutInMs) +{ + if (xTimerIsTimerActive(sFunctionTimer)) + { + log_warn("app timer already started!\r\n"); + CancelTimer(); + } + + // timer is not active, change its period to required value (== restart). + // FreeRTOS- Block for a maximum of 100 ticks if the change period command + // cannot immediately be sent to the timer command queue. + if (xTimerChangePeriod(sFunctionTimer, aTimeoutInMs / portTICK_PERIOD_MS, 100) != pdPASS) + { + log_error("app timer start() failed\r\n"); + return; + } + + mFunctionTimerActive = true; +} + +void AppTask::ActionInitiated(LightingManager::Action_t aAction, int32_t aActor) +{ + // Action initiated, update the light led + if (aAction == LightingManager::ON_ACTION) + { + log_info("Turning light ON\r\n"); +#if 0 // TODO: 3R + sLightLED.Set(true); +#endif + } + else if (aAction == LightingManager::OFF_ACTION) + { + log_info("Turning light OFF\r\n"); +#if 0 // TODO: 3R + sLightLED.Set(false); +#endif + } + + if (aActor == AppEvent::kEventType_Button) + { + sAppTask.mSyncClusterToButtonAction = true; + } +} + +void AppTask::ActionCompleted(LightingManager::Action_t aAction) +{ + // action has been completed bon the light + if (aAction == LightingManager::ON_ACTION) + { + log_info("Light ON\r\n"); + } + else if (aAction == LightingManager::OFF_ACTION) + { + log_info("Light OFF\r\n"); + } + + if (sAppTask.mSyncClusterToButtonAction) + { + UpdateClusterState(); + sAppTask.mSyncClusterToButtonAction = false; + } +} + +void AppTask::PostLightActionRequest(int32_t aActor, LightingManager::Action_t aAction) +{ + AppEvent event; + event.Type = AppEvent::kEventType_Light; + event.LightEvent.Actor = aActor; + event.LightEvent.Action = aAction; + event.Handler = LightActionEventHandler; + PostEvent(&event); +} + +void AppTask::PostEvent(const AppEvent * aEvent) +{ + if (sAppEventQueue != NULL) + { + BaseType_t status; + if (xPortIsInsideInterrupt()) + { + BaseType_t higherPrioTaskWoken = pdFALSE; + log_info("sending event type from isr: %d\r\n", aEvent->Type); + status = xQueueSendFromISR(sAppEventQueue, aEvent, &higherPrioTaskWoken); + +#ifdef portYIELD_FROM_ISR + portYIELD_FROM_ISR(higherPrioTaskWoken); +#elif portEND_SWITCHING_ISR // portYIELD_FROM_ISR or portEND_SWITCHING_ISR + portEND_SWITCHING_ISR(higherPrioTaskWoken); +#else // portYIELD_FROM_ISR or portEND_SWITCHING_ISR +#error "Must have portYIELD_FROM_ISR or portEND_SWITCHING_ISR" +#endif // portYIELD_FROM_ISR or portEND_SWITCHING_ISR + } + else + { + log_info("sending event type: %d\r\n", aEvent->Type); + status = xQueueSend(sAppEventQueue, aEvent, 1); + } + + if (!status) + log_error("Failed to post event to app task event queue\r\n"); + } + else + { + log_error("Event Queue is NULL should never happen\r\n"); + } +} + +void AppTask::DispatchEvent(AppEvent * aEvent) +{ + if (aEvent->Handler) + { + aEvent->Handler(aEvent); + } + else + { + log_warn("Event received with no handler. Dropping event.\r\n"); + } +} + +void AppTask::UpdateClusterState(void) +{ + uint8_t newValue = LightMgr().IsLightOn(); + + // write the new on/off value + EmberAfStatus status = emberAfWriteAttribute(1, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, + (uint8_t *) &newValue, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + log_error("ERR: updating on/off %x\r\n", status); + } +} + +void AppTask::OtaTask(void) +{ + int ret; + const char * const task_name = "ota task"; + + ret = xTaskCreate(ota_tcp_server, task_name, 512, NULL, 6, &OTA_TASK_HANDLE); + if (ret != pdPASS) + { + printf("unable to start task client task"); + return; + } +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/CHIPDeviceManager.cpp b/examples/lighting-app/bouffalolab/bl602/src/CHIPDeviceManager.cpp new file mode 100644 index 00000000000000..0e64a4f0513248 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/CHIPDeviceManager.cpp @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file implements the CHIP Device Interface that is used by + * applications to interact with the CHIP stack + * + */ + +#include + +#include "CHIPDeviceManager.h" +#include +#include +#include +#include +#include +#include + +using namespace ::chip; + +namespace chip { + +namespace DeviceManager { + +using namespace ::chip::DeviceLayer; + +void CHIPDeviceManager::CommonDeviceEventHandler(const ChipDeviceEvent * event, intptr_t arg) +{ + CHIPDeviceManagerCallbacks * cb = reinterpret_cast(arg); + if (cb != nullptr) + { + cb->DeviceEventCallback(event, reinterpret_cast(cb)); + } +} + +CHIP_ERROR CHIPDeviceManager::Init(CHIPDeviceManagerCallbacks * cb) +{ + CHIP_ERROR err; + mCB = cb; + RendezvousInformationFlags flags = RendezvousInformationFlags(CONFIG_RENDEZVOUS_MODE); + + err = Platform::MemoryInit(); + SuccessOrExit(err); + + // Initialize the CHIP stack. + err = PlatformMgr().InitChipStack(); + SuccessOrExit(err); + + if (flags.Has(RendezvousInformationFlag::kBLE)) + { + ConnectivityMgr().SetBLEAdvertisingEnabled(true); + } + else if (flags.Has(RendezvousInformationFlag::kSoftAP)) + { + // TODO(cecille): Fix for the case where BLE and SoftAP are both enabled.` + ConnectivityMgr().SetBLEAdvertisingEnabled(false); + ConnectivityMgr().SetWiFiAPMode(ConnectivityManager::kWiFiAPMode_Enabled); + } + else + { + // If rendezvous is bypassed, enable SoftAP so that the device can still + // be communicated with via its SoftAP as needed. + // ConnectivityMgr().SetWiFiAPMode(ConnectivityManager::kWiFiAPMode_Enabled); + ConnectivityMgr().IsWiFiStationEnabled(); + } + + // Register a function to receive events from the CHIP device layer. Note that calls to + // this function will happen on the CHIP event loop thread, not the app_main thread. + PlatformMgr().AddEventHandler(CHIPDeviceManager::CommonDeviceEventHandler, reinterpret_cast(cb)); + + // Start a task to run the CHIP Device event loop. + err = PlatformMgr().StartEventLoopTask(); + SuccessOrExit(err); + +exit: + return err; +} +} // namespace DeviceManager +} // namespace chip + +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t mask, uint8_t type, + uint16_t size, uint8_t * value) +{ + chip::DeviceManager::CHIPDeviceManagerCallbacks * cb = + chip::DeviceManager::CHIPDeviceManager::GetInstance().GetCHIPDeviceManagerCallbacks(); + if (cb != nullptr) + { + cb->PostAttributeChangeCallback(attributePath.mEndpointId, attributePath.mClusterId, attributePath.mAttributeId, mask, type, + size, value); + } +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/DeviceCallbacks.cpp b/examples/lighting-app/bouffalolab/bl602/src/DeviceCallbacks.cpp new file mode 100644 index 00000000000000..caf5a38ec1e0c2 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/DeviceCallbacks.cpp @@ -0,0 +1,252 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file DeviceCallbacks.cpp + * + * Implements all the callbacks to the application from the CHIP Stack + * + **/ +#include "DeviceCallbacks.h" + +#include "CHIPDeviceManager.h" +#include "LEDWidget.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::System; +using namespace ::chip::DeviceLayer; + +uint32_t identifyTimerCount; +constexpr uint32_t kIdentifyTimerDelayMS = 250; + +static LEDWidget statusLED1; +// static LEDWidget statusLED2; + +void DeviceCallbacks::DeviceEventCallback(const ChipDeviceEvent * event, intptr_t arg) +{ + switch (event->Type) + { + case DeviceEventType::kInternetConnectivityChange: + OnInternetConnectivityChange(event); + break; + + case DeviceEventType::kSessionEstablished: + OnSessionEstablished(event); + break; + + case DeviceEventType::kCHIPoBLEConnectionEstablished: + log_info("CHIPoBLE connection established\r\n"); + break; + + case DeviceEventType::kCHIPoBLEConnectionClosed: + log_info("CHIPoBLE disconnected\r\n"); + break; + + case DeviceEventType::kCommissioningComplete: + log_info("Commissioning complete\r\n"); + break; + + case DeviceEventType::kWiFiConnectivityChange: + log_info("Got ip, start advertise\r\n"); + // chip::app::DnssdServer::Instance().AdvertiseOperational(); + chip::app::DnssdServer::Instance().StartServer(); + GetAppTask().OtaTask(); + NetworkCommissioning::BLWiFiDriver::GetInstance().SaveConfiguration(); + break; + + case DeviceEventType::kInterfaceIpAddressChanged: + if ((event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV4_Assigned) || + (event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV6_Assigned)) + { + // MDNS server restart on any ip assignment: if link local ipv6 is configured, that + // will not trigger a 'internet connectivity change' as there is no internet + // connectivity. MDNS still wants to refresh its listening interfaces to include the + // newly selected address. + chip::app::DnssdServer::Instance().StartServer(); + } + break; + } +} + +void DeviceCallbacks::PostAttributeChangeCallback(EndpointId endpointId, ClusterId clusterId, AttributeId attributeId, uint8_t mask, + uint8_t type, uint16_t size, uint8_t * value) +{ + log_info("PostAttributeChangeCallback - Cluster ID: '0x%04x', EndPoint ID: '0x%02x', Attribute ID: '0x%04x'\r\n", clusterId, + endpointId, attributeId); + + switch (clusterId) + { + case ZCL_ON_OFF_CLUSTER_ID: + OnOnOffPostAttributeChangeCallback(endpointId, attributeId, value); + break; + + case ZCL_IDENTIFY_CLUSTER_ID: + OnIdentifyPostAttributeChangeCallback(endpointId, attributeId, value); + break; + + case ZCL_LEVEL_CONTROL_CLUSTER_ID: + OnLevelControlAttributeChangeCallback(endpointId, attributeId, value); + break; + case ZCL_COLOR_CONTROL_CLUSTER_ID: + OnColorControlAttributeChangeCallback(endpointId, attributeId, value); + break; + default: + log_info("Unhandled cluster ID: %d\r\n", clusterId); + break; + } + + // TODO + // log_info("Current free heap: %zu\r\n\n", heap_caps_get_free_size(MALLOC_CAP_8BIT)); +} + +void DeviceCallbacks::OnInternetConnectivityChange(const ChipDeviceEvent * event) +{ + if (event->InternetConnectivityChange.IPv4 == kConnectivity_Established) + { + log_info("Server ready at: %s:%d\r\n", event->InternetConnectivityChange.address, CHIP_PORT); + // TODO + // wifiLED.Set(true); + chip::app::DnssdServer::Instance().StartServer(); + } + else if (event->InternetConnectivityChange.IPv4 == kConnectivity_Lost) + { + log_info("Lost IPv4 connectivity...\r\n"); + // TODO + // wifiLED.Set(false); + } + if (event->InternetConnectivityChange.IPv6 == kConnectivity_Established) + { + log_info("IPv6 Server ready...\r\n"); + chip::app::DnssdServer::Instance().StartServer(); + } + else if (event->InternetConnectivityChange.IPv6 == kConnectivity_Lost) + { + log_info("Lost IPv6 connectivity...\r\n"); + } +} + +void DeviceCallbacks::OnSessionEstablished(const ChipDeviceEvent * event) +{ + if (event->SessionEstablished.IsCommissioner) + { + log_info("Commissioner detected!\r\n"); + } +} + +void DeviceCallbacks::OnOnOffPostAttributeChangeCallback(EndpointId endpointId, AttributeId attributeId, uint8_t * value) +{ + VerifyOrExit(attributeId == ZCL_ON_OFF_ATTRIBUTE_ID, log_info("Unhandled Attribute ID: '0x%04x\r\n", attributeId)); + VerifyOrExit(endpointId == 1 || endpointId == 2, log_info("Unexpected EndPoint ID: `0x%02x'\r\n", endpointId)); + + // At this point we can assume that value points to a bool value. + mEndpointOnOffState[endpointId - 1] = *value; + statusLED1.Set(*value); + +exit: + return; +} + +void DeviceCallbacks::OnLevelControlAttributeChangeCallback(EndpointId endpointId, AttributeId attributeId, uint8_t * value) +{ + bool onOffState = mEndpointOnOffState[endpointId - 1]; + uint8_t brightness = onOffState ? *value : 0; + + VerifyOrExit(attributeId == ZCL_CURRENT_LEVEL_ATTRIBUTE_ID, log_info("Unhandled Attribute ID: '0x%04x\r\n", attributeId)); + VerifyOrExit(endpointId == 1 || endpointId == 2, log_error("Unexpected EndPoint ID: `0x%02x'\r\n", endpointId)); + + // At this point we can assume that value points to a bool value. + statusLED1.SetBrightness(brightness); + +exit: + return; +} + +void DeviceCallbacks::OnColorControlAttributeChangeCallback(EndpointId endpointId, AttributeId attributeId, uint8_t * value) +{ + VerifyOrExit(attributeId == ZCL_COLOR_CONTROL_CURRENT_HUE_ATTRIBUTE_ID || + attributeId == ZCL_COLOR_CONTROL_CURRENT_SATURATION_ATTRIBUTE_ID, + log_info("Unhandled AttributeId ID: '0x%04x\r\n", attributeId)); + VerifyOrExit(endpointId == 1 || endpointId == 2, log_error("Unexpected EndPoint ID: `0x%02x'\r\n", endpointId)); + if (endpointId == 1) + { + uint8_t hue, saturation; + if (attributeId == ZCL_COLOR_CONTROL_CURRENT_HUE_ATTRIBUTE_ID) + { + hue = *value; + emberAfReadServerAttribute(endpointId, ZCL_COLOR_CONTROL_CLUSTER_ID, ZCL_COLOR_CONTROL_CURRENT_SATURATION_ATTRIBUTE_ID, + &saturation, sizeof(uint8_t)); + } + else + { + saturation = *value; + emberAfReadServerAttribute(endpointId, ZCL_COLOR_CONTROL_CLUSTER_ID, ZCL_COLOR_CONTROL_CURRENT_HUE_ATTRIBUTE_ID, &hue, + sizeof(uint8_t)); + } + statusLED1.SetColor(hue, saturation); + } +exit: + return; +} + +void IdentifyTimerHandler(Layer * systemLayer, void * appState) +{ + statusLED1.Animate(); + + if (identifyTimerCount) + { + systemLayer->StartTimer(Clock::Milliseconds32(kIdentifyTimerDelayMS), IdentifyTimerHandler, appState); + // Decrement the timer count. + identifyTimerCount--; + } +} + +void DeviceCallbacks::OnIdentifyPostAttributeChangeCallback(EndpointId endpointId, AttributeId attributeId, uint8_t * value) +{ + VerifyOrExit(attributeId == ZCL_IDENTIFY_TIME_ATTRIBUTE_ID, log_info("Unhandled Attribute ID: '0x%04x\r\n", attributeId)); + VerifyOrExit(endpointId == 1, log_error("Unexpected EndPoint ID: `0x%02x'\r\n", endpointId)); + + statusLED1.Blink(kIdentifyTimerDelayMS * 2); + + // timerCount represents the number of callback executions before we stop the timer. + // value is expressed in seconds and the timer is fired every 250ms, so just multiply value by 4. + // Also, we want timerCount to be odd number, so the ligth state ends in the same state it starts. + identifyTimerCount = (*value) * 4; + + DeviceLayer::SystemLayer().CancelTimer(IdentifyTimerHandler, this); + DeviceLayer::SystemLayer().StartTimer(Clock::Milliseconds32(kIdentifyTimerDelayMS), IdentifyTimerHandler, this); + +exit: + return; +} + +bool emberAfBasicClusterMfgSpecificPingCallback(chip::app::CommandHandler * commandObj) +{ + emberAfSendDefaultResponse(emberAfCurrentCommand(), EMBER_ZCL_STATUS_SUCCESS); + return true; +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/LEDWidget.cpp b/examples/lighting-app/bouffalolab/bl602/src/LEDWidget.cpp new file mode 100644 index 00000000000000..b79f5b64b6e400 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/LEDWidget.cpp @@ -0,0 +1,240 @@ +/* + * + * Copyright (c) 2018 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file LEDWidget.cpp + * + * Implements an LED Widget controller that is usually tied to a GPIO + * It also updates the display widget if it's enabled + */ + +#include "LEDWidget.h" +#include "AppTask.h" +#include + +#include + +#define IOT_DVK_3S 0 + +#if BOARD_ID == IOT_DVK_3S +hosal_pwm_dev_t pwmR = { .port = 0xff }; +#endif + +static void showRGB(uint8_t red, uint8_t green, uint8_t blue) +{ + +#if BOARD_ID == IOT_DVK_3S + + uint32_t level = (red * 10000) / UINT8_MAX; + log_info("red level: %d\r\n", level); + + if (pwmR.port == 0xff) + { + pwmR.port = 0; + pwmR.config.pin = 0; + pwmR.config.duty_cycle = level; // duty_cycle range is 0~10000 correspond to 0~100% + pwmR.config.freq = 1000; + hosal_pwm_init(&pwmR); + vTaskDelay(50); + hosal_pwm_start(&pwmR); + } + else + { + pwmR.config.duty_cycle = level; // duty_cycle range is 0~10000 correspond to 0~100% + pwmR.config.freq = 1000; + hosal_pwm_para_chg(&pwmR, pwmR.config); + } +#else + + hosal_pwm_dev_t pwmR, pwmG, pwmB; + + uint32_t level = (red * 10000) / UINT8_MAX; + log_info("red level: %d\r\n", level); + pwmR.port = 0; + pwmR.config.pin = 20; + pwmR.config.duty_cycle = level; // duty_cycle range is 0~10000 correspond to 0~100% + pwmR.config.freq = 1000; + hosal_pwm_init(&pwmR); + // vTaskDelay(100); + + level = (green * 10000) / UINT8_MAX; + log_info("green level: %d\r\n", level); + pwmG.port = 1; + pwmG.config.pin = 21; + pwmG.config.duty_cycle = level; // duty_cycle range is 0~10000 correspond to 0~100% + pwmG.config.freq = 1000; + hosal_pwm_init(&pwmG); + // vTaskDelay(100); + + level = (blue * 10000) / UINT8_MAX; + log_info("blue level: %d\r\n", level); + pwmB.port = 2; + pwmB.config.pin = 17; + pwmB.config.duty_cycle = level; // duty_cycle range is 0~10000 correspond to 0~100% + pwmB.config.freq = 1000; + hosal_pwm_init(&pwmB); + vTaskDelay(50); + + hosal_pwm_start(&pwmG); + hosal_pwm_start(&pwmR); + hosal_pwm_start(&pwmB); +#endif +} + +void LEDWidget::Init(uint8_t gpioNum) +{ + mLastChangeTimeMS = 0; + mBlinkOnTimeMS = 0; + mBlinkOffTimeMS = 0; + mGPIONum = gpioNum; + mVLED1 = -1; + mVLED2 = -1; + mState = false; + mError = false; + errorTimer = NULL; + + mDefaultOnBrightness = UINT8_MAX; + mHue = 0; + mSaturation = 0; +} + +void LEDWidget::Set(bool state) +{ + log_info("state: %d\r\n", state); + mBlinkOnTimeMS = mBlinkOffTimeMS = 0; + DoSet(state); +} + +void LEDWidget::SetBrightness(uint8_t brightness) +{ + uint8_t red, green, blue; + log_info("mDefaultOnBrightness: %d, brightness: %d\r\n", mDefaultOnBrightness, brightness); + HSB2rgb(mHue, mSaturation, brightness, red, green, blue); + log_info("brightness: %d, mHue: %d, mSaturation: %d, red: %d, green: %d, blue: %d\r\n", brightness, mHue, mSaturation, red, + green, blue); + showRGB(red, green, blue); + + if (brightness > 0) + { + mDefaultOnBrightness = brightness; + } +} + +void LEDWidget::Blink(uint32_t changeRateMS) +{ + Blink(changeRateMS, changeRateMS); +} + +void LEDWidget::Blink(uint32_t onTimeMS, uint32_t offTimeMS) +{ + mBlinkOnTimeMS = onTimeMS; + mBlinkOffTimeMS = offTimeMS; + Animate(); +} + +void ClearErrorState(TimerHandle_t handle) {} + +void LEDWidget::BlinkOnError() {} + +void LEDWidget::Animate() +{ + if (mBlinkOnTimeMS != 0 && mBlinkOffTimeMS != 0) + { + uint64_t nowMS = chip::System::SystemClock().GetMonotonicMilliseconds64().count(); + uint64_t stateDurMS = ((mState) ? mBlinkOnTimeMS : mBlinkOffTimeMS); + uint64_t nextChangeTimeMS = mLastChangeTimeMS + stateDurMS; + + if (nextChangeTimeMS < nowMS) + { + // DoSet(!mState); + mLastChangeTimeMS = nowMS; + } + } +} + +void LEDWidget::DoSet(bool state) +{ + bool stateChange = (mState != state); + mState = state; + + uint8_t red, green, blue; + uint8_t brightness = state ? mDefaultOnBrightness : 0; + log_info("state: %d, mDefaultOnBrightness: %d, brightness: %d\r\n", state, mDefaultOnBrightness, brightness); + HSB2rgb(mHue, mSaturation, brightness, red, green, blue); + log_info("brightness: %d, mHue: %d, mSaturation: %d, red: %d, green: %d, blue: %d\r\n", brightness, mHue, mSaturation, red, + green, blue); + showRGB(red, green, blue); +} + +void LEDWidget::SetColor(uint8_t Hue, uint8_t Saturation) +{ + uint8_t red, green, blue; + uint8_t brightness = mState ? mDefaultOnBrightness : 0; + mHue = static_cast(Hue) * 360 / 254; // mHue [0, 360] + mSaturation = static_cast(Saturation) * 100 / 254; // mSaturation [0 , 100] + + HSB2rgb(mHue, mSaturation, brightness, red, green, blue); + + log_info("mDefaultOnBrightness: %d, mHue: %d, mSaturation: %d\r\n", mDefaultOnBrightness, mHue, mSaturation); + HSB2rgb(mHue, mSaturation, brightness, red, green, blue); + log_info("brightness: %d, red: %d, green: %d, blue: %d\r\n", brightness, red, green, blue); + showRGB(red, green, blue); +} + +void LEDWidget::HSB2rgb(uint16_t Hue, uint8_t Saturation, uint8_t brightness, uint8_t & red, uint8_t & green, uint8_t & blue) +{ + uint16_t i = Hue / 60; + uint16_t rgb_max = brightness; + uint16_t rgb_min = rgb_max * (100 - Saturation) / 100; + uint16_t diff = Hue % 60; + uint16_t rgb_adj = (rgb_max - rgb_min) * diff / 60; + + switch (i) + { + case 0: + red = rgb_max; + green = rgb_min + rgb_adj; + blue = rgb_min; + break; + case 1: + red = rgb_max - rgb_adj; + green = rgb_max; + blue = rgb_min; + break; + case 2: + red = rgb_min; + green = rgb_max; + blue = rgb_min + rgb_adj; + break; + case 3: + red = rgb_min; + green = rgb_max - rgb_adj; + blue = rgb_max; + break; + case 4: + red = rgb_min + rgb_adj; + green = rgb_min; + blue = rgb_max; + break; + default: + red = rgb_max; + green = rgb_min; + blue = rgb_max - rgb_adj; + break; + } +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/LightingManager.cpp b/examples/lighting-app/bouffalolab/bl602/src/LightingManager.cpp new file mode 100644 index 00000000000000..ca4723c3b26f86 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/LightingManager.cpp @@ -0,0 +1,225 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "LightingManager.h" + +#include "AppConfig.h" +#include "AppTask.h" +#include + +LightingManager LightingManager::sLight; + +TimerHandle_t sLightTimer; + +CHIP_ERROR LightingManager::Init() +{ + // Create FreeRTOS sw timer for light timer. + sLightTimer = xTimerCreate("lightTmr", // Just a text name, not used by the RTOS kernel + 1, // == default timer period (mS) + false, // no timer reload (==one-shot) + (void *) this, // init timer id = light obj context + TimerEventHandler // timer callback handler + ); + + if (sLightTimer == NULL) + { + log_error("sLightTimer timer create failed\r\n"); + return APP_ERROR_CREATE_TIMER_FAILED; + } + + mState = kState_OffCompleted; + mAutoTurnOffTimerArmed = false; + mAutoTurnOff = false; + mAutoTurnOffDuration = 0; + + return CHIP_NO_ERROR; +} + +void LightingManager::SetCallbacks(Callback_fn_initiated aActionInitiated_CB, Callback_fn_completed aActionCompleted_CB) +{ + mActionInitiated_CB = aActionInitiated_CB; + mActionCompleted_CB = aActionCompleted_CB; +} + +bool LightingManager::IsActionInProgress() +{ + return (mState == kState_OffInitiated || mState == kState_OnInitiated); +} + +bool LightingManager::IsLightOn() +{ + return (mState == kState_OnCompleted); +} + +void LightingManager::EnableAutoTurnOff(bool aOn) +{ + mAutoTurnOff = aOn; +} + +void LightingManager::SetAutoTurnOffDuration(uint32_t aDurationInSecs) +{ + mAutoTurnOffDuration = aDurationInSecs; +} + +bool LightingManager::InitiateAction(int32_t aActor, Action_t aAction) +{ + bool action_initiated = false; + State_t new_state; + + // Initiate Turn On/Off Action only when the previous one is complete. + if (mState == kState_OffCompleted && aAction == ON_ACTION) + { + action_initiated = true; + + new_state = kState_OnInitiated; + } + else if (mState == kState_OnCompleted && aAction == OFF_ACTION) + { + action_initiated = true; + + new_state = kState_OffInitiated; + } + + if (action_initiated) + { + if (mAutoTurnOffTimerArmed && new_state == kState_OffInitiated) + { + // If auto turn off timer has been armed and someone initiates turning off, + // cancel the timer and continue as normal. + mAutoTurnOffTimerArmed = false; + + CancelTimer(); + } + + StartTimer(ACTUATOR_MOVEMENT_PERIOS_MS); + + // Since the timer started successfully, update the state and trigger callback + mState = new_state; + + if (mActionInitiated_CB) + { + mActionInitiated_CB(aAction, aActor); + } + } + + return action_initiated; +} + +void LightingManager::StartTimer(uint32_t aTimeoutMs) +{ + if (xTimerIsTimerActive(sLightTimer)) + { + log_error("app timer already started!\r\n"); + CancelTimer(); + } + + // timer is not active, change its period to required value (== restart). + // FreeRTOS- Block for a maximum of 100 ticks if the change period command + // cannot immediately be sent to the timer command queue. + if (xTimerChangePeriod(sLightTimer, (aTimeoutMs / portTICK_PERIOD_MS), 100) != pdPASS) + { + log_error("sLightTimer timer start() failed\r\n"); + appError(APP_ERROR_START_TIMER_FAILED); + } +} + +void LightingManager::CancelTimer(void) +{ + if (xTimerStop(sLightTimer, 0) == pdFAIL) + { + log_error("sLightTimer stop() failed\r\n"); + appError(APP_ERROR_STOP_TIMER_FAILED); + } +} + +void LightingManager::TimerEventHandler(TimerHandle_t xTimer) +{ + // Get light obj context from timer id. + LightingManager * light = static_cast(pvTimerGetTimerID(xTimer)); + + // The timer event handler will be called in the context of the timer task + // once sLightTimer expires. Post an event to apptask queue with the actual handler + // so that the event can be handled in the context of the apptask. + AppEvent event; + event.Type = AppEvent::kEventType_Timer; + event.TimerEvent.Context = light; + if (light->mAutoTurnOffTimerArmed) + { + event.Handler = AutoTurnOffTimerEventHandler; + } + else + { + event.Handler = ActuatorMovementTimerEventHandler; + } + GetAppTask().PostEvent(&event); +} + +void LightingManager::AutoTurnOffTimerEventHandler(AppEvent * aEvent) +{ + LightingManager * light = static_cast(aEvent->TimerEvent.Context); + int32_t actor = 0; + + // Make sure auto turn off timer is still armed. + if (!light->mAutoTurnOffTimerArmed) + { + return; + } + + light->mAutoTurnOffTimerArmed = false; + + log_info("Auto Turn Off has been triggered!\r\n"); + + light->InitiateAction(actor, OFF_ACTION); +} + +void LightingManager::ActuatorMovementTimerEventHandler(AppEvent * aEvent) +{ + Action_t actionCompleted = INVALID_ACTION; + + LightingManager * light = static_cast(aEvent->TimerEvent.Context); + + if (light->mState == kState_OffInitiated) + { + light->mState = kState_OffCompleted; + actionCompleted = OFF_ACTION; + } + else if (light->mState == kState_OnInitiated) + { + light->mState = kState_OnCompleted; + actionCompleted = ON_ACTION; + } + + if (actionCompleted != INVALID_ACTION) + { + if (light->mActionCompleted_CB) + { + light->mActionCompleted_CB(actionCompleted); + } + + if (light->mAutoTurnOff && actionCompleted == ON_ACTION) + { + // Start the timer for auto turn off + light->StartTimer(light->mAutoTurnOffDuration * 1000); + + light->mAutoTurnOffTimerArmed = true; + + log_info("Auto Turn off enabled. Will be triggered in %u seconds\r\n", light->mAutoTurnOffDuration); + } + } +} diff --git a/examples/lighting-app/bouffalolab/bl602/src/main.cpp b/examples/lighting-app/bouffalolab/bl602/src/main.cpp new file mode 100644 index 00000000000000..9f0cc914fb8095 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/src/main.cpp @@ -0,0 +1,113 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AppTask.h" +#include "CHIPDeviceManager.h" +#include "DeviceCallbacks.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#if CONFIG_ENABLE_PW_RPC +#include "PigweedLogger.h" +#include "Rpc.h" +#endif + +#include + +using namespace ::chip; +using namespace ::chip::DeviceManager; +using namespace ::chip::DeviceLayer; +using namespace ::chip::Credentials; + +void appError(int err) +{ + log_error("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!\r\n", err); + portDISABLE_INTERRUPTS(); + while (1) + ; +} + +void appError(CHIP_ERROR error) +{ + appError(static_cast(error.AsInteger())); +} + +static const char * TAG = "light-app"; + +static DeviceCallbacks EchoCallbacks; + +namespace { +app::Clusters::NetworkCommissioning::Instance + sWiFiNetworkCommissioningInstance(0 /* Endpoint Id */, &(NetworkCommissioning::BLWiFiDriver::GetInstance())); +} // namespace + +static void InitServer(intptr_t context) +{ + chip::Server::GetInstance().Init(); + + // Initialize device attestation config + SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider()); + + sWiFiNetworkCommissioningInstance.Init(); +} + +extern "C" int main() +{ + InitPlatform(); + +#if CONFIG_ENABLE_PW_RPC + chip::rpc::Init(); +#endif + + log_info("==================================================\r\n"); + log_info("chip-bl602-lighting-example starting\r\n"); + log_info("==================================================\r\n"); + +#if CONFIG_ENABLE_CHIP_SHELL + chip::LaunchShell(); +#endif + + log_info("------------------------Starting App Task---------------------------\r\n"); + + CHIPDeviceManager & deviceMgr = CHIPDeviceManager::GetInstance(); + CHIP_ERROR error = deviceMgr.Init(&EchoCallbacks); + if (error != CHIP_NO_ERROR) + { + log_info("device init failed: %s", ErrorStr(error)); + return; + } + + CHIP_ERROR err = GetAppTask().StartAppTask(); + if (err != CHIP_NO_ERROR) + { + log_error("GetAppTask().Init() failed\r\n"); + return 1; + } +} diff --git a/examples/lighting-app/bouffalolab/bl602/third_party/connectedhomeip b/examples/lighting-app/bouffalolab/bl602/third_party/connectedhomeip new file mode 120000 index 00000000000000..59307833b4fee9 --- /dev/null +++ b/examples/lighting-app/bouffalolab/bl602/third_party/connectedhomeip @@ -0,0 +1 @@ +../../../../.. \ No newline at end of file diff --git a/examples/platform/bouffalolab/bl602/BUILD.gn b/examples/platform/bouffalolab/bl602/BUILD.gn new file mode 100644 index 00000000000000..f7897e69f17d8a --- /dev/null +++ b/examples/platform/bouffalolab/bl602/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/bl602_sdk.gni") +import("//build_overrides/chip.gni") + +import("${bl602_sdk_build_root}/bl602_sdk.gni") + +config("chip_examples_project_config") { + include_dirs = [ "project_include" ] +} diff --git a/examples/platform/bouffalolab/bl602/InitPlatform.cpp b/examples/platform/bouffalolab/bl602/InitPlatform.cpp new file mode 100644 index 00000000000000..1df65555ed1dfe --- /dev/null +++ b/examples/platform/bouffalolab/bl602/InitPlatform.cpp @@ -0,0 +1,219 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void user_vAssertCalled(void) __attribute__((weak, alias("vAssertCalled"))); +void vAssertCalled(void) +{ + volatile uint32_t ulSetTo1ToExitFunction = 0; + + taskDISABLE_INTERRUPTS(); + while (ulSetTo1ToExitFunction != 1) + { + __asm volatile("NOP"); + } +} + +void vApplicationMallocFailedHook(void) +{ + printf("Memory Allocate Failed. Current left size is %d bytes\r\n", xPortGetFreeHeapSize()); + while (1) + { + /*empty here*/ + } +} + +void vApplicationIdleHook(void) +{ + __asm volatile(" wfi "); + /*empty*/ +} + +#if (configUSE_TICKLESS_IDLE != 0) +void vApplicationSleep(TickType_t xExpectedIdleTime_ms) +{ +#if defined(CFG_BLE_PDS) + int32_t bleSleepDuration_32768cycles = 0; + int32_t expectedIdleTime_32768cycles = 0; + eSleepModeStatus eSleepStatus; + bool freertos_max_idle = false; + + if (pds_start == 0) + return; + + if (xExpectedIdleTime_ms + xTaskGetTickCount() == portMAX_DELAY) + { + freertos_max_idle = true; + } + else + { + xExpectedIdleTime_ms -= 1; + expectedIdleTime_32768cycles = 32768 * xExpectedIdleTime_ms / 1000; + } + + if ((!freertos_max_idle) && (expectedIdleTime_32768cycles < TIME_5MS_IN_32768CYCLE)) + { + return; + } + + /*Disable mtimer interrrupt*/ + *(volatile uint8_t *) configCLIC_TIMER_ENABLE_ADDRESS = 0; + + eSleepStatus = eTaskConfirmSleepModeStatus(); + if (eSleepStatus == eAbortSleep || ble_controller_sleep_is_ongoing()) + { + /*A task has been moved out of the Blocked state since this macro was + executed, or a context siwth is being held pending.Restart the tick + and exit the critical section. */ + /*Enable mtimer interrrupt*/ + *(volatile uint8_t *) configCLIC_TIMER_ENABLE_ADDRESS = 1; + // printf("%s:not do ble sleep\r\n", __func__); + return; + } + + bleSleepDuration_32768cycles = ble_controller_sleep(); + + if (bleSleepDuration_32768cycles < TIME_5MS_IN_32768CYCLE) + { + /*BLE controller does not allow sleep. Do not enter a sleep state.Restart the tick + and exit the critical section. */ + /*Enable mtimer interrrupt*/ + // printf("%s:not do pds sleep\r\n", __func__); + *(volatile uint8_t *) configCLIC_TIMER_ENABLE_ADDRESS = 1; + } + else + { + printf("%s:bleSleepDuration_32768cycles=%ld\r\n", __func__, bleSleepDuration_32768cycles); + if (eSleepStatus == eStandardSleep && + ((!freertos_max_idle) && (expectedIdleTime_32768cycles < bleSleepDuration_32768cycles))) + { + hal_pds_enter_with_time_compensation(1, expectedIdleTime_32768cycles - 40); // 40);//20); + } + else + { + hal_pds_enter_with_time_compensation(1, bleSleepDuration_32768cycles - 40); // 40);//20); + } + } +#endif +} +#endif + +void vApplicationGetIdleTaskMemory(StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, + uint32_t * pulIdleTaskStackSize) +{ + /* If the buffers to be provided to the Idle task are declared inside this + function then they must be declared static - otherwise they will be allocated on + the stack and so not exists after this function exits. */ + static StaticTask_t xIdleTaskTCB; + // static StackType_t uxIdleTaskStack[ configMINIMAL_STACK_SIZE ]; + static StackType_t uxIdleTaskStack[512]; + + /* Pass out a pointer to the StaticTask_t structure in which the Idle task's + state will be stored. */ + *ppxIdleTaskTCBBuffer = &xIdleTaskTCB; + + /* Pass out the array that will be used as the Idle task's stack. */ + *ppxIdleTaskStackBuffer = uxIdleTaskStack; + + /* Pass out the size of the array pointed to by *ppxIdleTaskStackBuffer. + Note that, as the array is necessarily of type StackType_t, + configMINIMAL_STACK_SIZE is specified in words, not bytes. */ + //*pulIdleTaskStackSize = configMINIMAL_STACK_SIZE; + *pulIdleTaskStackSize = 512; // size 512 words is For ble pds mode, otherwise stack overflow of idle task will happen. +} + +static void event_cb_key_event(input_event_t * event, void * private_data) +{ + switch (event->code) + { + case KEY_1: { + log_info("[KEY_1] [EVT] INIT DONE %lld\r\n", aos_now_ms()); + log_info("short press \r\n"); + + log_info("factory reset. erasing easyflash...\r\n"); + ef_port_erase_all(); + log_info("factory reset. rebooting...\r\n"); + hal_reboot(); + } + break; + case KEY_2: { + log_info("[KEY_2] [EVT] INIT DONE %lld\r\n", aos_now_ms()); + log_info("long press \r\n"); + } + break; + case KEY_3: { + log_info("[KEY_3] [EVT] INIT DONE %lld\r\n", aos_now_ms()); + log_info("longlong press \r\n"); + // xTaskCreate(task_factory_reset, "factory-reset", 256, NULL, 10, NULL); + } + break; + default: { + log_info("[KEY] [EVT] Unknown code %u, %lld\r\n", event->code, aos_now_ms()); + /*nothing*/ + } + } +} + +extern int get_dts_addr(const char * name, uint32_t * start, uint32_t * off); + +void InitPlatform(void) +{ + bl_sys_init(); + + uint32_t fdt = 0, offset = 0; + if (0 == get_dts_addr("gpio", &fdt, &offset)) + { + hal_gpio_init_from_dts(fdt, offset); + fdt_button_module_init((const void *) fdt, (int) offset); + } + + aos_register_event_filter(EV_KEY, event_cb_key_event, NULL); +} + +#ifdef __cplusplus +} +#endif diff --git a/examples/platform/bouffalolab/bl602/InitPlatform.h b/examples/platform/bouffalolab/bl602/InitPlatform.h new file mode 100644 index 00000000000000..c8300268216c5c --- /dev/null +++ b/examples/platform/bouffalolab/bl602/InitPlatform.h @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*******************************************************************************/ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +// #include "board_features.h" +// #include "hal-config-board.h" +#include + +void InitPlatform(void); + +#ifdef __cplusplus +} +#endif diff --git a/examples/platform/bouffalolab/bl602/LEDWidget.cpp b/examples/platform/bouffalolab/bl602/LEDWidget.cpp new file mode 100644 index 00000000000000..8810de566452ed --- /dev/null +++ b/examples/platform/bouffalolab/bl602/LEDWidget.cpp @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "LEDWidget.h" + +#include + +void LEDWidget::InitGpio(void) +{ + // Sets gpio pin mode for ALL board Leds. + // BSP_LedsInit(); + // TODO: 3R +} + +void LEDWidget::Init(int ledNum) +{ + mLastChangeTimeUS = 0; + mBlinkOnTimeMS = 0; + mBlinkOffTimeMS = 0; + mLedNum = ledNum; + + Set(false); +} + +void LEDWidget::Invert(void) +{ + Set(!mState); +} + +void LEDWidget::Set(bool state) +{ + mLastChangeTimeUS = mBlinkOnTimeMS = mBlinkOffTimeMS = 0; + DoSet(state); +} + +void LEDWidget::Blink(uint32_t changeRateMS) +{ + Blink(changeRateMS, changeRateMS); +} + +void LEDWidget::Blink(uint32_t onTimeMS, uint32_t offTimeMS) +{ + mBlinkOnTimeMS = onTimeMS; + mBlinkOffTimeMS = offTimeMS; + Animate(); +} + +void LEDWidget::Animate() +{ + if (mBlinkOnTimeMS != 0 && mBlinkOffTimeMS != 0) + { + int64_t nowUS = ::chip::System::Layer::GetClock_MonotonicHiRes(); + int64_t stateDurUS = ((mState) ? mBlinkOnTimeMS : mBlinkOffTimeMS) * 1000LL; + int64_t nextChangeTimeUS = mLastChangeTimeUS + stateDurUS; + + if (nowUS > nextChangeTimeUS) + { + DoSet(!mState); + mLastChangeTimeUS = nowUS; + } + } +} + +void LEDWidget::DoSet(bool state) +{ + mState = state; + + if (state) + { + // BSP_LedSet(mLedNum); + // TODO: 3R + } + else + { + // BSP_LedClear(mLedNum); + // TODO: 3R + } +} diff --git a/examples/platform/bouffalolab/bl602/MemMonitoring.cpp b/examples/platform/bouffalolab/bl602/MemMonitoring.cpp new file mode 100644 index 00000000000000..edeea2ddf06281 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/MemMonitoring.cpp @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "MemMonitoring.h" + +#include "AppConfig.h" +#include "FreeRTOS.h" +#include +#include + +static StackType_t monitoringStack[MONITORING_STACK_SIZE_byte / sizeof(StackType_t)]; +static StaticTask_t monitoringTaskStruct; + +size_t nbAllocSuccess = 0; +size_t nbFreeSuccess = 0; +size_t largestBlockAllocated = 0; + +void MemMonitoring::startHeapMonitoring() +{ + xTaskCreateStatic(HeapMonitoring, "Monitoring", MONITORING_STACK_SIZE_byte / sizeof(StackType_t), NULL, 1, monitoringStack, + &monitoringTaskStruct); +} + +void MemMonitoring::HeapMonitoring(void * pvParameter) +{ + + UBaseType_t appTaskValue; + UBaseType_t bleEventTaskValue; + UBaseType_t bleTaskValue; + UBaseType_t linkLayerTaskValue; + UBaseType_t openThreadTaskValue; + UBaseType_t eventLoopTaskValue; + UBaseType_t lwipTaskValue; + + TaskHandle_t eventLoopHandleStruct = xTaskGetHandle(CHIP_DEVICE_CONFIG_CHIP_TASK_NAME); + TaskHandle_t lwipHandle = xTaskGetHandle(TCPIP_THREAD_NAME); + TaskHandle_t otTaskHandle = xTaskGetHandle(CHIP_DEVICE_CONFIG_THREAD_TASK_NAME); + TaskHandle_t appTaskHandle = xTaskGetHandle(APP_TASK_NAME); + TaskHandle_t bleStackTaskHandle = xTaskGetHandle(BLE_STACK_TASK_NAME); + TaskHandle_t bleLinkTaskHandle = xTaskGetHandle(BLE_LINK_TASK_NAME); + TaskHandle_t bleEventTaskHandle = xTaskGetHandle(CHIP_DEVICE_CONFIG_BLE_APP_TASK_NAME); + + while (1) + { + appTaskValue = uxTaskGetStackHighWaterMark(appTaskHandle); + bleEventTaskValue = uxTaskGetStackHighWaterMark(bleEventTaskHandle); + bleTaskValue = uxTaskGetStackHighWaterMark(bleStackTaskHandle); + linkLayerTaskValue = uxTaskGetStackHighWaterMark(bleLinkTaskHandle); + openThreadTaskValue = uxTaskGetStackHighWaterMark(otTaskHandle); + eventLoopTaskValue = uxTaskGetStackHighWaterMark(eventLoopHandleStruct); + lwipTaskValue = uxTaskGetStackHighWaterMark(lwipHandle); + + EFR32_LOG("============================="); + EFR32_LOG(" "); + EFR32_LOG("Largest Block allocated 0x%x", largestBlockAllocated); + EFR32_LOG("Number Of Successful Alloc 0x%x", nbAllocSuccess); + EFR32_LOG("Number Of Successful Frees 0x%x", nbFreeSuccess); + EFR32_LOG(" "); + EFR32_LOG("App Task most bytes ever Free 0x%x", (appTaskValue * 4)); + EFR32_LOG("BLE Event most bytes ever Free 0x%x", (bleEventTaskValue * 4)); + EFR32_LOG("BLE Stack most bytes ever Free 0x%x", (bleTaskValue * 4)); + EFR32_LOG("Link Layer Task most bytes ever Free 0x%x", (linkLayerTaskValue * 4)); + EFR32_LOG("OpenThread Task most bytes ever Free 0x%x", (openThreadTaskValue * 4)); + EFR32_LOG("Event Loop Task most bytes ever Free 0x%x", (eventLoopTaskValue * 4)); + EFR32_LOG("LWIP Task most bytes ever Free 0x%x", (lwipTaskValue * 4)); + EFR32_LOG(" "); + EFR32_LOG("============================="); + vTaskDelay(pdMS_TO_TICKS(5000)); + } +} + +extern "C" void memMonitoringTrackAlloc(void * ptr, size_t size) +{ + if (ptr != NULL) + { + nbAllocSuccess++; + if (largestBlockAllocated < size) + { + largestBlockAllocated = size; + } + } +} + +extern "C" void memMonitoringTrackFree(void * ptr, size_t size) +{ + nbFreeSuccess++; +} diff --git a/examples/platform/bouffalolab/bl602/MemMonitoring.h b/examples/platform/bouffalolab/bl602/MemMonitoring.h new file mode 100644 index 00000000000000..ffc430ccaf3193 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/MemMonitoring.h @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#ifdef HEAP_MONITORING +#include "FreeRTOS.h" + +#define MONITORING_STACK_SIZE_byte 1024 + +class MemMonitoring +{ +public: + static void startHeapMonitoring(); + +private: + static void HeapMonitoring(void * pvParameter); +}; + +#endif diff --git a/examples/platform/bouffalolab/bl602/PigweedLogger.cpp b/examples/platform/bouffalolab/bl602/PigweedLogger.cpp new file mode 100644 index 00000000000000..065161021f6b51 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/PigweedLogger.cpp @@ -0,0 +1,103 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * @file PigweedLogger.cpp + * + * This file contains basic string writing function, based on Pigweed HDLC + * over UART transport. It allows to send log messages even if the application + * needs to use HDLC/UART for another purpose like the RPC server. + */ + +#include + +#include "semphr.h" +#include +#include +#include + +#include +#include +#include +#include + +namespace PigweedLogger { +namespace { + +constexpr uint8_t kLogHdlcAddress = 1; // Send log messages to HDLC address 1 (other than RPC communication) +constexpr size_t kWriteBufferSize = 128; // Buffer for constructing HDLC frames + +// Exclusive access to the backend is needed to make sure that log messages coming +// from different threads are not interwoven. +SemaphoreHandle_t sLoggerLock; + +static pw::stream::SysIoWriter sWriter; +static size_t sWriteBufferPos; +static char sWriteBuffer[kWriteBufferSize]; + +static void send(void) +{ + pw::hdlc::WriteUIFrame(kLogHdlcAddress, std::as_bytes(std::span(sWriteBuffer, sWriteBufferPos)), sWriter); + sWriteBufferPos = 0; +} + +} // namespace + +void init(void) +{ + sLoggerLock = xSemaphoreCreateMutex(); + assert(sLoggerLock != NULL); + + pw_sys_io_Init(); +} + +int putString(const char * buffer, size_t size) +{ + assert(sWriteBufferPos < kWriteBufferSize); + + xSemaphoreTake(sLoggerLock, portMAX_DELAY); + + for (size_t i = 0; i < size; ++i) + { + // Send each line excluding "\r\n" in a separate frame + + if (buffer[i] == '\r') + continue; + + if (buffer[i] == '\n') + { + send(); + continue; + } + + sWriteBuffer[sWriteBufferPos++] = buffer[i]; + + if (sWriteBufferPos == kWriteBufferSize) + send(); + } + + xSemaphoreGive(sLoggerLock); + return size; +} + +SemaphoreHandle_t * GetSemaphore() +{ + return &sLoggerLock; +} + +} // namespace PigweedLogger diff --git a/examples/platform/bouffalolab/bl602/PigweedLogger.h b/examples/platform/bouffalolab/bl602/PigweedLogger.h new file mode 100644 index 00000000000000..9907ade58772da --- /dev/null +++ b/examples/platform/bouffalolab/bl602/PigweedLogger.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +#include "semphr.h" +#include + +namespace PigweedLogger { + +void init(void); +int putString(const char * buffer, size_t size); +SemaphoreHandle_t * GetSemaphore(); + +} // namespace PigweedLogger diff --git a/examples/platform/bouffalolab/bl602/Service.cpp b/examples/platform/bouffalolab/bl602/Service.cpp new file mode 100644 index 00000000000000..521550c9b44335 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/Service.cpp @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Service.h" + +#include "AppConfig.h" +#include "FreeRTOS.h" +#include "task.h" +#include +#include + +#include "lwip/err.h" +#include "lwip/sockets.h" +#include "lwip/sys.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::Transport; +using namespace ::chip::DeviceLayer; + +static char sDeviceName[128] = { 0 }; +// Hardcode UDP BroadcastPort. Temporary use for demo with OTBR +constexpr uint16_t kUDPBroadcastPort = 23367; + +void SetDeviceName(const char * newDeviceName) +{ + strncpy(sDeviceName, newDeviceName, sizeof(sDeviceName) - 1); +} + +void PublishService() +{ + chip::Inet::IPAddress addr; + if (!ConnectivityMgrImpl().IsThreadAttached()) + { + return; + } + ThreadStackMgrImpl().LockThreadStack(); + otError error = OT_ERROR_NONE; + otMessageInfo messageInfo; + otUdpSocket mSocket; + otMessage * message = nullptr; + + memset(&mSocket, 0, sizeof(mSocket)); + memset(&messageInfo, 0, sizeof(messageInfo)); + + // Use mesh local EID by default, if we have GUA, use that IP address. + memcpy(&messageInfo.mSockAddr, otThreadGetMeshLocalEid(ThreadStackMgrImpl().OTInstance()), sizeof(messageInfo.mSockAddr)); + + // Select a address to send + const otNetifAddress * otAddrs = otIp6GetUnicastAddresses(ThreadStackMgrImpl().OTInstance()); + for (const otNetifAddress * otAddr = otAddrs; otAddr != NULL; otAddr = otAddr->mNext) + { + addr = chip::DeviceLayer::Internal::ToIPAddress(otAddr->mAddress); + if (otAddr->mValid && addr.IsIPv6GlobalUnicast()) + { + memcpy(&messageInfo.mSockAddr, &(otAddr->mAddress), sizeof(otAddr->mAddress)); + break; + } + } + + message = otUdpNewMessage(ThreadStackMgrImpl().OTInstance(), nullptr); + otIp6AddressFromString("ff03::1", &messageInfo.mPeerAddr); + messageInfo.mPeerPort = kUDPBroadcastPort; + otMessageAppend(message, sDeviceName, static_cast(strlen(sDeviceName))); + + error = otUdpSend(ThreadStackMgrImpl().OTInstance(), &mSocket, message, &messageInfo); + + if (error != OT_ERROR_NONE && message != nullptr) + { + otMessageFree(message); + log_error("Failed to otUdpSend: %d", error); + } + ThreadStackMgrImpl().UnlockThreadStack(); +} diff --git a/examples/platform/bouffalolab/bl602/Service.h b/examples/platform/bouffalolab/bl602/Service.h new file mode 100644 index 00000000000000..1426ec65adec71 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/Service.h @@ -0,0 +1,21 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +void SetDeviceName(const char * newDeviceName); +void PublishService(); diff --git a/examples/platform/bouffalolab/bl602/args.gni b/examples/platform/bouffalolab/bl602/args.gni new file mode 100644 index 00000000000000..bbab38b1a34ff2 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/args.gni @@ -0,0 +1,21 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") + +chip_ble_project_config_include = "" +chip_device_project_config_include = "" +chip_project_config_include = "" +chip_inet_project_config_include = "" +chip_system_project_config_include = "" diff --git a/examples/platform/bouffalolab/bl602/board_config.h b/examples/platform/bouffalolab/bl602/board_config.h new file mode 100644 index 00000000000000..b832acf584bcdf --- /dev/null +++ b/examples/platform/bouffalolab/bl602/board_config.h @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2018, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * This file includes dev borad compile-time configuration constants for efr32. + * + */ + +#pragma once + +/// Dev board suppports OQPSK modulation in 2.4GHz band. +#if (BRD4161A || BRD4163A || BRD4164A || BRD4166A || BRD4170A || BRD4304A || BRD4180A) +#define RADIO_CONFIG_2P4GHZ_OQPSK_SUPPORT 1 +#else +#define RADIO_CONFIG_2P4GHZ_OQPSK_SUPPORT 0 +#endif + +/// Dev board doesn't support OQPSK modulation in 915MHz band. +#if (BRD4170A) +#define RADIO_CONFIG_915MHZ_OQPSK_SUPPORT 1 +#else +#define RADIO_CONFIG_915MHZ_OQPSK_SUPPORT 0 +#endif + +/// The PA(s) is(are) fed from the DCDC +#if (BRD4166A) +#define RADIO_CONFIG_PA_USES_DCDC 1 +#else +#define RADIO_CONFIG_PA_USES_DCDC 0 +#endif + +#ifndef RADIO_CONFIG_DEBUG_COUNTERS_SUPPORT +#define RADIO_CONFIG_DEBUG_COUNTERS_SUPPORT 0 /// Set to 1 to enable debug counters in radio.c +#endif + +#ifndef RADIO_CONFIG_DMP_SUPPORT +#define RADIO_CONFIG_DMP_SUPPORT 0 /// Set to 1 to enable Dynamic Multi-Protocol support in radio.c +#endif diff --git a/examples/platform/bouffalolab/bl602/board_features.h b/examples/platform/bouffalolab/bl602/board_features.h new file mode 100644 index 00000000000000..182cdd9bb9ae2c --- /dev/null +++ b/examples/platform/bouffalolab/bl602/board_features.h @@ -0,0 +1,246 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/******************************************************************************* + * @file + * @brief board_features.h + ******************************************************************************* + * # License + * Copyright 2018 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ + +#pragma once + +// Generated plugin macros + +#ifdef EMBER_AF_BOARD_TYPE +#undef EMBER_AF_BOARD_TYPE +#endif +#define EMBER_AF_BOARD_TYPE BOARD_ID + +/* Indicate if LCD is supported */ +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || (EMBER_AF_BOARD_TYPE == BRD4163A) || \ + (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || (EMBER_AF_BOARD_TYPE == BRD4167A) || \ + (EMBER_AF_BOARD_TYPE == BRD4168A) || (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || \ + (EMBER_AF_BOARD_TYPE == BRD4170A) || (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || \ + (EMBER_AF_BOARD_TYPE == BRD4172B) || (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || \ + (EMBER_AF_BOARD_TYPE == BRD4174B) || (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4180A) || \ + (EMBER_AF_BOARD_TYPE == BRD4180B) || (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || \ + (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4300A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || \ + (EMBER_AF_BOARD_TYPE == BRD4303A) || (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || \ + (EMBER_AF_BOARD_TYPE == BRD4305C) || (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || \ + (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4308A) || (EMBER_AF_BOARD_TYPE == BRD4308B) || \ + (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_LCD_SUPPORT +#endif + +/* Indicate if the same pins are used for LEDs and Buttons on the WSTK */ +#if (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4300A) || (EMBER_AF_BOARD_TYPE == BRD4301A) || \ + (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || \ + (EMBER_AF_BOARD_TYPE == BRD4306C) || (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4308A) || \ + (EMBER_AF_BOARD_TYPE == BRD4308B) || (EMBER_AF_BOARD_TYPE == BRD4309A) || (EMBER_AF_BOARD_TYPE == BRD4310A) || \ + (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_LED_BUTTON_ON_SAME_PIN +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4160A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4166A) || (EMBER_AF_BOARD_TYPE == BRD4167A) || (EMBER_AF_BOARD_TYPE == BRD4168A) || \ + (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || \ + (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4183A) || \ + (EMBER_AF_BOARD_TYPE == BRD4184A) || (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || \ + (EMBER_AF_BOARD_TYPE == BRD4303A) || (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || \ + (EMBER_AF_BOARD_TYPE == BRD4305C) || (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || \ + (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_SPI_FLASH +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4101B) +#define FEATURE_IOEXPANDER +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4151A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || \ + (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4168A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || (EMBER_AF_BOARD_TYPE == BRD4180A) || \ + (EMBER_AF_BOARD_TYPE == BRD4180B) || (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || \ + (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4308A) || \ + (EMBER_AF_BOARD_TYPE == BRD4308B) || (EMBER_AF_BOARD_TYPE == BRD4309A) +#define FEATURE_PA_INPUT_FROM_VBAT +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4183A) || (EMBER_AF_BOARD_TYPE == BRD4184A) || \ + (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_EXP_HEADER_USART1 +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4103A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4170A) +#define FEATURE_EXP_HEADER_USART3 +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4160A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4166A) || (EMBER_AF_BOARD_TYPE == BRD4167A) || (EMBER_AF_BOARD_TYPE == BRD4168A) || \ + (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || \ + (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4179B) || (EMBER_AF_BOARD_TYPE == BRD4180A) || \ + (EMBER_AF_BOARD_TYPE == BRD4180B) || (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || \ + (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4183A) || (EMBER_AF_BOARD_TYPE == BRD4184A) || \ + (EMBER_AF_BOARD_TYPE == BRD4300A) || (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || \ + (EMBER_AF_BOARD_TYPE == BRD4303A) || (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || \ + (EMBER_AF_BOARD_TYPE == BRD4305C) || (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || \ + (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4308A) || (EMBER_AF_BOARD_TYPE == BRD4308B) || \ + (EMBER_AF_BOARD_TYPE == BRD4309A) || (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_PTI_SUPPORT +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || (EMBER_AF_BOARD_TYPE == BRD4163A) || \ + (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || (EMBER_AF_BOARD_TYPE == BRD4167A) || \ + (EMBER_AF_BOARD_TYPE == BRD4168A) || (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || \ + (EMBER_AF_BOARD_TYPE == BRD4170A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || \ + (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4179B) || (EMBER_AF_BOARD_TYPE == BRD4180A) || \ + (EMBER_AF_BOARD_TYPE == BRD4180B) || (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || \ + (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4183A) || (EMBER_AF_BOARD_TYPE == BRD4300A) || \ + (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || (EMBER_AF_BOARD_TYPE == BRD4303A) || \ + (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || (EMBER_AF_BOARD_TYPE == BRD4305C) || \ + (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || (EMBER_AF_BOARD_TYPE == BRD4306A) || \ + (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || (EMBER_AF_BOARD_TYPE == BRD4306D) || \ + (EMBER_AF_BOARD_TYPE == BRD4308A) || (EMBER_AF_BOARD_TYPE == BRD4308B) || (EMBER_AF_BOARD_TYPE == BRD4309A) || \ + (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_HW_FLOW_CONTROL +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4160A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4166A) || (EMBER_AF_BOARD_TYPE == BRD4167A) || (EMBER_AF_BOARD_TYPE == BRD4168A) || \ + (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || \ + (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4184A) || \ + (EMBER_AF_BOARD_TYPE == BRD4300A) || (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || \ + (EMBER_AF_BOARD_TYPE == BRD4303A) || (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || \ + (EMBER_AF_BOARD_TYPE == BRD4305C) || (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || \ + (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) +#define FEATURE_I2C_SENSOR +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4160A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4166A) || (EMBER_AF_BOARD_TYPE == BRD4167A) || (EMBER_AF_BOARD_TYPE == BRD4168A) || \ + (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || (EMBER_AF_BOARD_TYPE == BRD4173A) || \ + (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || (EMBER_AF_BOARD_TYPE == BRD4175A) || \ + (EMBER_AF_BOARD_TYPE == BRD4179B) || (EMBER_AF_BOARD_TYPE == BRD4180A) || (EMBER_AF_BOARD_TYPE == BRD4180B) || \ + (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || (EMBER_AF_BOARD_TYPE == BRD4182A) || \ + (EMBER_AF_BOARD_TYPE == BRD4183A) || (EMBER_AF_BOARD_TYPE == BRD4184A) || (EMBER_AF_BOARD_TYPE == BRD4300A) || \ + (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || (EMBER_AF_BOARD_TYPE == BRD4303A) || \ + (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || (EMBER_AF_BOARD_TYPE == BRD4305C) || \ + (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || (EMBER_AF_BOARD_TYPE == BRD4306A) || \ + (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || (EMBER_AF_BOARD_TYPE == BRD4306D) || \ + (EMBER_AF_BOARD_TYPE == BRD4308A) || (EMBER_AF_BOARD_TYPE == BRD4308B) || (EMBER_AF_BOARD_TYPE == BRD4310A) +#define FEATURE_LFXO +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4179B) +#define FEATURE_EFP +#endif + +#if (EMBER_AF_BOARD_TYPE == BRD4100A) || (EMBER_AF_BOARD_TYPE == BRD4101B) || (EMBER_AF_BOARD_TYPE == BRD4103A) || \ + (EMBER_AF_BOARD_TYPE == BRD4104A) || (EMBER_AF_BOARD_TYPE == BRD4105A) || (EMBER_AF_BOARD_TYPE == BRD4150A) || \ + (EMBER_AF_BOARD_TYPE == BRD4150B) || (EMBER_AF_BOARD_TYPE == BRD4150C) || (EMBER_AF_BOARD_TYPE == BRD4151A) || \ + (EMBER_AF_BOARD_TYPE == BRD4153A) || (EMBER_AF_BOARD_TYPE == BRD4158A) || (EMBER_AF_BOARD_TYPE == BRD4159A) || \ + (EMBER_AF_BOARD_TYPE == BRD4160A) || (EMBER_AF_BOARD_TYPE == BRD4161A) || (EMBER_AF_BOARD_TYPE == BRD4162A) || \ + (EMBER_AF_BOARD_TYPE == BRD4163A) || (EMBER_AF_BOARD_TYPE == BRD4164A) || (EMBER_AF_BOARD_TYPE == BRD4165B) || \ + (EMBER_AF_BOARD_TYPE == BRD4166A) || (EMBER_AF_BOARD_TYPE == BRD4167A) || (EMBER_AF_BOARD_TYPE == BRD4168A) || \ + (EMBER_AF_BOARD_TYPE == BRD4169A) || (EMBER_AF_BOARD_TYPE == BRD4169B) || (EMBER_AF_BOARD_TYPE == BRD4170A) || \ + (EMBER_AF_BOARD_TYPE == BRD4171A) || (EMBER_AF_BOARD_TYPE == BRD4172A) || (EMBER_AF_BOARD_TYPE == BRD4172B) || \ + (EMBER_AF_BOARD_TYPE == BRD4173A) || (EMBER_AF_BOARD_TYPE == BRD4174A) || (EMBER_AF_BOARD_TYPE == BRD4174B) || \ + (EMBER_AF_BOARD_TYPE == BRD4175A) || (EMBER_AF_BOARD_TYPE == BRD4179B) || (EMBER_AF_BOARD_TYPE == BRD4180A) || \ + (EMBER_AF_BOARD_TYPE == BRD4180B) || (EMBER_AF_BOARD_TYPE == BRD4181A) || (EMBER_AF_BOARD_TYPE == BRD4181B) || \ + (EMBER_AF_BOARD_TYPE == BRD4182A) || (EMBER_AF_BOARD_TYPE == BRD4183A) || (EMBER_AF_BOARD_TYPE == BRD4184A) || \ + (EMBER_AF_BOARD_TYPE == BRD4300A) || (EMBER_AF_BOARD_TYPE == BRD4301A) || (EMBER_AF_BOARD_TYPE == BRD4302A) || \ + (EMBER_AF_BOARD_TYPE == BRD4303A) || (EMBER_AF_BOARD_TYPE == BRD4304A) || (EMBER_AF_BOARD_TYPE == BRD4305A) || \ + (EMBER_AF_BOARD_TYPE == BRD4305C) || (EMBER_AF_BOARD_TYPE == BRD4305D) || (EMBER_AF_BOARD_TYPE == BRD4305E) || \ + (EMBER_AF_BOARD_TYPE == BRD4306A) || (EMBER_AF_BOARD_TYPE == BRD4306B) || (EMBER_AF_BOARD_TYPE == BRD4306C) || \ + (EMBER_AF_BOARD_TYPE == BRD4306D) || (EMBER_AF_BOARD_TYPE == BRD4308A) || (EMBER_AF_BOARD_TYPE == BRD4308B) || \ + (EMBER_AF_BOARD_TYPE == BRD4309A) || (EMBER_AF_BOARD_TYPE == BRD4310A) || (EMBER_AF_BOARD_TYPE == BRD4311A) || \ + (EMBER_AF_BOARD_TYPE == RD_0057_0101) +#define FEATURE_BOARD_DETECTED +#endif + +#if (EMBER_AF_BOARD_TYPE == CUSTOM_BOARD) +// Uncomment the corresponding line in case of using Silicon Labs board feature in your design. +// For using the selected feature you may need additional drivers. Check an appropriate SDK example for reference. + +// #define FEATURE_LCD_SUPPORT +// #define FEATURE_LED_BUTTON_ON_SAME_PIN +// #define FEATURE_SPI_FLASH +// #define FEATURE_IOEXPANDER +// #define FEATURE_PA_INPUT_FROM_VBAT +// #define FEATURE_EXP_HEADER_USART1 +// #define FEATURE_EXP_HEADER_USART3 +// #define FEATURE_PTI_SUPPORT +// #define FEATURE_HW_FLOW_CONTROL +// #define FEATURE_I2C_SENSOR +// #define FEATURE_LFXO +// #define FEATURE_EFP +// #define FEATURE_BOARD_DETECTED +#endif diff --git a/examples/platform/bouffalolab/bl602/display/lcd.c b/examples/platform/bouffalolab/bl602/display/lcd.c new file mode 100644 index 00000000000000..54f246c681f9fe --- /dev/null +++ b/examples/platform/bouffalolab/bl602/display/lcd.c @@ -0,0 +1,129 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include "lcd.h" + +#include "display.h" +#include "dmd.h" +#include "glib.h" +#include "qrcodegen.h" + +#define LCD_SIZE 128 +#define QR_CODE_VERSION 4 +#define QR_CODE_MODULE_SIZE 3 +#define QR_CODE_BORDER_SIZE 0 + +static GLIB_Context_t glibContext; +static uint8_t qrCode[qrcodegen_BUFFER_LEN_FOR_VERSION(QR_CODE_VERSION)]; +static uint8_t workBuffer[qrcodegen_BUFFER_LEN_FOR_VERSION(QR_CODE_VERSION)]; + +static void LCDFillRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h); + +void initLCD(void) +{ + EMSTATUS status; + + /* Initialize the DMD module for the DISPLAY device driver. */ + status = DMD_init(0); + if (DMD_OK != status) + { + EFR32_LOG("DMD init failed %d", status); + } + + /* Initialize the glib context */ + status = GLIB_contextInit(&glibContext); + if (GLIB_OK != status) + { + EFR32_LOG("Glib context init failed %d", status); + } + + glibContext.backgroundColor = White; + glibContext.foregroundColor = Black; + status = GLIB_clear(&glibContext); + if (GLIB_OK != status) + { + EFR32_LOG("Glib clear failed %d", status); + } +} + +/* This function is necessary because currently glib.h cannot be used within a C++ context. */ +void * LCDContext() +{ + return (void *) &glibContext; +} + +int LCD_clear(void * pContext) +{ + return GLIB_clear((GLIB_Context_t *) pContext); +} + +int LCD_drawPixel(void * pContext, int32_t x, int32_t y) +{ + return GLIB_drawPixel((GLIB_Context_t *) pContext, x, y); +} + +int LCD_update(void) +{ + return DMD_updateDisplay(); +} + +void LCDWriteQRCode(uint8_t * str) +{ + if (!qrcodegen_encodeText((const char *) str, workBuffer, qrCode, qrcodegen_Ecc_LOW, QR_CODE_VERSION, QR_CODE_VERSION, + qrcodegen_Mask_AUTO, true)) + { + EFR32_LOG("qrcodegen_encodeText() failed"); + return; + } + + const int size = qrcodegen_getSize(qrCode); + + GLIB_clear(&glibContext); + + const int displaySize = (2 * QR_CODE_BORDER_SIZE + size) * QR_CODE_MODULE_SIZE; + const int displayX = (LCD_SIZE - displaySize) / 2; + const int displayY = displayX; + + for (int y = 0; y < size; ++y) + { + for (int x = 0; x < size; ++x) + { + if (qrcodegen_getModule(qrCode, x, y)) + { + LCDFillRect(displayX + (QR_CODE_BORDER_SIZE + x) * QR_CODE_MODULE_SIZE, + displayY + (QR_CODE_BORDER_SIZE + y) * QR_CODE_MODULE_SIZE, QR_CODE_MODULE_SIZE, QR_CODE_MODULE_SIZE); + } + } + } + + DMD_updateDisplay(); +} + +void LCDFillRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h) +{ + for (int i = 0; i < h; i++) + { + for (int j = 0; j < w; j++) + { + GLIB_drawPixel(&glibContext, x + j, y + i); + } + } +} diff --git a/examples/platform/bouffalolab/bl602/hal-config-app-common.h b/examples/platform/bouffalolab/bl602/hal-config-app-common.h new file mode 100644 index 00000000000000..b19a61575b89e2 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/hal-config-app-common.h @@ -0,0 +1,121 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/****************************************************************************** + * @file + * @brief hal-config-app-common.h + ******************************************************************************* + * # License + * Copyright 2018 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ + +#pragma once + +#include "em_device.h" +#include "hal-config-types.h" + +#if defined(FEATURE_IOEXPANDER) +#include "hal-config-ioexp.h" +#endif + +#define HAL_EXTFLASH_FREQUENCY (1000000) + +#define HAL_PTI_ENABLE (1) +#define HAL_PTI_MODE (HAL_PTI_MODE_UART) +#define HAL_PTI_BAUD_RATE (1600000) + +#define HAL_PA_RAMP (10) +#define HAL_PA_2P4_LOWPOWER (0) +#define HAL_PA_POWER (252) +#define HAL_PA_CURVE_HEADER "pa_curves_efr32.h" + +#define HAL_PA_VOLTAGE BSP_PA_VOLTAGE + +// Select antenna path on EFR32xG2x devices: +// - RF2G2_IO1: 0 +// - RF2G2_IO2: 1 +#define GECKO_RF_ANTENNA 1 +#if defined(FEATURE_EXP_HEADER_USART3) + +#define BSP_EXP_USART USART3 + +#define BSP_EXP_USART_CTS_PIN BSP_USART3_CTS_PIN +#define BSP_EXP_USART_CTS_PORT BSP_USART3_CTS_PORT +#define BSP_EXP_USART_CTS_LOC BSP_USART3_CTS_LOC + +#define BSP_EXP_USART_RTS_PIN BSP_USART3_RTS_PIN +#define BSP_EXP_USART_RTS_PORT BSP_USART3_RTS_PORT +#define BSP_EXP_USART_RTS_LOC BSP_USART3_RTS_LOC + +#define BSP_EXP_USART_RX_PIN BSP_USART3_RX_PIN +#define BSP_EXP_USART_RX_PORT BSP_USART3_RX_PORT +#define BSP_EXP_USART_RX_LOC BSP_USART3_RX_LOC + +#define BSP_EXP_USART_TX_PIN BSP_USART3_TX_PIN +#define BSP_EXP_USART_TX_PORT BSP_USART3_TX_PORT +#define BSP_EXP_USART_TX_LOC BSP_USART3_TX_LOC + +#elif defined(FEATURE_EXP_HEADER_USART1) + +#define BSP_EXP_USART USART1 + +#define BSP_EXP_USART_CTS_PIN BSP_USART1_CTS_PIN +#define BSP_EXP_USART_CTS_PORT BSP_USART1_CTS_PORT +#define BSP_EXP_USART_CTS_LOC BSP_USART1_CTS_LOC + +#define BSP_EXP_USART_RTS_PIN BSP_USART1_RTS_PIN +#define BSP_EXP_USART_RTS_PORT BSP_USART1_RTS_PORT +#define BSP_EXP_USART_RTS_LOC BSP_USART1_RTS_LOC + +#define BSP_EXP_USART_RX_PIN BSP_USART1_RX_PIN +#define BSP_EXP_USART_RX_PORT BSP_USART1_RX_PORT +#define BSP_EXP_USART_RX_LOC BSP_USART1_RX_LOC + +#define BSP_EXP_USART_TX_PIN BSP_USART1_TX_PIN +#define BSP_EXP_USART_TX_PORT BSP_USART1_TX_PORT +#define BSP_EXP_USART_TX_LOC BSP_USART1_TX_LOC + +#else + +#define BSP_EXP_USART USART0 + +#define BSP_EXP_USART_CTS_PIN BSP_USART0_CTS_PIN +#define BSP_EXP_USART_CTS_PORT BSP_USART0_CTS_PORT +#define BSP_EXP_USART_CTS_LOC BSP_USART0_CTS_LOC + +#define BSP_EXP_USART_RTS_PIN BSP_USART0_RTS_PIN +#define BSP_EXP_USART_RTS_PORT BSP_USART0_RTS_PORT +#define BSP_EXP_USART_RTS_LOC BSP_USART0_RTS_LOC + +#define BSP_EXP_USART_RX_PIN BSP_USART0_RX_PIN +#define BSP_EXP_USART_RX_PORT BSP_USART0_RX_PORT +#define BSP_EXP_USART_RX_LOC BSP_USART0_RX_LOC + +#define BSP_EXP_USART_TX_PIN BSP_USART0_TX_PIN +#define BSP_EXP_USART_TX_PORT BSP_USART0_TX_PORT +#define BSP_EXP_USART_TX_LOC BSP_USART0_TX_LOC + +#endif // FEATURE_EXP_HEADER_USART3 diff --git a/examples/platform/bouffalolab/bl602/lcd.h b/examples/platform/bouffalolab/bl602/lcd.h new file mode 100644 index 00000000000000..52680109932c10 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/lcd.h @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "AppConfig.h" +#include "board_features.h" + +#define MAX_STR_LEN 48 + +void initLCD(void); +void * LCDContext(); +int LCD_clear(void * pContext); +int LCD_drawPixel(void * pContext, int32_t x, int32_t y); +int LCD_update(void); +void LCDWriteQRCode(uint8_t * text); + +#ifdef __cplusplus +} +#endif diff --git a/examples/platform/bouffalolab/bl602/ldscripts/flash_rom.ld b/examples/platform/bouffalolab/bl602/ldscripts/flash_rom.ld new file mode 100644 index 00000000000000..45ec9eacc10192 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/ldscripts/flash_rom.ld @@ -0,0 +1,272 @@ +OUTPUT_ARCH( "riscv" ) + +ENTRY( bl602_start ) + +__EM_SIZE = DEFINED(ble_controller_init) ? 8K : 0K; +__RFTLV_SIZE_OFFSET = 1K; +__RFTLV_SIZE_HOLE = 2K; +__RFTLV_HEAD1_H = (0x46524C42); /* BLRF */ +__RFTLV_HEAD1_L = (0x41524150); /* PAPA */ + +__RAM_START = 0x4200C000; +__RAM_END = 0x4200C000 + 256K - __EM_SIZE; /* leave 8K left for BLE */ + +__RAM_TCM_LEN = (16K + 16K + 48K + 64K + 64K - 16K); +__RAM_WIFI_LEN = (__RAM_END - __RAM_START - __RAM_TCM_LEN); + +MEMORY +{ + rom (rxai!w) : ORIGIN = 0x21015000, LENGTH = 44K + flash (rxai!w) : ORIGIN = 0x23000000, LENGTH = 4M + + /* ram_tcm (wxa) : ORIGIN = 0x4200C000, LENGTH = (16K + 16K + 48K + 64K + 64K + 8K - __EM_SIZE) put itcm with dtam and also OCRAM*/ + /* ram_wifi (wxa) : ORIGIN = 0x42042000 - __EM_SIZE, LENGTH = (8K + 104K - 64K - 8K) leave 8K left for BLE*/ + + ram_tcm (wxa) : ORIGIN = __RAM_START, LENGTH = __RAM_TCM_LEN + ram_wifi (wxa) : ORIGIN = __RAM_START + __RAM_TCM_LEN, LENGTH = __RAM_WIFI_LEN +} + +SECTIONS +{ + __stack_size = DEFINED(__stack_size) ? __stack_size : 2K; + BOOT2_PT_ADDR = 0x42049C00; + BOOT2_FLASHCFG_ADDR = 0x42049c18; + + .init : + { + KEEP (*(SORT_NONE(.init))) + } > flash + + /* value for rftlv */ + + .rftlv.tool : + { + . = ORIGIN(flash) + __RFTLV_SIZE_OFFSET; + PROVIDE( _ld_symbol_rftlv_address = . ); + LONG(__RFTLV_HEAD1_H); + LONG(__RFTLV_HEAD1_L); + . = ORIGIN(flash) + __RFTLV_SIZE_OFFSET + __RFTLV_SIZE_HOLE; + } > flash + + .text : + { + *(.text.unlikely .text.unlikely.*) + *(.text.startup .text.startup.*) + *(.text .text.*) + *(.gnu.linkonce.t.*) + } > flash + + .rodata : + { + *(.rdata) + *(.rodata .rodata.*) + *(.sdata2.*) + + /* static cli cmds */ + . = ALIGN(4); + _bl_static_cli_cmds_start = .; + KEEP(*(.static_cli_cmds)) + *(.static_cli_cmds) + _bl_static_cli_cmds_end = .; + + /* CI cmds */ + . = ALIGN(4); + KEEP(*(.ctest)) + + /* static fw attribute entry */ + . = ALIGN(4); + _bl_static_fw_cfg_entry_start = .; + KEEP(*(.wifi.cfg.entry)) + _bl_static_fw_cfg_entry_end = .; + + /* static blog code1 */ + . = ALIGN(4); + _bl_static_blogcomponent_code_start = .; + KEEP(SORT(*)(.static_blogcomponent_code*)) + *(.static_blogcomponent_code*) + _bl_static_blogcomponent_code_end = .; + + /* static blog code2 */ + . = ALIGN(4); + _bl_static_blogfile_code_start = .; + KEEP(SORT(*)(.static_blogfile_code*)) + *(.static_blogfile_code*) + _bl_static_blogfile_code_end = .; + + /* static blog code3 */ + . = ALIGN(4); + _bl_static_blogpri_code_start = .; + KEEP(SORT(*)(.static_blogpri_code*)) + *(.static_blogpri_code*) + _bl_static_blogpri_code_end = .; + + *(.gnu.linkonce.r.*) + + /*Framework table section, use ALIGN here to avoid fill section*/ + . = ALIGN(4); + _rom_framework_audio_device_start = .; + KEEP(*(.framework.audio_device)) + _rom_framework_audio_device_end = .; + } > flash + + .preinit_array : + { + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + } > flash + + .init_array : + { + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + } > flash + + /*put wifibss in the first place*/ + .wifibss (NOLOAD) : + { + PROVIDE( __wifi_bss_start = ADDR(.wifibss) ); + PROVIDE( __wifi_bss_end = ADDR(.wifibss) + SIZEOF(.wifibss) ); + *ipc_shared.o(COMMON) + *sdu_shared.o(COMMON) + *hal_desc.o(COMMON) + *txl_buffer_shared.o(COMMON) + *txl_frame_shared.o(COMMON) + *scan_shared.o(COMMON) + *scanu_shared.o(COMMON) + *mfp_bip.o(COMMON) + *me_mic.o(COMMON) + *bl_sta_mgmt_others.o(COMMON) + *bl_pmk_mgmt.o(COMMON) + *bl_pmk_mgmt_internal.o(COMMON) + *libwifi_drv.a:bl_utils.o(COMMON) + *libwifi_drv.a:bl_utils.o(.bss*) + *(.wifi_ram*) + . = ALIGN(16); + } > ram_wifi + + PROVIDE( _heap_wifi_start = . ); + PROVIDE( _heap_wifi_size = ORIGIN(ram_wifi) + LENGTH(ram_wifi) - _heap_wifi_start ); + + .romdata : + { + /*always put freetos under global_pointer with the following order. No change!*/ + PROVIDE( __global_pointer_head$ = . ); + PROVIDE( __global_pointer$ = . + 0x7F0 ); + . = . + 0x498; + } > ram_tcm AT > flash + + .data : + { + PROVIDE( _data_load = LOADADDR(.data) ); + PROVIDE( _data_run = ADDR(.data) ); + PROVIDE( _data_run_end = ADDR(.data) + SIZEOF(.data)); + + *(.tcm_code) + *(.tcm_const) + *(.sclock_rlt_code) + *(.sclock_rlt_const) + *(.data .data.*) + *(.gnu.linkonce.d.*) + + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + + . = ALIGN(8); + *(.srodata.cst16) + *(.srodata.cst8) + *(.srodata.cst4) + *(.srodata.cst2) + *(.srodata .srodata.*) + + . = ALIGN(8); + *(._k_queue.static.*) + *(._k_sem.static.*) + *(._k_mutex.static.*) + _bt_gatt_service_static_list_start = .; + KEEP(*(SORT_BY_NAME("._bt_gatt_service_static.static.*"))) + _bt_gatt_service_static_list_end = .; + _bt_l2cap_fixed_chan_list_start = .; + KEEP(*(SORT_BY_NAME("._bt_l2cap_fixed_chan.static.*"))) + _bt_l2cap_fixed_chan_list_end = .; + + /* For BFLB Coredump */ + _coredump_binary_id_start = . - ADDR(.data) + LOADADDR(.data); + KEEP(*(.coredump_binary_id)) + + } > ram_tcm AT > flash + + .boot2 (NOLOAD) : + { + PROVIDE ( __boot2_pt_addr_start = . ); + *(.bss.boot2_partition_table) + PROVIDE ( __boot2_pt_addr_end = . ); + + PROVIDE ( __boot2_flashCfg_start = . ); + *(.bss.boot2_flashCfg) + PROVIDE ( __boot2_flashCfg_end = . ); + + } > ram_tcm + + .bss (NOLOAD) : + { + PROVIDE( __bss_start = ADDR(.bss) ); + PROVIDE( __bss_end = ADDR(.bss) + SIZEOF(.bss) ); + + *(.sbss*) + *(.gnu.linkonce.sb.*) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + } > ram_tcm + + .stack (NOLOAD) : + { + PROVIDE ( _sp_base = . ); + . = ALIGN(16); + . = . + __stack_size; + PROVIDE( _sp_main = . ); + __freertos_irq_stack_top = .; + } + + PROVIDE( _heap_start = . ); + PROVIDE( _heap_size = ORIGIN(ram_tcm) + LENGTH(ram_tcm) - _heap_start ); + + /*SYMOBOL used in code*/ + PROVIDE( _ld_bl_static_cli_cmds_start = _bl_static_cli_cmds_start ); + PROVIDE( _ld_bl_static_cli_cmds_end = _bl_static_cli_cmds_end ); + + /*CFG FW used in code*/ + PROVIDE( _ld_bl_static_cfg_entry_start = _bl_static_fw_cfg_entry_start ); + PROVIDE( _ld_bl_static_cfg_entry_end = _bl_static_fw_cfg_entry_end ); + + /* blog */ + PROVIDE( _ld_bl_static_blogcomponent_code_start = _bl_static_blogcomponent_code_start ); + PROVIDE( _ld_bl_static_blogcomponent_code_end = _bl_static_blogcomponent_code_end ); + PROVIDE( _ld_bl_static_blogfile_code_start = _bl_static_blogfile_code_start ); + PROVIDE( _ld_bl_static_blogfile_code_end = _bl_static_blogfile_code_end ); + PROVIDE( _ld_bl_static_blogpri_code_start = _bl_static_blogpri_code_start ); + PROVIDE( _ld_bl_static_blogpri_code_end = _bl_static_blogpri_code_end ); + + PROVIDE( _ld_ram_size0 = LENGTH(flash) ); + PROVIDE( _ld_ram_addr0 = ORIGIN(flash) ); + PROVIDE( _ld_ram_size1 = LENGTH(ram_tcm) ); + PROVIDE( _ld_ram_addr1 = ORIGIN(ram_tcm) ); + PROVIDE( _ld_ram_size2 = LENGTH(ram_wifi) ); + PROVIDE( _ld_ram_addr2 = ORIGIN(ram_wifi) ); + + + /*BOOT2 sections*/ + PROVIDE ( __boot2_pt_addr_src = BOOT2_PT_ADDR ); + PROVIDE ( __boot2_flashCfg_src = BOOT2_FLASHCFG_ADDR ); + + PROVIDE(__LD_CONFIG_EM_SEL = __EM_SIZE); + + PROVIDE( _ld_symbol_rom_framework_audio_device_start = _rom_framework_audio_device_start); + PROVIDE( _ld_symbol_rom_framework_audio_device_end = _rom_framework_audio_device_end); + +} diff --git a/examples/platform/bouffalolab/bl602/project_include/OpenThreadConfig.h b/examples/platform/bouffalolab/bl602/project_include/OpenThreadConfig.h new file mode 100644 index 00000000000000..1569c08558848a --- /dev/null +++ b/examples/platform/bouffalolab/bl602/project_include/OpenThreadConfig.h @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Overrides to default OpenThread configuration. + * + */ + +#pragma once + +#include + +// Disable the SiLabs-supplied OpenThread logging facilities and use +// the facilities provided by the Device Layer (see +// src/platform/EFR32/Logging.cpp). +#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_APP + +// Turn on a moderate level of logging in OpenThread +// Enable use of external heap allocator (calloc/free) for OpenThread. +#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 1 + +// EFR32MG21A020F1024IM32 has 96k of RAM. Reduce the number of buffers to +// conserve RAM for this Series 2 part. +#if defined(EFR32MG21) +#define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 22 +#define OPENTHREAD_CONFIG_CLI_UART_TX_BUFFER_SIZE 512 +#define OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE 512 +#endif + +#define OPENTHREAD_CONFIG_JOINER_ENABLE 1 +#define OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 1 +#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 + +#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 +#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 + +// Use the SiLabs-supplied default platform configuration for remainder +// of OpenThread config options. +// +// NB: This file gets included during the build of OpenThread. Hence +// it cannot use "openthread" in the path to the included file. +// +#include "openthread-core-efr32-config.h" diff --git a/examples/platform/bouffalolab/bl602/pw_sys_io/BUILD.gn b/examples/platform/bouffalolab/bl602/pw_sys_io/BUILD.gn new file mode 100644 index 00000000000000..c7001f3271284c --- /dev/null +++ b/examples/platform/bouffalolab/bl602/pw_sys_io/BUILD.gn @@ -0,0 +1,39 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") + +import("$dir_pw_build/target_types.gni") + +examples_plat_dir = "${chip_root}/examples/platform/bl602" + +config("default_config") { + include_dirs = [ "public" ] +} + +pw_source_set("pw_sys_io_bl602") { + sources = [ "sys_io_bl602.cc" ] + + deps = [ + "$dir_pw_sys_io:default_putget_bytes", + "$dir_pw_sys_io:facade", + ] + + cflags = [ "-Wconversion" ] + + public_configs = [ ":default_config" ] + + include_dirs = [ "${examples_plat_dir}" ] +} diff --git a/examples/platform/bouffalolab/bl602/pw_sys_io/public/pw_sys_io_efr32/init.h b/examples/platform/bouffalolab/bl602/pw_sys_io/public/pw_sys_io_efr32/init.h new file mode 100644 index 00000000000000..f11f5e928f3e14 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/pw_sys_io/public/pw_sys_io_efr32/init.h @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "pw_preprocessor/util.h" + +PW_EXTERN_C_START + +// The actual implement of PreMainInit() in sys_io_BACKEND. +void pw_sys_io_Init(); + +PW_EXTERN_C_END diff --git a/examples/platform/bouffalolab/bl602/pw_sys_io/sys_io_efr32.cc b/examples/platform/bouffalolab/bl602/pw_sys_io/sys_io_efr32.cc new file mode 100644 index 00000000000000..aff53278e1a2af --- /dev/null +++ b/examples/platform/bouffalolab/bl602/pw_sys_io/sys_io_efr32.cc @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "pw_sys_io/sys_io.h" +#include +#include +#include +#include + +#include "uart.h" + +int16_t console_getchar(char * chr) +{ + int16_t retVal = 0; + + // Busy wait for pw_rcp reads + while (retVal == 0) + { + retVal = uartConsoleRead(chr, 1); + } + return retVal; +} + +int16_t console_putchar(const char * chr) +{ + return uartConsoleWrite(chr, 1); +} + +extern "C" void pw_sys_io_Init() +{ + uartConsoleInit(); +} + +namespace pw::sys_io { + +Status ReadByte(std::byte * dest) +{ + if (!dest) + return Status::InvalidArgument(); + + int16_t ret = console_getchar(reinterpret_cast(dest)); + return ret < 0 ? Status::FailedPrecondition() : OkStatus(); +} + +Status WriteByte(std::byte b) +{ + int16_t ret = console_putchar(reinterpret_cast(&b)); + return ret < 0 ? Status::FailedPrecondition() : OkStatus(); +} + +// Writes a string using pw::sys_io, and add newline characters at the end. +StatusWithSize WriteLine(const std::string_view & s) +{ + size_t chars_written = 0; + StatusWithSize result = WriteBytes(std::as_bytes(std::span(s))); + if (!result.ok()) + { + return result; + } + chars_written += result.size(); + result = WriteBytes(std::as_bytes(std::span("\r\n", 2))); + chars_written += result.size(); + + return StatusWithSize(result.status(), chars_written); +} + +} // namespace pw::sys_io diff --git a/examples/platform/bouffalolab/bl602/uart.c b/examples/platform/bouffalolab/bl602/uart.c new file mode 100644 index 00000000000000..d47ac3938ed177 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/uart.c @@ -0,0 +1,307 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "uart.h" +#include "AppConfig.h" +#include "assert.h" +#include "em_core.h" +#include "em_usart.h" +#include "hal-config.h" +#include "sl_uartdrv_usart_vcom_config.h" +#include "uartdrv.h" +#include +#include + +#if !defined(MIN) +#define MIN(A, B) ((A) < (B) ? (A) : (B)) +#endif + +#define HELPER1(x) USART##x##_RX_IRQn +#define HELPER2(x) HELPER1(x) +#define USART_IRQ HELPER2(SL_UARTDRV_USART_VCOM_PERIPHERAL_NO) + +#define HELPER3(x) USART##x##_RX_IRQHandler +#define HELPER4(x) HELPER3(x) +#define USART_IRQHandler HELPER4(SL_UARTDRV_USART_VCOM_PERIPHERAL_NO) + +DEFINE_BUF_QUEUE(EMDRV_UARTDRV_MAX_CONCURRENT_RX_BUFS, sUartRxQueue); +DEFINE_BUF_QUEUE(EMDRV_UARTDRV_MAX_CONCURRENT_TX_BUFS, sUartTxQueue); + +typedef struct +{ + // The data buffer + uint8_t * pBuffer; + // The offset of the first item written to the list. + volatile uint16_t Head; + // The offset of the next item to be written to the list. + volatile uint16_t Tail; + // Maxium size of data that can be hold in buffer before overwriting + uint16_t MaxSize; +} Fifo_t; + +#define UART_CONSOLE_ERR -1 // Negative value in case of UART Console action failed. Triggers a failure for PW_RPC +#define MAX_BUFFER_SIZE 256 +#define MAX_DMA_BUFFER_SIZE (MAX_BUFFER_SIZE / 2) +// In order to reduce the probability of data loss during the dmaFull callback handler we use +// two duplicate receive buffers so we can always have one "active" receive queue. +static uint8_t sRxDmaBuffer[MAX_DMA_BUFFER_SIZE]; +static uint8_t sRxDmaBuffer2[MAX_DMA_BUFFER_SIZE]; +static uint16_t lastCount; // Nb of bytes already processed from the active dmaBuffer + +// Rx buffer for the receive Fifo +static uint8_t sRxFifoBuffer[MAX_BUFFER_SIZE]; +static Fifo_t sReceiveFifo; + +static UARTDRV_HandleData_t sUartHandleData; +static UARTDRV_Handle_t sUartHandle = &sUartHandleData; + +static void UART_rx_callback(UARTDRV_Handle_t handle, Ecode_t transferStatus, uint8_t * data, UARTDRV_Count_t transferCount); + +static bool InitFifo(Fifo_t * fifo, uint8_t * pDataBuffer, uint16_t bufferSize) +{ + if (fifo == NULL || pDataBuffer == NULL) + { + return false; + } + + fifo->pBuffer = pDataBuffer; + fifo->MaxSize = bufferSize; + fifo->Tail = fifo->Head = 0; + + return true; +} + +/* + * @brief Get the amount of unprocessed bytes in the fifo buffer + * @param Ptr to the fifo + * @return Nb of "unread" bytes available in the fifo + */ +static uint16_t AvailableDataCount(Fifo_t * fifo) +{ + uint16_t size = 0; + + // if equal there is no data return 0 directly + if (fifo->Tail != fifo->Head) + { + // determine if a wrap around occurred to get the right data size available. + size = (fifo->Tail < fifo->Head) ? (fifo->MaxSize - fifo->Head + fifo->Tail) : (fifo->Tail - fifo->Head); + } + + return size; +} + +/* + * @brief Get the available space in the fifo buffer to insert new data + * @param Ptr to the fifo + * @return Nb of free bytes left in te buffer + */ +static uint16_t RemainingSpace(Fifo_t * fifo) +{ + return fifo->MaxSize - AvailableDataCount(fifo); +} + +/* + * @brief Write data in the fifo as a circular buffer + * @param Ptr to the fifo, ptr of the data to write, nb of bytes to write + */ +static void WriteToFifo(Fifo_t * fifo, uint8_t * pDataToWrite, uint16_t SizeToWrite) +{ + assert(fifo); + assert(pDataToWrite); + assert(SizeToWrite <= fifo->MaxSize); + + // Overwrite is not allowed + if (RemainingSpace(fifo) >= SizeToWrite) + { + uint16_t nBytesBeforWrap = (fifo->MaxSize - fifo->Tail); + if (SizeToWrite > nBytesBeforWrap) + { + // The number of bytes to write is bigger than the remaining bytes + // in the buffer, we have to wrap around + memcpy(fifo->pBuffer + fifo->Tail, pDataToWrite, nBytesBeforWrap); + memcpy(fifo->pBuffer, pDataToWrite + nBytesBeforWrap, SizeToWrite - nBytesBeforWrap); + } + else + { + memcpy(fifo->pBuffer + fifo->Tail, pDataToWrite, SizeToWrite); + } + + fifo->Tail = (fifo->Tail + SizeToWrite) % fifo->MaxSize; // increment tail with wraparound + } +} + +/* + * @brief Write data in the fifo as a circular buffer + * @param Ptr to the fifo, ptr to contain the data to process, nb of bytes to pull from the fifo + * @return Nb of bytes that were retrieved. + */ +static uint8_t RetrieveFromFifo(Fifo_t * fifo, uint8_t * pData, uint16_t SizeToRead) +{ + assert(fifo); + assert(pData); + assert(SizeToRead <= fifo->MaxSize); + + uint16_t ReadSize = MIN(SizeToRead, AvailableDataCount(fifo)); + uint16_t nBytesBeforWrap = (fifo->MaxSize - fifo->Head); + + if (ReadSize > nBytesBeforWrap) + { + memcpy(pData, fifo->pBuffer + fifo->Head, nBytesBeforWrap); + memcpy(pData + nBytesBeforWrap, fifo->pBuffer, ReadSize - nBytesBeforWrap); + } + else + { + memcpy(pData, (fifo->pBuffer + fifo->Head), ReadSize); + } + + fifo->Head = (fifo->Head + ReadSize) % fifo->MaxSize; // increment tail with wraparound + + return ReadSize; +} + +/* + * @brief Init the the UART for serial communication, Start DMA reception + * and init Fifo to handle the received data from this uart + * + * @Note This UART is used for pigweed rpc + */ +void uartConsoleInit(void) +{ + UARTDRV_Init_t uartInit = { + .port = USART0, + .baudRate = HAL_SERIAL_APP_BAUD_RATE, +#if defined(_USART_ROUTELOC0_MASK) + .portLocationTx = BSP_SERIAL_APP_TX_LOC, + .portLocationRx = BSP_SERIAL_APP_RX_LOC, +#elif defined(_USART_ROUTE_MASK) +#error This configuration is not supported +#elif defined(_GPIO_USART_ROUTEEN_MASK) + .txPort = BSP_SERIAL_APP_TX_PORT, /* USART Tx port number */ + .rxPort = BSP_SERIAL_APP_RX_PORT, /* USART Rx port number */ + .txPin = BSP_SERIAL_APP_TX_PIN, /* USART Tx pin number */ + .rxPin = BSP_SERIAL_APP_RX_PIN, /* USART Rx pin number */ + .uartNum = 0, /* UART instance number */ +#endif +#if defined(USART_CTRL_MVDIS) + .mvdis = false, +#endif + .stopBits = (USART_Stopbits_TypeDef) USART_FRAME_STOPBITS_ONE, + .parity = (USART_Parity_TypeDef) USART_FRAME_PARITY_NONE, + .oversampling = (USART_OVS_TypeDef) USART_CTRL_OVS_X16, + .fcType = HAL_SERIAL_APP_FLOW_CONTROL, + .ctsPort = BSP_SERIAL_APP_CTS_PORT, + .ctsPin = BSP_SERIAL_APP_CTS_PIN, + .rtsPort = BSP_SERIAL_APP_RTS_PORT, + .rtsPin = BSP_SERIAL_APP_RTS_PIN, + .rxQueue = (UARTDRV_Buffer_FifoQueue_t *) &sUartRxQueue, + .txQueue = (UARTDRV_Buffer_FifoQueue_t *) &sUartTxQueue, +#if defined(_USART_ROUTELOC1_MASK) + .portLocationCts = BSP_SERIAL_APP_CTS_LOC, + .portLocationRts = BSP_SERIAL_APP_RTS_LOC, +#endif + }; + + // Init a fifo for the data received on the uart + InitFifo(&sReceiveFifo, sRxFifoBuffer, MAX_BUFFER_SIZE); + + UARTDRV_InitUart(sUartHandle, &uartInit); + // Activate 2 dma queues to always have one active + UARTDRV_Receive(sUartHandle, sRxDmaBuffer, MAX_DMA_BUFFER_SIZE, UART_rx_callback); + UARTDRV_Receive(sUartHandle, sRxDmaBuffer2, MAX_DMA_BUFFER_SIZE, UART_rx_callback); + + // Enable USART0 interrupt to wake OT task when data arrives + NVIC_ClearPendingIRQ(USART_IRQ); + NVIC_EnableIRQ(USART_IRQ); + USART_IntEnable(SL_UARTDRV_USART_VCOM_PERIPHERAL, USART_IF_RXDATAV); +} + +void USART_IRQHandler(void) +{ +#ifndef PW_RPC_ENABLED + otSysEventSignalPending(); +#endif +} + +/* + * @brief Callback triggered when a UARTDRV DMA buffer is full + */ +static void UART_rx_callback(UARTDRV_Handle_t handle, Ecode_t transferStatus, uint8_t * data, UARTDRV_Count_t transferCount) +{ + (void) transferStatus; + + uint8_t writeSize = (transferCount - lastCount); + if (RemainingSpace(&sReceiveFifo) >= writeSize) + { + WriteToFifo(&sReceiveFifo, data + lastCount, writeSize); + lastCount = 0; + } + + UARTDRV_Receive(sUartHandle, data, transferCount, UART_rx_callback); +#ifndef PW_RPC_ENABLED + otSysEventSignalPending(); +#endif +} + +/* + * @brief Read the data available from the console Uart + * @param Buffer that contains the data to write, number bytes to write. + * @return Amount of bytes written or ERROR (-1) + */ +int16_t uartConsoleWrite(const char * Buf, uint16_t BufLength) +{ + if (Buf == NULL || BufLength < 1) + { + return UART_CONSOLE_ERR; + } + + // Use of ForceTransmit here. Transmit with DMA was causing errors with PW_RPC + // TODO Use DMA and find/fix what causes the issue with PW + if (UARTDRV_ForceTransmit(sUartHandle, (uint8_t *) Buf, BufLength) == ECODE_EMDRV_UARTDRV_OK) + { + return BufLength; + } + + return UART_CONSOLE_ERR; +} + +/* + * @brief Read the data available from the console Uart + * @param Buffer for the data to be read, number bytes to read. + * @return Amount of bytes that was read from the rx fifo or ERROR (-1) + */ +int16_t uartConsoleRead(char * Buf, uint16_t NbBytesToRead) +{ + uint8_t * data; + UARTDRV_Count_t count, remaining; + + if (Buf == NULL || NbBytesToRead < 1) + { + return UART_CONSOLE_ERR; + } + + if (NbBytesToRead > AvailableDataCount(&sReceiveFifo)) + { + // Not enough data available in the fifo for the read size request + // If there is data available in dma buffer, get it now. + CORE_ATOMIC_SECTION(UARTDRV_GetReceiveStatus(sUartHandle, &data, &count, &remaining); if (count > lastCount) { + WriteToFifo(&sReceiveFifo, data + lastCount, count - lastCount); + lastCount = count; + }) + } + + return (int16_t) RetrieveFromFifo(&sReceiveFifo, (uint8_t *) Buf, NbBytesToRead); +} diff --git a/examples/platform/bouffalolab/bl602/uart.h b/examples/platform/bouffalolab/bl602/uart.h new file mode 100644 index 00000000000000..f708030223b2f7 --- /dev/null +++ b/examples/platform/bouffalolab/bl602/uart.h @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void uartConsoleInit(void); +int16_t uartConsoleWrite(const char * Buf, uint16_t BufLength); +int16_t uartConsoleRead(char * Buf, uint16_t NbBytesToRead); + +// Implemented by in openthread code +#ifndef PW_RPC_ENABLED +extern void otPlatUartReceived(const uint8_t * aBuf, uint16_t aBufLength); +extern void otPlatUartSendDone(void); +extern void otSysEventSignalPending(void); +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/scripts/examples/gn_bl602_example.sh b/scripts/examples/gn_bl602_example.sh new file mode 100755 index 00000000000000..02ab3d2300e154 --- /dev/null +++ b/scripts/examples/gn_bl602_example.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +# +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +set -e +# Build script for GN BL602 examples GitHub workflow. +source "$(dirname "$0")/../../scripts/activate.sh" + +set -x +env + +# Build steps +EXAMPLE_DIR=$1 +shift +OUTPUT_DIR=out/example_app +BL602_BOARD=BL-HWC-G1 +MATTER_BL_ROOT=$PWD +export BL602_SDK_ROOT="$MATTER_BL_ROOT"/third_party/bouffalolab/bl602_sdk/repo +export PATH="$BL602_SDK_ROOT/toolchain/riscv/Linux/bin:$PATH" + +if [[ ! -z "$1" ]]; then + OUTPUT_DIR=$1 + shift +fi + +GN_ARGS=() +NINJA_ARGS=() + +for arg; do + case $arg in + -v) + NINJA_ARGS+=(-v) + ;; + *=*) + GN_ARGS+=("$arg") + ;; + *import*) + GN_ARGS+=("$arg") + ;; + *) + echo >&2 "invalid argument: $arg" + exit 2 + ;; + esac +done + +gn clean out/lighting_app_bl602 +gn gen "$OUTPUT_DIR" --root="$EXAMPLE_DIR" --args="bl602_sdk_root=\"$BL602_SDK_ROOT\" bl602_board=\"$BL602_BOARD\" ${GN_ARGS[*]}" +ninja -C "$OUTPUT_DIR" "${NINJA_ARGS[@]}" diff --git a/src/lib/shell/BUILD.gn b/src/lib/shell/BUILD.gn index 04202cbbf95c52..622645279600dc 100644 --- a/src/lib/shell/BUILD.gn +++ b/src/lib/shell/BUILD.gn @@ -74,6 +74,11 @@ static_library("shell") { "MainLoopDefault.cpp", "streamer_qpg.cpp", ] + } else if (chip_device_platform == "bl602") { + sources += [ + "MainLoopDefault.cpp", + "streamer_bl602.cpp", + ] } else { sources += [ "MainLoopDefault.cpp" ] } diff --git a/src/lwip/BUILD.gn b/src/lwip/BUILD.gn index 930fe804b1534f..bdfaf96c789159 100644 --- a/src/lwip/BUILD.gn +++ b/src/lwip/BUILD.gn @@ -32,7 +32,7 @@ assert(lwip_platform == "external" || lwip_platform == "standalone" || lwip_platform == "cc13x2_26x2" || lwip_platform == "efr32" || lwip_platform == "k32w0" || lwip_platform == "qpg" || lwip_platform == "mbed" || lwip_platform == "p6" || - lwip_platform == "cyw30739", + lwip_platform == "cyw30739" || lwip_platform == "bl602", "Unsupported lwIP platform: ${lwip_platform}") if (lwip_platform != "external") { @@ -55,6 +55,10 @@ if (lwip_platform == "cc13x2_26x2") { import("//build_overrides/p6.gni") } else if (lwip_platform == "cyw30739") { import("//build_overrides/cyw30739_sdk.gni") +} else if (lwip_platform == "external") { + if (getenv("BL602_SDK_ROOT") != "") { + import("//build_overrides/bl602_sdk.gni") + } } buildconfig_header("lwip_buildconfig") { @@ -80,6 +84,9 @@ if (current_os == "zephyr" || current_os == "mbed") { } else if (lwip_platform == "external") { group("lwip") { public_deps = [ ":lwip_buildconfig" ] + if (getenv("BL602_SDK_ROOT") != "") { + public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] + } } group("all") { @@ -158,6 +165,8 @@ if (current_os == "zephyr" || current_os == "mbed") { public_deps += [ "${k32w0_sdk_build_root}:k32w0_sdk" ] } else if (lwip_platform == "cyw30739") { public_deps += [ "${cyw30739_sdk_build_root}:cyw30739_sdk" ] + } else if (lwip_platform == "bl602") { + public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] } public_configs = [ diff --git a/src/platform/BUILD.gn b/src/platform/BUILD.gn index 73d4cabe87c1cf..27bd7dd608ca27 100644 --- a/src/platform/BUILD.gn +++ b/src/platform/BUILD.gn @@ -209,6 +209,11 @@ if (chip_device_platform != "none" && chip_device_platform != "external") { "CHIP_DEVICE_CONFIG_ENABLE_WIFI=${chip_enable_wifi}", "CHIP_DEVICE_ENABLE_DATA_MODEL=${chip_enable_data_model}", ] + } else if (chip_device_platform == "bl602") { + defines += [ + "CHIP_DEVICE_LAYER_TARGET_BL602=1", + "CHIP_DEVICE_LAYER_TARGET=bouffalolab/BL602", + ] } else if (chip_device_platform == "fake") { defines += [ "CHIP_DEVICE_LAYER_TARGET_FAKE=1", @@ -382,6 +387,8 @@ if (chip_device_platform != "none") { _platform_target = "Ameba" } else if (chip_device_platform == "webos") { _platform_target = "webos" + } else if (chip_device_platform == "bl602") { + _platform_target = "bouffalolab/BL602" } else if (chip_device_platform == "fake") { _platform_target = "fake" } else if (chip_device_platform == "cyw30739") { diff --git a/src/platform/bouffalolab/BL602/BL602Config.cpp b/src/platform/bouffalolab/BL602/BL602Config.cpp new file mode 100644 index 00000000000000..025d48ae18cd16 --- /dev/null +++ b/src/platform/bouffalolab/BL602/BL602Config.cpp @@ -0,0 +1,373 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019-2020 Google LLC. + * Copyright (c) 2019 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Utilities for interacting with the the BL602 Easyflash module. + */ +/* this file behaves like a config.h, comes first */ +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +// 3R: easyflash errno mapping to the CHIP errno + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +const BL602Config::Key BL602Config::kConfigKey_SerialNum = { "serial-num" }; +const BL602Config::Key BL602Config::kConfigKey_MfrDeviceId = { "device-id" }; +const BL602Config::Key BL602Config::kConfigKey_MfrDeviceCert = { "device-cert" }; +const BL602Config::Key BL602Config::kConfigKey_MfrDeviceICACerts = { "device-ca-certs" }; +const BL602Config::Key BL602Config::kConfigKey_MfrDevicePrivateKey = { "device-key" }; +const BL602Config::Key BL602Config::kConfigKey_HardwareVersion = { "hardware-ver" }; +const BL602Config::Key BL602Config::kConfigKey_ManufacturingDate = { "mfg-date" }; +const BL602Config::Key BL602Config::kConfigKey_SetupPinCode = { "pin-code" }; +const BL602Config::Key BL602Config::kConfigKey_SetupDiscriminator = { "discriminator" }; +const BL602Config::Key BL602Config::kConfigKey_Spake2pIterationCount = { "iteration-count" }; +const BL602Config::Key BL602Config::kConfigKey_Spake2pSalt = { "salt" }; +const BL602Config::Key BL602Config::kConfigKey_Spake2pVerifier = { "verifier" }; + +// Keys stored in the chip-config namespace +const BL602Config::Key BL602Config::kConfigKey_FabricId = { "fabric-id" }; +const BL602Config::Key BL602Config::kConfigKey_ServiceConfig = { "service-config" }; +const BL602Config::Key BL602Config::kConfigKey_PairedAccountId = { "account-id" }; +const BL602Config::Key BL602Config::kConfigKey_ServiceId = { "service-id" }; +const BL602Config::Key BL602Config::kConfigKey_GroupKeyIndex = { "group-key-index" }; +const BL602Config::Key BL602Config::kConfigKey_LastUsedEpochKeyId = { "last-ek-id" }; +const BL602Config::Key BL602Config::kConfigKey_FailSafeArmed = { "fail-safe-armed" }; +const BL602Config::Key BL602Config::kConfigKey_WiFiStationSecType = { "sta-sec-type" }; +const BL602Config::Key BL602Config::kConfigKey_OperationalDeviceId = { "op-device-id" }; +const BL602Config::Key BL602Config::kConfigKey_OperationalDeviceCert = { "op-device-cert" }; +const BL602Config::Key BL602Config::kConfigKey_OperationalDeviceICACerts = { "op-device-ca-certs" }; +const BL602Config::Key BL602Config::kConfigKey_OperationalDevicePrivateKey = { "op-device-key" }; +const BL602Config::Key BL602Config::kConfigKey_RegulatoryLocation = { "regulatory-location" }; +const BL602Config::Key BL602Config::kConfigKey_CountryCode = { "country-code" }; +const BL602Config::Key BL602Config::kConfigKey_Breadcrumb = { "breadcrumb" }; +const BL602Config::Key BL602Config::kConfigKey_UniqueId = { "unique-id" }; + +// Prefix used for Easyflash keys that contain Chip group encryption keys. +const char BL602Config::kGroupKeyNamePrefix[] = "gk-"; + +CHIP_ERROR BL602Config::Init() +{ + EfErrCode err = easyflash_init(); + if (EF_NO_ERR == err) + return CHIP_NO_ERROR; + + log_error("easyflash_init() failed. err: %d\r\n", err); + return CHIP_ERROR_NO_MEMORY; +} + +CHIP_ERROR BL602Config::ReadConfigValue(Key key, bool & val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + bool tmpVal; + size_t ret, valLen; + + ret = ef_get_env_blob(key.name, &tmpVal, sizeof(tmpVal), &valLen); + if (ret <= 0) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + val = tmpVal; + +exit: + return err; +} + +CHIP_ERROR BL602Config::ReadConfigValue(Key key, uint32_t & val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + uint32_t tmpVal; + size_t ret, valLen; + + ret = ef_get_env_blob(key.name, &tmpVal, sizeof(tmpVal), &valLen); + if (ret <= 0) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + val = tmpVal; + +exit: + return err; +} + +CHIP_ERROR BL602Config::ReadConfigValue(Key key, uint64_t & val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + uint64_t tmpVal; + size_t ret, valLen; + + ret = ef_get_env_blob(key.name, &tmpVal, sizeof(tmpVal), &valLen); + if (ret <= 0) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + val = tmpVal; +exit: + return err; +} + +CHIP_ERROR BL602Config::ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + char tmpVal[bufSize] = { 0 }; + size_t ret; + + ret = ef_get_env_blob(key.name, tmpVal, sizeof(tmpVal) - 1, NULL); + if ('\0' == tmpVal[0]) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + outLen = ret; + strncpy(buf, tmpVal, outLen); + +exit: + return err; +} + +CHIP_ERROR BL602Config::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + char tmpVal[bufSize] = { 0 }; + size_t ret; + size_t savedLen = 0; + + ret = ef_get_env_blob(key.name, tmpVal, sizeof(tmpVal), &savedLen); + if (0 == savedLen) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + outLen = ret; + memcpy(buf, tmpVal, outLen); + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValue(Key key, bool val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + EfErrCode ret = ef_set_env_blob(key.name, &val, sizeof(val)); + if (ret != EF_NO_ERR) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + // ChipLogProgress(DeviceLayer, "Easyflash set: %s = %s", key.name, val ? "true" : "false"); +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValue(Key key, uint32_t val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + EfErrCode ret = ef_set_env_blob(key.name, &val, sizeof(val)); + if (ret != EF_NO_ERR) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + // ChipLogProgress(DeviceLayer, "Easyflash set: %s = %" PRIu32 " (0x%" PRIX32 ")", key.name, val, val); + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValue(Key key, uint64_t val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + EfErrCode ret = ef_set_env_blob(key.name, &val, sizeof(val)); + if (ret != EF_NO_ERR) + { + log_error("WriteConfigValue() failed. key: %s, ret: %d\r\n", key.name, ret); + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + // ChipLogProgress(DeviceLayer, "Easyflash set: %s = %" PRIu64 " (0x%" PRIX64 ")", key.name, val, val); + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValueStr(Key key, const char * str) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + if (str != NULL) + { + EfErrCode ret = ef_set_env(key.name, str); + if (ret != EF_NO_ERR) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + // ChipLogProgress(DeviceLayer, "Easyflash set: %s = \"%s\"", key.name, str); + } + else + { + err = ClearConfigValue(key); + SuccessOrExit(err); + } + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValueStr(Key key, const char * str, size_t strLen) +{ + CHIP_ERROR err; + chip::Platform::ScopedMemoryBuffer strCopy; + + if (str != NULL) + { + strCopy.Calloc(strLen + 1); + VerifyOrExit(strCopy, err = CHIP_ERROR_NO_MEMORY); + strncpy(strCopy.Get(), str, strLen); + } + err = BL602Config::WriteConfigValueStr(key, strCopy.Get()); + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + if (data != NULL) + { + EfErrCode ret = ef_set_env_blob(key.name, data, dataLen); + if (ret != EF_NO_ERR) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + SuccessOrExit(err); + + // ChipLogProgress(DeviceLayer, "Easyflash set: /%s = (blob length %" PRId32 ")", key.name, (unsigned long )dataLen); + } + else + { + err = ClearConfigValue(key); + SuccessOrExit(err); + } + +exit: + return err; +} + +CHIP_ERROR BL602Config::WriteWifiInfo(const char * ssid, const char * passwd) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + +#if 0 + if (ssid != NULL && passwd != NULL) + { + EfErrCode ret = ef_set_env_blob(kBLConfigKey_wifissid, ssid, strlen(ssid)); + if (ret != EF_NO_ERR) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + + ef_set_env_blob(kBLConfigKey_wifipassword, passwd, strlen(passwd)); + if (ret != EF_NO_ERR) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + SuccessOrExit(err); + + } + else + { + //err = ClearConfigValue(ssid); + //err = ClearConfigValue(passwd); + SuccessOrExit(err); + } + +exit: +#endif + + return err; +} + +CHIP_ERROR BL602Config::ClearConfigValue(Key key) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + EfErrCode ret = ef_del_env(key.name); + if (ret != EF_NO_ERR) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + + SuccessOrExit(err); + + ChipLogProgress(DeviceLayer, "Easyflash erase: %s", key.name); + +exit: + return err; +} + +bool BL602Config::ConfigValueExists(Key key) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + env_node_obj node; + bool result = ef_get_env_obj(key.name, &node); + if (!result) + { + err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; + } + + return err == CHIP_NO_ERROR; +} + +void BL602Config::RunConfigUnitTest() {} + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/BL602Config.h b/src/platform/bouffalolab/BL602/BL602Config.h new file mode 100644 index 00000000000000..4422d6d10014ac --- /dev/null +++ b/src/platform/bouffalolab/BL602/BL602Config.h @@ -0,0 +1,135 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019-2020 Google LLC. + * Copyright (c) 2019 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Utilities for interacting with the the BL602 Easyflash module. + */ + +#pragma once + +#include + +#include + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +/** + * Provides functions and definitions for accessing device configuration information on the BL602 platform. + * + * This class is designed to be mixed-in to concrete implementation classes as a means to + * provide access to configuration information to generic base classes. + */ +class BL602Config +{ +public: + static constexpr const char * kBLConfigKey_wifissid = ("bl-wifi-ssid"); + static constexpr const char * kBLConfigKey_wifipassword = ("bl-wifi-psk"); + struct Key; + + // Maximum length of an easyflash key name + static constexpr size_t kMaxConfigKeyNameLength = 15; + + // Easyflash namespaces used to store device configuration information. + static const char kConfigNamespace_ChipFactory[]; + static const char kConfigNamespace_ChipConfig[]; + static const char kConfigNamespace_ChipCounters[]; + + // Key definitions for well-known keys. + static const Key kConfigKey_SerialNum; + static const Key kConfigKey_MfrDeviceId; + static const Key kConfigKey_MfrDeviceCert; + static const Key kConfigKey_MfrDeviceICACerts; + static const Key kConfigKey_MfrDevicePrivateKey; + static const Key kConfigKey_HardwareVersion; + static const Key kConfigKey_ManufacturingDate; + static const Key kConfigKey_SetupPinCode; + static const Key kConfigKey_FabricId; + static const Key kConfigKey_ServiceConfig; + static const Key kConfigKey_PairedAccountId; + static const Key kConfigKey_ServiceId; + static const Key kConfigKey_FabricSecret; + static const Key kConfigKey_GroupKeyIndex; + static const Key kConfigKey_LastUsedEpochKeyId; + static const Key kConfigKey_FailSafeArmed; + static const Key kConfigKey_WiFiStationSecType; + static const Key kConfigKey_OperationalDeviceId; + static const Key kConfigKey_OperationalDeviceCert; + static const Key kConfigKey_OperationalDeviceICACerts; + static const Key kConfigKey_OperationalDevicePrivateKey; + static const Key kConfigKey_SetupDiscriminator; + static const Key kConfigKey_RegulatoryLocation; + static const Key kConfigKey_CountryCode; + static const Key kConfigKey_Breadcrumb; + static const Key kConfigKey_UniqueId; + static const Key kConfigKey_Spake2pIterationCount; + static const Key kConfigKey_Spake2pSalt; + static const Key kConfigKey_Spake2pVerifier; + + static const char kGroupKeyNamePrefix[]; + + static CHIP_ERROR Init(void); + + // Config value accessors. + static CHIP_ERROR ReadConfigValue(Key key, bool & val); + static CHIP_ERROR ReadConfigValue(Key key, uint32_t & val); + static CHIP_ERROR ReadConfigValue(Key key, uint64_t & val); + static CHIP_ERROR ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen); + static CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen); + static CHIP_ERROR ReadConfigValueBin(const char * key, uint8_t * buf, size_t bufSize, size_t & outLen); + + static CHIP_ERROR WriteConfigValue(Key key, bool val); + static CHIP_ERROR WriteConfigValue(Key key, uint32_t val); + static CHIP_ERROR WriteConfigValue(Key key, uint64_t val); + static CHIP_ERROR WriteConfigValueStr(Key key, const char * str); + static CHIP_ERROR WriteConfigValueStr(Key key, const char * str, size_t strLen); + static CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen); + static CHIP_ERROR WriteWifiInfo(const char * ssid, const char * passwd); + static CHIP_ERROR ReadWiFiInfo(const char * ssid, uint32_t ssid_size, const char * passwd, uint32_t passwd_size); + static bool isWiFiInfoSaved(void); + + static CHIP_ERROR ClearConfigValue(Key key); + static bool ConfigValueExists(Key key); + + // // NVS Namespace helper functions. + // static CHIP_ERROR EnsureNamespace(const char * ns); + // static CHIP_ERROR ClearNamespace(const char * ns); + + static void RunConfigUnitTest(void); +}; + +struct BL602Config::Key +{ + // const char * Namespace; + const char * name; + + bool operator==(const Key & other) const; +}; + +inline bool BL602Config::Key::operator==(const Key & other) const +{ + return strcmp(name, other.name) == 0; +} + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/BLEManagerImpl.cpp b/src/platform/bouffalolab/BL602/BLEManagerImpl.cpp new file mode 100644 index 00000000000000..ff44832de1490d --- /dev/null +++ b/src/platform/bouffalolab/BL602/BLEManagerImpl.cpp @@ -0,0 +1,866 @@ +/* + * + * Copyright (c) 2020-2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the BLEManager singleton object + * for the BL602 platform. + */ + +#define __ZEPHYR__ 1 +#include + +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + +// #include +#include "BLEManagerImpl.h" + +#include +#include +#include +#include + +extern "C" { +// #include +#include + +#if 0 +// BaseType_t xPortIsInsideInterrupt(void) __attribute__((weak, alias("_xPortIsInsideInterrupt"))); +// BaseType_t _xPortIsInsideInterrupt(void) +BaseType_t xPortIsInsideInterrupt(void) +{ + return TrapNetCounter ? 1 : 0; +} +#endif +} + +#include +#include +// #include +// #include +// #include +// #include + +using namespace ::chip; +using namespace ::chip::Ble; +using namespace ::chip::System; + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +namespace { + +const bt_uuid_128 UUID128_CHIPoBLEChar_RX = + BT_UUID_INIT_128(0x11, 0x9D, 0x9F, 0x42, 0x9C, 0x4F, 0x9F, 0x95, 0x59, 0x45, 0x3D, 0x26, 0xF5, 0x2E, 0xEE, 0x18); +const bt_uuid_128 UUID128_CHIPoBLEChar_TX = + BT_UUID_INIT_128(0x12, 0x9D, 0x9F, 0x42, 0x9C, 0x4F, 0x9F, 0x95, 0x59, 0x45, 0x3D, 0x26, 0xF5, 0x2E, 0xEE, 0x18); +bt_uuid_16 UUID16_CHIPoBLEService = BT_UUID_INIT_16(0xFFF6); + +// #define UUID128_CHIPoBLEChar_RX BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x119d9f42, 0x9c4f, 0x9f95, 0x5945, 0x3d26f52eee18)) +// #define UUID128_CHIPoBLEChar_TX BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x129d9f42, 0x9c4f, 0x9f95, 0x5945, 0x3d26f52eee18)) +// #define UUID16_CHIPoBLEService BT_UUID_DECLARE_16(0xFFF6) + +const ChipBleUUID chipUUID_CHIPoBLEChar_RX = { { 0x18, 0xEE, 0x2E, 0xF5, 0x26, 0x3D, 0x45, 0x59, 0x95, 0x9F, 0x4F, 0x9C, 0x42, 0x9F, + 0x9D, 0x11 } }; + +const ChipBleUUID chipUUID_CHIPoBLEChar_TX = { { 0x18, 0xEE, 0x2E, 0xF5, 0x26, 0x3D, 0x45, 0x59, 0x95, 0x9F, 0x4F, 0x9C, 0x42, 0x9F, + 0x9D, 0x12 } }; + +_bt_gatt_ccc CHIPoBLEChar_TX_CCC = BT_GATT_CCC_INITIALIZER(nullptr, BLEManagerImpl::HandleTXCCCWrite, nullptr); + +// clang-format off + +BT_GATT_SERVICE_DEFINE(_3_CHIPoBLE_Service, + BT_GATT_PRIMARY_SERVICE(&UUID16_CHIPoBLEService.uuid), + BT_GATT_CHARACTERISTIC(&UUID128_CHIPoBLEChar_RX.uuid, + BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, + BT_GATT_PERM_READ | BT_GATT_PERM_WRITE, + nullptr, BLEManagerImpl::HandleRXWrite, nullptr), + BT_GATT_CHARACTERISTIC(&UUID128_CHIPoBLEChar_TX.uuid, + BT_GATT_CHRC_NOTIFY, + BT_GATT_PERM_NONE, + nullptr, nullptr, nullptr), + BT_GATT_CCC_MANAGED(&CHIPoBLEChar_TX_CCC, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE) +); + +// static struct bt_gatt_attr attr = BT_GATT_PRIMARY_SERVICE(UUID16_CHIPoBLEService); + +// clang-format on + +// Index of the CCC descriptor in the CHIPoBLE_Service array of attributes. +// This value should be adjusted accordingly if the service declaration changes. +constexpr int kCHIPoBLE_CCC_AttributeIndex = 3; + +void InitRandomStaticAddress() +{ +#if !CONFIG_BT_PRIVACY + // When the BT privacy feature is disabled, generate a random static address once per boot. + // This must be done before bt_enable() has been called. + bt_addr_le_t addr; + + int error = bt_addr_le_create_static(&addr); + VerifyOrReturn(error == 0, ChipLogError(DeviceLayer, "Failed to create BLE address: %d", error)); + + error = bt_id_create(&addr, nullptr); + VerifyOrReturn(error == 0, ChipLogError(DeviceLayer, "Failed to create BLE identity: %d", error)); + + ChipLogProgress(DeviceLayer, "BLE address was set to %02X:%02X:%02X:%02X:%02X:%02X", addr.a.val[5], addr.a.val[4], + addr.a.val[3], addr.a.val[2], addr.a.val[1], addr.a.val[0]); +#endif +} + +} // unnamed namespace + +BLEManagerImpl BLEManagerImpl::sInstance; + +static void bt_enable_cb(int err) +{ + log_info("err: %d\r\n", err); + if (!err) + { + log_info("trace\r\n"); + // ble_cli_register(); + // log_info("trace\r\n"); + } +} + +// static extern "C" void ble_stack_start(void) +static void ble_stack_start(void) +{ + log_info("trace\r\n"); + // Initialize BLE controller + ble_controller_init(configMAX_PRIORITIES - 1); + log_info("trace\r\n"); + // Initialize BLE Host stack + hci_driver_init(); + log_info("trace\r\n"); + bt_enable(bt_enable_cb); + log_info("trace\r\n"); +} + +CHIP_ERROR BLEManagerImpl::_Init() +{ + CHIP_ERROR err; + log_info("trace\r\n"); + mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Enabled; + mFlags.ClearAll().Set(Flags::kAdvertisingEnabled, CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART); + mFlags.Set(Flags::kFastAdvertisingEnabled, true); + mGAPConns = 0; + + log_info("trace\r\n"); + memset(mSubscribedConns, 0, sizeof(mSubscribedConns)); + + InitRandomStaticAddress(); + log_info("trace\r\n"); + // err = bt_enable(NULL); + // log_info("err: %d\r\n", err); + // VerifyOrExit(err == CHIP_NO_ERROR, err = MapErrorZephyr(err)); + ble_stack_start(); + + memset(&mConnCallbacks, 0, sizeof(mConnCallbacks)); + mConnCallbacks.connected = HandleConnect; + mConnCallbacks.disconnected = HandleDisconnect; + + log_info("trace\r\n"); + bt_conn_cb_register(&mConnCallbacks); + + log_info("trace\r\n"); + // Initialize the CHIP BleLayer. + err = BleLayer::Init(this, this, &DeviceLayer::SystemLayer()); + log_info("err: %d\r\n", err); + + PlatformMgr().ScheduleWork(DriveBLEState, 0); + + log_info("trace\r\n"); +exit: + return err; +} + +void BLEManagerImpl::DriveBLEState(intptr_t arg) +{ + BLEMgrImpl().DriveBLEState(); +} + +void BLEManagerImpl::DriveBLEState() +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + ChipLogDetail(DeviceLayer, "In DriveBLEState"); + + // Perform any initialization actions that must occur after the CHIP task is running. + if (!mFlags.Has(Flags::kAsyncInitCompleted)) + { + mFlags.Set(Flags::kAsyncInitCompleted); + + // If CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED is enabled, + // disable CHIPoBLE advertising if the device is fully provisioned. +#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED + if (ConfigurationMgr().IsFullyProvisioned()) + { + mFlags.Clear(Flags::kAdvertisingEnabled); + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising disabled because device is fully provisioned"); + } +#endif // CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED + } + + // If the application has enabled CHIPoBLE and BLE advertising... + if (mServiceMode == ConnectivityManager::kCHIPoBLEServiceMode_Enabled && + mFlags.Has(Flags::kAdvertisingEnabled) +#if CHIP_DEVICE_CONFIG_CHIPOBLE_SINGLE_CONNECTION + // and no connections are active... + && (NumConnections() == 0) +#endif + ) + { + // Start/re-start advertising if not already advertising, or if the + // advertising state needs to be refreshed. + if (!mFlags.Has(Flags::kAdvertising) || mFlags.Has(Flags::kAdvertisingRefreshNeeded)) + { + mFlags.Clear(Flags::kAdvertisingRefreshNeeded); + err = StartAdvertising(); + SuccessOrExit(err); + } + } + // Otherwise, stop advertising if currently active. + else + { + err = StopAdvertising(); + SuccessOrExit(err); + } + +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %s", ErrorStr(err)); + mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Disabled; + } +} + +struct BLEManagerImpl::ServiceData +{ + uint8_t uuid[2]; + ChipBLEDeviceIdentificationInfo deviceIdInfo; +} __attribute__((packed)); + +CHIP_ERROR BLEManagerImpl::StartAdvertising(void) +{ + int err = 0; + const char * deviceName = bt_get_name(); + const uint8_t advFlags = BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR; + const bool isAdvertisingRerun = mFlags.Has(Flags::kAdvertising); + + // At first run always select fast advertising, on the next attempt slow down interval. + const uint16_t intervalMin = mFlags.Has(Flags::kFastAdvertisingEnabled) ? CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MIN + : CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; + const uint16_t intervalMax = mFlags.Has(Flags::kFastAdvertisingEnabled) ? CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MAX + : CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; + + // bt_le_adv_param advParams = + // BT_LE_ADV_PARAM_INIT(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME, intervalMin, intervalMax, nullptr); + bt_le_adv_param advParams; + advParams.id = BT_ID_DEFAULT; + advParams.options = BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME; + advParams.interval_min = intervalMin; + advParams.interval_max = intervalMax; + + // Define advertising data + ServiceData serviceData; + bt_data ad[] = { BT_DATA(BT_DATA_FLAGS, &advFlags, sizeof(advFlags)), + BT_DATA(BT_DATA_SVC_DATA16, &serviceData, sizeof(serviceData)), + BT_DATA(BT_DATA_NAME_COMPLETE, deviceName, static_cast(strlen(deviceName))) }; + + // Initialize service data + static_assert(sizeof(serviceData) == 10, "Size of BLE advertisement data changed! Was that intentional?"); + chip::Encoding::LittleEndian::Put16(serviceData.uuid, UUID16_CHIPoBLEService.val); + ReturnErrorOnFailure(ConfigurationMgr().GetBLEDeviceIdentificationInfo(serviceData.deviceIdInfo)); + + if (!isAdvertisingRerun) + { +#if CONFIG_BT_PRIVACY + static_assert((CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT / 1000) <= CONFIG_BT_RPA_TIMEOUT, + "BLE advertising timeout is too long relative to RPA timeout"); + // Generate new private BLE address + bt_le_oob bleOobInfo; + err = bt_le_oob_get_local(advParams.id, &bleOobInfo); + VerifyOrReturnError(err == 0, MapErrorZephyr(err)); +#endif // CONFIG_BT_PRIVACY + } + + // Restart advertising + err = bt_le_adv_stop(); + VerifyOrReturnError(err == 0, MapErrorZephyr(err)); + + err = bt_le_adv_start(&advParams, ad, ARRAY_SIZE(ad), nullptr, 0u); + VerifyOrReturnError(err == 0, MapErrorZephyr(err)); + + // Transition to the Advertising state... + if (!mFlags.Has(Flags::kAdvertising)) + { + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising started"); + + mFlags.Set(Flags::kAdvertising); + + // Post a CHIPoBLEAdvertisingChange(Started) event. + { + ChipDeviceEvent advChange; + advChange.Type = DeviceEventType::kCHIPoBLEAdvertisingChange; + advChange.CHIPoBLEAdvertisingChange.Result = kActivity_Started; + PlatformMgr().PostEvent(&advChange); + } + + if (mFlags.Has(Flags::kFastAdvertisingEnabled)) + { + // Start timer to change advertising interval. + DeviceLayer::SystemLayer().StartTimer( + System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_BLE_ADVERTISING_INTERVAL_CHANGE_TIME), + HandleBLEAdvertisementIntervalChange, this); + } + + // Start timer to disable CHIPoBLE advertisement after timeout expiration only if it isn't advertising rerun (in that case + // timer is already running). + if (!isAdvertisingRerun) + { + DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT), + HandleBLEAdvertisementTimeout, this); + } + } + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::StopAdvertising(void) +{ + int err = bt_le_adv_stop(); + VerifyOrReturnError(err == 0, MapErrorZephyr(err)); + + // Transition to the not Advertising state... + if (mFlags.Has(Flags::kAdvertising)) + { + mFlags.Clear(Flags::kAdvertising); + mFlags.Set(Flags::kFastAdvertisingEnabled, true); + + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising stopped"); + + // Post a CHIPoBLEAdvertisingChange(Stopped) event. + { + ChipDeviceEvent advChange; + advChange.Type = DeviceEventType::kCHIPoBLEAdvertisingChange; + advChange.CHIPoBLEAdvertisingChange.Result = kActivity_Stopped; + PlatformMgr().PostEvent(&advChange); + } + + // Cancel timer event disabling CHIPoBLE advertisement after timeout expiration + DeviceLayer::SystemLayer().CancelTimer(HandleBLEAdvertisementTimeout, this); + + // Cancel timer event changing CHIPoBLE advertisement interval + DeviceLayer::SystemLayer().CancelTimer(HandleBLEAdvertisementIntervalChange, this); + } + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::_SetCHIPoBLEServiceMode(CHIPoBLEServiceMode val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + VerifyOrExit(val != ConnectivityManager::kCHIPoBLEServiceMode_NotSupported, err = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(mServiceMode != ConnectivityManager::kCHIPoBLEServiceMode_NotSupported, err = CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE); + + if (val != mServiceMode) + { + mServiceMode = val; + PlatformMgr().ScheduleWork(DriveBLEState, 0); + } + +exit: + return err; +} + +CHIP_ERROR BLEManagerImpl::_SetAdvertisingEnabled(bool val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + VerifyOrExit(mServiceMode != ConnectivityManager::kCHIPoBLEServiceMode_NotSupported, err = CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE); + + if (mFlags.Has(Flags::kAdvertisingEnabled) != val) + { + ChipLogDetail(DeviceLayer, "SetAdvertisingEnabled(%s)", val ? "true" : "false"); + + mFlags.Set(Flags::kAdvertisingEnabled, val); + PlatformMgr().ScheduleWork(DriveBLEState, 0); + } + +exit: + return err; +} + +CHIP_ERROR BLEManagerImpl::_SetAdvertisingMode(BLEAdvertisingMode mode) +{ + switch (mode) + { + case BLEAdvertisingMode::kFastAdvertising: + mFlags.Set(Flags::kFastAdvertisingEnabled, true); + break; + case BLEAdvertisingMode::kSlowAdvertising: + mFlags.Set(Flags::kFastAdvertisingEnabled, false); + break; + default: + return CHIP_ERROR_INVALID_ARGUMENT; + } + mFlags.Set(Flags::kAdvertisingRefreshNeeded); + PlatformMgr().ScheduleWork(DriveBLEState, 0); + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::_GetDeviceName(char * buf, size_t bufSize) +{ + size_t len = bufSize - 1; + + strncpy(buf, bt_get_name(), len); + buf[len] = 0; + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::_SetDeviceName(const char * deviceName) +{ + if (mServiceMode != ConnectivityManager::kCHIPoBLEServiceMode_NotSupported) + { + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; + } + + ChipLogDetail(DeviceLayer, "Device name set to: %s", deviceName); + return MapErrorZephyr(bt_set_name(deviceName)); +} + +CHIP_ERROR BLEManagerImpl::HandleGAPConnect(const ChipDeviceEvent * event) +{ + const BleConnEventType * connEvent = &event->Platform.BleConnEvent; + + if (connEvent->HciResult == BT_HCI_ERR_SUCCESS) + { + ChipLogProgress(DeviceLayer, "BLE connection established (ConnId: 0x%02" PRIx16 ")", bt_conn_index(connEvent->BtConn)); + mGAPConns++; + } + else + { + ChipLogProgress(DeviceLayer, "BLE connection failed (reason: 0x%02" PRIx16 ")", connEvent->HciResult); + } + + ChipLogProgress(DeviceLayer, "Current number of connections: %" PRIu16 "/%" PRIu16, NumConnections(), CONFIG_BT_MAX_CONN); + + mFlags.Set(Flags::kAdvertisingRefreshNeeded); + PlatformMgr().ScheduleWork(DriveBLEState, 0); + + bt_conn_unref(connEvent->BtConn); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::HandleGAPDisconnect(const ChipDeviceEvent * event) +{ + const BleConnEventType * connEvent = &event->Platform.BleConnEvent; + + ChipLogProgress(DeviceLayer, "BLE GAP connection terminated (reason 0x%02" PRIx16 ")", connEvent->HciResult); + + mGAPConns--; + + // If notifications were enabled for this connection, record that they are now disabled and + // notify the BLE Layer of a disconnect. + if (UnsetSubscribed(connEvent->BtConn)) + { + CHIP_ERROR disconReason; + switch (connEvent->HciResult) + { + case BT_HCI_ERR_REMOTE_USER_TERM_CONN: + // Do not treat proper connection termination as an error and exit. + VerifyOrExit(!ConfigurationMgr().IsFullyProvisioned(), ); + disconReason = BLE_ERROR_REMOTE_DEVICE_DISCONNECTED; + break; + case BT_HCI_ERR_LOCALHOST_TERM_CONN: + disconReason = BLE_ERROR_APP_CLOSED_CONNECTION; + break; + default: + disconReason = BLE_ERROR_CHIPOBLE_PROTOCOL_ABORT; + break; + } + HandleConnectionError(connEvent->BtConn, disconReason); + } + +exit: + // Unref bt_conn before scheduling DriveBLEState. + bt_conn_unref(connEvent->BtConn); + + ChipLogProgress(DeviceLayer, "Current number of connections: %" PRIu16 "/%" PRIu16, NumConnections(), CONFIG_BT_MAX_CONN); + + // Force a reconfiguration of advertising in case we switched to non-connectable mode when + // the BLE connection was established. + mFlags.Set(Flags::kAdvertisingRefreshNeeded); + PlatformMgr().ScheduleWork(DriveBLEState, 0); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::HandleTXCharCCCDWrite(const ChipDeviceEvent * event) +{ + const BleCCCWriteEventType * writeEvent = &event->Platform.BleCCCWriteEvent; + + ChipLogDetail(DeviceLayer, "ConnId: 0x%02" PRIx16 ", New CCCD value: 0x%04" PRIx16, bt_conn_index(writeEvent->BtConn), + writeEvent->Value); + + // If the client has requested to enable notifications and if it is not yet subscribed + if (writeEvent->Value != 0 && SetSubscribed(writeEvent->BtConn)) + { + // Alert the BLE layer that CHIPoBLE "subscribe" has been received and increment the bt_conn reference counter. + HandleSubscribeReceived(writeEvent->BtConn, &CHIP_BLE_SVC_ID, &chipUUID_CHIPoBLEChar_TX); + + ChipLogProgress(DeviceLayer, "CHIPoBLE connection established (ConnId: 0x%02" PRIx16 ", GATT MTU: %" PRIu16 ")", + bt_conn_index(writeEvent->BtConn), GetMTU(writeEvent->BtConn)); + + // Post a CHIPoBLEConnectionEstablished event to the DeviceLayer and the application. + { + ChipDeviceEvent conEstEvent; + conEstEvent.Type = DeviceEventType::kCHIPoBLEConnectionEstablished; + PlatformMgr().PostEvent(&conEstEvent); + } + } + else + { + if (UnsetSubscribed(writeEvent->BtConn)) + { + HandleUnsubscribeReceived(writeEvent->BtConn, &CHIP_BLE_SVC_ID, &chipUUID_CHIPoBLEChar_TX); + } + } + + bt_conn_unref(writeEvent->BtConn); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::HandleRXCharWrite(const ChipDeviceEvent * event) +{ + const BleRXWriteEventType * writeEvent = &event->Platform.BleRXWriteEvent; + + ChipLogDetail(DeviceLayer, "Write request received for CHIPoBLE RX (ConnId 0x%02" PRIx16 ")", + bt_conn_index(writeEvent->BtConn)); + + HandleWriteReceived(writeEvent->BtConn, &CHIP_BLE_SVC_ID, &chipUUID_CHIPoBLEChar_RX, + PacketBufferHandle::Adopt(writeEvent->Data)); + bt_conn_unref(writeEvent->BtConn); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLEManagerImpl::HandleTXCharComplete(const ChipDeviceEvent * event) +{ + const BleTXCompleteEventType * completeEvent = &event->Platform.BleTXCompleteEvent; + + ChipLogDetail(DeviceLayer, "Notification for CHIPoBLE TX done (ConnId 0x%02" PRIx16 ")", bt_conn_index(completeEvent->BtConn)); + + // Signal the BLE Layer that the outstanding notification is complete. + HandleIndicationConfirmation(completeEvent->BtConn, &CHIP_BLE_SVC_ID, &chipUUID_CHIPoBLEChar_TX); + bt_conn_unref(completeEvent->BtConn); + + return CHIP_NO_ERROR; +} + +void BLEManagerImpl::HandleBLEAdvertisementTimeout(System::Layer * layer, void * param) +{ + BLEMgr().SetAdvertisingEnabled(false); + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising disabled because of timeout expired"); +} + +void BLEManagerImpl::HandleBLEAdvertisementIntervalChange(System::Layer * layer, void * param) +{ + BLEMgr().SetAdvertisingMode(BLEAdvertisingMode::kSlowAdvertising); + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising mode changed to slow"); +} + +void BLEManagerImpl::_OnPlatformEvent(const ChipDeviceEvent * event) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + switch (event->Type) + { + case DeviceEventType::kPlatformZephyrBleConnected: + err = HandleGAPConnect(event); + break; + + case DeviceEventType::kPlatformZephyrBleDisconnected: + err = HandleGAPDisconnect(event); + break; + + case DeviceEventType::kPlatformZephyrBleCCCWrite: + err = HandleTXCharCCCDWrite(event); + break; + + case DeviceEventType::kPlatformZephyrBleRXWrite: + err = HandleRXCharWrite(event); + break; + + case DeviceEventType::kPlatformZephyrBleTXComplete: + err = HandleTXCharComplete(event); + break; + + case DeviceEventType::kFabricMembershipChange: + case DeviceEventType::kServiceProvisioningChange: + case DeviceEventType::kAccountPairingChange: + + // If CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED is enabled, and there is a change to the + // device's provisioning state, then automatically disable CHIPoBLE advertising if the device + // is now fully provisioned. +#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED + if (ConfigurationMgr().IsFullyProvisioned()) + { + mFlags.Clear(Flags::kAdvertisingEnabled); + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising disabled because device is fully provisioned"); + } +#endif // CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED + + // Force the advertising state to be refreshed to reflect new provisioning state. + mFlags.Set(Flags::kAdvertisingRefreshNeeded); + + DriveBLEState(); + + break; + + default: + break; + } + + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %s", ErrorStr(err)); + mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Disabled; + PlatformMgr().ScheduleWork(DriveBLEState, 0); + } +} + +uint16_t BLEManagerImpl::_NumConnections(void) +{ + return mGAPConns; +} + +bool BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId) +{ + ChipLogProgress(DeviceLayer, "Closing BLE GATT connection (ConnId %02" PRIx16 ")", bt_conn_index((bt_conn *) conId)); + return bt_conn_disconnect(conId, BT_HCI_ERR_REMOTE_USER_TERM_CONN) == 0; +} + +uint16_t BLEManagerImpl::GetMTU(BLE_CONNECTION_OBJECT conId) const +{ + return bt_gatt_get_mtu((bt_conn *) conId); +} + +bool BLEManagerImpl::SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId) +{ + ChipLogError(DeviceLayer, "%s: NOT IMPLEMENTED", __PRETTY_FUNCTION__); + return true; +} + +bool BLEManagerImpl::UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId) +{ + ChipLogError(DeviceLayer, "%s: NOT IMPLEMENTED", __PRETTY_FUNCTION__); + return true; +} + +bool BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf) +{ + log_info("\r\n"); + CHIP_ERROR err = CHIP_NO_ERROR; + int status = 0; + uint8_t index = bt_conn_index((bt_conn *) conId); + bt_gatt_notify_params * params = &mNotifyParams[index]; + + VerifyOrExit(IsSubscribed((bt_conn *) conId) == true, err = CHIP_ERROR_INVALID_ARGUMENT); + + ChipLogDetail(DeviceLayer, "Sending notification for CHIPoBLE TX (ConnId %02" PRIx16 ", len %u)", index, pBuf->DataLength()); + + params->uuid = nullptr; + params->attr = &_3_CHIPoBLE_Service.attrs[kCHIPoBLE_CCC_AttributeIndex]; + params->data = pBuf->Start(); + params->len = pBuf->DataLength(); + params->func = HandleTXCompleted; + params->user_data = nullptr; + + status = bt_gatt_notify_cb(conId, params); + VerifyOrExit(status == 0, err = MapErrorZephyr(status)); + +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Sending notification for CHIPoBLE TX failed: %s", ErrorStr(err)); + } + + return err == CHIP_NO_ERROR; +} + +bool BLEManagerImpl::SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf) +{ + ChipLogError(DeviceLayer, "%s: NOT IMPLEMENTED", __PRETTY_FUNCTION__); + return true; +} + +bool BLEManagerImpl::SendReadRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf) +{ + ChipLogError(DeviceLayer, "%s: NOT IMPLEMENTED", __PRETTY_FUNCTION__); + return true; +} + +bool BLEManagerImpl::SendReadResponse(BLE_CONNECTION_OBJECT conId, BLE_READ_REQUEST_CONTEXT requestContext, + const ChipBleUUID * svcId, const ChipBleUUID * charId) +{ + ChipLogError(DeviceLayer, "%s: NOT IMPLEMENTED", __PRETTY_FUNCTION__); + return true; +} + +void BLEManagerImpl::NotifyChipConnectionClosed(BLE_CONNECTION_OBJECT conId) +{ + // Intentionally empty. +} + +bool BLEManagerImpl::IsSubscribed(bt_conn * conn) +{ + return mSubscribedConns[bt_conn_index(conn)]; +} + +bool BLEManagerImpl::SetSubscribed(bt_conn * conn) +{ + uint8_t index = bt_conn_index(conn); + bool isSubscribed = mSubscribedConns[index]; + mSubscribedConns[index] = true; + + // If we were not subscribed previously, increment the reference counter of the connection. + if (!isSubscribed) + { + bt_conn_ref(conn); + } + + return !isSubscribed; +} + +bool BLEManagerImpl::UnsetSubscribed(bt_conn * conn) +{ + uint8_t index = bt_conn_index(conn); + bool isSubscribed = mSubscribedConns[index]; + mSubscribedConns[index] = false; + + // If we were subscribed previously, decrement the reference counter of the connection. + if (isSubscribed) + { + bt_conn_unref(conn); + } + + return isSubscribed; +} + +ssize_t BLEManagerImpl::HandleRXWrite(struct bt_conn * conId, const struct bt_gatt_attr * attr, const void * buf, uint16_t len, + uint16_t offset, uint8_t flags) +{ + ChipDeviceEvent event; + PacketBufferHandle packetBuf = PacketBufferHandle::NewWithData(buf, len); + + // Unfortunately the Zephyr logging macros end up assigning uint16_t + // variables to uint16_t:10 fields, which triggers integer conversion + // warnings. And treating the Zephyr headers as system headers does not + // help, apparently. Just turn off that warning around this log call. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" + // LOG_HEXDUMP_DBG(buf, len, "Rx char write"); + blog_debug_hexdump("Rx char write", buf, len); +#pragma GCC diagnostic pop + + // If successful... + if (!packetBuf.IsNull()) + { + // Arrange to post a CHIPoBLERXWriteEvent event to the CHIP queue. + event.Type = DeviceEventType::kPlatformZephyrBleRXWrite; + event.Platform.BleRXWriteEvent.BtConn = bt_conn_ref(conId); + event.Platform.BleRXWriteEvent.Data = std::move(packetBuf).UnsafeRelease(); + } + + // If we failed to allocate a buffer, post a kPlatformZephyrBleOutOfBuffersEvent event. + else + { + event.Type = DeviceEventType::kPlatformZephyrBleOutOfBuffersEvent; + } + + PlatformMgr().PostEvent(&event); + + return len; +} + +bool BLEManagerImpl::HandleTXCCCWrite(struct bt_conn * conId, const struct bt_gatt_attr * attr, uint16_t value) +{ + ChipDeviceEvent event; + + if (value != BT_GATT_CCC_NOTIFY && value != 0) + { + // return BT_GATT_ERR(BT_ATT_ERR_VALUE_NOT_ALLOWED); + return false; + } + + event.Type = DeviceEventType::kPlatformZephyrBleCCCWrite; + event.Platform.BleCCCWriteEvent.BtConn = bt_conn_ref(conId); + event.Platform.BleCCCWriteEvent.Value = value; + + PlatformMgr().PostEvent(&event); + + return true; +} + +void BLEManagerImpl::HandleTXCompleted(struct bt_conn * conId, void * /* param */) +{ + ChipDeviceEvent event; + + event.Type = DeviceEventType::kPlatformZephyrBleTXComplete; + event.Platform.BleTXCompleteEvent.BtConn = bt_conn_ref(conId); + + PlatformMgr().PostEvent(&event); +} + +void BLEManagerImpl::HandleConnect(struct bt_conn * conId, uint8_t err) +{ + ChipDeviceEvent event; + + event.Type = DeviceEventType::kPlatformZephyrBleConnected; + event.Platform.BleConnEvent.BtConn = bt_conn_ref(conId); + event.Platform.BleConnEvent.HciResult = err; + + PlatformMgr().PostEvent(&event); +} + +void BLEManagerImpl::HandleDisconnect(struct bt_conn * conId, uint8_t reason) +{ + ChipDeviceEvent event; + + event.Type = DeviceEventType::kPlatformZephyrBleDisconnected; + event.Platform.BleConnEvent.BtConn = bt_conn_ref(conId); + event.Platform.BleConnEvent.HciResult = reason; + + PlatformMgr().PostEvent(&event); +} + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip + +#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE diff --git a/src/platform/bouffalolab/BL602/BLEManagerImpl.h b/src/platform/bouffalolab/BL602/BLEManagerImpl.h new file mode 100644 index 00000000000000..44d65d503a78b4 --- /dev/null +++ b/src/platform/bouffalolab/BL602/BLEManagerImpl.h @@ -0,0 +1,189 @@ +/* + * + * Copyright (c) 2020-2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the BLEManager singleton object + * for the BL602 platform. + */ + +#pragma once + +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + +#include +#include +#include + +#include + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +using namespace chip::Ble; + +/** + * Concrete implementation of the BLEManager singleton object for the BL602 platform. + */ +class BLEManagerImpl final : public BLEManager, private BleLayer, private BlePlatformDelegate, private BleApplicationDelegate +{ + // Allow the BLEManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend BLEManager; + +private: + // ===== Members that implement the BLEManager internal interface. + + CHIP_ERROR _Init(void); + CHIP_ERROR _Shutdown() { return CHIP_NO_ERROR; } + CHIPoBLEServiceMode _GetCHIPoBLEServiceMode(void); + CHIP_ERROR _SetCHIPoBLEServiceMode(CHIPoBLEServiceMode val); + bool _IsAdvertisingEnabled(void); + CHIP_ERROR _SetAdvertisingEnabled(bool val); + bool _IsAdvertising(void); + CHIP_ERROR _SetAdvertisingMode(BLEAdvertisingMode mode); + CHIP_ERROR _GetDeviceName(char * buf, size_t bufSize); + CHIP_ERROR _SetDeviceName(const char * deviceName); + uint16_t _NumConnections(void); + void _OnPlatformEvent(const ChipDeviceEvent * event); + BleLayer * _GetBleLayer(void); + + // ===== Members that implement virtual methods on BlePlatformDelegate. + + bool SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId); + bool UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId); + bool CloseConnection(BLE_CONNECTION_OBJECT conId); + uint16_t GetMTU(BLE_CONNECTION_OBJECT conId) const; + bool SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf); + bool SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf); + bool SendReadRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId, + PacketBufferHandle pBuf); + bool SendReadResponse(BLE_CONNECTION_OBJECT conId, BLE_READ_REQUEST_CONTEXT requestContext, const ChipBleUUID * svcId, + const ChipBleUUID * charId); + + // ===== Members that implement virtual methods on BleApplicationDelegate. + + void NotifyChipConnectionClosed(BLE_CONNECTION_OBJECT conId); + + // ===== Private members reserved for use by this class only. + + enum class Flags : uint8_t + { + kAsyncInitCompleted = 0x0001, /**< One-time asynchronous initialization actions have been performed. */ + kAdvertisingEnabled = 0x0002, /**< The application has enabled CHIPoBLE advertising. */ + kFastAdvertisingEnabled = 0x0004, /**< The application has enabled fast advertising. */ + kAdvertising = 0x0008, /**< The system is currently CHIPoBLE advertising. */ + kAdvertisingRefreshNeeded = + 0x0010, /**< The advertising state/configuration has changed, but the SoftDevice has yet to be updated. */ + }; + + struct ServiceData; + + BitFlags mFlags; + uint16_t mGAPConns; + CHIPoBLEServiceMode mServiceMode; + bool mSubscribedConns[CONFIG_BT_MAX_CONN]; + bt_gatt_notify_params mNotifyParams[CONFIG_BT_MAX_CONN]; + bt_conn_cb mConnCallbacks; + + void DriveBLEState(void); + CHIP_ERROR ConfigureAdvertising(void); + CHIP_ERROR StartAdvertising(void); + CHIP_ERROR StopAdvertising(void); + CHIP_ERROR HandleGAPConnect(const ChipDeviceEvent * event); + CHIP_ERROR HandleGAPDisconnect(const ChipDeviceEvent * event); + CHIP_ERROR HandleRXCharWrite(const ChipDeviceEvent * event); + CHIP_ERROR HandleTXCharCCCDWrite(const ChipDeviceEvent * event); + CHIP_ERROR HandleTXCharComplete(const ChipDeviceEvent * event); + bool IsSubscribed(bt_conn * conn); + bool SetSubscribed(bt_conn * conn); + bool UnsetSubscribed(bt_conn * conn); + uint32_t GetAdvertisingInterval(); + + static void DriveBLEState(intptr_t arg); + + // Below callbacks run from the system workqueue context and have a limited stack capacity. + static void HandleTXCompleted(bt_conn * conn, void * param); + static void HandleConnect(bt_conn * conn, uint8_t err); + static void HandleDisconnect(bt_conn * conn, uint8_t reason); + static void HandleBLEAdvertisementTimeout(System::Layer * layer, void * param); + static void HandleBLEAdvertisementIntervalChange(System::Layer * layer, void * param); + + // ===== Members for internal use by the following friends. + + friend BLEManager & BLEMgr(void); + friend BLEManagerImpl & BLEMgrImpl(void); + + static BLEManagerImpl sInstance; + +public: + // Below callbacks are public in order to be visible from the global scope. + static ssize_t HandleRXWrite(bt_conn * conn, const bt_gatt_attr * attr, const void * buf, uint16_t len, uint16_t offset, + uint8_t flags); + static bool HandleTXCCCWrite(bt_conn * conn, const bt_gatt_attr * attr, uint16_t value); +}; + +/** + * Returns a reference to the public interface of the BLEManager singleton object. + * + * Internal components should use this to access features of the BLEManager object + * that are common to all platforms. + */ +inline BLEManager & BLEMgr(void) +{ + return BLEManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the BLEManager singleton object. + * + * Internal components can use this to gain access to features of the BLEManager + * that are specific to the BL602 platform. + */ +inline BLEManagerImpl & BLEMgrImpl(void) +{ + return BLEManagerImpl::sInstance; +} + +inline BleLayer * BLEManagerImpl::_GetBleLayer() +{ + return this; +} + +inline BLEManager::CHIPoBLEServiceMode BLEManagerImpl::_GetCHIPoBLEServiceMode(void) +{ + return mServiceMode; +} + +inline bool BLEManagerImpl::_IsAdvertisingEnabled(void) +{ + return mFlags.Has(Flags::kAdvertisingEnabled); +} + +inline bool BLEManagerImpl::_IsAdvertising(void) +{ + return mFlags.Has(Flags::kAdvertising); +} + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip + +#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE diff --git a/src/platform/bouffalolab/BL602/BUILD.gn b/src/platform/bouffalolab/BL602/BUILD.gn new file mode 100644 index 00000000000000..f33bffb3372d8e --- /dev/null +++ b/src/platform/bouffalolab/BL602/BUILD.gn @@ -0,0 +1,72 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") + +import("${chip_root}/src/platform/device.gni") + +assert(chip_device_platform == "bl602") + +static_library("BL602") { + sources = [ + "../../FreeRTOS/SystemTimeSupport.cpp", + "../../SingletonConfigurationManager.cpp", + "BL602Config.cpp", + "BL602Config.h", + "BLEManagerImpl.cpp", + "BLEManagerImpl.h", + "BlePlatformConfig.h", + "CHIPDevicePlatformConfig.h", + "CHIPDevicePlatformEvent.h", + "CHIPMem-Platform.cpp", + "CHIPPlatformConfig.h", + "ConfigurationManagerImpl.cpp", + "ConfigurationManagerImpl.h", + "ConnectivityManagerImpl.cpp", + "ConnectivityManagerImpl.h", + "DeviceNetworkProvisioningDelegateImpl.cpp", + "DeviceNetworkProvisioningDelegateImpl.h", + "DiagnosticDataProviderImpl.cpp", + "DiagnosticDataProviderImpl.h", + "DnssdImpl.cpp", + "InetPlatformConfig.h", + "Logging.cpp", + "NetworkCommissioningWiFiDriver.cpp", + "PlatformManagerImpl.cpp", + "PlatformManagerImpl.h", + "SystemPlatformConfig.h", + ] + + public_deps = [ "${chip_root}/src/platform:platform_base" ] + + # defines = [ + # "CHIP_KVS_SECTOR_COUNT=1", + # "CHIP_KVS_BASE_SECTOR_INDEX=0" + # ] + + # Add pigweed KVS + deps = [ + "$dir_pw_kvs:crc16", + "$dir_pw_log", + ] + public_deps += [ + "$dir_pw_checksum", + "$dir_pw_kvs", + ] + sources += [ + "KeyValueStoreManagerImpl.cpp", + "KeyValueStoreManagerImpl.h", + ] +} diff --git a/src/platform/bouffalolab/BL602/BlePlatformConfig.h b/src/platform/bouffalolab/BL602/BlePlatformConfig.h new file mode 100644 index 00000000000000..f445cabca58a59 --- /dev/null +++ b/src/platform/bouffalolab/BL602/BlePlatformConfig.h @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for the CHIP BLE + * Layer on the BL602 platform. + * + */ + +#pragma once + +// ==================== Platform Adaptations ==================== + +struct bt_conn; +#define BLE_CONNECTION_OBJECT bt_conn * +#define BLE_CONNECTION_UNINITIALIZED nullptr +#define BLE_MAX_RECEIVE_WINDOW_SIZE 5 + +// ========== Platform-specific Configuration Overrides ========= + +/* none so far */ diff --git a/src/platform/bouffalolab/BL602/CHIPDevicePlatformConfig.h b/src/platform/bouffalolab/BL602/CHIPDevicePlatformConfig.h new file mode 100644 index 00000000000000..878ef7f8f3be84 --- /dev/null +++ b/src/platform/bouffalolab/BL602/CHIPDevicePlatformConfig.h @@ -0,0 +1,133 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for the Chip Device Layer + * on BL602 platforms using the BouffaloLab SDK. + */ + +#pragma once + +// ==================== Platform Adaptations ==================== + +#define CHIP_DEVICE_CONFIG_BL602_EASYFLASH_ERROR_MIN 22000000 +#define CHIP_DEVICE_CONFIG_BL602_BLE_ERROR_MIN 23000000 + +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 0 +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 + +#if CHIP_ENABLE_OPENTHREAD +#define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1 +#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1 +#define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1 +#endif + +//#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1 + +#define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 0 + +#define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_CRIT_EIDC_KEY 2 +#define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_PROD_EIDC_KEY 3 +#define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_INFO_EIDC_KEY 4 +#define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_DEBUG_EIDC_KEY 5 + +// ========== Platform-specific Configuration ========= + +// These are configuration options that are unique to the BL602 platform. +// These can be overridden by the application as needed. + +// -------------- BL602 EasyFlash Storage Configuration ------------- + +/** + * @def CHIP_DEVICE_CONFIG_EASYFLASH_MAX_NUM_OBJECTS + * + * @brief + * Configures the size of the easyflash cache and should be set >= the + * maximum number of Chip Config objects, e.g... + * Factory configs[5], System configs[23], Counter configs[32] + margin[4] = 64. + * + */ +#ifndef CHIP_DEVICE_CONFIG_EASYFLASH_MAX_NUM_OBJECTS +#define CHIP_DEVICE_CONFIG_EASYFLASH_MAX_NUM_OBJECTS 64 +#endif // CHIP_DEVICE_CONFIG_EASYFLASH_MAX_NUM_OBJECTS + +/** + * @def CHIP_DEVICE_CONFIG_EASYFLASH_MAX_OBJECT_SIZE + * + * @brief + * This determines the max size for any Chip easyflash object + * (e.g. for Config 'string' or 'binary' types). + */ +#ifndef CHIP_DEVICE_CONFIG_EASYFLASH_MAX_OBJECT_SIZE +#define CHIP_DEVICE_CONFIG_EASYFLASH_MAX_OBJECT_SIZE 1000 +#endif // CHIP_DEVICE_CONFIG_EASYFLASH_MAX_OBJECT_SIZE + +/** + * @def CHIP_DEVICE_CONFIG_EASYFLASH_NUM_FLASH_PAGES_FOR_STORAGE + * + * @brief + * This determines the Flash size used for easyflash data storage:- + * (assuming 2k Flash page size) => Total Flash size for easyflash: 8 * 2k = 16k + * The total size should allow sufficient margin for wear-levelling and + * repacking. + */ +#ifndef CHIP_DEVICE_CONFIG_EASYFLASH_NUM_FLASH_PAGES_FOR_STORAGE +#define CHIP_DEVICE_CONFIG_EASYFLASH_NUM_FLASH_PAGES_FOR_STORAGE 8 +#endif // CHIP_DEVICE_CONFIG_EASYFLASH_NUM_FLASH_PAGES_FOR_STORAGE + +// ========== Platform-specific Configuration Overrides ========= + +#ifndef CHIP_DEVICE_CONFIG_BLE_LL_TASK_PRIORITY +#define CHIP_DEVICE_CONFIG_BLE_LL_TASK_PRIORITY (configTIMER_TASK_PRIORITY - 1) +#endif // CHIP_DEVICE_CONFIG_BLE_LL_TASK_PRIORITY + +#ifndef CHIP_DEVICE_CONFIG_BLE_STACK_TASK_PRIORITY +#define CHIP_DEVICE_CONFIG_BLE_STACK_TASK_PRIORITY (CHIP_DEVICE_CONFIG_BLE_LL_TASK_PRIORITY - 1) +#endif // CHIP_DEVICE_CONFIG_BLE_STACK_TASK_PRIORITY + +#ifndef CHIP_DEVICE_CONFIG_BLE_APP_TASK_PRIORITY +#define CHIP_DEVICE_CONFIG_BLE_APP_TASK_PRIORITY (CHIP_DEVICE_CONFIG_BLE_STACK_TASK_PRIORITY - 1) +#endif // CHIP_DEVICE_CONFIG_BLE_STACK_TASK_PRIORITY + +#ifndef CHIP_DEVICE_CONFIG_BLE_APP_TASK_STACK_SIZE +#define CHIP_DEVICE_CONFIG_BLE_APP_TASK_STACK_SIZE 1536 +#endif // CHIP_DEVICE_CONFIG_BLE_APP_TASK_STACK_SIZE + +#ifndef CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE +#define CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE (6 * 1024) +#endif // CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE + +#ifndef CHIP_DEVICE_CONFIG_THREAD_TASK_STACK_SIZE +#if defined(BL602MG21) +#define CHIP_DEVICE_CONFIG_THREAD_TASK_STACK_SIZE (2 * 1024) +#else +#define CHIP_DEVICE_CONFIG_THREAD_TASK_STACK_SIZE (3 * 1024) +#endif +#endif // CHIP_DEVICE_CONFIG_THREAD_TASK_STACK_SIZE + +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_TELEMETRY 0 +#define CHIP_DEVICE_CONFIG_ENABLE_THREAD_TELEMETRY 0 +#define CHIP_DEVICE_CONFIG_ENABLE_THREAD_TELEMETRY_FULL 0 + +#ifndef CHIP_DEVICE_CONFIG_BLE_APP_TASK_NAME +#define CHIP_DEVICE_CONFIG_BLE_APP_TASK_NAME "BLE_EVENT" +#endif // CHIP_DEVICE_CONFIG_BLE_APP_TASK_NAME +#define CHIP_DEVICE_CONFIG_LOG_PROVISIONING_HASH 0 + +#define CHIP_DEVICE_CONFIG_MAX_EVENT_QUEUE_SIZE 25 diff --git a/src/platform/bouffalolab/BL602/CHIPDevicePlatformEvent.h b/src/platform/bouffalolab/BL602/CHIPDevicePlatformEvent.h new file mode 100644 index 00000000000000..76bd2bcdc0476c --- /dev/null +++ b/src/platform/bouffalolab/BL602/CHIPDevicePlatformEvent.h @@ -0,0 +1,98 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Defines platform-specific event types and data for the chip + * Device Layer on the BL602 platform. + */ + +#pragma once + +#include + +#include +#include + +namespace chip { +namespace DeviceLayer { + +namespace DeviceEventType { + +/** + * Enumerates BL602 platform-specific event types that are visible to the application. + */ +enum PublicPlatformSpecificEventTypes +{ + /* None currently defined */ +}; + +/** + * Enumerates BL602 platform-specific event types that are internal to the chip Device Layer. + */ +enum InternalPlatformSpecificEventTypes +{ + kPlatformZephyrEvent = kRange_InternalPlatformSpecific, + kPlatformZephyrBleConnected, + kPlatformZephyrBleDisconnected, + kPlatformZephyrBleCCCWrite, + kPlatformZephyrBleRXWrite, + kPlatformZephyrBleTXComplete, + kPlatformZephyrBleOutOfBuffersEvent, +}; + +} // namespace DeviceEventType + +struct BleConnEventType +{ + bt_conn * BtConn; + uint8_t HciResult; +}; + +struct BleCCCWriteEventType +{ + bt_conn * BtConn; + uint16_t Value; +}; + +struct BleRXWriteEventType +{ + bt_conn * BtConn; + ::chip::System::PacketBuffer * Data; +}; + +struct BleTXCompleteEventType +{ + bt_conn * BtConn; +}; + +/** + * Represents platform-specific event information for the BL602 platform. + */ +struct ChipDevicePlatformEvent final +{ + union + { + BleConnEventType BleConnEvent; + BleCCCWriteEventType BleCCCWriteEvent; + BleRXWriteEventType BleRXWriteEvent; + BleTXCompleteEventType BleTXCompleteEvent; + }; +}; + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/CHIPMem-Platform.cpp b/src/platform/bouffalolab/BL602/CHIPMem-Platform.cpp new file mode 100644 index 00000000000000..5f1f07f97a6a77 --- /dev/null +++ b/src/platform/bouffalolab/BL602/CHIPMem-Platform.cpp @@ -0,0 +1,164 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * + * Copyright (c) 2020-2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file implements heap memory allocation APIs for CHIP. These functions are platform + * specific and might be C Standard Library heap functions re-direction in most of cases. + * + */ + +//#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +extern "C" { +#include +#include +}; + +#if CHIP_CONFIG_MEMORY_MGMT_PLATFORM + +extern "C" void memMonitoringTrackAlloc(void * ptr, size_t size); +extern "C" void memMonitoringTrackFree(void * ptr, size_t size); + +#ifndef trackAlloc +#define trackAlloc(pvAddress, uiSize) memMonitoringTrackAlloc(pvAddress, uiSize) +#endif +#ifndef trackFree +#define trackFree(pvAddress, uiSize) memMonitoringTrackFree(pvAddress, uiSize) +#endif + +namespace chip { +namespace Platform { + +#define VERIFY_INITIALIZED() VerifyInitialized(__func__) + +static std::atomic_int memoryInitialized{ 0 }; + +static void VerifyInitialized(const char * func) +{ + if (!memoryInitialized) + { + log_error("ABORT: chip::Platform::%s() called before chip::Platform::MemoryInit()\r\n", func); + abort(); + } +} + +CHIP_ERROR MemoryAllocatorInit(void * buf, size_t bufSize) +{ +#ifndef NDEBUG + if (memoryInitialized++ > 0) + { + log_error("ABORT: chip::Platform::MemoryInit() called twice.\r\n"); + abort(); + } +#endif + return CHIP_NO_ERROR; +} + +void MemoryAllocatorShutdown() +{ +#ifndef NDEBUG + if (--memoryInitialized < 0) + { + log_error("ABORT: chip::Platform::MemoryShutdown() called twice.\r\n"); + abort(); + } +#endif +} + +void * MemoryAlloc(size_t size) +{ + void * ptr; + VERIFY_INITIALIZED(); + ptr = pvPortMalloc(size); + trackAlloc(ptr, size); + return ptr; +} + +void * MemoryAlloc(size_t size, bool isLongTermAlloc) +{ + void * ptr; + VERIFY_INITIALIZED(); + ptr = pvPortMalloc(size); + trackAlloc(ptr, size); + return ptr; +} + +void * MemoryCalloc(size_t num, size_t size) +{ + void * ptr; + VERIFY_INITIALIZED(); + ptr = pvPortCalloc(num, size); + trackAlloc(ptr, size * num); + return ptr; +} + +void * MemoryRealloc(void * p, size_t size) +{ + VERIFY_INITIALIZED(); + return pvPortRealloc(p, size); +} + +void MemoryFree(void * p) +{ + VERIFY_INITIALIZED(); + trackFree(p, 0); + vPortFree(p); +} + +bool MemoryInternalCheckPointer(const void * p, size_t min_size) +{ + return (p != nullptr); +} + +} // namespace Platform +} // namespace chip + +extern "C" void memMonitoringTrackAlloc(void * ptr, size_t size) {} + +extern "C" void memMonitoringTrackFree(void * ptr, size_t size) {} + +#endif // CHIP_CONFIG_MEMORY_MGMT_PLATFORM diff --git a/src/platform/bouffalolab/BL602/CHIPPlatformConfig.h b/src/platform/bouffalolab/BL602/CHIPPlatformConfig.h new file mode 100644 index 00000000000000..7e427d48ad3cfa --- /dev/null +++ b/src/platform/bouffalolab/BL602/CHIPPlatformConfig.h @@ -0,0 +1,149 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for CHIP on + * Bouffalolab BL602 platforms. + */ + +#pragma once + +#include + +// ==================== General Platform Adaptations ==================== + +#define CHIP_CONFIG_ERROR_TYPE int32_t +#define CHIP_CONFIG_NO_ERROR 0 +#define CHIP_CONFIG_ERROR_MIN 4000000 +#define CHIP_CONFIG_ERROR_MAX 4000999 + +#define ASN1_CONFIG_ERROR_TYPE int32_t +#define ASN1_CONFIG_NO_ERROR 0 +#define ASN1_CONFIG_ERROR_MIN 5000000 +#define ASN1_CONFIG_ERROR_MAX 5000999 + +#define ChipDie() abort() + +#define CHIP_CONFIG_PERSISTED_STORAGE_KEY_TYPE const char * +#define CHIP_CONFIG_PERSISTED_STORAGE_ENC_MSG_CNTR_ID 1 +#define CHIP_CONFIG_PERSISTED_STORAGE_MAX_KEY_LENGTH 2 + +#define CHIP_CONFIG_LIFETIIME_PERSISTED_COUNTER_KEY 0x01 +//#define CHIP_CONFIG_PERSISTED_STORAGE_KEY_GLOBAL_MESSAGE_COUNTER 0x2 + +#define CHIP_CONFIG_TIME_ENABLE_CLIENT 1 +#define CHIP_CONFIG_TIME_ENABLE_SERVER 0 + +// ==================== Security Adaptations ==================== + +#define CHIP_CONFIG_USE_OPENSSL_ECC 0 +#define CHIP_CONFIG_USE_MICRO_ECC 0 + +#define CHIP_CONFIG_HASH_IMPLEMENTATION_OPENSSL 0 +#define CHIP_CONFIG_HASH_IMPLEMENTATION_MINCRYPT 1 +#define CHIP_CONFIG_HASH_IMPLEMENTATION_MBEDTLS 0 +#define CHIP_CONFIG_HASH_IMPLEMENTATION_PLATFORM 0 + +// FIXME: BL602 set to MBED-TLS (But this is third-party repo in CHIP, not SDK) + +#define CHIP_CONFIG_AES_IMPLEMENTATION_OPENSSL 0 +#define CHIP_CONFIG_AES_IMPLEMENTATION_AESNI 0 +#define CHIP_CONFIG_AES_IMPLEMENTATION_MBEDTLS 1 +#define CHIP_CONFIG_AES_IMPLEMENTATION_PLATFORM 0 + +// FIXME: BL602 currently set to CHIP (Does this use Entropy.cpp ?) + +#define CHIP_CONFIG_RNG_IMPLEMENTATION_OPENSSL 0 +#define CHIP_CONFIG_RNG_IMPLEMENTATION_CHIPDRBG 1 +#define CHIP_CONFIG_RNG_IMPLEMENTATION_PLATFORM 0 + +#define CHIP_CONFIG_ENABLE_PASE_INITIATOR 0 +#define CHIP_CONFIG_ENABLE_PASE_RESPONDER 1 +#define CHIP_CONFIG_ENABLE_CASE_INITIATOR 1 + +#define CHIP_CONFIG_SUPPORT_PASE_CONFIG0 0 +#define CHIP_CONFIG_SUPPORT_PASE_CONFIG1 0 +#define CHIP_CONFIG_SUPPORT_PASE_CONFIG2 0 +#define CHIP_CONFIG_SUPPORT_PASE_CONFIG3 0 +#define CHIP_CONFIG_SUPPORT_PASE_CONFIG4 1 + +#define CHIP_CONFIG_ENABLE_KEY_EXPORT_INITIATOR 0 + +#define CHIP_CONFIG_ENABLE_PROVISIONING_BUNDLE_SUPPORT 0 + +// ==================== General Configuration Overrides ==================== + +#ifndef CHIP_CONFIG_MAX_PEER_NODES +#define CHIP_CONFIG_MAX_PEER_NODES 16 +#endif // CHIP_CONFIG_MAX_PEER_NODES + +#ifndef CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS +#define CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS 8 +#endif // CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS + +#ifndef CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS +#define CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS 8 +#endif // CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS + +#ifndef CHIP_CONFIG_MAX_ACTIVE_CHANNELS +#define CHIP_CONFIG_MAX_ACTIVE_CHANNELS 8 +#endif // CHIP_CONFIG_MAX_ACTIVE_CHANNELS + +#ifndef CHIP_CONFIG_MAX_CHANNEL_HANDLES +#define CHIP_CONFIG_MAX_CHANNEL_HANDLES 16 +#endif // CHIP_CONFIG_MAX_CHANNEL_HANDLES + +#ifndef CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT +#define CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT 6 +#endif // CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT + +#ifndef CHIP_LOG_FILTERING +#define CHIP_LOG_FILTERING 0 +#endif // CHIP_LOG_FILTERING + +#ifndef CHIP_CONFIG_MAX_INTERFACES +#define CHIP_CONFIG_MAX_INTERFACES 4 +#endif // CHIP_CONFIG_MAX_INTERFACES + +#ifndef CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS +#define CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS 4 +#endif // CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS + +// ==================== Security Configuration Overrides ==================== + +#ifndef CHIP_CONFIG_MAX_APPLICATION_GROUPS +#define CHIP_CONFIG_MAX_APPLICATION_GROUPS 4 +#endif // CHIP_CONFIG_MAX_APPLICATION_GROUPS + +#ifndef CHIP_CONFIG_DEBUG_CERT_VALIDATION +#define CHIP_CONFIG_DEBUG_CERT_VALIDATION 0 +#endif // CHIP_CONFIG_DEBUG_CERT_VALIDATION + +#ifndef CHIP_CONFIG_ENABLE_CASE_RESPONDER +#define CHIP_CONFIG_ENABLE_CASE_RESPONDER 1 +#endif // CHIP_CONFIG_ENABLE_CASE_RESPONDER + +// ==================== FreeRTOS Configuration Overrides ==================== +#ifndef CHIP_CONFIG_FREERTOS_USE_STATIC_TASK +#define CHIP_CONFIG_FREERTOS_USE_STATIC_TASK 1 +#endif + +#ifndef CHIP_CONFIG_FREERTOS_USE_STATIC_QUEUE +#define CHIP_CONFIG_FREERTOS_USE_STATIC_QUEUE 1 +#endif diff --git a/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp new file mode 100644 index 00000000000000..9e5a8bd219880d --- /dev/null +++ b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp @@ -0,0 +1,218 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides the implementation of the Device Layer ConfigurationManager object + * for the BL602 platform. + */ +/* this file behaves like a config.h, comes first */ +#include + +#include +#include +#include +#include +#include + +//#include "esp_wifi.h" +//#include "nvs.h" +//#include "nvs_flash.h" +extern "C" { +#include +} + +namespace chip { +namespace DeviceLayer { + +using namespace ::chip::DeviceLayer::Internal; + +namespace { + +enum +{ + kChipProduct_Connect = 0x0016 +}; + +} // unnamed namespace + +/** Singleton instance of the ConfigurationManager implementation object for the BL602 platform. + */ +ConfigurationManagerImpl ConfigurationManagerImpl::sInstance; + +ConfigurationManagerImpl & ConfigurationManagerImpl::GetDefaultInstance() +{ + static ConfigurationManagerImpl sInstance; + return sInstance; +} + +CHIP_ERROR ConfigurationManagerImpl::Init() +{ + CHIP_ERROR err; + bool failSafeArmed; + + // Initialize the generic implementation base class. + err = Internal::GenericConfigurationManagerImpl::Init(); + SuccessOrExit(err); + +#if CHIP_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING + + { + FactoryProvisioning factoryProv; + uint8_t * const kInternalSRAM12Start = (uint8_t *) 0x3FFAE000; + uint8_t * const kInternalSRAM12End = kInternalSRAM12Start + (328 * 1024) - 1; + + // Scan ESP32 Internal SRAM regions 1 and 2 for injected provisioning data and save + // to persistent storage if found. + err = factoryProv.ProvisionDeviceFromRAM(kInternalSRAM12Start, kInternalSRAM12End); + SuccessOrExit(err); + } + +#endif // CHIP_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING + + // If the fail-safe was armed when the device last shutdown, initiate a factory reset. + if (GetFailSafeArmed(failSafeArmed) == CHIP_NO_ERROR && failSafeArmed) + { + ChipLogProgress(DeviceLayer, "Detected fail-safe armed on reboot; initiating factory reset"); + InitiateFactoryReset(); + } + err = CHIP_NO_ERROR; + +exit: + return err; +} + +bool ConfigurationManagerImpl::CanFactoryReset() +{ + // TODO: query the application to determine if factory reset is allowed. + return true; +} + +void ConfigurationManagerImpl::InitiateFactoryReset() +{ + PlatformMgr().ScheduleWork(DoFactoryReset); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t & value) +{ + BL602Config::Key configKey{ key }; + + CHIP_ERROR err = ReadConfigValue(configKey, value); + if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + return err; +} + +CHIP_ERROR ConfigurationManagerImpl::WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t value) +{ + BL602Config::Key configKey{ key }; + return WriteConfigValue(configKey, value); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, bool & val) +{ + return BL602Config::ReadConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, uint32_t & val) +{ + return BL602Config::ReadConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, uint64_t & val) +{ + return BL602Config::ReadConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen) +{ + return BL602Config::ReadConfigValueStr(key, buf, bufSize, outLen); +} + +CHIP_ERROR ConfigurationManagerImpl::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen) +{ + return BL602Config::ReadConfigValueBin(key, buf, bufSize, outLen); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, bool val) +{ + return BL602Config::WriteConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, uint32_t val) +{ + return BL602Config::WriteConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, uint64_t val) +{ + return BL602Config::WriteConfigValue(key, val); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueStr(Key key, const char * str) +{ + return BL602Config::WriteConfigValueStr(key, str); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueStr(Key key, const char * str, size_t strLen) +{ + return BL602Config::WriteConfigValueStr(key, str, strLen); +} + +CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen) +{ + return BL602Config::WriteConfigValueBin(key, data, dataLen); +} + +void ConfigurationManagerImpl::RunConfigUnitTest(void) +{ + BL602Config::RunConfigUnitTest(); +} + +void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg) +{ + CHIP_ERROR err; + + ChipLogProgress(DeviceLayer, "Performing factory reset"); + + // 3R: TODO + + // // Erase all values in the chip-config NVS namespace. + // err = ClearNamespace(kConfigNamespace_ChipConfig); + // if (err != CHIP_NO_ERROR) + // { + // ChipLogError(DeviceLayer, "ClearNamespace(ChipConfig) failed: %s", chip::ErrorStr(err)); + // } + + // // Restore WiFi persistent settings to default values. + // err = esp_wifi_restore(); + // if (err != ESP_OK) + // { + // ChipLogError(DeviceLayer, "esp_wifi_restore() failed: %s", chip::ErrorStr(err)); + // } + + // Restart the system. + ChipLogProgress(DeviceLayer, "System restarting"); + hal_reboot(); +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.h b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.h new file mode 100644 index 00000000000000..0239f9a8dee22e --- /dev/null +++ b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.h @@ -0,0 +1,133 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the ConfigurationManager object + * for the BL602 platform. + */ + +#pragma once + +#include +#include +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE +#include +#else +#include +#endif + +#include +#include + +namespace chip { +namespace DeviceLayer { + +/** + * Concrete implementation of the ConfigurationManager singleton object for the BL602 platform. + */ +class ConfigurationManagerImpl final : public Internal::GenericConfigurationManagerImpl, +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + public Internal::GenericConnectivityManagerImpl_BLE +#else + public Internal::GenericConnectivityManagerImpl_NoBLE +#endif +{ +public: + static ConfigurationManagerImpl & GetDefaultInstance(); + // Allow the ConfigurationManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend class ConfigurationManager; + +private: + // ===== Members that implement the ConfigurationManager public interface. + + CHIP_ERROR Init(void) override; + CHIP_ERROR GetPrimaryWiFiMACAddress(uint8_t * buf) override; + bool CanFactoryReset(void) override; + void InitiateFactoryReset(void) override; + CHIP_ERROR ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t & value) override; + CHIP_ERROR WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t value) override; + +#if 0 + CHIP_ERROR GetRebootCount(uint32_t & rebootCount) override; + CHIP_ERROR StoreRebootCount(uint32_t rebootCount) override; + CHIP_ERROR GetTotalOperationalHours(uint32_t & totalOperationalHours) override; + CHIP_ERROR StoreTotalOperationalHours(uint32_t totalOperationalHours) override; + CHIP_ERROR GetBootReason(uint32_t & bootReasons) override; + CHIP_ERROR StoreBootReason(uint32_t bootReasons) override; +#endif + + // NOTE: Other public interface methods are implemented by GenericConfigurationManagerImpl<>. + + // ===== Members for internal use by the following friends. + + CHIP_ERROR ReadConfigValue(Key key, bool & val) override; + CHIP_ERROR ReadConfigValue(Key key, uint32_t & val) override; + CHIP_ERROR ReadConfigValue(Key key, uint64_t & val) override; + CHIP_ERROR ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen) override; + CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen) override; + CHIP_ERROR WriteConfigValue(Key key, bool val) override; + CHIP_ERROR WriteConfigValue(Key key, uint32_t val) override; + CHIP_ERROR WriteConfigValue(Key key, uint64_t val) override; + CHIP_ERROR WriteConfigValueStr(Key key, const char * str) override; + CHIP_ERROR WriteConfigValueStr(Key key, const char * str, size_t strLen) override; + CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen) override; + void RunConfigUnitTest(void) override; + + friend ConfigurationManager & ConfigurationMgr(void); + friend ConfigurationManagerImpl & ConfigurationMgrImpl(void); + + static ConfigurationManagerImpl sInstance; + + // ===== Private members reserved for use by this class only. + + static void DoFactoryReset(intptr_t arg); +}; + +/** + * Returns the public interface of the ConfigurationManager singleton object. + * + * Chip applications should use this to access features of the ConfigurationManager object + * that are common to all platforms. + */ +inline ConfigurationManager & ConfigurationMgr(void) +{ + return ConfigurationManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the ConfigurationManager singleton object. + * + * Chip applications can use this to gain access to features of the ConfigurationManager + * that are specific to the BL602 platform. + */ +inline ConfigurationManagerImpl & ConfigurationMgrImpl(void) +{ + return ConfigurationManagerImpl::sInstance; +} + +inline CHIP_ERROR ConfigurationManagerImpl::GetPrimaryWiFiMACAddress(uint8_t * buf) +{ + log_error("ConfigurationManagerImpl::_GetPrimaryWiFiMACAddress() is not supported now.\r\n"); + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp new file mode 100644 index 00000000000000..7a084224b4a390 --- /dev/null +++ b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp @@ -0,0 +1,153 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* this file behaves like a config.h, comes first */ +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include + +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE +#include +#endif + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD +#include +#endif + +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +#define zero(S) memset(&S, 0, sizeof(S)) + +using namespace ::chip; +using namespace ::chip::Dnssd; +using namespace ::chip::Inet; +using namespace ::chip::System; +using namespace ::chip::TLV; +using namespace ::chip::DeviceLayer::Internal; + +namespace chip { +namespace DeviceLayer { + +ConnectivityManagerImpl ConnectivityManagerImpl::sInstance; +static ConnectivityManager::WiFiStationState ConnectivityManagerImpl::mWiFiStationState = + ConnectivityManager::kWiFiStationState_NotConnected; + +void ConnectivityManagerImpl::WifiStationStateChange(void) +{ + ChipDeviceEvent event; + + if (ConnectivityManagerImpl::mWiFiStationState == ConnectivityManager::kWiFiStationState_Connected) + { + event.Type = DeviceEventType::kWiFiConnectivityChange; + event.WiFiConnectivityChange.Result = kConnectivity_Established; + PlatformMgr().PostEventOrDie(&event); + } +} + +void ConnectivityManagerImpl::DriveStationState() +{ + +exit: + return; +} + +void ConnectivityManagerImpl::DriveStationState(::chip::System::Layer * aLayer, void * aAppState) +{ + sInstance.DriveStationState(); +} + +CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationMode(WiFiStationMode val) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + DeviceLayer::SystemLayer().ScheduleWork(DriveStationState, NULL); +exit: + return err; +} + +CHIP_ERROR ConnectivityManagerImpl::_Init() +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + // Initialize the generic base classes that require it. +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + GenericConnectivityManagerImpl_Thread::_Init(); +#endif + + SuccessOrExit(err); + + err = SetWiFiStationMode(kWiFiStationMode_Enabled); + NetworkCommissioning::BLWiFiDriver::GetInstance().ReConnectWiFiNetwork(); + + SuccessOrExit(err); + +exit: + return err; +} + +void ConnectivityManagerImpl::_OnPlatformEvent(const ChipDeviceEvent * event) +{ + // Forward the event to the generic base classes as needed. +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + GenericConnectivityManagerImpl_Thread::_OnPlatformEvent(event); +#endif +} + +bool ConnectivityManagerImpl::_IsWiFiStationEnabled(void) +{ + return GetWiFiStationMode() == kWiFiStationMode_Enabled; +} + +void ConnectivityManagerImpl::OnStationConnected() +{ + NetworkCommissioning::BLWiFiDriver::GetInstance().OnConnectWiFiNetwork(); + // TODO Invoke WARM to perform actions that occur when the WiFi station interface comes up. + +#if 0 + // Alert other components of the new state. + ChipDeviceEvent event; + event.Type = DeviceEventType::kWiFiConnectivityChange; + event.WiFiConnectivityChange.Result = kConnectivity_Established; + PlatformMgr().PostEventOrDie(&event); + + UpdateInternetConnectivityState(); +#endif +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.h b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.h new file mode 100644 index 00000000000000..e74d536d2ed339 --- /dev/null +++ b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.h @@ -0,0 +1,124 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE +#include +#else +#include +#endif +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD +#include +#else +#include +#endif + +namespace Inet { +class IPAddress; +} // namespace Inet + +namespace chip { +namespace DeviceLayer { + +/** + * Concrete implementation of the ConnectivityManager singleton object for Bouffalolab BL602 platforms. + */ +class ConnectivityManagerImpl final : public ConnectivityManager, + public Internal::GenericConnectivityManagerImpl, + public Internal::GenericConnectivityManagerImpl_WiFi, +#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + public Internal::GenericConnectivityManagerImpl_BLE, +#else + public Internal::GenericConnectivityManagerImpl_NoBLE, +#endif +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + public Internal::GenericConnectivityManagerImpl_Thread +#else + public Internal::GenericConnectivityManagerImpl_NoThread +#endif +{ + // Allow the ConnectivityManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend class ConnectivityManager; + +public: + static WiFiStationState mWiFiStationState; + + bool _IsWiFiStationConnected(void); + void WifiStationStateChange(void); + void OnStationConnected(void); + +private: + // ===== Members that implement the ConnectivityManager abstract interface. + + bool _IsWiFiStationEnabled(void); + bool _IsWiFiStationProvisioned(void); + CHIP_ERROR _SetWiFiStationMode(WiFiStationMode val); + void DriveStationState(void); + static void DriveStationState(::chip::System::Layer * aLayer, void * aAppState); + CHIP_ERROR _Init(void); + void _OnPlatformEvent(const ChipDeviceEvent * event); + void GetWifiState(void); + WiFiStationState GetWiFiStationState(void); + + // ===== Members for internal use by the following friends. + + friend ConnectivityManager & ConnectivityMgr(void); + friend ConnectivityManagerImpl & ConnectivityMgrImpl(void); + + static ConnectivityManagerImpl sInstance; +}; + +inline ConnectivityManager::WiFiStationState ConnectivityManagerImpl::GetWiFiStationState(void) +{ + return mWiFiStationState; +} + +inline bool ConnectivityManagerImpl::_IsWiFiStationConnected(void) +{ + return mWiFiStationState == kWiFiStationState_Connected; +} + +/** + * Returns the public interface of the ConnectivityManager singleton object. + * + * Chip applications should use this to access features of the ConnectivityManager object + * that are common to all platforms. + */ +inline ConnectivityManager & ConnectivityMgr(void) +{ + return ConnectivityManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the ConnectivityManager singleton object. + * + * Chip applications can use this to gain access to features of the ConnectivityManager + * that are specific to the ESP32 platform. + */ +inline ConnectivityManagerImpl & ConnectivityMgrImpl(void) +{ + return ConnectivityManagerImpl::sInstance; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.cpp b/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.cpp new file mode 100644 index 00000000000000..6a8474c9e59f69 --- /dev/null +++ b/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.cpp @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "DeviceNetworkProvisioningDelegateImpl.h" +#include "NetworkCommissioningDriver.h" + +#include + +#if CHIP_ENABLE_OPENTHREAD +#include +#endif + +using namespace ::chip::DeviceLayer::Internal; + +namespace chip { +namespace DeviceLayer { + +CHIP_ERROR DeviceNetworkProvisioningDelegateImpl::_ProvisionWiFiNetwork(const char * ssid, const char * key) +{ + // BL602Config::WriteWifiInfo(ssid, passwd); + + CHIP_ERROR err = CHIP_NO_ERROR; + ChipLogProgress(NetworkProvisioning, "BL602NetworkProvisioningDelegate: SSID: %s", ssid); + err = NetworkCommissioning::BLWiFiDriver::GetInstance().ConnectWiFiNetwork(ssid, strlen(ssid), key, strlen(key)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(NetworkProvisioning, "Failed to connect to WiFi network: %s", chip::ErrorStr(err)); + } + + return err; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.h b/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.h new file mode 100644 index 00000000000000..47c9f0f6e8262c --- /dev/null +++ b/src/platform/bouffalolab/BL602/DeviceNetworkProvisioningDelegateImpl.h @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace chip { +namespace DeviceLayer { + +namespace Internal { + +template +class GenericDeviceNetworkProvisioningDelegateImpl; + +} // namespace Internal + +class DeviceNetworkProvisioningDelegateImpl final + : public Internal::GenericDeviceNetworkProvisioningDelegateImpl +{ + friend class GenericDeviceNetworkProvisioningDelegateImpl; + +private: + CHIP_ERROR _ProvisionWiFiNetwork(const char * ssid, const char * passwd); + CHIP_ERROR _ProvisionThreadNetwork(ByteSpan threadData) { return CHIP_ERROR_NOT_IMPLEMENTED; } +}; + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp new file mode 100644 index 00000000000000..1594d089d50b0d --- /dev/null +++ b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp @@ -0,0 +1,138 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the DiagnosticDataProvider object + * for k32w0 platform. + */ + +#include + +#include +#include +#include + +#include + +namespace chip { +namespace DeviceLayer { + +#define HEAP_SIZE 14100 + +DiagnosticDataProviderImpl & DiagnosticDataProviderImpl::GetDefaultInstance() +{ + static DiagnosticDataProviderImpl sInstance; + return sInstance; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapFree(uint64_t & currentHeapFree) +{ + size_t freeHeapSize; + + freeHeapSize = xPortGetFreeHeapSize(); + currentHeapFree = static_cast(freeHeapSize); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapUsed(uint64_t & currentHeapUsed) +{ + size_t freeHeapSize; + size_t usedHeapSize; + + freeHeapSize = xPortGetFreeHeapSize(); + usedHeapSize = HEAP_SIZE - freeHeapSize; + + currentHeapUsed = static_cast(usedHeapSize); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapHighWatermark(uint64_t & currentHeapHighWatermark) +{ + size_t highWatermarkHeapSize; + + highWatermarkHeapSize = HEAP_SIZE - xPortGetMinimumEverFreeHeapSize(); + currentHeapHighWatermark = static_cast(highWatermarkHeapSize); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetRebootCount(uint16_t & rebootCount) +{ + uint32_t count = 0; + + CHIP_ERROR err = ConfigurationMgr().GetRebootCount(count); + + if (err == CHIP_NO_ERROR) + { + VerifyOrReturnError(count <= UINT16_MAX, CHIP_ERROR_INVALID_INTEGER_VALUE); + rebootCount = static_cast(count); + } + + return err; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetUpTime(uint64_t & upTime) +{ +#if 0 + System::Clock::Timestamp currentTime = System::SystemClock().GetMonotonicTimestamp(); + System::Clock::Timestamp startTime = PlatformMgrImpl().GetStartTime(); + + if (currentTime >= startTime) + { + upTime = std::chrono::duration_cast(currentTime - startTime).count(); + return CHIP_NO_ERROR; + } +#endif + + return CHIP_ERROR_INVALID_TIME; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetTotalOperationalHours(uint32_t & totalOperationalHours) +{ + uint64_t upTime = 0; + + if (GetUpTime(upTime) == CHIP_NO_ERROR) + { + uint32_t totalHours = 0; + if (ConfigurationMgr().GetTotalOperationalHours(totalHours) == CHIP_NO_ERROR) + { + VerifyOrReturnError(upTime / 3600 <= UINT32_MAX, CHIP_ERROR_INVALID_INTEGER_VALUE); + totalOperationalHours = totalHours + static_cast(upTime / 3600); + return CHIP_NO_ERROR; + } + } + + return CHIP_ERROR_INVALID_TIME; +} + +CHIP_ERROR DiagnosticDataProviderImpl::GetBootReason(uint8_t & bootReason) +{ + uint32_t reason = 0; + + CHIP_ERROR err = ConfigurationMgr().GetBootReason(reason); + + if (err == CHIP_NO_ERROR) + { + VerifyOrReturnError(reason <= UINT8_MAX, CHIP_ERROR_INVALID_INTEGER_VALUE); + bootReason = static_cast(reason); + } + + return err; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h new file mode 100644 index 00000000000000..cd33af8885df15 --- /dev/null +++ b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the DiagnosticDataProvider object. + */ + +#pragma once + +#include + +#include + +namespace chip { +namespace DeviceLayer { + +/** + * Concrete implementation of the PlatformManager singleton object for Linux platforms. + */ +class DiagnosticDataProviderImpl : public DiagnosticDataProvider +{ +public: + static DiagnosticDataProviderImpl & GetDefaultInstance(); + + // ===== Methods that implement the PlatformManager abstract interface. + + CHIP_ERROR GetCurrentHeapFree(uint64_t & currentHeapFree) override; + CHIP_ERROR GetCurrentHeapUsed(uint64_t & currentHeapUsed) override; + CHIP_ERROR GetCurrentHeapHighWatermark(uint64_t & currentHeapHighWatermark) override; + + CHIP_ERROR GetRebootCount(uint16_t & rebootCount) override; + CHIP_ERROR GetUpTime(uint64_t & upTime) override; + CHIP_ERROR GetTotalOperationalHours(uint32_t & totalOperationalHours) override; + CHIP_ERROR GetBootReason(uint8_t & bootReason) override; +}; + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/DnssdImpl.cpp b/src/platform/bouffalolab/BL602/DnssdImpl.cpp new file mode 100644 index 00000000000000..de1328930e236f --- /dev/null +++ b/src/platform/bouffalolab/BL602/DnssdImpl.cpp @@ -0,0 +1,299 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "lib/dnssd/platform/Dnssd.h" + +#include +#include +#include + +#include "platform/CHIPDeviceLayer.h" +#include +#include +#include + +#include +#include +#include +#include + +using namespace ::chip::DeviceLayer::Internal; +namespace { + +static constexpr uint32_t kTimeoutMilli = 3000; +static constexpr size_t kMaxResults = 20; +} // namespace + +namespace chip { +namespace Dnssd { + +#define MDNS_MAX_PACKET_SIZE 64 + +static const DnssdService * glservice; + +CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context) +{ + CHIP_ERROR error = CHIP_NO_ERROR; + + mdns_resp_init(); + initCallback(context, error); + + glservice = static_cast(chip::Platform::MemoryCalloc(1, sizeof(DnssdService))); + + return error; +} + +CHIP_ERROR ChipDnssdShutdown() +{ + return CHIP_NO_ERROR; +} + +static const char * GetProtocolString(DnssdServiceProtocol protocol) +{ + return protocol == DnssdServiceProtocol::kDnssdProtocolTcp ? "_tcp" : "_udp"; +} + +typedef struct +{ + const char * key; /*!< item key name */ + const char * value; /*!< item value string */ + size_t value_len; +} mdns_txt_item_t; + +typedef struct mdns +{ + struct netif * netif; + int slot; +} mdns_t; + +#define MDNS_TXT_MAX_LEN 128 +static mdns_t mdns = { NULL, -1 }; +mdns_txt_item_t * items = nullptr; +uint8_t packet[MDNS_TXT_MAX_LEN]; + +static inline uint8_t _mdns_append_u8(uint8_t * packet, uint16_t * index, uint8_t value) +{ + if (*index >= MDNS_MAX_PACKET_SIZE) + { + return 0; + } + + packet[*index] = value; + *index += 1; + return 1; +} + +static inline int append_one_txt_record_entry(uint8_t * packet, uint16_t * index, mdns_txt_item_t * txt) +{ + if (txt == NULL || txt->key == NULL || packet == NULL) + { + return -1; + } + + size_t key_len = strlen(txt->key); + size_t len = key_len + txt->value_len + (txt->value ? 1 : 0); + if ((*index + len + 1) >= MDNS_MAX_PACKET_SIZE) + { + return 0; + } + + _mdns_append_u8(packet, index, len); + memcpy(packet + *index, txt->key, key_len); + if (txt->value) + { + packet[*index + key_len] = '='; + memcpy(packet + *index + key_len + 1, txt->value, txt->value_len); + } + + *index += len; + + return len + 1; +} + +static void dnssd_txt_resolve(uint8_t * packet, mdns_txt_item_t * txt, int count) +{ + uint16_t index = 0; + + for (int i = 0; i < count; i++) + { + append_one_txt_record_entry(packet, &index, &(txt[i])); + } +} + +static void srv_txt(struct mdns_service * service, void * txt_userdata) +{ + int i, ret; + int index = 0; + + for (i = 0; i < 3; i++) + { + ret = mdns_resp_add_service_txtitem(service, &(packet[index + 1]), packet[index]); + if (ret) + { + log_info("send txt failed.\r\n"); + + return; + } + + index = index + packet[index] + 1; + } +} + +static void ota_txt(struct mdns_service * service, void * txt_userdata) +{ + int ret = mdns_resp_add_service_txtitem(service, "version=12345678", 16); + if (ret) + { + log_info("send ota txt failed.\r\n"); + } +} + +static err_t mdns_responder_stop_netifapi_errt_fn(struct netif * netif) +{ + return mdns_responder_stop(netif); +} + +int mdns_responder_ops(struct netif * netif) +{ + int ret, slot = -1; + int protocol = 0; + uint16_t packet_len = 0; + + if (netif == NULL) + { + log_info("netif is NULL\r\n"); + return -1; + } + + mdns.netif = netif; + + ret = mdns_resp_add_netif(netif, glservice->mHostName, 10); + if (ret != 0) + { + mdns_resp_deinit(); + log_info("add netif failed:%d\r\n", ret); + return -1; + } + + items = static_cast(chip::Platform::MemoryCalloc(glservice->mTextEntrySize, sizeof(mdns_txt_item_t))); + + for (size_t i = 0; i < glservice->mTextEntrySize; i++) + { + items[i].key = glservice->mTextEntries[i].mKey; + items[i].value = reinterpret_cast(glservice->mTextEntries[i].mData); + items[i].value_len = glservice->mTextEntries[i].mDataSize; + packet_len = packet_len + strlen(items[i].key) + items[i].value_len + 1; + } + + // todo:use malloc? + // packet = static_cast(chip::Platform::MemoryCalloc(packet_len, sizeof(uint8_t))); + if (MDNS_TXT_MAX_LEN < packet_len) + { + return -1; + } + + dnssd_txt_resolve(packet, items, glservice->mTextEntrySize); + chip::Platform::MemoryFree(items); + + log_info("name = %s nType = %s protocol = %d port = %d \r\n", glservice->mName, glservice->mType, protocol, glservice->mPort); + slot = mdns_resp_add_service(netif, glservice->mName, glservice->mType, static_cast(glservice->mProtocol), + glservice->mPort, 60, srv_txt, NULL); + if (slot < 0) + { + mdns_resp_remove_netif(netif); + mdns_resp_deinit(); + log_info("add server failed:%d\r\n", slot); + return -1; + } + + // for ota + slot = + mdns_resp_add_service(netif, "MATTER OTA", "_ota", static_cast(glservice->mProtocol), 3333, 1000, ota_txt, NULL); + if (slot < 0) + { + mdns_resp_remove_netif(netif); + mdns_resp_deinit(); + log_info("ota mdns fail.\r\n"); + } + + return slot; +} + +static err_t mdns_responder_start_netifapi_errt_fn(struct netif * netif) +{ + return mdns_responder_ops(netif); +} + +CHIP_ERROR ChipDnssdPublishService(const DnssdService * service, DnssdPublishCallback callback, void * context) +{ + CHIP_ERROR error = CHIP_NO_ERROR; + struct netif * netif; + int slot; + bool mdns_flag; + + if (!(chip::DeviceLayer::ConnectivityMgrImpl()._IsWiFiStationConnected())) + { + return CHIP_ERROR_NOT_IMPLEMENTED; + } + + if (service) + { + memcpy(glservice, service, sizeof(DnssdService)); + } + + netif = wifi_mgmr_sta_netif_get(); + if (netif == NULL) + { + log_info("find failed\r\n"); + return CHIP_ERROR_INTERNAL; + } + + slot = netifapi_netif_common(netif, NULL, mdns_responder_start_netifapi_errt_fn); + if (slot < 0) + { + log_info("start mdns failed\r\n"); + return CHIP_ERROR_INTERNAL; + } + + return CHIP_NO_ERROR; +} + +CHIP_ERROR ChipDnssdRemoveServices() +{ + // netifapi_netif_common(mdns.netif, NULL, mdns_responder_stop_netifapi_errt_fn); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ChipDnssdFinalizeServiceUpdate() +{ + return CHIP_NO_ERROR; +} + +CHIP_ERROR ChipDnssdBrowse(const char * /*type*/, DnssdServiceProtocol /*protocol*/, chip::Inet::IPAddressType addressType, + chip::Inet::InterfaceId /*interface*/, DnssdBrowseCallback /*callback*/, void * /*context*/) +{ + return CHIP_ERROR_NOT_IMPLEMENTED; +} + +CHIP_ERROR ChipDnssdResolve(DnssdService * /*service*/, chip::Inet::InterfaceId /*interface*/, DnssdResolveCallback /*callback*/, + void * /*context*/) +{ + return CHIP_ERROR_NOT_IMPLEMENTED; +} + +} // namespace Dnssd +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp new file mode 100644 index 00000000000000..1821a230f057b0 --- /dev/null +++ b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp @@ -0,0 +1,386 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the CHIP GroupKeyStore interface + * for platforms based on the Bouffalolab SDK. + */ +/* this file behaves like a config.h, comes first */ +#include + +#include + +using namespace ::chip; +using namespace ::chip::Profiles::Security::AppKeys; + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +CHIP_ERROR GroupKeyStoreImpl::RetrieveGroupKey(uint32_t keyId, ChipGroupKey & key) +{ + CHIP_ERROR err; + + // Iterate over all the GroupKey easyflash records looking for a matching key... + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, false, + [keyId, &key](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + size_t keyLen; + uint8_t buf[kMaxEncodedKeySize]; // (buf length == 45 bytes) + uint32_t curKeyId; + + // Read the easyflash obj binary data data into the buffer. + err2 = ReadConfigValueBin(efKey, buf, sizeof(buf), keyLen); + + // Decode the CHIP key id for the current key. + err2 = DecodeGroupKeyId(buf, keyLen, curKeyId); + SuccessOrExit(err2); + + // If it matches the key we're looking for... + if (curKeyId == keyId) + { + // Decode the associated key data. + err2 = DecodeGroupKey(buf, keyLen, key); + SuccessOrExit(err2); + + // End the iteration by returning a CHIP_END_OF_INPUT result. + ExitNow(err2 = CHIP_END_OF_INPUT); + } + + exit: + return err2; + }); + + // Modify error code for return. + switch (err) + { + case CHIP_END_OF_INPUT: + err = CHIP_NO_ERROR; // Match found. + break; + case CHIP_NO_ERROR: + err = CHIP_ERROR_KEY_NOT_FOUND; // Match not found. + break; + default: + break; + } + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::StoreGroupKey(const ChipGroupKey & key) +{ + CHIP_ERROR err; + + // Delete any existing group key with the same id (this may or may not exit). + DeleteGroupKey(key.KeyId); // no error checking here. + + // Iterate over all the GroupKey easyflash records looking for the first + // empty easyflash key where we can store the data. (Note- use arg addNewrecord=true) + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, true, + [&key](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + size_t keyLen; + uint8_t buf[kMaxEncodedKeySize]; // (buf length == 45 bytes) + + // Encode the key for storage in an easyflash record. + err2 = EncodeGroupKey(key, buf, sizeof(buf), keyLen); + SuccessOrExit(err2); + + // Write the encoded binary data into the easyflash object. + err2 = WriteConfigValueBin(efKey, buf, keyLen); + SuccessOrExit(err2); + + // End the iteration by returning a CHIP_END_OF_INPUT result. + ExitNow(err2 = CHIP_END_OF_INPUT); + + exit: + return err2; + }); + + // Modify error code for return. + switch (err) + { + case CHIP_END_OF_INPUT: + err = CHIP_NO_ERROR; // Key entry was stored. + break; + case CHIP_NO_ERROR: + err = CHIP_ERROR_KEY_NOT_FOUND; // Key entry was not stored. + break; + default: + break; + } + + if (err == CHIP_NO_ERROR) + { +#if CHIP_PROGRESS_LOGGING + { + char extraKeyInfo[32]; + if (ChipKeyId::IsAppEpochKey(key.KeyId)) + { + snprintf(extraKeyInfo, sizeof(extraKeyInfo), ", start time %" PRId32, key.StartTime); + } + else if (ChipKeyId::IsAppGroupMasterKey(key.KeyId)) + { + snprintf(extraKeyInfo, sizeof(extraKeyInfo), ", global id 0x%08" PRIX32, key.GlobalId); + } + else + { + extraKeyInfo[0] = 0; + } + +#if CHIP_CONFIG_SECURITY_TEST_MODE + ChipLogProgress(SecurityManager, + "GroupKeyStore: storing key 0x%08" PRIX32 " (%s), len %" PRId8 ", data 0x%02" PRIX8 "...%s", key.KeyId, + ChipKeyId::DescribeKey(key.KeyId), key.KeyLen, key.Key[0], extraKeyInfo); +#else + ChipLogProgress(SecurityManager, "GroupKeyStore: storing key 0x%08" PRIX32 " (%s), len %" PRId8 "%s", key.KeyId, + ChipKeyId::DescribeKey(key.KeyId), key.KeyLen, extraKeyInfo); +#endif + } + +#endif // CHIP_PROGRESS_LOGGING + } + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::DeleteGroupKey(uint32_t keyId) +{ + CHIP_ERROR err; + + // Iterate over all the GroupKey easyflash records looking for a matching key... + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, false, + [keyId](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + size_t keyLen; + uint8_t buf[kMaxEncodedKeySize]; // (buf length == 45 bytes) + uint32_t curKeyId; + + // Read the easyflash obj binary data data into the buffer. + err2 = ReadConfigValueBin(efKey, buf, sizeof(buf), keyLen); + SuccessOrExit(err2); + + // Decode the CHIP key id for the current group key. + err2 = DecodeGroupKeyId(buf, keyLen, curKeyId); + SuccessOrExit(err2); + + // If it matches the key we are looking for, delete the easyflash record. + if (curKeyId == keyId) + { + err2 = ClearConfigValue(efKey); + ChipLogProgress(DeviceLayer, "GroupKeyStore: deleting key 0x%08" PRIX32, curKeyId); + + // End the iteration by returning a CHIP_END_OF_INPUT result. + ExitNow(err2 = CHIP_END_OF_INPUT); + } + + exit: + return err2; + }); + + // Modify error code for return. + switch (err) + { + case CHIP_END_OF_INPUT: + err = CHIP_NO_ERROR; // Key entry was deleted. + break; + case CHIP_NO_ERROR: + err = CHIP_ERROR_KEY_NOT_FOUND; // Key entry was not deleted. + break; + default: + break; + } + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::DeleteGroupKeysOfAType(uint32_t keyType) +{ + CHIP_ERROR err; + + // Iterate over all the GroupKey easyflash records looking for a matching key... + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, false, + [keyType](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + size_t keyLen; + uint8_t buf[kMaxEncodedKeySize]; // (buf length == 45 bytes) + uint32_t curKeyId; + + // Read the easyflash obj binary data data into the buffer. + err2 = ReadConfigValueBin(efKey, buf, sizeof(buf), keyLen); + SuccessOrExit(err2); + + // Decode the CHIP key id for the current group key. + err2 = DecodeGroupKeyId(buf, keyLen, curKeyId); + SuccessOrExit(err2); + + // If the current key matches the type we are looking for, delete the easyflash record. + if (ChipKeyId::GetType(curKeyId) == keyType) + { + err2 = ClearConfigValue(efKey); + ChipLogProgress(DeviceLayer, "GroupKeyStore: deleting key 0x%08" PRIX32, curKeyId); + } + + exit: + return err2; + }); + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::EnumerateGroupKeys(uint32_t keyType, uint32_t * keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount) +{ + CHIP_ERROR err; + + keyCount = 0; + + // Iterate over all the GroupKey records looking for keys of the specified type... + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, false, + [keyType, keyIds, keyIdsArraySize, &keyCount](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + size_t keyLen; + uint8_t buf[kMaxEncodedKeySize]; // (buf length == 45 bytes) + uint32_t curKeyId; + + // Read the easyflash obj binary data data into the buffer. + err2 = ReadConfigValueBin(efKey, buf, sizeof(buf), keyLen); + SuccessOrExit(err2); + + // Decode the CHIP key id for the current group key. + err2 = DecodeGroupKeyId(buf, keyLen, curKeyId); + SuccessOrExit(err2); + + // If the current key matches the type we're looking for, add it to the keyIds array. + if ((keyType == ChipKeyId::kType_None) || (ChipKeyId::GetType(curKeyId) == keyType)) + { + keyIds[keyCount++] = curKeyId; + + // Stop iterating if there's no more room in the keyIds array. + VerifyOrExit(keyCount < keyIdsArraySize, err2 = CHIP_ERROR_BUFFER_TOO_SMALL); + } + + exit: + return err2; + }); + + // Simply return a truncated list if there are more matching keys than will fit in the array. + if (err == CHIP_ERROR_BUFFER_TOO_SMALL) + { + err = CHIP_NO_ERROR; + } + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::Clear(void) +{ + CHIP_ERROR err; + + // Iterate over all the GroupKey easyflash records deleting each one... + err = ForEachRecord(kConfigKey_GroupKeyBase, kConfigKey_GroupKeyMax, false, + [](const Key & efKey, const size_t & length) -> CHIP_ERROR { + CHIP_ERROR err2; + + err2 = ClearConfigValue(efKey); + SuccessOrExit(err2); + + exit: + return err2; + }); + + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::RetrieveLastUsedEpochKeyId(void) +{ + CHIP_ERROR err; + + err = ReadConfigValue(kConfigKey_LastUsedEpochKeyId, LastUsedEpochKeyId); + if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND) + { + LastUsedEpochKeyId = ChipKeyId::kNone; + err = CHIP_NO_ERROR; + } + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::StoreLastUsedEpochKeyId(void) +{ + return WriteConfigValue(kConfigKey_LastUsedEpochKeyId, LastUsedEpochKeyId); +} + +CHIP_ERROR GroupKeyStoreImpl::Init() +{ + // Nothing to do + return CHIP_NO_ERROR; +} + +CHIP_ERROR GroupKeyStoreImpl::EncodeGroupKey(const ChipGroupKey & key, uint8_t * buf, size_t bufSize, size_t & encodedKeyLen) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + uint8_t * p = buf; + + VerifyOrExit(bufSize >= kFixedEncodedKeySize + key.KeyLen, err = CHIP_ERROR_BUFFER_TOO_SMALL); + + Encoding::LittleEndian::Write32(p, key.KeyId); + Encoding::LittleEndian::Write32(p, key.StartTime); + Encoding::Write8(p, key.KeyLen); + memcpy(p, key.Key, key.KeyLen); + p += key.KeyLen; + + encodedKeyLen = p - buf; + +exit: + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::DecodeGroupKeyId(const uint8_t * encodedKey, size_t encodedKeyLen, uint32_t & keyId) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + VerifyOrExit(encodedKeyLen >= kFixedEncodedKeySize, err = CHIP_ERROR_INVALID_ARGUMENT); + + keyId = Encoding::LittleEndian::Get32(encodedKey); + +exit: + return err; +} + +CHIP_ERROR GroupKeyStoreImpl::DecodeGroupKey(const uint8_t * encodedKey, size_t encodedKeyLen, ChipGroupKey & key) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t * p = encodedKey; + + VerifyOrExit(encodedKeyLen >= kFixedEncodedKeySize, err = CHIP_ERROR_INVALID_ARGUMENT); + + key.KeyId = Encoding::LittleEndian::Read32(p); + key.StartTime = Encoding::LittleEndian::Read32(p); + key.KeyLen = Encoding::Read8(p); + + VerifyOrExit(encodedKeyLen >= kFixedEncodedKeySize + key.KeyLen, err = CHIP_ERROR_INVALID_ARGUMENT); + + memcpy(key.Key, p, key.KeyLen); + +exit: + return err; +} + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.h b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.h new file mode 100644 index 00000000000000..5831594dc907b5 --- /dev/null +++ b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.h @@ -0,0 +1,73 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the Chip Group Key Store interface + * for platforms based on the Bouffalolab SDK. + */ + +#include +#include +#include +#include + +namespace chip { +namespace DeviceLayer { +namespace Internal { + +/** + * An implementation of the Chip GroupKeyStoreBase API for platforms based + * on the Bouffalolab SDK. + */ +class GroupKeyStoreImpl final : public ::chip::Profiles::Security::AppKeys::GroupKeyStoreBase, private BL602Config +{ + using ChipGroupKey = ::chip::Profiles::Security::AppKeys::ChipGroupKey; + +public: + CHIP_ERROR Init(); + + CHIP_ERROR RetrieveGroupKey(uint32_t keyId, ChipGroupKey & key) override; + CHIP_ERROR StoreGroupKey(const ChipGroupKey & key) override; + CHIP_ERROR DeleteGroupKey(uint32_t keyId) override; + CHIP_ERROR DeleteGroupKeysOfAType(uint32_t keyType) override; + CHIP_ERROR EnumerateGroupKeys(uint32_t keyType, uint32_t * keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount) override; + CHIP_ERROR Clear(void) override; + CHIP_ERROR RetrieveLastUsedEpochKeyId(void) override; + CHIP_ERROR StoreLastUsedEpochKeyId(void) override; + +private: + static constexpr size_t kFixedEncodedKeySize = 4U + // key id + 4U + // start time / global id + 1U; // key data length + + static constexpr size_t kMaxEncodedKeySize = kFixedEncodedKeySize + ChipGroupKey::MaxKeySize; + + /* Not used + static constexpr uint16_t kGroupKeyFileId = GetFileId(kConfigKey_GroupKey); + static constexpr uint16_t kGroupKeyRecordKey = GetRecordKey(kConfigKey_GroupKey); + */ + + static CHIP_ERROR EncodeGroupKey(const ChipGroupKey & key, uint8_t * buf, size_t bufSize, size_t & encodedKeyLen); + static CHIP_ERROR DecodeGroupKey(const uint8_t * encodedKey, size_t encodedKeyLen, ChipGroupKey & key); + static CHIP_ERROR DecodeGroupKeyId(const uint8_t * encodedKey, size_t encodedKeyLen, uint32_t & keyId); +}; + +} // namespace Internal +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/InetPlatformConfig.h b/src/platform/bouffalolab/BL602/InetPlatformConfig.h new file mode 100644 index 00000000000000..589984fa758e0d --- /dev/null +++ b/src/platform/bouffalolab/BL602/InetPlatformConfig.h @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for the CHIP Inet + * Layer on BL602 platforms using the Bouffalolab SDK. + * + */ + +#pragma once + +#include + +// ==================== Platform Adaptations ==================== + +#define INET_CONFIG_ERROR_TYPE int32_t +#define INET_CONFIG_NO_ERROR 0 +#define INET_CONFIG_ERROR_MIN 1000000 +#define INET_CONFIG_ERROR_MAX 1000999 + +#define INET_CONFIG_ENABLE_IPV4 1 + +// ========== Platform-specific Configuration Overrides ========= + +#ifndef INET_CONFIG_NUM_TCP_ENDPOINTS +#define INET_CONFIG_NUM_TCP_ENDPOINTS 4 +#endif // INET_CONFIG_NUM_TCP_ENDPOINTS + +#ifndef INET_CONFIG_NUM_UDP_ENDPOINTS +#define INET_CONFIG_NUM_UDP_ENDPOINTS 4 +#endif // INET_CONFIG_NUM_UDP_ENDPOINTS diff --git a/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.cpp b/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.cpp new file mode 100644 index 00000000000000..d313f426df9948 --- /dev/null +++ b/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.cpp @@ -0,0 +1,210 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific key value storage implementation for BL602 + */ +/* this file behaves like a config.h, comes first */ +#include + +#include + +#include + +#include +#include + +/* ignore GCC Wconversion warnings for pigweed */ +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + +#include + +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif + +namespace chip { +namespace DeviceLayer { +namespace PersistedStorage { + +using namespace ::chip::DeviceLayer::Internal; + +KeyValueStoreManagerImpl KeyValueStoreManagerImpl::sInstance; + +CHIP_ERROR KeyValueStoreManagerImpl::_Get(const char * key, void * value, size_t value_size, size_t * read_bytes_size, + size_t offset_bytes) const +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + // todo: need get value at offset for return + size_t outlen = 0; + BL602Config::Key ckey = { key }; + + err = BL602Config::ReadConfigValueBin(ckey, value, value_size, outlen); + if (CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND == err) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + + SuccessOrExit(err); + + if (read_bytes_size) + { + *read_bytes_size = outlen; + } + +exit: + return err; +} + +CHIP_ERROR KeyValueStoreManagerImpl::_Put(const char * key, const void * value, size_t value_size) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + BL602Config::Key ckey = { key }; + + err = BL602Config::WriteConfigValueBin(ckey, value, value_size); + if (CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND == err) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + + return err; +} + +CHIP_ERROR KeyValueStoreManagerImpl::_Delete(const char * key) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + BL602Config::Key ckey = { key }; + + err = BL602Config::ClearConfigValue(ckey); + + if (CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND == err) + { + err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + } + + return err; +} + +// #if defined(CHIP_KVS_AVAILABLE) && CHIP_KVS_AVAILABLE + +// CHIP_ERROR KeyValueStoreManagerImpl::_Get(const char * key, void * value, size_t value_size, size_t * read_bytes_size, +// size_t offset_bytes) const +// { +// assert(CHIP_KVS_AVAILABLE); +// auto status_and_size = mKvs.Get(key, std::span(reinterpret_cast(value), value_size), offset_bytes); +// if (read_bytes_size) +// { +// *read_bytes_size = status_and_size.size(); +// } +// switch (status_and_size.status().code()) +// { +// case pw::OkStatus().code(): +// return CHIP_NO_ERROR; +// case pw::Status::NotFound().code(): +// return CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; +// case pw::Status::DataLoss().code(): +// return CHIP_ERROR_INTEGRITY_CHECK_FAILED; +// case pw::Status::ResourceExhausted().code(): +// return CHIP_ERROR_BUFFER_TOO_SMALL; +// case pw::Status::FailedPrecondition().code(): +// return CHIP_ERROR_WELL_UNINITIALIZED; +// case pw::Status::InvalidArgument().code(): +// return CHIP_ERROR_INVALID_ARGUMENT; +// default: +// break; +// } +// return CHIP_ERROR_INTERNAL; // Unexpected KVS status. +// } + +// CHIP_ERROR KeyValueStoreManagerImpl::_Put(const char * key, const void * value, size_t value_size) +// { +// assert(CHIP_KVS_AVAILABLE); +// auto status = mKvs.Put(key, std::span(reinterpret_cast(value), value_size)); +// switch (status.code()) +// { +// case pw::OkStatus().code(): +// return CHIP_NO_ERROR; +// case pw::Status::DataLoss().code(): +// return CHIP_ERROR_INTEGRITY_CHECK_FAILED; +// case pw::Status::ResourceExhausted().code(): +// case pw::Status::AlreadyExists().code(): +// return CHIP_ERROR_PERSISTED_STORAGE_FAILED; +// case pw::Status::FailedPrecondition().code(): +// return CHIP_ERROR_WELL_UNINITIALIZED; +// case pw::Status::InvalidArgument().code(): +// return CHIP_ERROR_INVALID_ARGUMENT; +// default: +// break; +// } +// return CHIP_ERROR_INTERNAL; // Unexpected KVS status. +// } + +// CHIP_ERROR KeyValueStoreManagerImpl::_Delete(const char * key) +// { +// printf("KeyValueStoreManagerImpl::_Delete, key = %s\r\n", key); +// assert(CHIP_KVS_AVAILABLE); +// printf("KeyValueStoreManagerImpl::_Delete, key = %s\r\n", key); + +// auto status = mKvs.Delete(key); +// switch (status.code()) +// { +// case pw::OkStatus().code(): +// return CHIP_NO_ERROR; +// case pw::Status::NotFound().code(): +// return CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; +// case pw::Status::DataLoss().code(): +// return CHIP_ERROR_INTEGRITY_CHECK_FAILED; +// case pw::Status::ResourceExhausted().code(): +// return CHIP_ERROR_PERSISTED_STORAGE_FAILED; +// case pw::Status::FailedPrecondition().code(): +// return CHIP_ERROR_WELL_UNINITIALIZED; +// case pw::Status::InvalidArgument().code(): +// return CHIP_ERROR_INVALID_ARGUMENT; +// default: +// break; +// } +// return CHIP_ERROR_INTERNAL; // Unexpected KVS status. +// } + +// CHIP_ERROR KeyValueStoreManagerImpl::ErasePartition() +// { +// assert(CHIP_KVS_AVAILABLE); +// auto status = mKvsPartition.Erase(); +// switch (status.code()) +// { +// case pw::OkStatus().code(): +// return CHIP_NO_ERROR; +// case pw::Status::DeadlineExceeded().code(): +// return CHIP_ERROR_TIMEOUT; +// case pw::Status::PermissionDenied().code(): +// return CHIP_ERROR_ACCESS_DENIED; +// default: +// break; +// } +// return CHIP_ERROR_INTERNAL; // Unexpected KVS status. +// } +// #endif // defined(CHIP_KVS_AVAILABLE) && CHIP_KVS_AVAILABLE + +} // namespace PersistedStorage +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.h b/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.h new file mode 100644 index 00000000000000..31180fb838b98b --- /dev/null +++ b/src/platform/bouffalolab/BL602/KeyValueStoreManagerImpl.h @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific key value storage implementation for BL602. + * + */ + +#pragma once + +/* ignore GCC Wconversion warnings for pigweed */ +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + +#include +#include +#include + +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif + +#pragma once + +namespace chip { +namespace DeviceLayer { +namespace PersistedStorage { + +class KeyValueStoreManagerImpl final : public KeyValueStoreManager +{ + // Allow the KeyValueStoreManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend class KeyValueStoreManager; + +public: + CHIP_ERROR _Get(const char * key, void * value, size_t value_size, size_t * read_bytes_size = nullptr, size_t offset = 0) const; + + CHIP_ERROR _Delete(const char * key); + + CHIP_ERROR _Put(const char * key, const void * value, size_t value_size); + +private: + // ===== Members for internal use by the following friends. + friend KeyValueStoreManager & KeyValueStoreMgr(); + friend KeyValueStoreManagerImpl & KeyValueStoreMgrImpl(); + + static KeyValueStoreManagerImpl sInstance; +}; + +/** + * Returns the public interface of the KeyValueStoreManager singleton object. + * + * Chip applications should use this to access features of the KeyValueStoreManager object + * that are common to all platforms. + */ +inline KeyValueStoreManager & KeyValueStoreMgr(void) +{ + return KeyValueStoreManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the KeyValueStoreManager singleton object. + * + * Chip applications can use this to gain access to features of the KeyValueStoreManager + * that are specific to the ESP32 platform. + */ +inline KeyValueStoreManagerImpl & KeyValueStoreMgrImpl(void) +{ + return KeyValueStoreManagerImpl::sInstance; +} + +} // namespace PersistedStorage +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/Logging.cpp b/src/platform/bouffalolab/BL602/Logging.cpp new file mode 100644 index 00000000000000..6ed1005826d9d2 --- /dev/null +++ b/src/platform/bouffalolab/BL602/Logging.cpp @@ -0,0 +1,45 @@ +/* See Project CHIP LICENSE file for licensing information. */ + +#include + +#include +#include + +#include + +// #ifdef LOG_LOCAL_LEVEL +// #undef LOG_LOCAL_LEVEL +// #endif +// #define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE + +extern "C" { +#include +} + +namespace chip { +namespace Logging { +namespace Platform { + +void LogV(const char * module, uint8_t category, const char * msg, va_list v) +{ + char formattedMsg[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE]; + vsnprintf(formattedMsg, sizeof(formattedMsg), msg, v); + + switch (category) + { + case kLogCategory_Error: + log_error("[%s] %s\r\n", module, formattedMsg); + break; + case kLogCategory_Progress: + default: + log_info("[%s] %s\r\n", module, formattedMsg); + break; + case kLogCategory_Detail: + log_trace("[%s] %s\r\n", module, formattedMsg); + break; + } +} + +} // namespace Platform +} // namespace Logging +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h new file mode 100644 index 00000000000000..d98f045eb2a6f1 --- /dev/null +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h @@ -0,0 +1,136 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once +#include + +namespace chip { +namespace DeviceLayer { +namespace NetworkCommissioning { +//#if CHIP_DEVICE_CONFIG_ENABLE_WIFI +namespace { +constexpr uint8_t kMaxWiFiNetworks = 1; +constexpr uint8_t kWiFiScanNetworksTimeOutSeconds = 10; +constexpr uint8_t kWiFiConnectNetworkTimeoutSeconds = 20; +} // namespace + +class BLScanResponseIterator : public Iterator +{ +public: + // BLScanResponseIterator(const size_t size, const wifi_ap_record_t * scanResults) : mSize(size), mpScanResults(scanResults) {} + size_t Count() override { return mSize; } + bool Next(WiFiScanResponse & item) override + { + if (mIternum >= mSize) + { + return false; + } + +#if 0 + item.security = mpScanResults[mIternum].authmode; + item.ssidLen = + strnlen(reinterpret_cast(mpScanResults[mIternum].ssid), chip::DeviceLayer::Internal::kMaxWiFiSSIDLength); + item.channel = mpScanResults[mIternum].primary; + item.wiFiBand = chip::DeviceLayer::NetworkCommissioning::WiFiBand::k2g4; + item.rssi = mpScanResults[mIternum].rssi; + memcpy(item.ssid, mpScanResults[mIternum].ssid, item.ssidLen); + memcpy(item.bssid, mpScanResults[mIternum].bssid, 6); +#endif + + mIternum++; + return true; + } + void Release() override {} + +private: + const size_t mSize; + // const wifi_ap_record_t * mpScanResults; + size_t mIternum = 0; +}; + +class BLWiFiDriver final : public WiFiDriver +{ +public: + class WiFiNetworkIterator final : public NetworkIterator + { + public: + WiFiNetworkIterator(BLWiFiDriver * aDriver) : mDriver(aDriver) {} + size_t Count() override; + bool Next(Network & item) override; + void Release() override { delete this; } + ~WiFiNetworkIterator() = default; + + private: + BLWiFiDriver * mDriver; + bool mExhausted = false; + }; + + struct WiFiNetwork + { + char ssid[DeviceLayer::Internal::kMaxWiFiSSIDLength]; + uint8_t ssidLen = 0; + char credentials[DeviceLayer::Internal::kMaxWiFiKeyLength]; + uint8_t credentialsLen = 0; + }; + + // BaseDriver + NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } + CHIP_ERROR Init() override; + CHIP_ERROR Shutdown() override; + + // WirelessDriver + uint8_t GetMaxNetworks() override { return kMaxWiFiNetworks; } + uint8_t GetScanNetworkTimeoutSeconds() override { return kWiFiScanNetworksTimeOutSeconds; } + uint8_t GetConnectNetworkTimeoutSeconds() override { return kWiFiConnectNetworkTimeoutSeconds; } + + CHIP_ERROR CommitConfiguration() override; + CHIP_ERROR SaveConfiguration(); + CHIP_ERROR RevertConfiguration() override; + + Status RemoveNetwork(ByteSpan networkId) override; + Status ReorderNetwork(ByteSpan networkId, uint8_t index) override; + void ConnectNetwork(ByteSpan networkId, ConnectCallback * callback) override; + + // WiFiDriver + Status AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) override; + void ScanNetworks(ByteSpan ssid, ScanCallback * callback) override; + + CHIP_ERROR ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen, const char * key, uint8_t keyLen); + CHIP_ERROR ReConnectWiFiNetwork(void); + void OnConnectWiFiNetwork(); + void OnScanWiFiNetworkDone(); + static BLWiFiDriver & GetInstance() + { + static BLWiFiDriver instance; + return instance; + } + +private: + bool NetworkMatch(const WiFiNetwork & network, ByteSpan networkId); + CHIP_ERROR StartScanWiFiNetworks(ByteSpan ssid); + + WiFiNetworkIterator mWiFiIterator = WiFiNetworkIterator(this); + WiFiNetwork mSavedNetwork; + WiFiNetwork mStagingNetwork; + ScanCallback * mpScanCallback; + ConnectCallback * mpConnectCallback; +}; +//#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI + +} // namespace NetworkCommissioning +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp b/src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp new file mode 100644 index 00000000000000..3a9d341a5443a2 --- /dev/null +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp @@ -0,0 +1,371 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace ::chip; +//#if CHIP_DEVICE_CONFIG_ENABLE_WIFI +namespace chip { +namespace DeviceLayer { +namespace NetworkCommissioning { + +namespace { +constexpr char kWiFiSSIDKeyName[] = "wifi-ssid"; +constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; + +constexpr char blWiFiSSIDKeyName[] = "bl-wifi-ssid"; +constexpr char blWiFiCredentialsKeyName[] = "bl-wifi-pass"; + +static uint8_t WiFiSSIDStr[DeviceLayer::Internal::kMaxWiFiSSIDLength]; +} // namespace + +CHIP_ERROR BLWiFiDriver::Init() +{ + CHIP_ERROR err; + size_t ssidLen = 0; + size_t credentialsLen = 0; + + err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiCredentialsKeyName, mSavedNetwork.credentials, + sizeof(mSavedNetwork.credentials), &credentialsLen); + if (err == CHIP_ERROR_NOT_FOUND) + { + return CHIP_NO_ERROR; + } + + err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiSSIDKeyName, mSavedNetwork.ssid, sizeof(mSavedNetwork.ssid), &ssidLen); + if (err == CHIP_ERROR_NOT_FOUND) + { + return CHIP_NO_ERROR; + } + mSavedNetwork.credentialsLen = credentialsLen; + mSavedNetwork.ssidLen = ssidLen; + + mStagingNetwork = mSavedNetwork; + mpScanCallback = nullptr; + mpConnectCallback = nullptr; + + return err; +} + +CHIP_ERROR BLWiFiDriver::Shutdown() +{ + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::CommitConfiguration() +{ + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(kWiFiSSIDKeyName, mStagingNetwork.ssid, mStagingNetwork.ssidLen)); + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(kWiFiCredentialsKeyName, mStagingNetwork.credentials, + mStagingNetwork.credentialsLen)); + mSavedNetwork = mStagingNetwork; + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::SaveConfiguration() +{ + if (NULL == mStagingNetwork.ssid || 0 == mStagingNetwork.ssidLen || NULL == mStagingNetwork.credentials || + 0 == mStagingNetwork.credentialsLen) + { + return CHIP_ERROR_KEY_NOT_FOUND; + } + + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Put(blWiFiSSIDKeyName, mStagingNetwork.ssid, mStagingNetwork.ssidLen)); + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(blWiFiCredentialsKeyName, mStagingNetwork.credentials, + mStagingNetwork.credentialsLen)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::RevertConfiguration() +{ + mStagingNetwork = mSavedNetwork; + return CHIP_NO_ERROR; +} + +bool BLWiFiDriver::NetworkMatch(const WiFiNetwork & network, ByteSpan networkId) +{ + return networkId.size() == network.ssidLen && memcmp(networkId.data(), network.ssid, network.ssidLen) == 0; +} + +Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) +{ + VerifyOrReturnError(mStagingNetwork.ssidLen == 0 || NetworkMatch(mStagingNetwork, ssid), Status::kBoundsExceeded); + VerifyOrReturnError(credentials.size() <= sizeof(mStagingNetwork.credentials), Status::kOutOfRange); + VerifyOrReturnError(ssid.size() <= sizeof(mStagingNetwork.ssid), Status::kOutOfRange); + + memcpy(mStagingNetwork.credentials, credentials.data(), credentials.size()); + mStagingNetwork.credentialsLen = static_cast(credentials.size()); + + memcpy(mStagingNetwork.ssid, ssid.data(), ssid.size()); + mStagingNetwork.ssidLen = static_cast(ssid.size()); + + return Status::kSuccess; +} + +Status BLWiFiDriver::RemoveNetwork(ByteSpan networkId) +{ + VerifyOrReturnError(NetworkMatch(mStagingNetwork, networkId), Status::kNetworkIDNotFound); + + // Use empty ssid for representing invalid network + mStagingNetwork.ssidLen = 0; + return Status::kSuccess; +} + +Status BLWiFiDriver::ReorderNetwork(ByteSpan networkId, uint8_t index) +{ + // Only one network is supported now + VerifyOrReturnError(index == 0, Status::kOutOfRange); + VerifyOrReturnError(NetworkMatch(mStagingNetwork, networkId), Status::kNetworkIDNotFound); + return Status::kSuccess; +} + +CHIP_ERROR BLWiFiDriver::ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen, const char * key, uint8_t keyLen) +{ + // ReturnErrorOnFailure(ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Disabled)); + + char wifi_ssid[64] = { 0 }; + char passwd[64] = { 0 }; + // Set the wifi configuration + memcpy(wifi_ssid, ssid, ssidLen); + memcpy(passwd, key, keyLen); + wifi_interface_t wifi_interface; + wifi_interface = wifi_mgmr_sta_enable(); + wifi_mgmr_sta_connect(wifi_interface, ssid, passwd, NULL, NULL, 0, 0); + + // Configure the WiFi interface. + ReturnErrorOnFailure(ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Disabled)); + + return ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Enabled); +} + +CHIP_ERROR BLWiFiDriver::ReConnectWiFiNetwork(void) +{ + char ssid[64] = { 0 }; + char psk[64] = { 0 }; + size_t ssidLen = 0; + size_t pskLen = 0; + + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Get((const char *) blWiFiSSIDKeyName, (void *) ssid, 64, &ssidLen, 0)); + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Get((const char *) blWiFiCredentialsKeyName, (void *) psk, 64, &pskLen, 0)); + + ConnectWiFiNetwork(ssid, ssidLen, psk, pskLen); + + return CHIP_NO_ERROR; +} + +void BLWiFiDriver::OnConnectWiFiNetwork() +{ + if (mpConnectCallback) + { + mpConnectCallback->OnResult(Status::kSuccess, CharSpan(), 0); + mpConnectCallback = nullptr; + } +} + +void BLWiFiDriver::ConnectNetwork(ByteSpan networkId, ConnectCallback * callback) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + Status networkingStatus = Status::kSuccess; + static int save = 0; + + // VerifyOrExit(NetworkMatch(mStagingNetwork, networkId), networkingStatus = Status::kNetworkIDNotFound); + // VerifyOrExit(mpConnectCallback == nullptr, networkingStatus = Status::kUnknownError); + ChipLogProgress(NetworkProvisioning, "BL NetworkCommissioningDelegate: SSID: %.*s", static_cast(networkId.size()), + networkId.data()); + + err = ConnectWiFiNetwork(reinterpret_cast(mStagingNetwork.ssid), mStagingNetwork.ssidLen, + reinterpret_cast(mStagingNetwork.credentials), mStagingNetwork.credentialsLen); + mpConnectCallback = callback; + +exit: + if (err != CHIP_NO_ERROR) + { + networkingStatus = Status::kUnknownError; + } + if (networkingStatus != Status::kSuccess) + { + ChipLogError(NetworkProvisioning, "Failed to connect to WiFi network:%s", chip::ErrorStr(err)); + mpConnectCallback = nullptr; + callback->OnResult(networkingStatus, CharSpan(), 0); + } +} + +#if 0 +CHIP_ERROR ESPWiFiDriver::StartScanWiFiNetworks(ByteSpan ssid) +{ + esp_err_t err = ESP_OK; + if (ssid.data()) + { + wifi_scan_config_t scan_config = { 0 }; + memset(WiFiSSIDStr, 0, sizeof(WiFiSSIDStr)); + memcpy(WiFiSSIDStr, ssid.data(), ssid.size()); + scan_config.ssid = WiFiSSIDStr; + err = esp_wifi_scan_start(&scan_config, false); + } + else + { + err = esp_wifi_scan_start(NULL, false); + } + if (err != ESP_OK) + { + return chip::DeviceLayer::Internal::ESP32Utils::MapError(err); + } + return CHIP_NO_ERROR; +} +#endif + +#if 0 +void ESPWiFiDriver::OnScanWiFiNetworkDone() +{ + uint16_t ap_number; + esp_wifi_scan_get_ap_num(&ap_number); + if (!ap_number) + { + ChipLogProgress(DeviceLayer, "No AP found"); + if (mpScanCallback != nullptr) + { + mpScanCallback->OnFinished(Status::kSuccess, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + return; + } + std::unique_ptr ap_buffer_ptr(new wifi_ap_record_t[ap_number]); + if (ap_buffer_ptr == NULL) + { + ChipLogError(DeviceLayer, "can't malloc memory for ap_list_buffer"); + if (mpScanCallback) + { + mpScanCallback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + return; + } + wifi_ap_record_t * ap_list_buffer = ap_buffer_ptr.get(); + if (esp_wifi_scan_get_ap_records(&ap_number, ap_list_buffer) == ESP_OK) + { + if (CHIP_NO_ERROR == DeviceLayer::SystemLayer().ScheduleLambda([ap_number, ap_list_buffer]() { + std::unique_ptr auto_free(ap_list_buffer); + ESPScanResponseIterator iter(ap_number, ap_list_buffer); + if (GetInstance().mpScanCallback) + { + GetInstance().mpScanCallback->OnFinished(Status::kSuccess, CharSpan(), &iter); + GetInstance().mpScanCallback = nullptr; + } + else + { + ChipLogError(DeviceLayer, "can't find the ScanCallback function"); + } + })) + { + ap_buffer_ptr.release(); + } + } + else + { + ChipLogError(DeviceLayer, "can't get ap_records "); + if (mpScanCallback) + { + mpScanCallback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + } +} +#endif + +void BLWiFiDriver::ScanNetworks(ByteSpan ssid, WiFiDriver::ScanCallback * callback) +{ +#if 0 + if (callback != nullptr) + { + mpScanCallback = callback; + if (StartScanWiFiNetworks(ssid) != CHIP_NO_ERROR) + { + mpScanCallback = nullptr; + callback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + } + } +#endif +} + +#if 0 +CHIP_ERROR GetConnectedNetwork(Network & network) +{ + wifi_ap_record_t ap_info; + esp_err_t err; + err = esp_wifi_sta_get_ap_info(&ap_info); + if (err != ESP_OK) + { + return chip::DeviceLayer::Internal::ESP32Utils::MapError(err); + } + uint8_t length = strnlen(reinterpret_cast(ap_info.ssid), DeviceLayer::Internal::kMaxWiFiSSIDLength); + if (length > sizeof(network.networkID)) + { + return CHIP_ERROR_INTERNAL; + } + memcpy(network.networkID, ap_info.ssid, length); + network.networkIDLen = length; + return CHIP_NO_ERROR; +} +#endif + +size_t BLWiFiDriver::WiFiNetworkIterator::Count() +{ + return mDriver->mStagingNetwork.ssidLen == 0 ? 0 : 1; +} + +bool BLWiFiDriver::WiFiNetworkIterator::Next(Network & item) +{ +#if 0 + if (mExhausted || mDriver->mStagingNetwork.ssidLen == 0) + { + return false; + } + memcpy(item.networkID, mDriver->mStagingNetwork.ssid, mDriver->mStagingNetwork.ssidLen); + item.networkIDLen = mDriver->mStagingNetwork.ssidLen; + item.connected = false; + mExhausted = true; + + Network connectedNetwork; + CHIP_ERROR err = GetConnectedNetwork(connectedNetwork); + if (err == CHIP_NO_ERROR) + { + if (connectedNetwork.networkIDLen == item.networkIDLen && + memcmp(connectedNetwork.networkID, item.networkID, item.networkIDLen) == 0) + { + item.connected = true; + } + } +#endif + return true; +} + +} // namespace NetworkCommissioning +} // namespace DeviceLayer +} // namespace chip +//#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI diff --git a/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp b/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp new file mode 100644 index 00000000000000..8da62f8eab69b1 --- /dev/null +++ b/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp @@ -0,0 +1,221 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the PlatformManager object + * for BL602 platforms using the Bouffalolab BL602 SDK. + */ +/* this file behaves like a config.h, comes first */ +#include +#include + +#include +#include +#include + +#include + +#include "AppConfig.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace chip { +namespace DeviceLayer { + +PlatformManagerImpl PlatformManagerImpl::sInstance; + +static wifi_conf_t conf = { + .country_code = "CN", +}; + +static int app_entropy_source(void * data, unsigned char * output, size_t len, size_t * olen) +{ + + bl_rand_stream(reinterpret_cast(output), static_cast(len)); + *olen = len; + + return 0; +} + +void event_cb_wifi_event(input_event_t * event, void * private_data) +{ + static char * ssid; + static char * password; + + switch (event->code) + { + case CODE_WIFI_ON_INIT_DONE: { + wifi_mgmr_start_background(&conf); + log_info("CODE_WIFI_ON_INIT_DONE DONE.\r\n"); + } + break; + case CODE_WIFI_ON_MGMR_DONE: { + log_info("[APP] [EVT] MGMR DONE %lld\r\n", aos_now_ms()); + } + break; + case CODE_WIFI_ON_SCAN_DONE: { + log_info("[APP] [EVT] SCAN Done %lld, SCAN Result: %s\r\n", aos_now_ms(), + WIFI_SCAN_DONE_EVENT_OK == event->value ? "OK" : "Busy now"); + } + break; + case CODE_WIFI_ON_CONNECTING: { + log_info("[APP] [EVT] Connecting %lld\r\n", aos_now_ms()); + ConnectivityManagerImpl::mWiFiStationState = ConnectivityManager::kWiFiStationState_Connecting; + } + break; + case CODE_WIFI_CMD_RECONNECT: { + log_info("[APP] [EVT] Reconnect %lld\r\n", aos_now_ms()); + } + break; + case CODE_WIFI_ON_CONNECTED: { + log_info("[APP] [EVT] connected %lld\r\n", aos_now_ms()); + ConnectivityManagerImpl::mWiFiStationState = ConnectivityManager::kWiFiStationState_Connecting_Succeeded; + } + break; + case CODE_WIFI_ON_PRE_GOT_IP: { + log_info("[APP] [EVT] connected %lld\r\n", aos_now_ms()); + } + break; + case CODE_WIFI_ON_GOT_IP: { + log_info("[APP] [EVT] GOT IP %lld\r\n", aos_now_ms()); + log_info("[SYS] Memory left is %d Bytes\r\n", xPortGetFreeHeapSize()); + + ConnectivityManagerImpl::mWiFiStationState = ConnectivityManager::kWiFiStationState_Connected; + ConnectivityMgrImpl().WifiStationStateChange(); + ConnectivityMgrImpl().OnStationConnected(); + } + break; + case CODE_WIFI_ON_PROV_SSID: { + log_info("[APP] [EVT] [PROV] [SSID] %lld: %s\r\n", aos_now_ms(), event->value ? (const char *) event->value : "UNKNOWN"); + if (ssid) + { + vPortFree(ssid); + ssid = NULL; + } + ssid = (char *) event->value; + } + break; + case CODE_WIFI_ON_PROV_BSSID: { + log_info("[APP] [EVT] [PROV] [BSSID] %lld: %s\r\n", aos_now_ms(), event->value ? (const char *) event->value : "UNKNOWN"); + if (event->value) + { + vPortFree((void *) event->value); + } + } + break; + case CODE_WIFI_ON_PROV_PASSWD: { + log_info("[APP] [EVT] [PROV] [PASSWD] %lld: %s\r\n", aos_now_ms(), event->value ? (const char *) event->value : "UNKNOWN"); + if (password) + { + vPortFree(password); + password = NULL; + } + password = (char *) event->value; + } + break; + case CODE_WIFI_ON_PROV_CONNECT: { + log_info("[APP] [EVT] [PROV] [CONNECT] %lld\r\n", aos_now_ms()); +#if defined(CONFIG_BT_MESH_SYNC) + if (event->value) + { + struct _wifi_conn * conn_info = (struct _wifi_conn *) event->value; + break; + } +#endif + log_info("connecting to %s:%s...\r\n", ssid, password); + } + break; + case CODE_WIFI_ON_PROV_DISCONNECT: { + log_info("[APP] [EVT] [PROV] [DISCONNECT] %lld\r\n", aos_now_ms()); +#if defined(CONFIG_BT_MESH_SYNC) + // wifi_mgmr_sta_disconnect(); + vTaskDelay(1000); +// wifi_mgmr_sta_disable(NULL); +#endif + ConnectivityManagerImpl::mWiFiStationState = ConnectivityManager::kWiFiStationState_NotConnected; + } + break; +#if defined(CONFIG_BT_MESH_SYNC) + case CODE_WIFI_ON_PROV_SCAN_START: { + log_info("[APP] [EVT] [PROV] [SCAN] %lld\r\n", aos_now_ms()); + // wifiprov_scan((void *)event->value); + } + break; + case CODE_WIFI_ON_PROV_STATE_GET: { + log_info("[APP] [EVT] [PROV] [STATE] %lld\r\n", aos_now_ms()); + // wifiprov_wifi_state_get((void *)event->value); + } + break; +#endif /*CONFIG_BT_MESH_SYNC*/ + default: { + log_info("[APP] [EVT] Unknown code %u, %lld\r\n", event->code, aos_now_ms()); + /*nothing*/ + } + } +} + +CHIP_ERROR PlatformManagerImpl::_InitChipStack(void) +{ + CHIP_ERROR err; + + SetConfigurationMgr(&ConfigurationManagerImpl::GetDefaultInstance()); + SetDiagnosticDataProvider(&DiagnosticDataProviderImpl::GetDefaultInstance()); + + // Initialize the configuration system. + err = Internal::BL602Config::Init(); + log_error("err: %d\r\n", err); + SuccessOrExit(err); + + // Initialize LwIP. + tcpip_init(NULL, NULL); + aos_register_event_filter(EV_WIFI, event_cb_wifi_event, NULL); + + /*wifi fw stack and thread stuff*/ + static uint8_t stack_wifi_init = 0; + + if (1 == stack_wifi_init) + { + log_error("Wi-Fi already initialized!\r\n"); + return; + } + + hal_wifi_start_firmware_task(); + stack_wifi_init = 1; + aos_post_event(EV_WIFI, CODE_WIFI_ON_INIT_DONE, 0); + + err = chip::Crypto::add_entropy_source(app_entropy_source, NULL, 16); + SuccessOrExit(err); + + // Call _InitChipStack() on the generic implementation base class + // to finish the initialization process. + err = Internal::GenericPlatformManagerImpl_FreeRTOS::_InitChipStack(); + SuccessOrExit(err); + +exit: + return err; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/PlatformManagerImpl.h b/src/platform/bouffalolab/BL602/PlatformManagerImpl.h new file mode 100644 index 00000000000000..7938c4ed4275b8 --- /dev/null +++ b/src/platform/bouffalolab/BL602/PlatformManagerImpl.h @@ -0,0 +1,101 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the PlatformManager object + * for BL602 platforms using the Bouffalolab SDK. + */ + +#pragma once + +#include + +namespace chip { +namespace DeviceLayer { + +typedef struct +{ + uint32_t time; + uint16_t type; + uint16_t code; + unsigned long value; + unsigned long extra; +} input_event_t; + +/** + * Concrete implementation of the PlatformManager singleton object for the BL602 platform. + */ +class PlatformManagerImpl final : public PlatformManager, public Internal::GenericPlatformManagerImpl_FreeRTOS +{ + // Allow the PlatformManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend PlatformManager; + + // Allow the generic implementation base class to call helper methods on + // this class. +#ifndef DOXYGEN_SHOULD_SKIP_THIS + friend Internal::GenericPlatformManagerImpl_FreeRTOS; +#endif + +public: + // ===== Platform-specific members that may be accessed directly by the application. + + /* none so far */ + +private: + // ===== Methods that implement the PlatformManager abstract interface. + + CHIP_ERROR _InitChipStack(void); + + // ===== Members for internal use by the following friends. + + friend PlatformManager & PlatformMgr(void); + friend PlatformManagerImpl & PlatformMgrImpl(void); + friend class Internal::BLEManagerImpl; + friend void event_cb_wifi_event(input_event_t * event, void * private_data); + + static PlatformManagerImpl sInstance; + + using Internal::GenericPlatformManagerImpl_FreeRTOS::PostEventFromISR; +}; + +/** + * Returns the public interface of the PlatformManager singleton object. + * + * Chip applications should use this to access features of the PlatformManager object + * that are common to all platforms. + */ +inline PlatformManager & PlatformMgr(void) +{ + return PlatformManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the PlatformManager singleton object. + * + * Chip applications can use this to gain access to features of the PlatformManager + * that are specific to the ESP32 platform. + */ +inline PlatformManagerImpl & PlatformMgrImpl(void) +{ + return PlatformManagerImpl::sInstance; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.cpp b/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.cpp new file mode 100644 index 00000000000000..993a009ea7b890 --- /dev/null +++ b/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.cpp @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* this file behaves like a config.h, comes first */ +#include + +#if CHIP_DEVICE_CONFIG_ENABLE_SOFTWARE_UPDATE_MANAGER + +#include +#include + +#include +#include + +namespace chip { +namespace DeviceLayer { + +SoftwareUpdateManagerImpl SoftwareUpdateManagerImpl::sInstance; + +CHIP_ERROR SoftwareUpdateManagerImpl::_Init(void) +{ + Internal::GenericSoftwareUpdateManagerImpl_BDX::DoInit(); + Internal::GenericSoftwareUpdateManagerImpl::DoInit(); + + return CHIP_NO_ERROR; +} + +} // namespace DeviceLayer +} // namespace chip + +#endif // CHIP_DEVICE_CONFIG_ENABLE_SOFTWARE_UPDATE_MANAGER diff --git a/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.h b/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.h new file mode 100644 index 00000000000000..1d2d366611f8c7 --- /dev/null +++ b/src/platform/bouffalolab/BL602/SoftwareUpdateManagerImpl.h @@ -0,0 +1,88 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#if CHIP_DEVICE_CONFIG_ENABLE_SOFTWARE_UPDATE_MANAGER + +#include +#include + +namespace chip { +namespace DeviceLayer { + +/** + * Concrete implementation of the SoftwareUpdateManager singleton object for the + * Bouffalolab BL602 platforms. + */ +class SoftwareUpdateManagerImpl final : public SoftwareUpdateManager, + public Internal::GenericSoftwareUpdateManagerImpl, + public Internal::GenericSoftwareUpdateManagerImpl_BDX +{ + // Allow the SoftwareUpdateManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend class SoftwareUpdateManager; + + // Allow the GenericSoftwareUpdateManagerImpl base class to access helper methods + // and types defined on this class. + friend class Internal::GenericSoftwareUpdateManagerImpl; + + // Allow the GenericSoftwareUpdateManagerImpl_BDX base class to access helper methods + // and types defined on this class. + friend class Internal::GenericSoftwareUpdateManagerImpl_BDX; + +public: + // ===== Members for internal use by the following friends. + + friend ::chip::DeviceLayer::SoftwareUpdateManager & SoftwareUpdateMgr(void); + friend SoftwareUpdateManagerImpl & SoftwareUpdateMgrImpl(void); + + static SoftwareUpdateManagerImpl sInstance; + +private: + // ===== Members that implement the SoftwareUpdateManager abstract interface. + + CHIP_ERROR _Init(void); +}; + +/** + * Returns a reference to the public interface of the SoftwareUpdateManager singleton object. + * + * Internal components should use this to access features of the SoftwareUpdateManager object + * that are common to all platforms. + */ +inline SoftwareUpdateManager & SoftwareUpdateMgr(void) +{ + return SoftwareUpdateManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the SoftwareUpdateManager singleton object. + * + * Internal components can use this to gain access to features of the SoftwareUpdateManager + * that are specific to the BL602 platform. + */ +inline SoftwareUpdateManagerImpl & SoftwareUpdateMgrImpl(void) +{ + return SoftwareUpdateManagerImpl::sInstance; +} + +} // namespace DeviceLayer +} // namespace chip + +#endif // CHIP_DEVICE_CONFIG_ENABLE_SOFTWARE_UPDATE_MANAGER diff --git a/src/platform/bouffalolab/BL602/SystemPlatformConfig.h b/src/platform/bouffalolab/BL602/SystemPlatformConfig.h new file mode 100644 index 00000000000000..976231c4b15831 --- /dev/null +++ b/src/platform/bouffalolab/BL602/SystemPlatformConfig.h @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for the CHIP System + * Layer on Bouffalolab BL602 Platforms. + * + */ + +#pragma once + +#include + +namespace chip { +namespace DeviceLayer { +struct ChipDeviceEvent; +} // namespace DeviceLayer +} // namespace chip + +// ==================== Platform Adaptations ==================== +#define CHIP_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS 1 +#define CHIP_SYSTEM_CONFIG_PLATFORM_PROVIDES_TIME 1 +#define CHIP_SYSTEM_CONFIG_LWIP_EVENT_TYPE int +#define CHIP_SYSTEM_CONFIG_EVENT_OBJECT_TYPE const struct ::chip::DeviceLayer::ChipDeviceEvent * + +#define CHIP_SYSTEM_CONFIG_ERROR_TYPE int32_t +#define CHIP_SYSTEM_CONFIG_NO_ERROR 0 +#define CHIP_SYSTEM_CONFIG_ERROR_MIN 7000000 +#define CHIP_SYSTEM_CONFIG_ERROR_MAX 7000999 +#define _CHIP_SYSTEM_CONFIG_ERROR(e) (CHIP_SYSTEM_CONFIG_ERROR_MIN + (e)) +#define CHIP_SYSTEM_LWIP_ERROR_MIN 3000000 +#define CHIP_SYSTEM_LWIP_ERROR_MAX 3000128 + +// ========== Platform-specific Configuration Overrides ========= + +#ifndef CHIP_SYSTEM_CONFIG_NUM_TIMERS +#define CHIP_SYSTEM_CONFIG_NUM_TIMERS 16 +#endif // CHIP_SYSTEM_CONFIG_NUM_TIMERS diff --git a/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.cpp b/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.cpp new file mode 100644 index 00000000000000..9466bbb420e825 --- /dev/null +++ b/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.cpp @@ -0,0 +1,160 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the ThreadStackManager object for + * BL602 platforms using the Bouffalolab SDK. + * + */ +/* this file behaves like a config.h, comes first */ +#include + +#include +#include + +#include +#include + +#include + +#include + +namespace chip { +namespace DeviceLayer { + +using namespace ::chip::DeviceLayer::Internal; + +ThreadStackManagerImpl ThreadStackManagerImpl::sInstance; + +CHIP_ERROR ThreadStackManagerImpl::_InitThreadStack(void) +{ + return InitThreadStack(NULL); +} + +CHIP_ERROR ThreadStackManagerImpl::InitThreadStack(otInstance * otInst) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + + // Initialize the generic implementation base classes. + err = GenericThreadStackManagerImpl_FreeRTOS::DoInit(); + SuccessOrExit(err); + err = GenericThreadStackManagerImpl_OpenThread_LwIP::DoInit(otInst); + SuccessOrExit(err); + +exit: + return err; +} + +bool ThreadStackManagerImpl::IsInitialized() +{ + return sInstance.mThreadStackLock != NULL; +} + +} // namespace DeviceLayer +} // namespace chip + +using namespace ::chip::DeviceLayer; + +/** + * Glue function called directly by the OpenThread stack when tasklet processing work + * is pending. + */ +extern "C" void otTaskletsSignalPending(otInstance * p_instance) +{ + ThreadStackMgrImpl().SignalThreadActivityPending(); +} + +/** + * Glue function called directly by the OpenThread stack when system event processing work + * is pending. + */ +extern "C" void otSysEventSignalPending(void) +{ + BaseType_t yieldRequired = ThreadStackMgrImpl().SignalThreadActivityPendingFromISR(); + portYIELD_FROM_ISR(yieldRequired); +} + +extern "C" void * otPlatCAlloc(size_t aNum, size_t aSize) +{ + return CHIPPlatformMemoryCalloc(aNum, aSize); +} + +extern "C" void otPlatFree(void * aPtr) +{ + CHIPPlatformMemoryFree(aPtr); +} + +/** + * @brief Openthread UART implementation for the CLI is conflicting + * with the UART implemented for Pigweed RPC as they use the same UART port + * + * For now OT CLI isn't usable when the examples are built with pw_rpc + */ + +#ifndef PW_RPC_ENABLED +#include "uart.h" +#endif + +extern "C" __WEAK otError otPlatUartEnable(void) +{ +#ifdef PW_RPC_ENABLED + return OT_ERROR_NOT_IMPLEMENTED; +#else + uartConsoleInit(); + return OT_ERROR_NONE; +#endif +} + +extern "C" __WEAK otError otPlatUartSend(const uint8_t * aBuf, uint16_t aBufLength) +{ +#ifdef PW_RPC_ENABLED + return OT_ERROR_NOT_IMPLEMENTED; +#else + if (uartConsoleWrite((const char *) aBuf, aBufLength) > 0) + { + otPlatUartSendDone(); + return OT_ERROR_NONE; + } + return OT_ERROR_FAILED; +#endif +} + +extern "C" __WEAK void efr32UartProcess(void) +{ +#if !defined(PW_RPC_ENABLED) && !defined(ENABLE_CHIP_SHELL) + uint8_t tempBuf[128] = { 0 }; + // will read the data available up to 128bytes + uint16_t count = uartConsoleRead((char *) tempBuf, 128); + if (count > 0) + { + // ot process Received data for CLI cmds + otPlatUartReceived(tempBuf, count); + } +#endif +} + +extern "C" __WEAK otError otPlatUartFlush(void) +{ + return OT_ERROR_NOT_IMPLEMENTED; +} + +extern "C" __WEAK otError otPlatUartDisable(void) +{ + return OT_ERROR_NOT_IMPLEMENTED; +} diff --git a/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.h b/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.h new file mode 100644 index 00000000000000..0e8d7a95146f47 --- /dev/null +++ b/src/platform/bouffalolab/BL602/ThreadStackManagerImpl.h @@ -0,0 +1,118 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Nest Labs, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Provides an implementation of the ThreadStackManager object + * for BL602 platforms using the Bouffalolab SDK. + */ + +#pragma once + +#include +#include + +#include +#include + +extern "C" void otSysEventSignalPending(void); + +namespace chip { +namespace DeviceLayer { + +class ThreadStackManager; +class ThreadStackManagerImpl; +namespace Internal { +extern int GetEntropy_BL602(uint8_t * buf, size_t bufSize); +} + +/** + * Concrete implementation of the ThreadStackManager singleton object for BL602 platforms + * using the Bouffalolab SDK. + */ +class ThreadStackManagerImpl final : public ThreadStackManager, + public Internal::GenericThreadStackManagerImpl_OpenThread_LwIP, + public Internal::GenericThreadStackManagerImpl_FreeRTOS +{ + // Allow the ThreadStackManager interface class to delegate method calls to + // the implementation methods provided by this class. + friend class ThreadStackManager; + + // Allow the generic implementation base classes to call helper methods on + // this class. +#ifndef DOXYGEN_SHOULD_SKIP_THIS + friend Internal::GenericThreadStackManagerImpl_OpenThread; + friend Internal::GenericThreadStackManagerImpl_OpenThread_LwIP; + friend Internal::GenericThreadStackManagerImpl_FreeRTOS; +#endif + + // Allow glue functions called by OpenThread to call helper methods on this + // class. + friend void ::otTaskletsSignalPending(otInstance * otInst); + friend void ::otSysEventSignalPending(void); + +public: + // ===== Platform-specific members that may be accessed directly by the application. + + using ThreadStackManager::InitThreadStack; + CHIP_ERROR InitThreadStack(otInstance * otInst); + +private: + // ===== Methods that implement the ThreadStackManager abstract interface. + + CHIP_ERROR _InitThreadStack(void); + + // ===== Members for internal use by the following friends. + + friend ThreadStackManager & ::chip::DeviceLayer::ThreadStackMgr(void); + friend ThreadStackManagerImpl & ::chip::DeviceLayer::ThreadStackMgrImpl(void); + friend int Internal::GetEntropy_BL602(uint8_t * buf, size_t bufSize); + + static ThreadStackManagerImpl sInstance; + + static bool IsInitialized(); + + // ===== Private members for use by this class only. + + ThreadStackManagerImpl() = default; +}; + +/** + * Returns the public interface of the ThreadStackManager singleton object. + * + * Chip applications should use this to access features of the ThreadStackManager object + * that are common to all platforms. + */ +inline ThreadStackManager & ThreadStackMgr(void) +{ + return ThreadStackManagerImpl::sInstance; +} + +/** + * Returns the platform-specific implementation of the ThreadStackManager singleton object. + * + * Chip applications can use this to gain access to features of the ThreadStackManager + * that are specific to BL602 platforms. + */ +inline ThreadStackManagerImpl & ThreadStackMgrImpl(void) +{ + return ThreadStackManagerImpl::sInstance; +} + +} // namespace DeviceLayer +} // namespace chip diff --git a/src/platform/bouffalolab/BL602/WarmPlatformConfig.h b/src/platform/bouffalolab/BL602/WarmPlatformConfig.h new file mode 100644 index 00000000000000..05665b04a0229b --- /dev/null +++ b/src/platform/bouffalolab/BL602/WarmPlatformConfig.h @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Platform-specific configuration overrides for the Chip + * Addressing and Routing Module (WARM) on BL602 platforms + * using the Bouffalolab SDK. + * + */ + +#pragma once + +// ==================== Platform Adaptations ==================== + +#define WARM_CONFIG_SUPPORT_THREAD 1 +#define WARM_CONFIG_SUPPORT_THREAD_ROUTING 0 +#define WARM_CONFIG_SUPPORT_LEGACY6LOWPAN_NETWORK 0 +#define WARM_CONFIG_SUPPORT_WIFI 0 +#define WARM_CONFIG_SUPPORT_CELLULAR 0 + +// ========== Platform-specific Configuration Overrides ========= + +/* none so far */ diff --git a/src/platform/bouffalolab/BL602/args.gni b/src/platform/bouffalolab/BL602/args.gni new file mode 100644 index 00000000000000..29ebe257e955b9 --- /dev/null +++ b/src/platform/bouffalolab/BL602/args.gni @@ -0,0 +1,45 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/bl602_sdk.gni") +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") + +import("${chip_root}/examples/platform/bouffalolab/bl602/args.gni") + +riscv_platform_config = "${bl602_sdk_build_root}/bl602_riscv.gni" + +mbedtls_target = "${bl602_sdk_build_root}:bl602_sdk" + +chip_device_platform = "bl602" +chip_mdns = "platform" + +lwip_platform = "external" + +chip_inet_config_enable_ipv4 = true + +chip_enable_rotating_device_id = false + +chip_config_memory_management = "platform" + +chip_build_tests = false +chip_inet_config_enable_dns_resolver = false +chip_inet_config_enable_tun_endpoint = false +chip_inet_config_enable_tcp_endpoint = true +chip_inet_config_enable_udp_endpoint = true + +pw_build_LINK_DEPS = [ + "$dir_pw_assert:impl", + "$dir_pw_log:impl", +] diff --git a/src/platform/bouffalolab/BL602/bl602-chip-mbedtls-config.h b/src/platform/bouffalolab/BL602/bl602-chip-mbedtls-config.h new file mode 100644 index 00000000000000..21e4446a466503 --- /dev/null +++ b/src/platform/bouffalolab/BL602/bl602-chip-mbedtls-config.h @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2021, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include +#include +#include + +/** + * Enable FreeRTOS threading support + */ +#define MBEDTLS_FREERTOS +//#define MBEDTLS_THREADING_C + +#define SL_CATALOG_FREERTOS_KERNEL_PRESENT + +/** + * Enable H Crypto and Entropy modules + */ +#define MBEDTLS_AES_C +#define MBEDTLS_ECP_C +#define MBEDTLS_ECDH_C +#define MBEDTLS_ENTROPY_C +#define MBEDTLS_SHA256_C +#define MBEDTLS_CIPHER_MODE_CTR +#define MBEDTLS_TRNG_C + +#if defined(MBEDTLS_ECP_ALT) && !defined(MBEDTLS_ECP_RESTARTABLE) +typedef void mbedtls_ecp_restart_ctx; +#endif + +#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf + +#define MBEDTLS_AES_ROM_TABLES +#define MBEDTLS_ASN1_PARSE_C +#define MBEDTLS_ASN1_WRITE_C +#define MBEDTLS_BASE64_C +#define MBEDTLS_BIGNUM_C +#define MBEDTLS_CCM_C +#define MBEDTLS_CIPHER_C +#define MBEDTLS_CIPHER_MODE_CBC +#define MBEDTLS_CIPHER_MODE_CFB +#define MBEDTLS_CMAC_C +#define MBEDTLS_CTR_DRBG_C +#define MBEDTLS_ECDH_LEGACY_CONTEXT +#define MBEDTLS_ECDSA_C +#define MBEDTLS_ECDSA_DETERMINISTIC +#define MBEDTLS_ECJPAKE_C +#define MBEDTLS_ECP_DP_SECP256R1_ENABLED +#define MBEDTLS_ECP_NIST_OPTIM +#define MBEDTLS_ENTROPY_FORCE_SHA256 + +// TODO: 3R +// #define MBEDTLS_ENTROPY_HARDWARE_ALT + +#define MBEDTLS_ERROR_STRERROR_DUMMY +#define MBEDTLS_HAVE_ASM +#define MBEDTLS_HKDF_C +#define MBEDTLS_HMAC_DRBG_C +#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED +#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED +#define MBEDTLS_MD_C +#define MBEDTLS_NO_PLATFORM_ENTROPY +#define MBEDTLS_OID_C +#define MBEDTLS_PEM_PARSE_C +#define MBEDTLS_PEM_WRITE_C +#define MBEDTLS_PK_C +#define MBEDTLS_PK_PARSE_C +#define MBEDTLS_PK_WRITE_C +#define MBEDTLS_PKCS5_C +#define MBEDTLS_PLATFORM_C +//#define MBEDTLS_PLATFORM_MEMORY +#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS +#define MBEDTLS_PSA_CRYPTO_C +#define MBEDTLS_PSA_CRYPTO_CONFIG +#define MBEDTLS_PSA_CRYPTO_DRIVERS +#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS +#define MBEDTLS_PSA_CRYPTO_STORAGE_C +#define MBEDTLS_SHA256_SMALLER +#define MBEDTLS_SHA512_C +#define MBEDTLS_SSL_CLI_C +#define MBEDTLS_SSL_COOKIE_C +#define MBEDTLS_SSL_DTLS_ANTI_REPLAY +#define MBEDTLS_SSL_DTLS_HELLO_VERIFY +#define MBEDTLS_SSL_EXPORT_KEYS +#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE +#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH +#define MBEDTLS_SSL_PROTO_TLS1_2 +#define MBEDTLS_SSL_PROTO_DTLS +#define MBEDTLS_SSL_SRV_C +#define MBEDTLS_SSL_TLS_C +#define MBEDTLS_X509_CREATE_C +#define MBEDTLS_X509_CSR_WRITE_C +#define MBEDTLS_X509_CRL_PARSE_C +#define MBEDTLS_X509_CRT_PARSE_C +#define MBEDTLS_X509_CSR_PARSE_C +#define MBEDTLS_X509_USE_C + +#define MBEDTLS_MPI_WINDOW_SIZE 1 /**< Maximum windows size used. */ +#define MBEDTLS_MPI_MAX_SIZE 32 /**< Maximum number of bytes for usable MPIs. */ +#define MBEDTLS_ECP_MAX_BITS 256 /**< Maximum bit size of groups */ +#define MBEDTLS_ECP_WINDOW_SIZE 2 /**< Maximum window size used */ +#define MBEDTLS_ECP_FIXED_POINT_OPTIM 0 /**< Enable fixed-point speed-up */ +#define MBEDTLS_ENTROPY_MAX_SOURCES 2 /**< Maximum number of sources supported */ + +#if OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE +#define MBEDTLS_SSL_MAX_CONTENT_LEN 900 /**< Maxium fragment length in bytes */ +#else +#define MBEDTLS_SSL_MAX_CONTENT_LEN 768 /**< Maxium fragment length in bytes */ +#endif + +#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 + +//#include "config-device-acceleration.h" +#include "mbedtls/check_config.h" diff --git a/src/platform/bouffalolab/BL602/gatt.xml b/src/platform/bouffalolab/BL602/gatt.xml new file mode 100644 index 00000000000000..4cc1351b399117 --- /dev/null +++ b/src/platform/bouffalolab/BL602/gatt.xml @@ -0,0 +1,98 @@ + + + + + + + + + Abstract: The generic_access service contains generic information about the device. All available Characteristics are readonly. + + + + + Empty Example + + + + + + Abstract: The external appearance of this device. The values are composed of a category (10-bits) and sub-categories (6-bits). + 0000 + + + + + + + Abstract: The Device Information Service exposes manufacturer and/or vendor information about a device. Summary: This service exposes manufacturer information about a device. The Device Information Service is instantiated as a Primary Service. Only one instance of the Device Information Service is exposed on a device. + + + + Abstract: The value of this characteristic is a UTF-8 string representing the name of the manufacturer of the device. + Bouffalolab + + + + + + Abstract: The value of this characteristic is a UTF-8 string representing the model number assigned by the device vendor. + Blue Gecko + + + + + + Abstract: The SYSTEM ID characteristic consists of a structure with two fields. The first field are the LSOs and the second field contains the MSOs. This is a 64-bit structure which consists of a 40-bit manufacturer-defined identifier concatenated with a 24 bit unique Organizationally Unique Identifier (OUI). The OUI is issued by the IEEE Registration Authority (http://standards.ieee.org/regauth/index.html) and is required to be used in accordance with IEEE Standard 802-2001.6 while the least significant 40 bits are manufacturer defined. If System ID generated based on a Bluetooth Device Address, it is required to be done as follows. System ID and the Bluetooth Device Address have a very similar structure: a Bluetooth Device Address is 48 bits in length and consists of a 24 bit Company Assigned Identifier (manufacturer defined identifier) concatenated with a 24 bit Company Identifier (OUI). In order to encapsulate a Bluetooth Device Address as System ID, the Company Identifier is concatenated with 0xFFFE followed by the Company Assigned Identifier of the Bluetooth Address. For more guidelines related to EUI-64, refer to http://standards.ieee.org/develop/regauth/tut/eui64.pdf. Examples: If the system ID is based of a Bluetooth Device Address with a Company Identifier (OUI) is 0x123456 and the Company Assigned Identifier is 0x9ABCDE, then the System Identifier is required to be 0x123456FFFE9ABCDE. + 000102030405 + + + + + + + Abstract: The Bouffalolab OTA Service enables over-the-air firmware update of the device. + + + + Abstract: Bouffalolab OTA Control. + + + + + + + + Custom service + + + + Custom characteristic + 0x00 + + + + + + Custom characteristic + 0x00 + + + + diff --git a/src/platform/bouffalolab/BL602/gatt_db.c b/src/platform/bouffalolab/BL602/gatt_db.c new file mode 100644 index 00000000000000..6a4d4977a3a8f1 --- /dev/null +++ b/src/platform/bouffalolab/BL602/gatt_db.c @@ -0,0 +1,379 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/******************************************************************** + * Autogenerated file, do not edit. + *******************************************************************/ + +#include "bg_gattdb_def.h" + +#include + +#define GATT_HEADER(F) F +#define GATT_DATA(F) F +GATT_DATA(const uint16_t bg_gattdb_data_uuidtable_16_map[]) = { + 0x2800, 0x2801, 0x2803, 0x1800, 0x2a00, 0x2a01, 0x180a, 0x2a29, 0x2a24, 0x2a23, 0xfff6, 0x1801, 0x2a05, 0x2b2a, 0x2b29, 0x2902, +}; + +GATT_DATA(const uint8_t bg_gattdb_data_uuidtable_128_map[]) = { + 0xf0, 0x19, 0x21, 0xb4, 0x47, 0x8f, 0xa4, 0xbf, 0xa1, 0x4f, 0x63, 0xfd, 0xee, 0xd6, 0x14, 0x1d, + 0x63, 0x60, 0x32, 0xe0, 0x37, 0x5e, 0xa4, 0x88, 0x53, 0x4e, 0x6d, 0xfb, 0x64, 0x35, 0xbf, 0xf7, + 0x11, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18, + 0x12, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18, +}; + +struct bg_gattdb_buffer_with_len + bg_gattdb_data_attribute_field_27_data = { .len = 1, + .data = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } }; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_27) = { + .properties = 0x2e, + .index = 6, + .max_len = 247, + .data_varlen = &bg_gattdb_data_attribute_field_27_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_26) = { .len = 19, + .data = { + 0x2e, 0x1c, 0x00, 0x12, 0x9d, + 0x9f, 0x42, 0x9c, 0x4f, 0x9f, + 0x95, 0x59, 0x45, 0x3d, 0x26, + 0xf5, 0x2e, 0xee, 0x18, + } }; +struct bg_gattdb_buffer_with_len + bg_gattdb_data_attribute_field_25_data = { .len = 1, + .data = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } }; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_25) = { + .properties = 0x0a, + .index = 5, + .max_len = 247, + .data_varlen = &bg_gattdb_data_attribute_field_25_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_24) = { .len = 19, + .data = { + 0x0a, 0x1a, 0x00, 0x11, 0x9d, + 0x9f, 0x42, 0x9c, 0x4f, 0x9f, + 0x95, 0x59, 0x45, 0x3d, 0x26, + 0xf5, 0x2e, 0xee, 0x18, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_23) = { .len = 2, + .data = { + 0xf6, + 0xff, + } }; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_22) = { + .properties = 0x08, + .index = 4, + .max_len = 0, + .data = NULL, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_21) = { .len = 19, + .data = { + 0x08, 0x17, 0x00, 0x63, 0x60, + 0x32, 0xe0, 0x37, 0x5e, 0xa4, + 0x88, 0x53, 0x4e, 0x6d, 0xfb, + 0x64, 0x35, 0xbf, 0xf7, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_20) = { .len = 16, + .data = { + 0xf0, + 0x19, + 0x21, + 0xb4, + 0x47, + 0x8f, + 0xa4, + 0xbf, + 0xa1, + 0x4f, + 0x63, + 0xfd, + 0xee, + 0xd6, + 0x14, + 0x1d, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_19) = { .len = 6, + .data = { + 0x00, + 0x01, + 0x02, + 0x03, + 0x04, + 0x05, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_18) = { .len = 5, + .data = { + 0x02, + 0x14, + 0x00, + 0x23, + 0x2a, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_17) = { .len = 10, + .data = { + 0x42, + 0x6c, + 0x75, + 0x65, + 0x20, + 0x47, + 0x65, + 0x63, + 0x6b, + 0x6f, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_16) = { .len = 5, + .data = { + 0x02, + 0x12, + 0x00, + 0x24, + 0x2a, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_15) = { .len = 12, + .data = { + 0x53, + 0x69, + 0x6c, + 0x69, + 0x63, + 0x6f, + 0x6e, + 0x20, + 0x4c, + 0x61, + 0x62, + 0x73, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_14) = { .len = 5, + .data = { + 0x02, + 0x10, + 0x00, + 0x29, + 0x2a, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_13) = { .len = 2, + .data = { + 0x0a, + 0x18, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_12) = { .len = 2, + .data = { + 0x00, + 0x00, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_11) = { .len = 5, + .data = { + 0x02, + 0x0d, + 0x00, + 0x01, + 0x2a, + } }; +uint8_t bg_gattdb_data_attribute_field_10_data[13] = { + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, +}; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_10) = { + .properties = 0x0a, + .index = 3, + .max_len = 13, + .data = bg_gattdb_data_attribute_field_10_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_9) = { .len = 5, + .data = { + 0x0a, + 0x0b, + 0x00, + 0x00, + 0x2a, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_8) = { .len = 2, + .data = { + 0x00, + 0x18, + } }; +uint8_t bg_gattdb_data_attribute_field_7_data[1] = { + 0x00, +}; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_7) = { + .properties = 0x0a, + .index = 2, + .max_len = 1, + .data = bg_gattdb_data_attribute_field_7_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_6) = { .len = 5, + .data = { + 0x0a, + 0x08, + 0x00, + 0x29, + 0x2b, + } }; +uint8_t bg_gattdb_data_attribute_field_5_data[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_5) = { + .properties = 0x02, + .index = 1, + .max_len = 16, + .data = bg_gattdb_data_attribute_field_5_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_4) = { .len = 5, + .data = { + 0x02, + 0x06, + 0x00, + 0x2a, + 0x2b, + } }; +uint8_t bg_gattdb_data_attribute_field_2_data[4] = { + 0x00, + 0x00, + 0x00, + 0x00, +}; +GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_2) = { + .properties = 0x20, + .index = 0, + .max_len = 4, + .data = bg_gattdb_data_attribute_field_2_data, +}; + +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_1) = { .len = 5, + .data = { + 0x20, + 0x03, + 0x00, + 0x05, + 0x2a, + } }; +GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_0) = { .len = 2, + .data = { + 0x01, + 0x18, + } }; +GATT_DATA(const struct bg_gattdb_attribute bg_gattdb_data_attributes_map[]) = { + { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_0 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_1 }, + { .uuid = 0x000c, .permissions = 0x800, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_2 }, + { .uuid = 0x000f, + .permissions = 0x807, + .caps = 0xffff, + .datatype = 0x03, + .configdata = { .flags = 0x02, .index = 0x00, .clientconfig_index = 0x00 } }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_4 }, + { .uuid = 0x000d, .permissions = 0x801, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_5 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_6 }, + { .uuid = 0x000e, .permissions = 0x803, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_7 }, + { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_8 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_9 }, + { .uuid = 0x0004, .permissions = 0x803, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_10 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_11 }, + { .uuid = 0x0005, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_12 }, + { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_13 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_14 }, + { .uuid = 0x0007, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_15 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_16 }, + { .uuid = 0x0008, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_17 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_18 }, + { .uuid = 0x0009, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_19 }, + { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_20 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_21 }, + { .uuid = 0x8001, .permissions = 0x802, .caps = 0xffff, .datatype = 0x07, .dynamicdata = &bg_gattdb_data_attribute_field_22 }, + { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_23 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_24 }, + { .uuid = 0x8002, .permissions = 0x803, .caps = 0xffff, .datatype = 0x02, .dynamicdata = &bg_gattdb_data_attribute_field_25 }, + { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_26 }, + { .uuid = 0x8003, .permissions = 0x807, .caps = 0xffff, .datatype = 0x02, .dynamicdata = &bg_gattdb_data_attribute_field_27 }, + { .uuid = 0x000f, + .permissions = 0x807, + .caps = 0xffff, + .datatype = 0x03, + .configdata = { .flags = 0x02, .index = 0x06, .clientconfig_index = 0x01 } }, +}; + +GATT_DATA(const uint16_t bg_gattdb_data_attributes_dynamic_mapping_map[]) = { + 0x0003, 0x0006, 0x0008, 0x000b, 0x0017, 0x001a, 0x001c, +}; + +GATT_DATA(const uint8_t bg_gattdb_data_adv_uuid16_map[]) = { 0x0 }; +GATT_DATA(const uint8_t bg_gattdb_data_adv_uuid128_map[]) = { 0x0 }; +GATT_HEADER(const struct bg_gattdb_def bg_gattdb_data) = { + .attributes = bg_gattdb_data_attributes_map, + .attributes_max = 29, + .uuidtable_16_size = 16, + .uuidtable_16 = bg_gattdb_data_uuidtable_16_map, + .uuidtable_128_size = 4, + .uuidtable_128 = bg_gattdb_data_uuidtable_128_map, + .attributes_dynamic_max = 7, + .attributes_dynamic_mapping = bg_gattdb_data_attributes_dynamic_mapping_map, + .adv_uuid16 = bg_gattdb_data_adv_uuid16_map, + .adv_uuid16_num = 0, + .adv_uuid128 = bg_gattdb_data_adv_uuid128_map, + .adv_uuid128_num = 0, + .caps_mask = 0xffff, + .enabled_caps = 0xffff, +}; + +const struct bg_gattdb_def * bg_gattdb = &bg_gattdb_data; diff --git a/src/platform/bouffalolab/BL602/gatt_db.h b/src/platform/bouffalolab/BL602/gatt_db.h new file mode 100644 index 00000000000000..1007bbe901fc3a --- /dev/null +++ b/src/platform/bouffalolab/BL602/gatt_db.h @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2020 Google LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __GATT_DB_H +#define __GATT_DB_H + +#if __cplusplus +extern "C" { +#endif + +#include "bg_gattdb_def.h" + +extern const struct bg_gattdb_def bg_gattdb_data; + +#define gattdb_service_changed_char 3 +#define gattdb_database_hash 6 +#define gattdb_client_support_features 8 +#define gattdb_device_name 11 +#define gattdb_ota_control 23 +#define gattdb_CHIPoBLEChar_Rx 26 +#define gattdb_CHIPoBLEChar_Tx 28 + +#if __cplusplus +} +#endif + +#endif diff --git a/src/platform/device.gni b/src/platform/device.gni index 61dddb0ec8ae72..a9e630a7eeb1e6 100755 --- a/src/platform/device.gni +++ b/src/platform/device.gni @@ -16,7 +16,7 @@ import("//build_overrides/chip.gni") import("${chip_root}/src/ble/ble.gni") declare_args() { - # Device platform layer: cc13x2_26x2, darwin, efr32, esp32, external, freertos, linux, nrfconnect, k32w0, qpg, tizen, cyw30739, none. + # Device platform layer: cc13x2_26x2, darwin, efr32, esp32, external, freertos, linux, nrfconnect, k32w0, qpg, tizen, cyw30739, bl602, none. chip_device_platform = "auto" chip_platform_target = "" @@ -58,7 +58,7 @@ declare_args() { chip_device_platform == "linux" || chip_device_platform == "esp32" || chip_device_platform == "mbed" || chip_device_platform == "tizen" || chip_device_platform == "android" || chip_device_platform == "ameba" || - chip_device_platform == "webos" + chip_device_platform == "webos" || chip_device_platform == "bl602" # Enable ble support. if (chip_device_platform == "fake") { @@ -117,6 +117,8 @@ if (chip_device_platform == "cc13x2_26x2") { _chip_device_layer = "android" } else if (chip_device_platform == "ameba") { _chip_device_layer = "Ameba" +} else if (chip_device_platform == "bl602") { + _chip_device_layer = "bouffalolab/BL602" } else if (chip_device_platform == "cyw30739") { _chip_device_layer = "CYW30739" } else if (chip_device_platform == "webos") { @@ -166,5 +168,5 @@ assert( chip_device_platform == "telink" || chip_device_platform == "mbed" || chip_device_platform == "p6" || chip_device_platform == "android" || chip_device_platform == "ameba" || chip_device_platform == "cyw30739" || - chip_device_platform == "webos", + chip_device_platform == "webos" || chip_device_platform == "bl602", "Please select a valid value for chip_device_platform") diff --git a/third_party/bouffalolab/bl602_sdk/BUILD.gn b/third_party/bouffalolab/bl602_sdk/BUILD.gn new file mode 100644 index 00000000000000..fef5d55d847d25 --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/BUILD.gn @@ -0,0 +1,27 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/bl602_sdk.gni") +import("${bl602_sdk_build_root}/bl602_sdk.gni") + +declare_args() { + # Build target to use for bl602 SDK. Use this to set global SDK defines. + bl602_sdk_target = "" +} + +assert(bl602_sdk_target != "", "bl602_sdk_target must be specified") + +group("bl602_sdk") { + public_deps = [ bl602_sdk_target ] +} diff --git a/third_party/bouffalolab/bl602_sdk/bl602_board.gni b/third_party/bouffalolab/bl602_sdk/bl602_board.gni new file mode 100644 index 00000000000000..db983afd4a52bf --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/bl602_board.gni @@ -0,0 +1,31 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +declare_args() { + # BL602 board used + bl602_board = "BL-HWC-G1" +} + +if (bl602_board == "") { + # bl602_board = getenv("BL602_BOARD") + bl602_board = "BL-HWC-G1" +} + +assert(bl602_board != "", "bl602_board must be specified") + +board_defines = [] +# bl602_family = "" +# bl602_mcu = "" +# enable_fem = true +# board_defines += [ "PAL_RTCC_CLOCK_LFRCO" ] diff --git a/third_party/bouffalolab/bl602_sdk/bl602_executable.gni b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni new file mode 100644 index 00000000000000..c4c68b5a1d5be4 --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni @@ -0,0 +1,51 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") +import("//build_overrides/chip.gni") + +import("${build_root}/toolchain/flashable_executable.gni") + +template("bl602_executable") { + output_base_name = get_path_info(invoker.output_name, "name") + + objcopy_image_name = output_base_name + ".bin" + objcopy_image_format = "binary" + objcopy = "riscv64-unknown-elf-objcopy" + + # Copy flashing dependencies to the output directory so that the output + # is collectively self-contained; this allows flashing to work reliably + # even if the build and flashing steps take place on different machines + # or in different containers. + + flashing_runtime_target = target_name + ".flashing_runtime" + flashing_script_inputs = [ + "${chip_root}/scripts/flashing/efr32_firmware_utils.py", + "${chip_root}/scripts/flashing/firmware_utils.py", + ] + copy(flashing_runtime_target) { + sources = flashing_script_inputs + outputs = [ "${root_out_dir}/{{source_file_part}}" ] + } + + flashing_script_generator = + "${chip_root}/scripts/flashing/gen_flashing_script.py" + flashing_script_name = output_base_name + ".flash.py" + flashing_options = [ "bl602" ] + + flashable_executable(target_name) { + forward_variables_from(invoker, "*") + data_deps = [ ":${flashing_runtime_target}" ] + } +} diff --git a/third_party/bouffalolab/bl602_sdk/bl602_riscv.gni b/third_party/bouffalolab/bl602_sdk/bl602_riscv.gni new file mode 100644 index 00000000000000..3c72c6fdf06fe9 --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/bl602_riscv.gni @@ -0,0 +1,21 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("bl602_board.gni") + +riscv_arch = "rv32imfc" +riscv_abi = "ilp32f" +# riscv_cpu = "" +# riscv_float_abi = "hard" +# riscv_fpu = "" diff --git a/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni b/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni new file mode 100644 index 00000000000000..2ba97e6606996e --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni @@ -0,0 +1,567 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/bl602_sdk.gni") +import("//build_overrides/chip.gni") +import("//build_overrides/mbedtls.gni") + +import("bl602_board.gni") + +declare_args() { + # Location of the bl602 SDK. + bl602_sdk_root = "${chip_root}/third_party/bl602_sdk/repo" +} + +assert(bl602_sdk_root != "", "bl602_sdk_root must be specified") + +# Defines an bl602 SDK build target. +# +# Parameters: +# bl602_sdk_root - The location of the bl602 SDK. +# sources - The sources files to build. +template("bl602_sdk") { + if (defined(invoker.bl602_sdk_root)) { + bl602_sdk_root = invoker.bl602_sdk_root + } + + assert(bl602_sdk_root != "", "bl602_sdk_root must be specified") + + sdk_target_name = target_name + + config("${sdk_target_name}_config") { + include_dirs = [] + libs = [] + if (defined(invoker.include_dirs)) { + include_dirs += invoker.include_dirs + } + + # Treat these includes as system includes, so warnings in them are not fatal. + _include_dirs = [ + "${bl602_sdk_root}", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/config", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/portable/GCC/RISC-V", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/portable/GCC/RISC-V/chip_specific_extensions/RV32F_float_abi_single", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/panic", + + "${bl602_sdk_root}/components/network/lwip/lwip-port/config", + "${bl602_sdk_root}/components/network/lwip/src/include", + "${bl602_sdk_root}/components/network/lwip/src/include/lwip", + "${bl602_sdk_root}/components/network/lwip/src/include/lwip/apps", + "${bl602_sdk_root}/components/network/lwip/lwip-port", + "${bl602_sdk_root}/components/network/lwip/lwip-port/FreeRTOS", + "${bl602_sdk_root}/components/network/lwip_mdns", + + # "${bl602_sdk_root}/components/network/lwip_dhcpd", + + "${bl602_sdk_root}/components/platform/hosal", + "${bl602_sdk_root}/components/platform/hosal/include", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal", + "${bl602_sdk_root}/components/utils/include", + "${bl602_sdk_root}/components/security/blcrypto_suite/priv_inc", + "${bl602_sdk_root}/components/security/blcrypto_suite/inc/blcrypto_suite", + + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Inc", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Device/Bouffalo/BL602/Peripherals", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/RISCV/Device/Bouffalo/BL602/Startup", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/platform_print", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/RISCV/Core/Include", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/soft_crc", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/partition", + + "${bl602_sdk_root}/components/sys/bltime/include", + + "${bl602_sdk_root}/components/stage/easyflash4/inc", + "${bl602_sdk_root}/components/sys/blmtd/include", + "${bl602_sdk_root}/components/stage/blfdt/inc", + + "${bl602_sdk_root}/components/stage/blog", + "${bl602_sdk_root}/components/stage/cli/cli/include", + "${bl602_sdk_root}/components/utils/include", + + "${chip_root}/third_party/mbedtls/repo/include", + + "${bl602_sdk_root}/components/sys/bloop/bloop/include", + "${bl602_sdk_root}/components/sys/bloop/loopset/include", + "${bl602_sdk_root}/components/sys/bloop/looprt/include", + + "${bl602_sdk_root}/components/fs/vfs/include", + "${bl602_sdk_root}/components/stage/yloop/include", + + "${bl602_sdk_root}/components/network/wifi/include", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal", + "${bl602_sdk_root}/components/stage/yloop/include/aos", + "${bl602_sdk_root}/components/stage/yloop/include/aos", + + "${bl602_sdk_root}/components/network/ble/blestack/src/common/include/zephyr", + "${bl602_sdk_root}/components/network/ble/blestack/src/port/include", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/include", + "${bl602_sdk_root}/components/network/ble/blestack/src/include", + "${bl602_sdk_root}/components/network/ble/blestack/src/include/bluetooth", + "${bl602_sdk_root}/components/network/ble/blecontroller/ble_inc", + "${bl602_sdk_root}/components/network/ble/blestack/src/host", + "${bl602_sdk_root}/components/network/ble/blestack/src/include/drivers/bluetooth", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/include/misc", + "${bl602_sdk_root}/components/network/ble/blestack/src/common", + "${bl602_sdk_root}/components/network/ble/blestack/src/bl_hci_wrapper", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/tinycrypt/include/tinycrypt", + + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/include", + "${bl602_sdk_root}/components/network/dns_server/include", + + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Inc", + "${bl602_sdk_root}/components/security/blcrypto_suite/inc/blcrypto_suite", + "${bl602_sdk_root}/components/security/blcrypto_suite/priv_inc", + "${bl602_sdk_root}/components/network/wifi/modules/supplicant/src/sae", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/platform_print", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/ring_buffer", + "${bl602_sdk_root}/components/utils/include", + + "${bl602_sdk_root}/components/stage/cli/cli/include/", + "${bl602_sdk_root}/components/sys/blota/include", + "${bl602_sdk_root}/components/utils/include/", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Inc/", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/", + ] + + # if (bl602_board == "BL-HWC-G1") { + # _include_dirs += [ "${bl602_sdk_root}/hardware/board/config/bl_hwc_g1" ] + # } + + bl_sdk_ver = getenv("BL_SDK_VER") + defines = [ + "MBEDTLS_CONFIG_FILE=\"bl602-chip-mbedtls-config.h\"", + "__STARTUP_CLEAR_BSS", + "HARD_FAULT_LOG_ENABLE", + "RETARGET_VCOM", + "RETARGET_USART0", + "ARCH_RISCV", + "portasmHANDLE_INTERRUPT=interrupt_entry", + + "SYS_APP_TASK_STACK_SIZE=1024", + "SYS_APP_TASK_PRIORITY=28", + "BL_SDK_VER=\"$bl_sdk_ver\"", + + "SYS_BLOG_ENABLE=1", + "SYS_VFS_ENABLE=1", + "SYS_VFS_UART_ENABLE=1", + "SYS_AOS_LOOP_ENABLE=1", + "BL602=BL602", + "SYS_LOOPRT_ENABLE=1", + "CFG_TXDESC=2", + "CFG_STA_MAX=1", + + # "SYS_AOS_CLI_ENABLE=1", + + # set CONFIG_RENDEZVOUS_MODE to RENDEZVOUS_MODE_BLE (2) + "CONFIG_RENDEZVOUS_MODE=2", + + # bluetooth + "CONFIG_SET_TX_PWR", + "CFG_BLE_ENABLE", + "BFLB_BLE", + "CFG_BLE", + "CFG_SLEEP", + "OPTIMIZE_DATA_EVT_FLOW_FROM_CONTROLLER", + "CFG_BT_RESET", + "CFG_CON=1", + "CFG_BLE_TX_BUFF_DATA=2", + + # "CONFIG_BLE_TX_BUFF_DATA=2", + "CONFIG_BT_PERIPHERAL=1", + "CONFIG_BT_L2CAP_DYNAMIC_CHANNEL", + "CONFIG_BT_GATT_CLIENT", + "CONFIG_BT_CONN=1", + "CONFIG_BT_GATT_DIS_PNP", + "CONFIG_BT_GATT_DIS_SERIAL_NUMBER", + "CONFIG_BT_GATT_DIS_FW_REV", + "CONFIG_BT_GATT_DIS_HW_REV", + "CONFIG_BT_GATT_DIS_SW_REV", + "CONFIG_BT_ECC", + "CONFIG_BT_GATT_DYNAMIC_DB", + "CONFIG_BT_GATT_SERVICE_CHANGED", + "CONFIG_BT_KEYS_OVERWRITE_OLDEST", + "CONFIG_BT_KEYS_SAVE_AGING_COUNTER_ON_PAIRING", + "CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS", + "CONFIG_BT_BONDABLE", + "CONFIG_BT_HCI_VS_EVT_USER", + "CONFIG_BT_ASSERT", + "CONFIG_BT_SETTINGS_CCC_LAZY_LOADING", + "CONFIG_BT_SETTINGS_USE_PRINTK", + "CFG_BLE_STACK_DBG_PRINT", + + "CONFIG_ENABLE_PW_RPC=0", + "__FILENAME__=__FILE__", + "BL602_LOG_ENABLED=1", + + # "${bl602_mcu}=1", + # "${bl602_board}=1", + # "CHIP_KVS_SECTOR_COUNT=4", + # "CHIP_KVS_BASE_SECTOR_INDEX=((FLASH_SIZE/FLASH_PAGE_SIZE)-(CHIP_KVS_SECTOR_COUNT))", + "__HEAP_SIZE=0", + + #dump backtrace + "CONF_ENABLE_FRAME_PTR=1", + "CONF_ENABLE_FUNC_BACKTRACE_ELF=connectedhomeip/examples/lock-app/bl602/out/debug/chip-bl602-lock-example.out", + "CHIP_SYSTEM_HEADER_RESERVE_SIZE=134", + ] + + if (bl602_board == "BL-HWC-G1") { + defines += [ + "BL602_UART0_TX_GPIO=16", + "BL602_UART0_RX_GPIO=7", + ] + } else if (bl602_board == "3R-HWC-G1") { + defines += [ + "BL602_UART0_TX_GPIO=2", + "BL602_UART0_RX_GPIO=1", + ] + } + + defines += board_defines + + # if (bl_family == "bl602") { + # _include_dirs += [ + # "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Include", + # ] + # + # libs += [ + # "${efr32_sdk_root}/protocol/bluetooth/lib/EFR32MG12P/GCC/libbluetooth.a", + # ] + + # defines += [ "EFR32MG12" ] + # } + libs += [ + "${bl602_sdk_root}/components/network/wifi/lib/libwifi.a", + "${bl602_sdk_root}/components/network/ble/blecontroller/lib/libblecontroller.a", + ] + + cflags = [ + "-include", + rebase_path( + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/errno.h", + root_build_dir), + ] + + #cflags = ["-include", rebase_path("${bl602_sdk_root}/components/network/ble/blestack/src/common/include/errno.h", root_build_dir), ] + # for src/platform/bouffalolab/BL602/BLEManagerImpl.cpp + # TODO: 3R + #cflags += [ "-fpermissive" ] + + cflags += [ + "-Wno-maybe-uninitialized", + "-Wno-shadow", + "-Wno-error", + ] + + cflags_cc = [ "-fpermissive" ] + + foreach(include_dir, _include_dirs) { + cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ] + } + + cflags += [ "-save-temps=obj" ] + cflags += [ "-Wno-maybe-uninitialized" ] + + if (defined(invoker.defines)) { + defines += invoker.defines + } + } + + source_set(sdk_target_name) { + sources = [ + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_boot2.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_flash.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_wdt.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hosal_ota.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_flash.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_sf_cfg_ext.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_sflash_ext.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_timer.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_xip_sflash_ext.c", + "${bl602_sdk_root}/components/stage/cli/cli/cli.c", + "${bl602_sdk_root}/components/stage/easyflash4/src/easyflash.c", + "${bl602_sdk_root}/components/stage/easyflash4/src/ef_env.c", + "${bl602_sdk_root}/components/stage/easyflash4/src/ef_port.c", + "${bl602_sdk_root}/components/stage/easyflash4/src/ef_utils.c", + "${bl602_sdk_root}/components/sys/blmtd/bl_mtd.c", + "${bl602_sdk_root}/components/sys/blota/bl_sys_ota_cli.c", + "${bl602_sdk_root}/components/utils/src/utils_hexdump.c", + "${bl602_sdk_root}/components/utils/src/utils_sha256.c", + "${chip_root}/third_party/mbedtls/repo/library/aes.c", + "${chip_root}/third_party/mbedtls/repo/library/asn1parse.c", + "${chip_root}/third_party/mbedtls/repo/library/asn1write.c", + "${chip_root}/third_party/mbedtls/repo/library/bignum.c", + "${chip_root}/third_party/mbedtls/repo/library/ccm.c", + "${chip_root}/third_party/mbedtls/repo/library/cipher.c", + "${chip_root}/third_party/mbedtls/repo/library/cipher_wrap.c", + "${chip_root}/third_party/mbedtls/repo/library/ctr_drbg.c", + "${chip_root}/third_party/mbedtls/repo/library/ecdh.c", + "${chip_root}/third_party/mbedtls/repo/library/ecdsa.c", + "${chip_root}/third_party/mbedtls/repo/library/ecp.c", + "${chip_root}/third_party/mbedtls/repo/library/ecp_curves.c", + "${chip_root}/third_party/mbedtls/repo/library/entropy.c", + "${chip_root}/third_party/mbedtls/repo/library/hkdf.c", + "${chip_root}/third_party/mbedtls/repo/library/hmac_drbg.c", + "${chip_root}/third_party/mbedtls/repo/library/md.c", + "${chip_root}/third_party/mbedtls/repo/library/oid.c", + "${chip_root}/third_party/mbedtls/repo/library/pk.c", + "${chip_root}/third_party/mbedtls/repo/library/pk_wrap.c", + "${chip_root}/third_party/mbedtls/repo/library/pkcs5.c", + "${chip_root}/third_party/mbedtls/repo/library/pkwrite.c", + "${chip_root}/third_party/mbedtls/repo/library/platform.c", + "${chip_root}/third_party/mbedtls/repo/library/platform_util.c", + "${chip_root}/third_party/mbedtls/repo/library/sha256.c", + "${chip_root}/third_party/mbedtls/repo/library/sha512.c", + "${chip_root}/third_party/mbedtls/repo/library/x509_create.c", + "${chip_root}/third_party/mbedtls/repo/library/x509write_csr.c", + ] + + if (defined(enable_fem)) { + sources += [ + # "${efr32_sdk_root}/util/plugin/plugin-common/fem-control/fem-control.c", + ] + } + + if (defined(invoker.show_qr_code)) { + if (invoker.show_qr_code) { + sources += [ + # "${efr32_sdk_root}/hardware/kit/common/drivers/display.c", + ] + } + } + + # if (bl_family == "bl602") { + # sources += [ + # "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c", + # ] + # } + + # if (bl_family == "bl602") { + sources += [ + "${bl602_sdk_root}/components/fs/vfs/device/vfs_uart.c", + "${bl602_sdk_root}/components/fs/vfs/src/vfs.c", + "${bl602_sdk_root}/components/fs/vfs/src/vfs_file.c", + "${bl602_sdk_root}/components/fs/vfs/src/vfs_inode.c", + "${bl602_sdk_root}/components/fs/vfs/src/vfs_register.c", + "${bl602_sdk_root}/components/libc/newlibc/stdatomic.c", + "${bl602_sdk_root}/components/libc/newlibc/syscalls.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/bl_hci_wrapper/bl_hci_wrapper.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/atomic_c.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/buf.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/dec.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/log.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/poll.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/common/work_q.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/hci_onchip/hci_driver.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/att.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/bl_host_assist.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/conn.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/crypto.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/gatt.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/hci_core.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/l2cap.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/settings.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/host/uuid.c", + "${bl602_sdk_root}/components/network/ble/blestack/src/port/bl_port.c", + "${bl602_sdk_root}/components/network/dns_server/src/dns_server.c", + "${bl602_sdk_root}/components/network/dns_server/src/web_server.c", + "${bl602_sdk_root}/components/network/lwip/lwip-port/FreeRTOS/ethernetif.c", + "${bl602_sdk_root}/components/network/lwip/lwip-port/FreeRTOS/sys_arch.c", + "${bl602_sdk_root}/components/network/lwip/src/api/api_lib.c", + "${bl602_sdk_root}/components/network/lwip/src/api/api_msg.c", + "${bl602_sdk_root}/components/network/lwip/src/api/err.c", + "${bl602_sdk_root}/components/network/lwip/src/api/if_api.c", + "${bl602_sdk_root}/components/network/lwip/src/api/netbuf.c", + "${bl602_sdk_root}/components/network/lwip/src/api/netdb.c", + "${bl602_sdk_root}/components/network/lwip/src/api/netifapi.c", + "${bl602_sdk_root}/components/network/lwip/src/api/sockets.c", + "${bl602_sdk_root}/components/network/lwip/src/api/tcpip.c", + "${bl602_sdk_root}/components/network/lwip/src/apps/altcp_tls/altcp_tls_mbedtls.c", + "${bl602_sdk_root}/components/network/lwip/src/apps/altcp_tls/altcp_tls_mbedtls_mem.c", + "${bl602_sdk_root}/components/network/lwip/src/core/altcp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/altcp_alloc.c", + "${bl602_sdk_root}/components/network/lwip/src/core/altcp_tcp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/def.c", + "${bl602_sdk_root}/components/network/lwip/src/core/dns.c", + "${bl602_sdk_root}/components/network/lwip/src/core/inet_chksum.c", + "${bl602_sdk_root}/components/network/lwip/src/core/init.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ip.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/autoip.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/dhcp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/etharp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/icmp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/igmp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/ip4.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/ip4_addr.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv4/ip4_frag.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/dhcp6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/ethip6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/icmp6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/inet6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/ip6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/ip6_addr.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/ip6_frag.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/mld6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/ipv6/nd6.c", + "${bl602_sdk_root}/components/network/lwip/src/core/mem.c", + "${bl602_sdk_root}/components/network/lwip/src/core/memp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/netif.c", + "${bl602_sdk_root}/components/network/lwip/src/core/pbuf.c", + "${bl602_sdk_root}/components/network/lwip/src/core/raw.c", + "${bl602_sdk_root}/components/network/lwip/src/core/stats.c", + "${bl602_sdk_root}/components/network/lwip/src/core/sys.c", + "${bl602_sdk_root}/components/network/lwip/src/core/tcp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/tcp_in.c", + "${bl602_sdk_root}/components/network/lwip/src/core/tcp_out.c", + "${bl602_sdk_root}/components/network/lwip/src/core/timeouts.c", + "${bl602_sdk_root}/components/network/lwip/src/core/udp.c", + "${bl602_sdk_root}/components/network/lwip/src/core/utils.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/bridgeif.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/bridgeif_fdb.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/ethernet.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/lowpan6.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/lowpan6_ble.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/lowpan6_common.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/slipif.c", + "${bl602_sdk_root}/components/network/lwip/src/netif/zepif.c", + "${bl602_sdk_root}/components/network/lwip_dhcpd/dhcp_server_raw.c", + "${bl602_sdk_root}/components/network/lwip_mdns/mdns_server.c", + "${bl602_sdk_root}/components/network/sntp/sntp.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_cmds.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_irqs.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_main.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_mod_params.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_msg_rx.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_msg_tx.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_platform.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_rx.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_tx.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/bl_utils.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/ipc_host.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/os_hal.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/stateMachine.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr_api.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr_cli.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr_event.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr_ext.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_mgmr_profile.c", + "${bl602_sdk_root}/components/network/wifi_manager/bl60x_wifi_driver/wifi_netif.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_chip.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_dma.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_efuse.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_gpio.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_hbn.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_irq.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_pds.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_pm.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_pwm.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_rtc.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_sec.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_sec_sha.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_sys.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_timer.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_uart.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/bl_wifi.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_board.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_boot2.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_button.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_gpio.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_hbn.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_sys.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hal_wifi.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hosal_dma.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hosal_pwm.c", + "${bl602_sdk_root}/components/platform/hosal/bl602_hal/hosal_uart.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602/bfl_main.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602/evb/src/boot/gcc/start.S", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602/evb/src/debug.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602/evb/src/strntoumax.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/Common/platform_print/platform_device.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_dma.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_ef_ctrl.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_glb.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_hbn.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_efuse.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_media.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_pwm.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_romapi.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_sec_eng.c", + "${bl602_sdk_root}/components/platform/soc/bl602/bl602_std/bl602_std/StdDriver/Src/bl602_uart.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/event_groups.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/list.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/misaligned/fp_asm.S", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/misaligned/misaligned_ldst.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/panic/panic_c.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/portable/GCC/RISC-V/port.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/portable/GCC/RISC-V/portASM.S", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/portable/MemMang/heap_5.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/queue.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/stream_buffer.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/tasks.c", + "${bl602_sdk_root}/components/platform/soc/bl602/freertos_riscv_ram/timers.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_aes.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_bignum.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_ecp.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_ecp_curves.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_export_fw.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_fw_api.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_hacc.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_hacc_glue.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_hacc_secp256r1_mul.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_platform_util.c", + "${bl602_sdk_root}/components/security/blcrypto_suite/src/blcrypto_suite_porting.c", + "${bl602_sdk_root}/components/stage/blfdt/src/fdt.c", + "${bl602_sdk_root}/components/stage/blfdt/src/fdt_ro.c", + "${bl602_sdk_root}/components/stage/blog/blog.c", + "${bl602_sdk_root}/components/stage/yloop/src/aos_freertos.c", + "${bl602_sdk_root}/components/stage/yloop/src/device.c", + "${bl602_sdk_root}/components/stage/yloop/src/local_event.c", + "${bl602_sdk_root}/components/stage/yloop/src/select.c", + "${bl602_sdk_root}/components/stage/yloop/src/yloop.c", + "${bl602_sdk_root}/components/sys/bloop/bloop/src/bloop_base.c", + "${bl602_sdk_root}/components/sys/bloop/bloop/src/bloop_handler_sys.c", + "${bl602_sdk_root}/components/sys/bloop/looprt/src/looprt.c", + "${bl602_sdk_root}/components/sys/bloop/loopset/src/loopset_led.c", + "${bl602_sdk_root}/components/sys/bltime/bl_sys_time.c", + "${bl602_sdk_root}/components/utils/src/utils_crc.c", + "${bl602_sdk_root}/components/utils/src/utils_dns.c", + "${bl602_sdk_root}/components/utils/src/utils_hmac_sha1_fast.c", + "${bl602_sdk_root}/components/utils/src/utils_list.c", + "${bl602_sdk_root}/components/utils/src/utils_log.c", + "${bl602_sdk_root}/components/utils/src/utils_notifier.c", + "${bl602_sdk_root}/components/utils/src/utils_psk_fast.c", + "${bl602_sdk_root}/components/utils/src/utils_rbtree.c", + "${bl602_sdk_root}/components/utils/src/utils_tlv_bl.c", + ] + + # } else if (bl_family == "bl706") { + # sources += [ + # ] + # } + + public_deps = [ + # "${segger_rtt_root}:segger_rtt", + # "${segger_rtt_root}:segger_rtt_printf", + # "${segger_rtt_root}:segger_rtt_syscalls", + ] + + if (defined(invoker.sources)) { + sources += invoker.sources + } + + public_configs = [ ":${sdk_target_name}_config" ] + } +} diff --git a/third_party/bouffalolab/bl602_sdk/repo b/third_party/bouffalolab/bl602_sdk/repo new file mode 160000 index 00000000000000..01d095cc182943 --- /dev/null +++ b/third_party/bouffalolab/bl602_sdk/repo @@ -0,0 +1 @@ +Subproject commit 01d095cc1829431d6c8df33674b7f4faa3fb5e98 From 95a9b705168d0139afe2715ff63f6a728154e875 Mon Sep 17 00:00:00 2001 From: jczhang Date: Fri, 18 Mar 2022 14:35:57 +0800 Subject: [PATCH 02/18] [BL602] delete README.pdf, restyled README.md, add items for include config check --- .../lighting-app/bouffalolab/bl602/README.md | 1 + .../lighting-app/bouffalolab/bl602/README.pdf | Bin 522566 -> 0 bytes scripts/tools/check_includes_config.py | 1 + 3 files changed, 2 insertions(+) delete mode 100644 examples/lighting-app/bouffalolab/bl602/README.pdf diff --git a/examples/lighting-app/bouffalolab/bl602/README.md b/examples/lighting-app/bouffalolab/bl602/README.md index 7e27582662b971..be12f84f1466d8 100644 --- a/examples/lighting-app/bouffalolab/bl602/README.md +++ b/examples/lighting-app/bouffalolab/bl602/README.md @@ -24,6 +24,7 @@ Generated files $ rm -rf out/ ## Flash + - Download [FLASH_TOOL](https://dev.bouffalolab.com/download/). ### Setting up Python Controller diff --git a/examples/lighting-app/bouffalolab/bl602/README.pdf b/examples/lighting-app/bouffalolab/bl602/README.pdf deleted file mode 100644 index c65f135e06e57ebd536948a45f31c07bb3b2a408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522566 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

|(Kfqm>(6cKkBd&8LZ3t*2vw}%liV60F^C^iol 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

NqK$6SQb@LxQ>#Vb`csUf2AL%{cgg;>1P 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 |x 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 Y`@MNG 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�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%0Aq^qwd7}r9Lon6 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 Date: Tue, 29 Mar 2022 11:02:43 +0800 Subject: [PATCH 03/18] [BL602] Rebase code to fix compile errors --- scripts/examples/gn_bl602_example.sh | 2 +- scripts/flashing/bl602_firmware_utils.py | 163 ++++++++++++++++++ src/platform/bouffalolab/BL602/BUILD.gn | 2 +- .../BL602/ConfigurationManagerImpl.cpp | 2 +- .../BL602/ConnectivityManagerImpl.cpp | 6 +- .../BL602/DiagnosticDataProviderImpl.cpp | 4 +- .../BL602/DiagnosticDataProviderImpl.h | 2 +- ...ver.cpp => NetworkCommissioningDriver.cpp} | 5 +- .../BL602/NetworkCommissioningDriver.h | 5 +- .../bouffalolab/BL602/PlatformManagerImpl.cpp | 2 +- .../bl602_sdk/bl602_executable.gni | 2 +- 11 files changed, 181 insertions(+), 14 deletions(-) create mode 100755 scripts/flashing/bl602_firmware_utils.py rename src/platform/bouffalolab/BL602/{NetworkCommissioningWiFiDriver.cpp => NetworkCommissioningDriver.cpp} (98%) diff --git a/scripts/examples/gn_bl602_example.sh b/scripts/examples/gn_bl602_example.sh index 02ab3d2300e154..fb460cb0b63110 100755 --- a/scripts/examples/gn_bl602_example.sh +++ b/scripts/examples/gn_bl602_example.sh @@ -58,6 +58,6 @@ for arg; do esac done -gn clean out/lighting_app_bl602 +#gn clean out/lighting_app_bl602 gn gen "$OUTPUT_DIR" --root="$EXAMPLE_DIR" --args="bl602_sdk_root=\"$BL602_SDK_ROOT\" bl602_board=\"$BL602_BOARD\" ${GN_ARGS[*]}" ninja -C "$OUTPUT_DIR" "${NINJA_ARGS[@]}" diff --git a/scripts/flashing/bl602_firmware_utils.py b/scripts/flashing/bl602_firmware_utils.py new file mode 100755 index 00000000000000..82a91c6930e5cf --- /dev/null +++ b/scripts/flashing/bl602_firmware_utils.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Flash an BL602 device. + +This is layered so that a caller can perform individual operations +through an `Flasher` instance, or operations according to a command line. +For `Flasher`, see the class documentation. For the parse_command() +interface or standalone execution: + +usage: bl602_firmware_utils.py [-h] [--verbose] [--erase] [--application FILE] + [--verify_application] [--reset] [--skip_reset] + [--commander FILE] [--device DEVICE] + [--serialno SERIAL] + +Flash BL602 device + +optional arguments: + -h, --help show this help message and exit + +configuration: + --verbose, -v Report more verbosely + --commander FILE File name of the commander executable + --device DEVICE, -d DEVICE + Device family or platform to target + --serialno SERIAL, -s SERIAL + Serial number of device to flash + +operations: + --erase Erase device + --application FILE Flash an image + --verify_application, --verify-application + Verify the image after flashing + --reset Reset device after flashing + --skip_reset, --skip-reset + Do not reset device after flashing +""" + +import sys + +import firmware_utils + +# Additional options that can be use to configure an `Flasher` +# object (as dictionary keys) and/or passed as command line options. +BL602_OPTIONS = { + # Configuration options define properties used in flashing operations. + 'configuration': { + # Tool configuration options. + 'commander': { + 'help': 'File name of the commander executable', + 'default': 'commander', + 'argparse': { + 'metavar': 'FILE' + }, + 'verify': ['{commander}', '--version'], + 'error': + """\ + Unable to execute {commander}. + + Please ensure that this tool is installed and + available. See the BL602 example README for + installation instructions. + + """, + }, + 'device': { + 'help': 'Device family or platform to target', + 'default': 'BL602', + 'alias': ['-d'], + 'argparse': { + 'metavar': 'DEVICE' + }, + }, + 'serialno': { + 'help': 'Serial number of device to flash', + 'default': None, + 'alias': ['-s'], + 'argparse': { + 'metavar': 'SERIAL' + }, + }, + }, +} + + +class Flasher(firmware_utils.Flasher): + """Manage bl602 flashing.""" + + def __init__(self, **options): + super().__init__(platform='BL602', module=__name__, **options) + self.define_options(BL602_OPTIONS) + + # Common command line arguments for commander device subcommands. + DEVICE_ARGUMENTS = [{'optional': 'serialno'}, {'optional': 'device'}] + + def erase(self): + """Perform `commander device masserase`.""" + return self.run_tool( + 'commander', ['device', 'masserase', self.DEVICE_ARGUMENTS], + name='Erase device') + + def verify(self, image): + """Verify image.""" + return self.run_tool( + 'commander', + ['verify', self.DEVICE_ARGUMENTS, image], + name='Verify', + pass_message='Verified', + fail_message='Not verified', + fail_level=2) + + def flash(self, image): + """Flash image.""" + return self.run_tool( + 'commander', + ['flash', self.DEVICE_ARGUMENTS, image], + name='Flash') + + def reset(self): + """Reset the device.""" + return self.run_tool( + 'commander', + ['device', 'reset', self.DEVICE_ARGUMENTS], + name='Reset') + + def actions(self): + """Perform actions on the device according to self.option.""" + self.log(3, 'Options:', self.option) + + if self.option.erase: + if self.erase().err: + return self + + application = self.optional_file(self.option.application) + if application: + if self.flash(application).err: + return self + if self.option.verify_application: + if self.verify(application).err: + return self + if self.option.reset is None: + self.option.reset = True + + if self.option.reset: + if self.reset().err: + return self + + return self + + +if __name__ == '__main__': + sys.exit(Flasher().flash_command(sys.argv)) diff --git a/src/platform/bouffalolab/BL602/BUILD.gn b/src/platform/bouffalolab/BL602/BUILD.gn index f33bffb3372d8e..467adf40eefd23 100644 --- a/src/platform/bouffalolab/BL602/BUILD.gn +++ b/src/platform/bouffalolab/BL602/BUILD.gn @@ -43,7 +43,7 @@ static_library("BL602") { "DnssdImpl.cpp", "InetPlatformConfig.h", "Logging.cpp", - "NetworkCommissioningWiFiDriver.cpp", + "NetworkCommissioningDriver.cpp", "PlatformManagerImpl.cpp", "PlatformManagerImpl.h", "SystemPlatformConfig.h", diff --git a/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp index 9e5a8bd219880d..a9149928901d4b 100644 --- a/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp +++ b/src/platform/bouffalolab/BL602/ConfigurationManagerImpl.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include //#include "esp_wifi.h" //#include "nvs.h" diff --git a/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp index 7a084224b4a390..f1424c5aca8e8a 100644 --- a/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp +++ b/src/platform/bouffalolab/BL602/ConnectivityManagerImpl.cpp @@ -27,14 +27,14 @@ #include #include -#include +#include #if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE -#include +#include #endif #if CHIP_DEVICE_CONFIG_ENABLE_THREAD -#include +#include #endif #include diff --git a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp index 1594d089d50b0d..3dcb1098fcd41e 100644 --- a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp +++ b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.cpp @@ -119,7 +119,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetTotalOperationalHours(uint32_t & total return CHIP_ERROR_INVALID_TIME; } -CHIP_ERROR DiagnosticDataProviderImpl::GetBootReason(uint8_t & bootReason) +CHIP_ERROR DiagnosticDataProviderImpl::GetBootReason(BootReasonType & bootReason) { uint32_t reason = 0; @@ -128,7 +128,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetBootReason(uint8_t & bootReason) if (err == CHIP_NO_ERROR) { VerifyOrReturnError(reason <= UINT8_MAX, CHIP_ERROR_INVALID_INTEGER_VALUE); - bootReason = static_cast(reason); + bootReason = static_cast(reason); } return err; diff --git a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h index cd33af8885df15..dadada68c197a5 100644 --- a/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h +++ b/src/platform/bouffalolab/BL602/DiagnosticDataProviderImpl.h @@ -46,7 +46,7 @@ class DiagnosticDataProviderImpl : public DiagnosticDataProvider CHIP_ERROR GetRebootCount(uint16_t & rebootCount) override; CHIP_ERROR GetUpTime(uint64_t & upTime) override; CHIP_ERROR GetTotalOperationalHours(uint32_t & totalOperationalHours) override; - CHIP_ERROR GetBootReason(uint8_t & bootReason) override; + CHIP_ERROR GetBootReason(BootReasonType & bootReason) override; }; } // namespace DeviceLayer diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp similarity index 98% rename from src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp rename to src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp index 3a9d341a5443a2..e56c85c80e24d7 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp @@ -26,6 +26,7 @@ #include #include +#include using namespace ::chip; //#if CHIP_DEVICE_CONFIG_ENABLE_WIFI @@ -43,7 +44,7 @@ constexpr char blWiFiCredentialsKeyName[] = "bl-wifi-pass"; static uint8_t WiFiSSIDStr[DeviceLayer::Internal::kMaxWiFiSSIDLength]; } // namespace -CHIP_ERROR BLWiFiDriver::Init() +CHIP_ERROR BLWiFiDriver::Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; @@ -67,12 +68,14 @@ CHIP_ERROR BLWiFiDriver::Init() mStagingNetwork = mSavedNetwork; mpScanCallback = nullptr; mpConnectCallback = nullptr; + mpStatusChangeCallback = networkStatusChangeCallback; return err; } CHIP_ERROR BLWiFiDriver::Shutdown() { + mpStatusChangeCallback = nullptr; return CHIP_NO_ERROR; } diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h index d98f045eb2a6f1..2a4fc834cb8741 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h @@ -89,8 +89,8 @@ class BLWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; - CHIP_ERROR Shutdown() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; + CHIP_ERROR Shutdown(); // WirelessDriver uint8_t GetMaxNetworks() override { return kMaxWiFiNetworks; } @@ -128,6 +128,7 @@ class BLWiFiDriver final : public WiFiDriver WiFiNetwork mStagingNetwork; ScanCallback * mpScanCallback; ConnectCallback * mpConnectCallback; + NetworkStatusChangeCallback * mpStatusChangeCallback = nullptr; }; //#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI diff --git a/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp b/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp index 8da62f8eab69b1..647f1aa87e0b43 100644 --- a/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp +++ b/src/platform/bouffalolab/BL602/PlatformManagerImpl.cpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include diff --git a/third_party/bouffalolab/bl602_sdk/bl602_executable.gni b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni index c4c68b5a1d5be4..47c14ce88db7fe 100644 --- a/third_party/bouffalolab/bl602_sdk/bl602_executable.gni +++ b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni @@ -31,8 +31,8 @@ template("bl602_executable") { flashing_runtime_target = target_name + ".flashing_runtime" flashing_script_inputs = [ - "${chip_root}/scripts/flashing/efr32_firmware_utils.py", "${chip_root}/scripts/flashing/firmware_utils.py", + "${chip_root}/scripts/flashing/bl602_firmware_utils.py", ] copy(flashing_runtime_target) { sources = flashing_script_inputs From 37bdb488acb6eb1da6cd9968982f1bafdbab9612 Mon Sep 17 00:00:00 2001 From: jczhang Date: Thu, 17 Mar 2022 21:36:19 +0800 Subject: [PATCH 04/18] BL602 pull request --- .../lighting-app/bouffalolab/bl602/README.pdf | Bin 0 -> 522566 bytes .../BL602/NetworkCommissioningWiFiDriver.cpp | 371 ++++++++++++++++++ 2 files changed, 371 insertions(+) create mode 100644 examples/lighting-app/bouffalolab/bl602/README.pdf create mode 100644 src/platform/bouffalolab/BL602/NetworkCommissioningWiFiDriver.cpp diff --git a/examples/lighting-app/bouffalolab/bl602/README.pdf b/examples/lighting-app/bouffalolab/bl602/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c65f135e06e57ebd536948a45f31c07bb3b2a408 GIT binary patch literal 522566 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

|(Kfqm>(6cKkBd&8LZ3t*2vw}%liV60F^C^iol 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

NqK$6SQb@LxQ>#Vb`csUf2AL%{cgg;>1P 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 |x z@=KZ;{5H*hdjeJM&uId+&uM9Cozwi6ik9X%O>H%PZ_WR}S{hpXv1y%Czplo|*8Z0c zzof&*(9+=d()_o_zvI>Bk3~aG~~<$tmNox}e| z`+wH`|Kt$=IsXfH__hBFXZ}O;KYaP0T={q4|5+XS`YJ{qp8l?WDn_2q{9W(3x%RWF)bKE9ms*PV?*jFT+In%X>;BiBwz*I4__FpfDukk!Tmn1SmSr^x0fFbJ1;y8$Qde&JEPSIZOMc(Vpe%p02TLv)fGX(M47wtE7hl ziiXm1%cNh0n!1HfeJIK83Dk#*5$BvQP7rJDhqud}Vxp#>b61!q$ zjl+Knrr$iIDE`;!kLod3KE~Z32t*wEruoS2fmhi3=dB5M)qiU|aBl5a+RG3*)++61 zQ$9gBQt&v968$^$)UOApvKK{41{jaLA#=Ie8}YBs{PUS{`fr%-r$5s7ARd_lYMxRj zKf3-bQ**XR;#?rQVhifs&Rc{maf~fm6f7==J?^}dpX44anpx(Nw)$%P%Eptg(s@kF z_n6!HySgtAa$XKdMu-^HzfOMp;9VX62#mULL zHm6??RouIlz_*&wA}4M9{_HyP_?+5(8s>pHE-KSA78PMl&Hz0ZlEd+2ToRyxf4 z3fS*;Jyl3TSO|$OgdEU8rEE$=!<4Hw1^`4@vy~7a30&Gsig2NPk$(oAdB1*f^0&A9mqP$Syqc?7$tASYVv#22;Ck zmLxCO(yz4Jbqr9Les4C42^75;-XtnSo4c{TMTA~IMC1cUH{;y`FN~?@S`_Hno&a7K zW2y|81Eafz367F%pF{kg4XqmcJ`!j5>E&l9%MUBqYtF}8y^>ZZFS^eUZyg8D_%x3% zs28l{w*NWs=;;5Xr7<$n)BfGy=y2H>SeR-5#p8}wq1`bRTRSe^h!^iTk|kNnnL+T0 zzISAJtHFQWUY$bW6A0$TAw`0U`N6q_f1i+yY@j8g}KJ-dBOi!q{-mAQGcR4E-T$-_Qd4hk!e%zhL;V>$!IguZ_ zJHHqX*Syfy_UM*E2u{ywOLuuLiuJV%=e#UNI8uIC#@1}oTf7`@s}mxOYZM4|TBy>O z*2ZHnbQ3Kh-x;RlIM5X5ah*Au6E&X`f^4}tMMRre0JqB(t z?3JQI7Q9w1Lz)UZP8Pxyp0($;t)KesP>j0*{j<{)^iy$t&b%&ri1Jf8Yh0GM2rKR3 znD8J{?T0Sx?592$d!!_Fs?uv098wuB3GDX}k zg5;&NRa0n;#DF1}7s&Zks*#T~naGjD5@g$Z{W;;A>XG!+*;LEe-bQkQ@a&B+#xQ%;bQM1w} z@Pfv61;zw0KM8i?Y$j%Q0}eDGOUK`qxXX;i`_1w{?nsi0DqmMzrrqAALvR!F1%Bee zUQzUT`#F?u@iaJ9cN3|j&bhEQH<$V96k5}2b<1UkQoy{L8x}x~i5b&sP;oC{JPJK7 z%4iEv=UbJm7VBq6@r%k$jHufX-nqSGbt+5=J}fp#deRPib+1O8|dLBzkY_Fyu60rtoFqIXkd5Gy@<)K?XgA> z%z<541J|a;?Bp&t=jbk>rS>Uv*mWChJ`I7TQG*uZqzlcCT^8P&7pFk;+BVS%I%C z-)?a-7Fk#qZA@)jriGUmv6n+1O7Iw7jr5+!d$+u9-*3=%8(qzOrXasHQsZ%^W_I9w zuwptsJ~MXvl5N-sIW~T?4oZ;g6^`sRzsP80`etUn-v8xYmFz}2>$gf`Fcy~&v))vKnLRSLQ1YnjF)%cq+} zhS(bkr(3s8o|ngFliu;xQkh3pGx9OT9n94!HYWWP=AVtpuTQ$guVDu_?dkFt>pbmD zEi(zPrwWgE*4>`-E{v=Crf;E19)0b~2d|?Aw`Zp6kFLy53`K`;C6C7o+wIX(59_rO z@23vL)PZksblVp9cehkEWv9k3cfI!1xlf8$S3zfP&PBUJMlf2h7U%1)cVS7DZVt=b zk7n~f4z8_g)Pvabxzshg<1)tdS(fj@y!6+*wn|fh&wXCgDI;&=I}WSgwDa?h+xed{ z!T&;)|DRsog$VFyW)3ia^6%7xe|<`qOHZBMb2zl~ujj53@}N#QT>7w)%Uhbi9M4@^ z2KwQHIV1(n3OB8W>zgHSq~}dQLHTRPrvsWZN|uVQkSUy8>HJtBkK}6C5b!JxaNAr$ zj@@B2K>g{p_d(|K#>|k6A{GsK zCF%Oya&@`K8McY|IvjVdN1r8pEx$bFtz)z?^H-b2FTWhLere}=8O@mI7-_|QdE9So zRt6ECDczW>i{BZzXkn};-N#78dGfAJ1IN4*>%Le)K~(3E1d3{YeM{AdH@)V zoj!*6zwm@^Cx-kTZh2gpCtz%zb`2;AF|xBLY5UKLmMr4!MG;wi1gbVt*+5k7hy=o* zaq$*R#3%(iG81I^C|NqqFtov!cdF|P}@1B!l6G#MLS07`mnBE5L8Dt!Sk<4Ykc;c`(!sJZfUfH_4sxutSgcU5Z; zP4r@~k%8MHU+*G)77%ua6`unoJuZH@Ac!MwORB0mD4YCM(=kp{VMVY{!Tsm4+H-Qq zAcf+JqE;@D!jJ`7o2a?CA^BMLx%im6T*(G5QQlolOEauIa=!3hZL#_uHBmmSJi1k3 zMgCUl;)a}?%x#dH{FKT{#s+6mx|d}DBUpN%t*SlfDRv8E=L7OxJZNzEFo_^w9HV>{QW{bvPs2Ntvx!Z~1}2ifs*OcmDY(a%C|#JV zW&_!(>h3F2DE5k-(=;-GrpR7IX4~J9=i{~>F1eA{HN#K`o`TzBpm*?**9ndk+{-me zfKS^9$m=vXq}+t4gAj@uBu9!ZD%=XsKQ-{{Qu2CCZd8Y#;oBlm|$Hd7>$H z7yXyomoCUwG3tuXXSOY(mK3k)?oyV@7l6eAAk`%pG7pV5<*SG#RsZs~IQbg2wvtVD z(A^+$BY!W=fU?4~9-F7=Ddif)n|zpdTzT<*`=uoES%ekxS!8+4mh#Rr`5M`}?1h=F z@_@|4&i06P-BUeeKiA$%K14rDTD&!4;zZ}qruFZjA*V-p z72M}=76Y}n8-Xm_WDog4Ua?+<_be`2z3s!$z2(ExmsvsMBC@?+p9Ff1Kz)Go+l{=* zL2qAbito#LWqS7%TjaGq`zgB9eU+{J_N$20)FLjn{Z~H$g0b>?Ekrk7ZH1G4K`i$I z_7~NhR!w~PSzJsdIs`=v{tIJ9N?iv^^Ot#i(#(p-!_NWB%ls#m)~u9Ronh9b=ulv} zt%h&#pm~AL8XkvtH3bO14W(($Ozh;LN6cFeFyz`dnxjUTiMM!$gFS-Xj`lEE&uhjSHQ#()~;5Br^ofmYH zp^~-P^04i;vsRKi(sk%axW|f`^j4T#?xwS4aA0XF@kI{xuQ#bO@tP;kZu5k+A(LC* z|07(ze`-g6`pucW$-b6*T!>B6EcqZtLz%xI1pfNOJ|iSdi%{0G%&6vCZ?Yiw{>E5@ zE`U!ilwD*&3LpHFC@V~`gpm(Y_E~iD?)yF?r$YkqEu#L@BedN9;(TUtZ?RHCOT6Rzj@6 zs*>+_44BPKmmAC)hCSmQFUs`jZTgr4dJ|XU=x_ARUkb?joXZ(U_FVj12t^jkQrZ&J zO(sHh*RS2W=K;o!C$`Nzt?`@n`R!=et^tjxIodc}PIu&+znYL&mTs#s+0x>7QNTP1 zuJqF@=BE9&v`kpjmi6?^@$Dho`L;Zbsg-u(UbF0z1@JG{nc_>h7kW^s##JW!BlxYgraqs5k(#bUlv)PZk9PEB^yIN#9Ks zg(!qCVjADEG7ECA>!zJGn11ysgpepKi?B!j5|h9RRyFBD2o%(t)S+COgg+1w)Te{| z$v-KQbq%htW)T$MVz2ghVb_$V*}n^0@`!o*H({rgu_dMbv#|50{}A@ne^ch3}L^L^%CC|4ztA85lhqWJJhW<|t8O{T-*| zzEVcrz_>LF^q^jL_AIOem7UeRN)dX5!1H%mN6Ws;x|FoLL_ufuZq}GXuAU%!xv-An z-5s%94#QN084zPcb}52HNG;hD*;uh>b-hHzX zg|ur+2Cch3344jqe}o#;G>8s)k~Q51^9h6olD>{2-zsm^pro7a-63m>-ReYnC~F&u z6ZJ3okBXUh88EGnnTac~Zj!9z=)(%sJ4-EA6K*}i_5|k#UwF5K(6%;1YSZF|3piG+ zIqj5$-}|fofo8z(9SnnjXC5%@(z&|r=!#%P`#U0|_3B!#3v)`c-AN>Klg zPGefc;C><`$lk0$V@CYWxm0XgE`#br`SyIl*lz|FHwML%vL;IPiKS*T4@GCD+*{_O zlg9!?wQg9VeQ-^)y9MP@Y{|2XHR)|ev#yxcQKieKGRE0>oQ&mZzK*+?rO)9zc2OGs z^qRzya25#sfOrt5-fw5I{tukv5%Hf?mt&_{t{7mN=#G;;t?rk;jFxFy-sRuXKi^)n z_-dWe-u<{f%HBKGGQ^Ut|DnFD6-Us2HMNqJVP)WXTs`NS}0E%wR(pE=)P8vs>Wgb1FCaS`Fo^* zMpdp;avmWYr||1NXZ{%q#B{D;hGsZHDcpJk5rKV}Xxl&T4Iai|DoYE+8={uEiI45eYD zj0ii2qOZMB?^udya>C?nY+ML?T;)^`QKD3ie55@)l9+$f^g)fl)}%dsya=&#J(&z? zf%HonilUxO#jJdRkZ>;8Dj>6rZ>PAe_#p(ENf`QH%+mqbnQ86^D{W%S)EPJS%}By(k{^^tML{k{sT z$JR|V2F7N`#?|z-;q&F`^)Ifi-7C;j<>6_~Zi?0dt5B8}ZmMCJG=9*NcY-#qVf(G>x`3fyb6VmhCc}7PBp}{4*_2 zkN!~jlyd!S#)J_6`)N%sh?5aEwFjKxJ;KH>hD{Rx5It)YFjp>Vcr=iYe-_T!y?-y2 z>qe#d9{;NZpHTisUc!8_7j;vx5QuIpxfY=$UXA)fQuP;&H#aN#j->>xt`=D|wae_s zq_EE!=8B3D$B!B6HI9i8A|4zakBD-jok@&~1rAxy(yB^2bE=OYcCGt@1@9?26S!2ei-`Z8m|L|QZX*C^-XunSXq?Z0FbrRGnh zj?N2U4#cY-_D<3ZdGCYnX+{I$KS2JhW5TdzS%THqwNeU)?d3KK@~sa%FTklB9eDq* zO8S?XHs{;})RT@tQLs8sU*FZ(_r@cq$#xL$tN|4jlw*q$D3Bu~1JiU#j^e7YJW{f@ zMm^}{C{`a!Oq8mbST^RYtjw4cI(B?`7$xw&q5WjgfC0hcuXt```~^=zG(hghqqcIP z<;W&1-=)xSy4-^VT4-{tEP4{%7dI~?QMUX^)MK(v#Hb@9`4)x zbyZIWYq9iw?#PL>X;Z-W|51*>E#4I`kvympVE4YTXQq5-9_^`OY9~qGza22AY%yZQ zy0Ks(p~G>=w4U>Y{jaDx=r7%|rJ-t)+<}H-z@WpysU4X#hBS4<^fMSa)JzjvCagJ# zXmd%lq95bT93x)In+*LQbI1uj-%{$|h5tc4yK@P(obe?Ki1@Qmm-Uy3+B8_U(^&tlMk?Yu$E2R< zCfrw!M(WAaCzxtoSMvNtIP^at`nM|-Pf3K|2lF~){xQv2I9DjJY-%G1keUo-5Fiht zB^akIB8?Ru9~FGjxL)vIK#MFan-dv~MDWt%u_+{#nxGoLbE_u62RroErOJ|ukS8Za zVhlJqh?V@+J-fUA?w((k57Elr-Lt!Cbn`dclF=lo~)#KxZcy&utQ{8#Sj{}*ch znJ{8H{&)A}F)z*U{$IH#t;RpPXK2V55#jF^gd9(<1}bu7iA1TDW7xqxdh}*-rW4CN zr1WMowI^%3$ri4;zya4gSIticOmzuwKnd-ZTi+#{)f|+9(6~@4n{iq zEbbdOHHE;=U!`f0??s6{YZPi2p%h3V_G> zcOL%xg~~mX=yR4rv=Xa5(fV*N2CqF4K`s4DcQse1SysA^i8pZ!0hs@gwMHPnKl zvu0_)9u9UOENXP9!k*+36h)NKz*&VUf$5q)a`QxSc}@AaqMH&;uD`Bw%3l0UXI#h2 z(OQXqF@D8mZX;tGunoAeT%TSh82sxzGbHpkPX!bkmArdu*a36@@19z+yT9-+o@y@f zho`Ficb;1PXFWCHKX__FZCcp>%u`kV@YD^WOi7QW*?jR{-iPrp9SK5OVGqPOwyM+? z3CD=|VeCt_MfuxU&>dPfjj#xPgP$o>dqe1rfcUz`i^jo5j!}=%70|slr&C2ctF))- z#`e^wftCJUZiaHFwIrAHgu96r?Qu6?1zSL?;j7P;bduNOv*MLi`r9}d7c@A^7wQF% z&P?bsP3!J1E6V4CE(jFv#`DE)4p?a{&p~(^Y__LS)Ru>#>@Hyk9EUa8Gw#QzY#z_+ zE32oYEX82%=Kb`3O3vM7E1sQ(W1H1}Dh|t4n{_U3_vf2nC$-B%B8s>YjmtKobnVNL zsnqyakHsiMWg53_zvDoD5^B}9y-Q!^6x+wW@r2gHE`}{5u(ccC>MbLl#>ceTc9oa= zq*JD=`IMGjZ8KjpqY{tJXP(rzJEwHVPGRbM;1gWq{&TRW+eIp>*9-88`gO23Tx06h zhk)C9_YrzdyXm#;hNt;@Vt7vDwx=IOn>wDR37A4r)&M*Vw{oVt16uYP)5#uFq0E}Y z7A+>10<1_}LR+M6BVTsDs>-Cb>hIKCEJ8Cfxivo|wdNlJXtrE#QNqX9sL}vuRu0v7 zia6ErE*FZuznI*5*PA^xRXAU7l&xHKr>~MqtxY3w@y&R;%}kq5bA7XSas+IJQqdhh`gf!j{cxYeT2GCj-1SG2JS_*wETt_by`iWp&bOiE4Vyg}ALn`8UkvBR zpN_S8+(!H%n4g`y4Kc>n&+}k7ydM3f!!_&o92$?R=26ODW@}kA+-{lHn*p;-5Zckt zGui3CG(64}o3)u-d)MMyZwcVs@2lY8w43H1;mWnIJH_W;^jEd#xT;RokLJobuCnr} zU5~Q@sDs+Qu3u=})=|&YZ`Oj>SL<&dYSXn|7;YTK51W;}EN-awQk~YK?8exQ9@w7J zs{5PMIJO!YxSji`DXi2U@}}=NJdUqZrB|TKP`ZrhmPhvnYy0KN6v!nj>@E1!SkDP8-BqF8&|KG!xrf(;l?)fE7I13|R2_uteb zRfk8IXi?grqLio#R$Uxr)e$035(^Y`36kJ2A;)0imoALWufZQ4BdcbQRZiQM zKU-oTbzt9nejC5?7&&%WH)}m=eO_}a)xEEH4))*O*)dM6P_4TF3Okmsi@rrg} z^766JQ(J6(n|qB=I%|2ye!)ViH%cc?QplGOinE{o8%$52nx3x9B<85RO5vc7EJ$zu zV0;QT#!STM5uA$0rcUqA3t9B^LOi#`-EZ1!{xd63k^|2#5#o%@k`H5WG~qXoL5$Qe zZ9Y?pifV6xJFniCVRsr{U@h51$Z=0ETA`x8R*?3c_4aw?V)A|b&FdIuWRny3wvRPV zIKw}MVvfqa?e!Yx>hslPFN6h7KL)SfanRFr!iXgwlVRrK31dWsn+%8sq>c%q56wRs zeZ+%`xn7i!=?*(%G@q}qql|c7CfYZ{*?R?n3o6?E6jW3O5~ie>ws&ywP57k^T)Vr+ z*6dpl`=sHL59E#ovA%AGbsRi;#G3a~2(dBUBzOX_kC_s#-_<8F*uRcWgdX(CJZ1&| zab$AFFjnSs$j3Im@E3P!x4X8T*5-<+?7- zKgvo*Vv0X1GUUga9ZP(h@L#COIvi9>uey-WfQV5LObHVm#NXN(?qe?V{f&4iT!fNLYnj( zjgtd<>BDk^x>ZtAl)^8X#t>~;Z5&pvyGZF#JbY8?)Aks&8+r z=od>bghXcfWZIA{GV*J}if#dM9@Q=cm^+NU5S^r*0r~68MEzNpk0Ii4u#n5ms+olD zL&cbY6-mr+U%FXeAZ;Gr!a?Xofw^3U`F9EEBDbiaK{`;tm?*Y?U;k0HBcUrth6W~S znYl43?0pahIR>E4X@Imly{L0?Dq>-nDR%Un&h6+#MYVZLTbfA~S1N zk~DnQV_)oyIR~79&oQ>fNLxDmN^VJhe%kKzX6VBJd8PT3*W|(4Kprt zlF1WsH@4T{Y|ctU!^zK`lK8;*Z#3fKeG=Z~?xU%N?IJE8Nf$Fdxm$rV63K5t58t_5 zQMd;oZ@_dXOeW5leh^&$g4u(_5y?Mk-R7@Zg9Q?I7%|plmwA8iUw0`NMeL(q91d8xsjh?BvmY2DJ$0`QZ$ z8ITH4?N4#DrG~aHDdLT54ak$VV*5&-%U)r@T>7uE&4$rl@<&YNYw>Pl=OpoFy@^~` zJ%^}9u5QZ0Z)MFn`4|(KeQqQ-2w%__Q98tlYYLqQbI5j@kyyPc6E)gGJ0)~?27>B5 zCzRWUA#6g|h9;DjL@2n`_zb@Rmit5=ozJL|Gud0?r!lS{6;Hk$Sjb6Z2r1VxR5Iu0 zhx#y6&*dFjxK3n9-S6wiH;=Esfeij=)>s2`a#>^lvZHS0yZwlP*Jw#iIKQ@WspZCh zA}Lxw;>7wik_I|BJI_mBytJ9BsL4Y!XjgqS_C5R!)>+74OYgIjYD{1-@S(t2>)W_+ z-xd6YM(7^cg}XB+4$3%9&>sJm3-Lol?yE0=_8+ zXpk=ql%Vv8-~cr_P{@~$acyLfZAig_l|$g!q9_8Q05&b5gveIb#S~KF#MGc=^DWF> zp9j#(r@j2WyJ6|kyPdnyyIqo9jw_3YICuWGi1FR*=ZnojmFn2cszCxK4uAJ45vml` zxv@uL)65b2QCd$^7mPj%@(e}&IB#^xxdx&PwrIT91p3+*EH`7PRwq^IMV10IErG};i}J@HEY)3XuH)c zLhZ+eq4p7r3^#Nh8-qk*AETH)>Dj1{GHf4W%?k#6B0oba4uBViaB`WP@mS(tPPIJw zrFqWD6KmYTwf563CzMaFUVH4;og$herjp!_J@7=HXd>1*tYcD$UIYXys!tGeX=CCz zH>Z{H*}ZnV>&NPvjOGbbk@2_GkX(sRvwT`u`5Sm#tstv@N*@9y z*qY+{8^Kk6DOGSxmcIF~y$!ePDS)RmAW8Bmca)WZkXwNlnR@s2@@f-IJbga420gAr zKH+Viz}|QO+34M?n4iWSXDGn1TR3lLhV!lS4f7cBDoam$I{A)?-2}7PhL+R_u%1=!e25n)B=RKn+wFVO1vewo7bMDSBcB(SG zwfLM#hTpbgF}r^$C!SCSLqW0g^I;y3K>KrSehXXtFbpsZ;I}?T`B-@1+}hk5%Ss%@ zlxHvES*XL^oS5tmP;(qiur4V1virv2gjX$Fv0no#gN6APOZpkyuU!ufUJ2n-Q_rgo zsfzc($2zUy`_0bq`?H%(uX~gyFzAEe@JR^3NxfETkIQQY4kWVWL3)81BFn zVftH1M?30h)k=2O{A0GXZO&6Mu_z5{RZi-}uwjuXL&!?c=23tsEfi$A>SI-$LEmlC z>QP;I^>Hoj*71T~{X!~2ROPV^Q~@q#3U=Mj4w&zBzIwNAE(21K5$iW7ux=$5d$3rk z+-Y>!E@hg<6_-|=g_wP#m-A1@kI`H6>9pcFOT8Wkc-r9|o^TJ=Vp~X;h>~r$I{lw7 zGa(?z(J3n6qa?TU;THxJ=OW@!BA}j8A1OP!P0s=JiQE&gD{C{W@ff6-LW88fVZX86Vs7y~b6#H#Q$kL{Q<-jY>$onioP$(|U*%6`|+8``B4&-a0skcj|jt3EwV zpt{HwSuwo>4rk&ZON5}>d0^dmvKU$NCC~6R-)zqP@ubL!Wz@@SWpo^S`Fd>Z;fZ*S z_N{h43@h2j+Q-LceA(-43Gp=kR&4QUxOYEt5z8SQ=kk&Pg46CnvODVlw4PB5qPe~J z$?rTV!iRq1YfN}tArT&-kPP8sgn9jK{T)t>p!4T6EH=#?kBi4{l2oXbM8N9S@a0 zwq#Idpz~6=Jn}9HUE%pofATVI{}m;KmWcs>R%N7KP2VMBAP`T1Ib?I_I7<^1i!A~+ zw{d;_#ixq&cq{EGq~?v6yK|N!tk%jU9`j|Nw^+a4@E|pMH+EY(h10Olck+nV?PzD# ziN1c_;r@ao?#!~QuA8KtE#wME^>L*MHO*t=`XoM*e;pW1)5z*&OQCw-(<0iYq|Mfx zqbJ_Wbd|@AKI(R1)h$%F)_M>BDHFh8qKo~>oEA6TbW_Y3JNDZb;z~b0OeVDj>d)SVj)#j3gD26GG^0{1N=_ z5v0;@ckDEBu9n6}k2(RkBZ-G3l#TCSAXVSS5e#Rx|xnn?k z!bJ;M#_m~8#8flxvoOG1?NlQUe26ju<*GjU)J3<}{b2%_QFiog&8RKJ(x{JK6mDv= z-oeY~On}6jzTOl`4gO;gqc1d)s5Ulp;xx3h6~*Wv71ii4Sz@ZD8p`0uFTJZck(PBr z{l?*@dhwG)@pNCHE098lKg9KdjLZpejnk8Sx}sSRg!GP*Z|2z}?|=&ViuR!JQ`@wX zRYE+nQT0+KSv9hVes+;HA9?#u6&XoH(D7&7b6cTG=NE24sWdjhEC^iYar}Tm=n>R= z-ImNFJ6n##K#cRQeczGM5xJ&mtc`g5F5C$7I4GOwnvmXvpbi5h=l8u5vU*8$IwB++ z5R^;sM(waf9gU1bF5FSzE#dZ5o$`Zf#GulA7>xmdGh?=D@3Ie-i1Dx-w%Olj!y+6K zah)|547yMVqK!b8mmES+i8kx_!kgPpo`lqt~~(o(@72!tkbZ>{g`)HdvN9_^trq3 zbD$zz>+So)R1f88BJ0Q9E521jzq-RoX$N4fvK*81)cCZxuo-bQ?3P+GM!wQRRx&8V zunRd5DWB+j*BKH=8e%bPb+}jSR=_Nqmk1)MY?$ytd}V~gWTIvKGy)T_b&EK00s%Vp zP^!uX!q=m5Gwhb-n?TjCP3&Z&(e;xsBXj2fr9##rppZ=ZET55syA?#OMT z*EDJI_yf3WD0aAE;^cHl2m&iU1?@yo331-yiKsC%WYc4xa~?*;cL%mU3e6@q_GbG{ zwHK*&@q8`p}ZgNnxx2~GO3>v(lKiSK3ELk*y{JQnS$MpVBKLp`)pd>-)@-LUarb-yRo)CGLQTU z^U|}?9QGYPRUJo#BRLvSf5SCe1K9o#~7+}zC`FST5(1HESh-DX3%C&O(w z^#Kj;vH51*oQPV0N|Pbru%9U={Dq_AwxM#;p`6Zi9_<$6bt4h8%@!JW40FMQ?05|_ zat_S6#noqeKArC7L|50-XVaCuge{z0)K3>{Pi8Bqr4Nfz2)@g@5 zO@@QCO7)$A62`JjTO*k5*ZjvOyB?eQy|KO&hB363=#-w7;%2Gn@N>e;okZC0=igdx zPa9|NyxyP>@Y6YKohMzH8_xUl*F9=~Mi{Q7Ztp{EZ4#UPf%J#PYNYhbYKFnP_GpYs2Oz>&8YitEmXjk>erbxsivS7aHge|N9c;dK4{;>pF~7vvN& z7#2b`I!f_yc!2CwNkTxBs~R~)Hwix(9fG)f)`i%RzG*L@fBag6IF=6HvC6geNrU1T z8MiNtjr5o9o;oK&oTf9C-f5{kXbSw@4DB1M*014|RNzN2vPqU1=f z!302q7`R*~(7aFMZ7sHg4K7*hjVUKnwX)iCfsVXH zp|_$<_7omM$m-!d8u6jZ09b{hGCGf0sO~Pv^Ux6w;~e)R=fk%C<K>trZ1RaW`KH$+?0y4V3MNiddvd9K zO?u`-Y?4l+k2nS_EMh5K*!Xhs3|xS>MjIUQMUcsK8q15ZYi}(-?{JPAMmz(KM#!^n z_3H zmN|UT^TCDge7iQR21Ip~1$YX~j%FJo&twe|C9J1UMjP~1i7B77B8qim0|tnmXR6~j zBUzETU-UFK$iQ7?A`cy#Q-cQmaQ$vS(yW9A21>w@gb+_#HCV%fZsqs^%Z^#x&-?jk z1BwWEZlEtgCI={=>DvyE=T>t##Fj2_LzYkR(YF%q;MRVXcU50tY=w`INJoti1Z+3T z-Ul+HW67k+-~hg(7LtK01Xrp8OWq1yW)^;Kj6-CKvQv@np6k!kbnzNlIdgT>Zs_1iM^ z6Gcf!HlbqP)x4hn4tgc^;x`tP5B!4$UMKAK-i_cnP5_T%N!cGPtpy4WuFISQL}D4l za#ec169ZFu)+Y_l$pNu=@-RwDm25;9vk5=Kel*N^S2^~C(_y&`c}`^1G;qLeT!(lM zi>`7yHg+$veWiycpmdM&-DvcyynzpKs|3RtsR~k+dPZ?zlQ^lvfJkfgSD$R(ZDMH> z=ybo`Pt8{HZ=BI?4<9y1l`#{>`-NtPSTTFZnBW{1Z3@GTVqjE3G$H9Eb2%0*#1Bhe zWVh`{#&!Vzb+K%$4Ce)w&-H=wO1>_Vp)I7rs4KGs#^|nVDmHqRK)nIF0L(`Ux-erJ z>8bcITE zUv$GnI;JX0exhl#`b?P+bcu&@VFom=4*|+p9VbSW(VTZLotopPc;WOvC-=avoYLLJ zxT6s(KjIS-wvNuqEhz#TmkXiJ=c7BF&w>wIK|*%T`)_zrt;b20$ecDGKZV`D zEU4BIpx{-QHSJcI4Xpi~(aUr48f)v;48YvTw^HuEQM`BMJ13#0=fDIQi8(@f((j}q z0ThO|k#^H!X2~S9pxOw)@=5t)<$jvTU@L`@Ym=pPiL4Q4i(6+A2NU$d+gHE_lm^OP z+f7_c4H2rZ*|TOzrwj8`@+W7R;VE*sF{gNbU;$-h{h>l9>GJ`npIU_X4j+OAv$I%h z+v@fHg3Fm2`{jb-=whF!+A2lqjw($#-Xar`%V&;W<~;1XuT^!E>fZ$|a9SOSN4k`x$o~`O!233>-GQt<6$ztv3@G z;XV=okbD-<{L~HY7UF1m)gF#i%e4gqdO85^Cnmo8$({!LwB9V32(+)++PrdaPzy*0 zfedo`BZIo>Wvia(W6-F&2bo8^F&wKoY57ggY;_4sU8!`zX9;dg;)g|pgg&$5`<*LahJBmYJf6n6W(+`B z%)felk@v{@b$H@f4nY&uOANx|@=5UgGxpf5foucu3m_NQ5iU{OYST4>!jaAH)E`E* z`fDs|2gp|vTUAY?`&*c1oW{51Y3q$4=eJgz+pV42t8~ZB^kuDvQU_-25X8^aMA~Us zO@NoV9i(DgpN8?D=oJBhrt~sDo%vhoI!T9x1Oa{Mh>{WCK-812uXI0#SXSwZS^`H= z2xhY@%7obgAfyI>KC7(nm0v*yetcaJ#rr7r{OFLG{J<$}(N7uJcK>{Z6)pvP;TFZS zT2W@kSzNl@bi%~3qj+s(NqtTZpUYPg7q@GhMnD6SNFGo;H9Wo($HSj9D^p z43v~e|K@lYPpDAqwv2(C56q9R*KufvHzOPYq@$XFv#>Nhga$ZTbirABv0v??9p689 zn>D^XUCb@TStKi$tOVu@<6u8Mn?KJy*PnZ*SD^N^_!l^wkZ{ywTh+-}c0B|)BiWAy z(JMgAvNTi9Vi>^YmChUUCBO?+M`6KH%v)&;PG-E+A9q<(kt?4{b4mLJ~#RdB#jF!N~ zQry>5nQNn!g7WlVLyEx~XSSV9N)%B*@iUQ%j-i;MHh}S@Xa(~kQu3&U4WsJga~P5< zs^mE8wXz&}O^X*B7r6v)yw-pz437flWO#n>nb!8v^&kzOVf(w80?Da-lV85{3*FX1B@aw>*m9H$Z z&m#1^$gI!bQ6oY4vPpib8nt&DW#{W)=|H!MX7B)wtn`l##@tk_)g03FL9#&bX1u>P z5s&3qrb79oS#-^nK1I?V%?ktVp-Fh(}@Tjsm!en zn~ZkhQ9eW29P3^}v)OL^BuSg9$!9(`i~`9Bh~&?pG#bE834UnBX>mKBCAem3RO+%l zsW^SVITlLaQ^4!h%IT}`+w)WXb~55y1JNlDhEsXy7)sxXM|g{ye+s?@$3;i)22Xwa zZQm9hclEDiFePq*pACbiNQZ*r(X#X81;G;0s*#j>BZ=}G&^HZ%-_CD=^~r+#)XgSL z5ws7XU7p899XxeH>)XVhm%dR(4LcuGYo+7frw293n863l}Z6hbwfJFzl9kK2{g)-eP#Jx~yY4 zy}0z1#;>&>ooZ{ZY21z0n$3v1N zw6WBiS5_{FrU69jfIYSoH$J|_#S|U{CfF<>2kX&&Lu;Ni4w!BEOf*bfE?A*1fnxn= z*#r_4MSF$0SPQ#)p-x=qs7S>G#wz#vEX!r| z@R&#w^20|qOa@AoEQUkJd0v|L;K;;u?5m^5yxEHoEas4qH;}L*1jk#CgIsocqhgeB z;D-(XjiZ62FHwgXLy{h)1k=6chLR8wP=@b^tTxV<=gWy{= zPXzM)qx5=Rp0)EpbNa@z=v98eu@-D{W8h?c_Sx1DH~-IzoS&k)T?T@t%$~@`4E)Ck zb0!oD@>Il6_~!J3-uHmSJ;UHZ!bK`~#7}NN%p;Q)xJgf6pls@%Io$5C>lDWX>ljgEeG9^(#@iGYI3#B z!w+q}yM^PfQ^XZ~=V;e5!dXgVkw~WGR3;U*)QZfA(i%$+hAUx=6ZQHnv=S z{7AaT?oqPQA##f0A@UP78T3JFvca$zxk7-0{)K}Nup4`pFc3ewgI4ULk!injakqhL zrOGyi0idi!&Qszvu92VKUyMp&5vh?E8zQyVwzx(4RpeEOdEn3+T6nl zNFl*Gmg*f-+}QsEK|sF0&Jm`8pO(o<@eBTE@Y61QxtejE6VEc@$1He`rPac)ioI^xDlE%OCbL;=$5m>nBqh2nQi`-vVjq(*6O;<1ancpiT&Y$PQl#G1l~Sv; zS2`qpBz+@wO9?$4u|`p{Q|{RD@a+zl;%div>Ts(eg%9!t{5bv!elB0jujHlQH$280 z#+@s+@_YG1{5QOTxAMqLr!(V=wmVF$(vF9z`6-BU^@=#hA43vth*clcIscK)dsB?} zw1YO&Mng;jr$WKJQ@Ql#MW}>>r*i2RidW3L2~$6P3M|{27t)Ok>>R|Q+d9Z;$l&SI zsbB;#3_?LTJp*As=6DgMjTUc;`YKy)*-SQ(!J*;It@!S)|6$`>z?(SFbm#wPbid8$ ze%Dx%N3tYavSiDW5%xeFjt-^Rr5wsS7!08_O(__kY|5c*aZ}2=lqEi?o8uCfP|C6_ zp}{rAIFMi-w#(+^0yKxFX__WHIV8;mj8B^Fvc?+D_m5;kx{EB0W;7a``7ZDKe&09K z##}^?qE)@pdg)EYzYQP0cH7MykvgTe@Dt)yS^W##|WW00+#DmJ_D@A0ul0) zF~*E+;BxCnbr$6WdT?B4QmI^4BYA5wnKUYufy~d=o0C>#4d{|Od|WrFyQHIaqTW>0 zap&-5j3+S!CF;OExDSuub9fpn@x+~TCq2O;#t!)Y7}H9MM9Ho+amB7JTeirHWS89Y zl}E$Ua$k?M$}*XBnz*H0Jr6a?G&Gk{l@ z4l@6S#-t^)JsV3-{J};%D=|p!3>Bq!;Q#vzd4{P5ZG^wtXsi9m5(ZcPs+gv1tc|y& zY@)5h)@|#t_1Ok&+Rv{Zu#MQx*)H3z+NNy=n`VIyeHBi8HT=SA_=RE04e#7=f&(UJ zz?pQ??anpM&CZ+7J5GhuX{ZYN13`HBOcUt7QN0dq(IPHjBhhemGTIu&scIChj#g9c zG-7FKJ7pb@cR>0 z(IQ!jW{|par7&rs|Fgx2x8uHUq&I1Hqz-A|WxA16y>( z<6Y#ePvy#!aOS!BugW4>E=!YL^70Z=I^_ED4rMxp92nAtQWdUd6hb6iP0>weM4=|L zLxq+0W8atBPzE=w$d+D|{viFfG@e+9mmsh7^~vF5Xg8WDt$$)@!|*nxk1rvq>66Dc z6rcO#PnQ=jd-h}WQ`%Z6d8BWmm+`+Zxtf)^vMG)nQ|Ktg~`m1jZtt`l~N`9nZw>lzk*gEVJ4{jMA|3qUb6Vb zO>gL}FAhx5FTD2F;R}EMsKj4b(t(xhSKBe3Ami52J8M*L0CTcZ^;9F3N33Yfnf3Wb zeZ4VnZ7@3^Xx5C@YaubN8CNxcJLDiGbc_0W6&8efjo3<23iwRaVVbrXRSL|o)LAqi zj^{uH%1e3gOrNxRtzLKI8PrUr;WspoWut;ndluy(1)0%208;~?7^h{~Y!$23vQ=5e zl?L~mKn%x7m5!bYfb`fW*juz#mH&k?i3xN-1l3Pd}CzmwKvOun2 zPO-#M*z(v!rKkz20X%2UmE`=JpGt#wrR5QVvL2+NubMMc1u<;&1-?3A92wdiD@zO0P*Q^Y9b@`p1pZ$I`2I zf9J?*COnCYKMJNu<=0pHTL&Q4}X zGJf~Do=XG2Y4e7AdiMC8k8FQ2mmZiM-;M3N!4Onh`cU=0@|R>@7|wNp64BSk3!&=j z^t{>$v~ILc#AneeKnD%#24rYJ502&8e7@-ntY!fUx<_kTA@i>qRn4;!D;rcbSsz`e zOqnFE=T%(=|fjG`yg2XCh{Or{!m8mzoIWyWT+K@3KV1_Iay zN-hz1$-|2ADTuAijf$6aZCTR=&eL_*N4mPY58mk~oNlI$UHa5=fN>>RH*a>`v_zdc2KG-?S?_`Wl|H|!;nXT%@ zON{2=^!QLZTYB@MVd;Q9fyBp_N-351z)bjno9^U;Pu2+ZS8g3s49@cORpxh6v`~-^ zNP8FigPS&N4>}+1yi&;RyLIKUV`*_&uz&U7Ze*9vkB>7OmoJU2f2d!Y9VT4@7Et0- zqXxc>$2{-RX$UXn4bPa6$>gE!c8_R@7Cns(6qRb|Xy|U} zYZz%zG*lpnEKk}4#fApUX>=b&!j0U2VmcsaF_Q9Oe5^1m&zgK!n} zxjUzP7l7EQ@<3K43&Y9{LS(08S4fj*nyZYfK#HiwDq{aiZU%o)0H=d|ovFI(99303 z$EhMDyHq2};=n4{MX3^)%fnc0RBKb&-7VdE^NJN487(928X>m6GA4Zre7lIdGg+tJZn8?$7kmQfx&GW+G(AJEH|&c1PE zSKm1AJp0&Nh^ND`!6bT0>i?qjEp!mGS?T5|I7XvXnivY``5E~_G9OxZ!cPZ*vaLJi=eW9RkEaUgw5SWZG#a;B ziI9pSoY)<9qZr`>G1Me#;%<0UM_BNMjA)F8_-eo3=ZkVCQ&3IZ!>dw7Y5Gd^TJ+N> zeJ+Y{PqZ&O5emEn8%=c4JO_5NiW;aOE0yuB$wq&fRT=%ba7XOgJDH%ux=RgUCmM6|i}= zKxeR}+MzHj>~kgt>thjsx4^YO1I!%zQiBP9ym7q z!2?ol=@80|ANZ@ahkCbp70nNgOl&(s-)NA~cIh|LKXnX#Y4%rtA6~t8ENnmj!_U1l(ai)#k8Fs=N1ilYKR!I5aRTK$YhgLOop z`Y{;l1Q%jMFF>3JDIToDqt)ZpT(w8V0_k6UDyUROoGzE2STyDdhC=4*YF?>Q@fwEF zQ55g>GQ5>15xbmMEa!Lfzv4gT8J^HV9Um=zfk!-V_PdDPU7%f^PM!4y)COGAAQQ=E z(W4VX(cuT_0cnxlK|#DmvJry!$Zk>Lh*EiI@2$6Xzxv7_rBq!Dy7la7 zrZlM3O8lb>3%#rHp|_BF*P-FzKIONhq0(=qGk2(4-;v&ves-Z{$pIV?K<+Vb0zM8VvI` zlqC#`6Cym{7D4F<3P(^RqGml7kXI*sKBcVtO%#{nM2;Te&T-Qm%@Na?0?}fUdz!;s zAmDZ@8Q5=Bs|AYCa*~uJuo`IURC&%ilawt&B5F!bf{;!tWjvBsWigfc%hV~yQ`tgg z%2l7LCUjOQ%O(h+Ml#}o?u{KdA}z;{YHLBw^YEV4VS8y7AGvi9HS`ZJUA@11 zlM^34wExlZ;_fA1Jho_&l2I2n=y5vO&CCwZUPBkrbjy3co>|3w{TIW_W)CXP&MZ_l zth~~_ZYyA+9kB3yV8k9OLj76Pn9X)QtyS1Hgg|LM6(zGu)Tp#UJ8Lx{Cwwrj3b|Z0 zArc)Y0|CM74H9d(VdI(5%OM;R!$40&ZxCMeY%vrDoxMQh1i?cG{C>)))oApCMr4%5 z6YSb&M3^%4)Y(MUv^1$0C630Cj$!19;Czmuf8kdd3v8M(dyk+P-Y z?d6v#QV1jIuYCT~bK}Hv&4I+uR8A%`GUS!1Ock8#h?$)CstWThx6?mo4BUgqrSE;I zyLs{1&V!L!wB!JKTMA;nboD@Kap^F!9yzpl#r_SC`0@Q{=C}WtOQWS|xbDZ_N0+74 z9!a^U)P|o&3>w01sSjV7`7g}o7xok6VWoF~jr>p0rV%QRzW5wvyE831Z5oYM>++jp zag)M9yUgL35I1@K6fp>eR*EK<5DvS8d=*>eG6LLB5F=GtFs}9b{h(hS7I_P6!L;b~ z6=_=Iq9~im9SnLq_--DzLw>TDUI59$Qhqp~AI%%}dc&vX;1fmDI|35KkWdsvr>7`r zpNH*Q)Jkc<1*=%)*a&Jj3aZu-Wo<==N{%ZwY7>3&;u_m#8@BOrf@+4% zQPcw!QQ$dN1{6p@fs804}Lq08mAjEaH}DFtj-)S=*O zkBQ4AW9ioN6`kwao;_IFpi0cgq!;bh)teMvDJoqpE=B@+H!Y>#=;%c5WrHLe`bl*a zFscSfW;4}_wur1Z7<7h#00>&%@3(O>^@mro8p>mM9CQEDeLX_1@&P;Xo$r?sjMEWPbX_*q_D&`G-zvr`5+EPqdZk# zFA%E>C_fqw^F*SX{9(F*#Ty$v@yrj*KHs>f>eUa!)sk zFcWYJl5`s@ac`5g3SqM4x=LBZ2=|gza(S#(m4$EM*LOXzr|2pD8GB28xNjfcRoaH# zL((?`op9o^=z1Y7`J{h7F8!je8QuT$;n}N5KRCE--QE@5eg%vArSBY2O54%ni}!7L z=shf4=toBBll}{(ohzgd{|=**{uLeb{`XV=LtM0B*Z0tE^dxRbNPl{N<{QkW{kxW% zk$dSYYtBgTllrG!x~cj|d5Vfs4OBDQF4hF-NJLQ`@Fz(QMM!UC*`QwI2XXB8=aax0 zlWwoqkql-RXu$kgkjag}Cf8C9NI~7F5{-^j5VSI(LWx|ikg2IjlClSv%H{KXV`H|y zE|W;a<9wDRYX{KIY?gPrHJa)OO)IK()$ULz;C%s(>_zi|QrDo?@r)ZDDk7v$@Omp? zaLWlJV$lT9VlQQchl1i$`~XjP^F91I{xUz!EBI8(M%>c|PGlwnfOyh+$%?InCRweD zGcq_8K>y1ro#1hf0P~j0a7K>3Zq8S9E<43eataN&Q6a^UeHw}Dkcw!dT<|wLvWk0rs?3p9?%vB&=TT=d zTl$x$majiLW;94Z9ciV&(pUMa$6!^iqGn*&P3TknBCeQo~_meX%9du;2fJ!NnDf2!-sp8)-eQ%Te=8eImR4qNSZ&J_^Unu$Bp z<4#ti^f*~kF5~L_q@of4#@2l@6cW@)OmdKp3xG4!M`AoLz;0uaXmyArn6X&QP-`bv zwWF*kSgi(7S7In$e4H>ZJjq=G{v~?(B1f#uaR#$VBUd`KZlyaw2WYp#C$HAE)**MD zyN=S4gXutP?Jyui?F6~TJrpF4=^;`mNCC+4YJ{4GHS)QpHdQ2L7`Z?W z-qQ<-22u`?ys|VRWk~LBHj>+EWo9lXs;QhzHvWS|E@vOPazY44PWB!1T-#@^azc^~ zag#6&9#AIb@?|!*(C7RDw%{wwsv&6v508F9=Q`?c0?{k-igqr(B{x&=u(Jz zJajX3Cqz?`P$)vt_CTL=z>h^bVZ`kbS9&!=PVYg z9>0Lrkn4+OX}eO?QH@Pag_f3BB2f=;A?oX>Ix#5HRVr1{M_7s9UoMTTJ`t1~Yz-$O z88$1MWh0;R?Fye{oY&r3g$W;3(cO370+(w+rRUr%>N_~p#vz_V9H%2pw%stV z@e7UkOykRqxUGP6g?R=1a^d%dj|=o<0TpR|^q1s@mE;KT+U@#C% z#-5JR$77SROEEe|a$8KbfS{jQ;qUPwpHD&eV1)6s0x4vY6e%hyBuP;z=g94%N>x{8 zOO={#7r1TL7VuYgN-ph@^p!M!4(H|ydTBsGmN2L;0*7TsFV_O$`|^^&ru_4ndLoot z#z^_fr1Fo<((g*HISeGM`}6A+rd8HfHl@l=a$clDt0E*0%=gG$2POBh;Cq#~7Khx~ zLI9b-)$pf(?i+~2@!$`C^&(30g7o8m`MvavP=~T_{_VPs2NJXI-r6=e|G)12@*1~t zx>E|4_C}+)clNE_^y$^o5h<98p-;DWOBbcXd^74qw@SZ5=v(_onJoyTbmGfj{LV{1 zd8o0W`+@C0+$t_y_PuZJ>RFeN_Mr)E^?vl~OoaKH(I0n6?{1QI4=v6OKFd6RyA2)Q zC`qG>(+APT4Hvf+3hQV)#?L(beaNLmS--3NIb_lR6(ZUWu=Km4L9ejr&8!8v%~};n zjVI|uRG@jn zvT#{?JbfPQ@mNHYt!Qz8Qs^c(QZOjUr)I54t};bE$`K`QRkkZJxfYa+OvvP4t|ODC zg?z^p^Igy00_wiEw|CA*d&xJrOgS&JH~w=3c9bC)GOQ!Q+Yo-Vv>RPJI}?^zg0>y2pIFiDr4w|5;O*z1_cO1L z_g}fvKYlybPY;)&R(f})m+3sPdwHoaP7jYsuZ&5~G1A4-gZ}?WuE5k%d1^k@hF%iA z3xvP|d#hfnRT}S8tF6|SnBWZf8WgQGP#0k08sv1l=d)%rXu35g=7+0DpK{b!NDvpP zMGXoi@f~fgZ$91F(z2*AMLey(K37-QFoC+p8nc=Dx)+cL5Kx{?$enWL;Gu855A@#H zeO7C$nIu6oX}%WK#!1JkK+Qw>Q{JdIVrT7g zuT0N}`GS|{y#<=qo|fwe1<_6hqBiR<=^4FPoi6G{U$CfGwvzn?x;_;QcBHyfxIKkZ zDOw&}AeZ}712m#&mc}DAqDevo(k3sfs>@3Nc$$(cK4koc+;t~euEoiDl9Uw6c~0Jt zOP8JJRe8U1Qv`ArNrw4y?vk}aj=fh{mg`53yj*m;QFf^tbJg%0d9HGlO1U*JSJ*R| zGV;r5FNA5L1LS-c$u?nHE;peJcUO1Huc3RZO$wPGfKsrS6{nvF*P%Bzc%SXN&=5QO zojq5gg-`nW!l`Vy;o|Ju*QE2PWe~MU=clFUKF?a&rKhC{RK%yHTWYm) z>!Zr2oM#U|Ryr>YzqNDm;-ObwJKfy&%IhG)R&VGmw4sNkRcLQN+9_@CmwHRV-Sld- zA6tcwUYSWVPmT_D1f>|mIPKDE=?xU5rTY7Y!-a=WMi^1qqLBjF>MU_6HJ=p@)-iz8PrLo zDM2nyG>?YEZo(Sp>n$9o7mc2xK2hJ8g~U-8sBf*u_1R2aT_#&kF0Ey8O3qMyn2ar{ zJMaje#x&+tad}3m{qBqsnTM$)nl0rCn6gXAjx$B@FE`f*ovW;WR=`b`M_}egn8-}? z=lY;?oluSx6Uv=XOBKpC!DnT$m!%&$MDHy1SiPMW28>4al2vB2xlPDYGRC|ZpkeQWBW>+ho1yWhUrGehj<1YP%m@*9+m@=_t>dXD1A#YP;d zH2OR)7gktkO0EY`Xcg?_099wFjA;G1$z~78HAVm@6OVCq(B}(~ny&A}bP zr-PS*%3x6I-~$1NjWQY6$aB?3&Tf~-Wb6PV0Y|%Ivtx&YX?GlV+;q?mN2NtFf2`eu zJe5Qtie?R_2|1@}jYdJJl0roYn`w<@vjs1;probMf-M}C%m6CfNXOGMc93C+@@Nex zv~ncNb50f24$KK9KUYGW6Zdm5`&re{@>$i;OonXaiXprOSx;h=LV}_W@fU`2t)-39 zgG)B9>|F8@G9SAoy^ns1wY@)x4W7qrc2Vh#nJeh*Tl=L?q!kUQB<+?iu3z;aU!`^* z4KGGU%r2EyNP7*=Uz}rhHJAP@UCgaV+u;}+(bU4yMQPtcGIJ9HtG%iG2VfAN{8H_g zdAT2l!$CU8^FFnfa?(y8P5JCEpsx{wQXJ($>qiwVXtFL*Yhq2DLhrM%5MvLXGFh!P z0!0}n=4Wl7rJQ*3!Wwlfm(xh0Q&dGwAgw*G&D>%C$LpSk;`b z^d}*_au8h(Sr%tWqO3?IIfNkISk+wxjgb(;ukN1xHNAu>3FzvvZI2w=+lT(})T4)Y zKZ0gTdYb;`?D3EB?qv&0Lx1>rNo?402fZ^CM_(R#;lDq$Z%^;*QPOw|EX!WuJ zFQkMHff*1k3s;3{fe}azR;x1>JF3tCfC521ySG?HHaEfM%^DPtCkiK>mz;{t&K=I< z@Rmt>cX%K7zT>^=RqXIy@?xP%;{=7RsS*^1IPriuDo{042;POzd@&Rb2WpZv_;}4^ z&7~T;hQwWs1-RU06TVDl5dw@J{$5BJXwrZvL&|`s4ah)Zn+pVs#|@~%&~3m;L#qKB zsIn^ABD+JSxJyI}Nuzg_M@3{4 zO_{P0YA4Uo&pl8R<4}cBSxP7$Lv_+?sPonmv;vlO`{>KFse7OJ@Je*;gXPlE+5O$p zPHEhoLkE>l-5Qu(JupBY9JqDs*39c~?s;R+8@HqV=X-}ok$2Z?ed3BCQqvDgH&s`` zTYOXy&TJCJpQBh3u&mc^xB3_#gA!J=IbzZUlr(7Kbth0QTT2L8!Y8+**MWb<-X4)=yvb{KH#!?IVCwf2ZHB}0n#QKhAsp{0XOCLuU#_4=4YE-N~% zPN&Bs2)+>M&bNr17EXg0iWRjY>nLiqT;Q}k<((Vz8I5+(L^-j_maLaYvXIA*DB@Aup$;K{fe@D_BnJ%TQtD9f;qcLv65^&VrGx?{+e40OaW zWPqavfY+@JEt!<9hC_IG7Hmnu&q~W|lqR~xqZ^AK&Koi4k zRedmwiMsM&x0a?33UncSmBxb-}9Ve#$Hn2lpwh2nGPg>xsfx!1ws!|F)_@saZ>U`1D0R51LLqB7 zZGF=UOSxDg!D(>4PeE^>!51hs)1jjiK%qAm7vs9cF}q*yKM58eudH)r^ckF;)|ZD# zb23uts;8NhHNvUY4Jo`}DX`=?=c%b-YfpkCZ!7oCh|d5ss>&;Q6bHNgTTuw~m%B=F z^huW0XUg@8449EgWoBjW&pem;Rp$4ZKV|-w`7)z4XTaLbmdsNby1Xod{?ICl$9>2I zhL8I07>LDKMY=8cJPAT}h3mbpLpwD3#JXa5LQVPi9FbCrB7FK{6u6N6hCP ziQ=JtBk6F4J4et5hCAhGtX?-F?q&3GCq6O|%GL-cx?1wPBT>xJCxa;CIGGuKZzP7I z>xdXIJ0}CE1%!c zXAWh{%eOw+vGK>V=JsrQZ2UOAY0IkCB_DuZa6Y$w@7x1e2?=GUJ?zhsRku)iYA)3d zUgb+`%Rp^CP^!z7YQ3f0AL5x>CdY=VtHbA_|FgdS3Q z5YhMPNA+~Oen=1X7OQnm9rEytkCi0bOJ7FWlAlV0rMy0;FYz?#<r44Hv zv~Aj@+SS_4+M)?9&}yqO@T&%Kl(bvXJ1dCu6&6c4bR={p^j7F{=w@glByR|{g_ed^ zhc<_vB&Ul)1lc2#(vOh*DmFrfNpQIi+2{y1SE1=al~^^h(O8rSzoB0o z!3X37&JotE#Y0p$I*m*@$goth6Ki&zod5%Z3WIr)U79ddSoE~NGHFOmosC7OpG}Z( zg+1)lcPf#GmEp-q^g{>1x&Hn``Q@x}UVirLC%LLU&pz8UuSmZzk~@2vt2%Jt0C?kB z`t(z$*X}Md_sxIw@Qxiq{PouhJI|hF+X_@~fq8|^wP+z+0^d6?Xoai!z(-*4d?7Q8 zPtS)(uL)7%y?o#{cz(DSju#ku-j{PPG4ndmS5}>nrMbdJ*jwmDKG=)$yY=i(s0cNa zYD8wJPZcr7A~n-c682XI%2Qb!4I3ymt_2qxl`N#)-UwZS&)TUNijhitaRcp~IkVY` zX&}d{tIGn|sRlsjv0$(qH(_|4)9EZ#*&X(fownQS5;)}5qtre}hw;KKks8vq*uj|X-K=vjgL0}lu2K!6LtK)|mc9Xvc^ZFE&sxQujtDpikb zzV+2r@v4?8$XD@I;aZ9^*T!q%$F*R%7IfDFSX(ReW9|qHBlJOqML@Zf5Rt=E`8p}e z-6`0K)Vj{jn21qutR=dT=$jbI;4Fc(Vq0 zDey{E5JCq_;#wTGApMkmVGDxG_ksbT6)Fp#ffK{ohm_{!*$(0Ty~0R8I9zxQW`#?! z#-`l9Y`@)elUaA*M(b&{`EbXkYkT&vKNimK5N_?bB6u%B2>Eul3-ARyyjD00FJ0LI z)ZhB1-+u!X`&TRh@h|&?PhjgZ{mvog0`X{{%h$2rM+nMCMX4lmH%+{<##O_W6e*SJ zx|hKcila(E=Ridg;u72=&NX;P8Ce5ms)R$&nFmq_ZEoHir|LAdJT{KC{wkyyLK7#I5t zqk$-qU<-(0)0pN{?l=*2NO}Xv4Blq!eFb(TQgsr(zJ2&{Fn2pxysN59t)CstU8M6* zU0r!dX+E^Dx6o5y;cf8tjvZ{Q@M2ClU)UtPn9Be^430DOzZc^4+}B8?D zp|5?}`x&!%wt1&)-T3%iwDc59MNl-m$R0!3xg6n%7>a83U=eSz+e?^`RcW=^j7E!6 zOL@vm^=Jz(J5d&jxk^f+*crs?Qp~Gh8L|Qk;n6G_G?!5x9|6;5ZHxxt@XYcgN8zu5 zu?kR8LH4%AV76EcWlSmXmR>Erg*)?x8I>rE4OWLj)q1>m9IpAFNXBB-kw^ktK^?rv zf%@bRl20c;PL3sIkDxa%BXC$*bIXB^3@~GIW$M*hztDsyl=m^eKE^>e7p=Kh>*8A%#eX#HN?; zNdii$_TmwVG%2ZDFAbYvUtq43uuvj#r%zuwS$&elrg;x!AQh86BQSS2{pcGVPpOSP z4|NoVg{yE|(~3Q- z@v(!$4AYuZ!VZDyd#Gpr_D7qlw(MN6X~mAMV+TJ&;C|kG{TBM&@r`upJHnxNPz+HD z|0(~BeH8@+4&nGUygMk*WE5$WMx(L>BQcInr!AJ0mD8nU2)UPf>P~_O2Wo3wFO#Y~ z1(v-8fK`T|a5?5#E1e~gNCQe)4c0RRBP^gws04bKKyD!x!*(!GQQkq$spK6}d{7S=WGMRKOht~TghsRN3wNeJ` z9}Fl8>2xX##$5`pBkq7fheF{9()8u3n^hB4G_2w^zI>HMmd0l0ppiM_d*ad&8sZsP zapYAN7Nw4GEa{Ar_<+nt!ps)^7 zW=I$FWFs+WIfqa{+T)C8BcbHUiP3>%ki~;A0O*|d($bRCXo;MZA3b}iaMz&d zte>b?;RF1Zsh4O>sbhA#Muq=9g+Zq?;8`n_>W8GeR@~qS@C{9?lZXMQvr{AkNrVid zy>NY!qnrv8zCW425l44Pbi!lP(=3NnK&3kYBrA!H&`_FfB{S5llz}00p^YY%^dvBk z*(C9plgP%f-=R-}APo)y20FC%;?a#yX^q?0_Onh_*oqcdsNr~U&D;E33$j|R z@NdHJato5nR|+rEXNC9+-@OJD&9enJT|WN4O#b^n{>PgIHA1h~7`9`v5k3n>p?-eH z_=v!@w19Q+>b#D^HDOe^ao5&yxcCs!BLi6Qk|t1Fn{&|4Q{bDJ6nz4KK(MN+<|KHS zR|oU~Umc)pQF!7o-KefX-*6Jdj%5R$ForY8LgjK9f;x4Bx)~*)1eYF)4Td7!th)Q_ z;LJJzpU#3q*}*K#;zGNp*q(nR3)-@vJ`2J+^ru1Brlae!luk!w>lkz56!DPUV9cBW znMM`h(8g&-=bF*GMyiUilIjM6!HQF);-2CCK5sgn?oZR9#-|%0(+F-gf(wmT8sWOe zt&On0@sUR8Z6w3y{7iR6-fIOaD|p#DW`*t6J}XQ&`m9!8W12C$kc~YV+aF_MywQ@6 z;nrD96H$Y9^)fY7tIfD!U=8HW#IA`wht}K)qH97DyP}gYg9t%Le`C#^GJWS7v6#P< z+|nj|eT{fa3}W}BSdSsq(#|{9&tVdz*ku#hLX*K3w|fYC2vhdM(~J4s6l;HqR7A7| z>O}f%9SOYHsp48b-UwnGCN*Nca03)_Vy?kcc}{`>59rIOL^Ddo3Z>KN`<8t?tuigylfNY&{K5iY)M zf?BsQ^9pDce)DEa`oKqpODlv;J^9Qw81EL&ty&UT2a6v1Xk$}T7xH4I2<3ms-i0aC zRE>o6mh;x~^2*{$gF!b#Rb8zK$r+tSqhP2R7{M#$A&1i!PNZne9U8PctT2edoI){^ z;^G(s@-}FwtkgLyKA*{I)p>2@b{Gvi88@C!9I)HVG2_xr)gnw6r|Pi63g^~`;|=kp z@zrrA9B)H!o{aC0zZGX)XayU%rQB-n4EGi{!4>UCFPAym9p|{Xo0e6pR3S+#A;T+l zyvC5%g%plc=&zPf485e%<>m7FG6p++HzkY6cv-uwSJo#Rl3kEpktw=mM`fcj8Y{U# z(sWpZ3=E4WV)rUCGz@o&VT1vMN0jk|yVSy+999%zA4v*Rlij2DP$D35aHr8VL_0&) zMF^T63#73{`Dq-UEfoev1`-tpWP}!0Zt$8Q?eQ2*Mu6a9k|w<-gQs-C;$8GbdgZzg zUIhxS>75I22p^@YcL_fdj?w2fcCTaC{0p$X^M9M*(}mB%zkP9ht@ zQZxT&M{ZNWDLf;5+Miyy7ubZ)e={ex5&Sa6$+AsjPZ~}0IDy8tOEgRhAO3+rJ_|bnT9Z&(!3V{xq~uC%)I%4`KbAdnLTPAGG8!{nwcYJ z&~9F4hGrf9r*+7R(SAVq@wgn1pkRrO8)D?{6jK4ICf_Nod8gDmoMKZ>lDx4o5Nhx z+y&M7s=|lD&xIEY{~3)#70A51Pq?4%%f|bb`@cp%QRvwtoZeH|CTlHde)PN1->d@E zp^dMN#W$Qg8*O?Us`pdN{ra8sMVx-Wz_PO!MqkjJ1wu#=e3Gre0oNhZD3ck zo7pE>S(v;z!k%GovJPAtrbj zvtLh5@~w&90J_q8*;FF$A(U%|UR$Wz_rCn3Feu!9Wk6Z{!TSE&8G4}b223)|;~(vm zb?v@=Lihy2#S8TZWJY1Oz#>GGp3ul2WoM$RA~FGf%`5CW)^21SI*79PW1*&ZgR`fwTE_MKy)VjZHlN}*%Xe(v2 zQC3>6<8^_&jwO9SN*@vAK$vKgB_Zn`fjtOw}81YSST0v%5L3O(}_anDcKwS zUyh*cw&fx10omfQ1>lgdm>$H~Pbo~uzhI9e+rje#ArRzCfx$;tKDRQu-+)^x8;_MM~j`T!EKGaF(>Tz~JDv~kr(n}PE z*i=e6HL7}to;|7OgFy}apVLTbgaEA?O_IjBdqcHM{=D!CSODH{swvzOo))?be+pKC zzk|m<{$byVBnLV&vW~rDSNAd}$F4G^_VG;zZ-Wx{I5)5LDM2{%V|Q13>zT8w+h@1_ z;^%)k{ajNNC5M;BKU%jAqSz#BegB7h2+QyP$uF}1LdgmL+PoNqwx zf@CDvNYkF861)|R$j%!EEG8KS7EY>+7=010?UYbXz0>Waom2^WOKWYoN#=E#!Y0h@ z+HBfyI$}Cwx@@{>nlP!tLKTD0a?wOmfqVfB7B#JYNKscAKiH)={`#K&+e z7HbKKTVai~4c@u_745O;q~E?XnL+F2EbbiCB@G6z4*^F5R$w%E;9_RzzD(vQNu%f^Qb>)D8Kc)XYHg^!JIeEf0dY~kIZ_k_<{@^73Q1{>kQ(#6kq*n}^3 z2~~nu@KdO7V)SAW3(y6huuRq*j-@ z4cbbKk1&-{VeUMZErZkbg>=*PS*c zgRZ;JNXDT^i_wQUu|&UcvhxUOKVzoX9VnbT052BK!T6VvtJ{QwVAI|MMmsnFw$(iQ zB3LhM&+ps4c0>Q}^{=~Szx=Z2wbx{yj4e9|YQWmZLB?io%GWI1QSKC;e_RmqkMCZ$ zy>EO8JtSNbK54~O*X=?WI(hGF_;-QZrgZ*Wfvl zT7yojH7L3RAQ}Mv0N@ix6GI7lZ33hcAd~=sgu##q&`RptK?1&D5D$QdBwf7JKv@|U z@#CE(M?xUvE-uM;hrs;MiV%#TBc%bb^si5>SlS(!9|X6+`J|8o4;6kw)9Zfu zR^e}GO+ZUfILY4k#k0$nv2Wb=)1zmBI$M`mKk($;frXiSR;+rsDVy(nVAG=ef`#bz zrUko~(_b+3kC&}3{B>Iux1$Mb7uhCg`6c!_%0l_5zw$b-yToVlx{FGzYKyT5L9qu1 z83wTClVAl(0o6rL2dU^Ptkz16Pj57;G1S*+RSJm`R?l1XdW#0v+%>$#fu2xM)M$KU zKCZOX;wixh%xOo#ycjDDl?C#}3JbOq8^zEx8>S{GcoQu+@AT)V#0JsQ<8>kgd{T=i z&R68)hll{fS4ZejY$OE&+!4MWmcn6dQj%}A*JDgiv`D{gi`TiL9 z?frWn?FlA9_a6(Nf>F4(@C7V71oeecxaIakvR{5@bMWDB^b4PkjQxdf{oZ4_*+YiUms$qMnOZ=pOw&_q5@m z{MJ&Zvm6g_*z~sSDKee5@Yu{n_j>W);NP3qYJ&L@h*TC~7uH9#7xhn2rW9v|1Jlhu*yR&-cQXdpquh3H_W!Z!Y@t zBDx+ueY|LF5wnPTjQRof0`)TWF*QcX@e>BJAqtq&;81!n4IfE^dlQSObSRXj7A5Xw zi|(0IT^*kT2It(G1LrtT5!H$GKxwI&bP$Vl{hC9XLCq}<u(^)-c&85<5kmq-fA7bqr&ZBSbgE@FmWF zN;Tcdn+}R@1BiAhiRW2GT_oI1G;e0R(xOL0Sd$t#nk34bp>Qm>>cW;4=a89@YyTC(r&Fkmo=75@ea(yk$;Agk5 zMxfqXwPR)o+!|YOkdBU@7k}t)7UtJnTGiFMvfRFrfBtpA{P~gP3tDnbOXmEbrnJNh z3p>FrLA|pObb9CW9m|>cefQ1oS{~iFsr|mMZvdaPm-vhP%{W zkE;{MVrGL4Z#qpni4F(qFqT?!B95?&9pkAbygsI>lQT}5p5+Xemio#``K%dtuAsA` z!fT8h;W~WlQoXZAUA^l;cAos;wYO!do61?(+oNh?3PVY}2NuNoxA$>T~5NV4njjWEm6=6xv=vGJ6=;?s^sG4S) z&CRgCd9Zo7nRYivn)&AT=4H*@&ArWi&7;kV1I-{Eico4#v-BcYnj`wndU#Yns)u?h zrgMC0Sc#+hQWV!^2b4#ZL&^)vD@qxDf=bN(!I~{ZT;a~P66xD$YjI@gYK_GA(T|7^ z%;-ToNiS;5O3bx2OK}nFJF6f{KLh)-CY}KdhAyBT6$-p zi?M+PTZf0Y3Wv8Ac36wyUv`2ogrc2=tj*TmGCKnf3VbpN+MlQU*3DnlzW(B}uH}!e zr_g?2g)#XE`)l;BT$~@p6=Co&Ut%&Cpu_JkQF*;(WfiUpjm~1RYBaD2xBL|fj5n7a zr)$G>O#~acDKR5Kqen{a@_2CW9S;!p2SRjmH&$Cm7LXi>SBG%ua8MqXtLTt_*bn^{ zx6P5axOJAiMdxsMr98a;*qzobKWH*hu{!+4+CWVJ<Ql1+!p$ z^Unbb?Blz@sGw)M1wDSnKZRcW4EK*OUa&xZmY;R^w#(11wk?^R{mJtWu>Tw7ceu-B(in|qm0qW_DpaZpN@k(){BYMx zXzRP21Rr*tsHpH+5xT@s(M4;v7@smi>=4%(>03rHU<6x@hm3I8c-07vL=VXB%%ii& zT|RTt@h@3D4hO=FQgF}kN|zNq6c(Kx`N-rkyk9!zA(*RGwM1QR29OuDcHq3S_M-5`VfZvS3tMUq?&=?R3X!I{ z*TBN{Jv|$j00>%zeZs%bW9Ajw7ruY8fB5~eB<2N9m?TBYBsCMPaxl{p{siLAmn?8jA zsS4lRMnx+WK$|Hk;iLtu8w5axHCpNiJT+Lu^msH9iOxvkBv0q?J7)Rr_rZD}nBfB` zKd2fg=Z6uw?(ma0UO=#O2jgNUi$W!l` z<9Woxc%*wDaJ+3y25!m#6gB)W%WleKGT!AU(g#?-a!s$HK4qc?uA_lNn+#p~{}gI+i2ss72e>HNZpzApoXU9MOY202*Do(ZUr7I zF3HP@P3TQ|xk9cuqj^gMMe$-UX&g}P_GNZxxA#&YOo5wXNdezcpi_SxnFL|~h4Ai{ zcDz_%5Cv=}D*<{!$dJlTQ{$e|$pOPjGEZ#!!5yz(i5Fig3K-Gid+sd02s6kcGwuJM zudjh?>P+)J?|V)@2q9mDd?zF!35SGykOVksW`M!_Q?bqt@{{ZpT$i1sQD}*Sfvkj@vq}>vmhWb$Yv)isKhO-&ygczgJJ>&gJUaiV+Xv269se1* ziSvN#vr+DK_FK>X?S9GWug1oYUEj9*Z@8D)*2ACt^amgh1jpXGYPxi06y4+Zw@}}^ z*G1muKDyoe9gvHB0gYnh52P;>Ho{MYfQ(fHLpHRJ`(e;~4m^r(F@df^~euW|uvK3)Bukt%jqW9pkD-_Z^(sq_--3cMj>e4T?@=(vSN zQ4^d*WpXH&TdU0=t1^j^a5Hg&)FtamZ`^uyhf|vDR~c;AxHEUTpGwjLbTv#V($_R( zS7FU~TM6kreAjgNQ_1k%Vffd(xvp)~FWH=j`;P$voJ(JNHPJo-E|G66{!VgiJvZ{v zNB&)C$F=ZNq9+JDQ4A>7AhB3Tn^NP+(kS&PR6;1^hRsoel zrOKLkqR$v|grTjdW6np&Q`{(QPsy1BExeZ@e8+xE%Fm}~KV z9@kX1rG#I1n&o>tAdzf<4bfZDKQekAYm+_ z)LvGbm-H6nmvv(75hT{(HOoK3G3EO@`NY z>~uJHbe;kb9!wu>7~IYs-Lq#mcjgvs?o(|7ChBSKFF=0J*?)Y^Gbi!1{Ehqd=uUf4 z)bzweUasjZ@{VRg0Unz&YvpoV9>9xGYc|U<_~jLyj^v|HUBm#whB`x=fix&0I2}>r z1fFDFG|w$^6MH1Stt60W&n*TX-iKATzrk`YlqU;H!Ld{1)ss$#zP;OFi*ldd`-Hn7 z>AE{C^&Ey@r4LRIbbso$+~~UoT1Wy?qqA$*<9BiBew*xyG#~lN~d8tlAf{;KcwVVYkW>Ump$t_Zl>7`RrUSC5PN2~~I(r;rU zn7h{kR}ONgvAMt6^^G_5#WCvG-IdbjqxU+FlkXk#cyz5RZO&@$i+k^KZ&NRDw;&vy z?cSI^Grei!CAa1BrjI~1u2<8@Gro&FqlYL$o-tcb=}nZ!})y0zGph>;k6&-)Gd!k3fqJE}=pg<^vKzS{zpm`SX|nGv^WJf?m!y*$gs# z!{W3v<`~t`Pz$&Q$ZUCX=0bFMiwi;&;b6+xYAa(wV-+-RScJCD=C(KIVFP&Y?fZu1a4cbSQMd z^)?oqXA2~Cb+Q_bLLt``+X-K>T`rR;RVp$biALjuE@U-TDT!MRp zo8VH;DA)x8*LMC6_{U(`7+A-Rj-}rkf}b8e`qE3=xZ$QG*a~+yJ^8o0(nr!A+{r`} zP@%N{dRJO`COtmBZh&V-{-f*@l)V(;$xWgI{Fya)JhdiMZLOuKsIaoKp@C^?E-p@n zaC^ke$Yg~KNis}HNvT?0Sel((TIzQ?4Hh0AY3*pWE_vAP(EISkd4<}XED0#IqNB5= zDVc033y1x9+*8pKjkYv2H`li$u|*_NPO1>#YC(fmsMC= zpVIVdphgo*>3VeoDCyQ=>6r5|5=+LwaI7x2Dz+g;#WIC7-u#5}SYUp@IMXHJKSb-z zOjik9T4H%@j+t2_gpb-eQO%nbUvIhc!=Sjm5{-&47}koz?_ps?o_Gx-q^8&i#)?U&&|9B z<+}D32rnPrSebl!>?KeQijM>Tag^_^=Wfaxqz4EsVMIB_zn;e8LRtw>)n_3Wt0wfw zLiJz;kw+-eHkieaef6+e)~q}=X)di)@ zSx?Fdg+>uku!{2vNlI~2F@xMICfq+oQG`;)b9W0`jig+y*5alxf%j5E$mCGO$ipk= zc(eq%rI-+0Fd0<}V}?6R7`=+|+n`Z|&z8<900JK8E#bq(_0q`QX35lD1t~oOXO4Vz zS$gK$)uBso-%Sp@duIF59MH8JwC{$Wq%HU2L(+A(FRYv9)~0 zL0uu`4QK+q7F5LL_s1OsQNTMAZ=|FoC+H6p(gAdsL*9adkeF~)OgJ2799CB4=ykdr zl5_@xA(zt$Lm@c^@ug(Lvdgj?GAYLK&B(|DvJ*0xl7TuIkjZRN1EEBs_!XXs*>2D&`w})o^n>)pI~T9f z`}RH4&vp(VfH#o3^S)CMY=jJ@AikxFub{>7U)XEp>|4Uut<15S|@_ z)zrxd7y6Ua37l6NxR1CSoj^{0u=eoO;9lGz)ZH(T%}QS;a!~ByA!q@ML)3xS&x%uN z%O~SLcQGl)H!q7YqEyaYtEokcWd%_~RG~|%Ko?O-kYM!$MM*Ku4$q)ZXh83z)9VV5 zO8m?mB8X>XLpe@RnH85t84ZJWhSQ-MGg)3iZvQ}r(Xp9F?NKqOJs#L+OtQ=1e1bIdswKdt1vnB^df;lvT2df)ZA>z+&coa;xf7hJz_Q63kt1_FWS0zV485coWB zFChD6;B4SG0TTWB0hgE55#@)OQw(GnzXPw^oG*3vbr9;<9A6TXL{_jCf{Ks;>qbJ7 zlnx6#*jRi_7`5f;@G$#zVAWGMMUII%Jn2&zM5&0s$Ah9_(nzwtRBF)+@ z^q6tp@-Pjj&>qiNAjagQ6MpoG4}rxpO-%cBJ9L(kqMP7hsRBq^=+y~dfd~8{U>kRN zNc+BfBm1t5Z3C|!wCMHC?Iu%bmXmX{3^j0XWd8H+{ykm2Y)7Bu_TcW(;T^NR>o)G$ zI4b$yPd@5j+IH{N+S(T6w$~^3IBYvR&i#da`Y0DU3R{oNPDE$kusM#OU$JkxZ~Eiz zf${$1IKNSGpUdu`ScN5;z_V;_qQ0@A9vua+rlyn%(zGwev*wk0y@ArwfUf|%5~YK3 zI@Ic1QyoDlFiI@ffeyZOe>xCInk*KBln0L3hz4Y*4WNu@B(g!xgjTD@LzkwUMvX2n zIoP;-nh zuCYU@U1}#1PA8GjBq9kil{lH0Nsw&`kU-H4J5f;~GD}smn)@bTVr|}}i8Wf1CX?vr z$|mbr6`icZczcGg%?rXR3+DNs5{87rUx&I15`~O7!W|GN`k4$^R-D=p;|V?@5G(vV zh4Fl_Fc0jKU{XyC*Cb(PQX7xS;cQBWa&cc_Op2pkU9JwfG*Y*arm;|9Ar@Fn27W&| zn3v9htWs~f)4oHg-?eg3rIB;1HQb-0Wgn5x%cMtu6uzA9(6?Rq{{CZs{K>AE)u!o8 zI6S_s8wZ|U`uG1U4vCJVdwNGUyzn+CgnPKl+*WRu`$FE_tv@&oH0i(MUTJ6o#c&67 z?4N%ApGVW5aDM_a@Nj~AocmYq-+K1!a~rPh*rSxM==u57&T8o={k{D|Ph;d4mqtuMfP5q=Fb9S#%pc^V25 zXfrg`MjxP0pxjW5WqG&{wzNQISd9@Q&9B*x;b zM`bGbemZ2V`p*|fe#?Euw61OO>uipWCXXky_t?IM`1|QN+<|r04wE}3Ko)qGn=GJL zG|)8X{}@8~3KS*wfrEvG$6SS=e-woB@>)7V%?GV^?$!SWk8tO?nNjXHA6}g4<^JpX z?nj0a{h#^tH#QxF@Y3?3L(jEJ9axO*h%lS~JoR}%>^#cJ!>+8P!e4y8e> zwW-zo7Azwa;89kYm4)?I9TX+w35}}W~%BzQ9bx+{jcg_J$9Hkm>CAfnFgkVA)O4UXX+Wc zMpJ|RXDv|%swd;YU`a_B*KDhZN=(b>ci3zapTR)u^|@MP(Yd*5>`teoO6h1E#Bo>L zi(WXc*-!;G_<_?8;#GdB)L#{+YO}Hk6pp}?wKM!I>3LR#eCd{2kg5fBD4NK)Q#Ols zyJ=QQCuu_LWQ#59g;ej1NP6*grz-l?Xc&9QjBgeD-5SBU@|GVH=}*Jr6g%%`u}|es z7EHL`%rKcP#Lo(D78kE#h6Vmqkb4wN)-9T>xS^vIOn|LvMJZ^q>+Y+=rh9Ku5xMj* zkid)Sx|~Py9U<}EPnY~C>?>9N4V6;F|Zk~g%nrI5%40H z0w>`}$Dt#=dtdnFe}X=^a`YFIlfM|{)ZFVp4HjcZ`Y-2Gts{H)dkmjEGfs7^{OLdM zjZ<%?8@hLW6n&yI(a=kN#7$Ga{*{A6gUGYmxIfDNB7KpF5=+2t)=@%|lCZS4AyM8^ zMAJ^66rgi}0@0@OmY5dXqcf1>QD82c<)`E*dpGhL!DjQ)APUN>*^1I89`Bt}C@L$< z10^Lz1c~Bik(39eR7Hy$8<#Y&rKO1&&r7z1Si&xWCzpVtB}Geub>-8bYKlP#TF`?h ze(#9-tqu5lg20UHWh@I$wEnsk<|n|969*C}5??0nCnO21GTWK}Akj)z zYZ%NPHO!1K=b6jQ4MvWMq(+#N4AsT}CXCk!=8g}dbh6>J-5$i&7v!z)reX^ifb=rec&f zOKX$O6WO-CG6W&_U8!r|_}cFct>&hqO`st)G<$v5Zrp1a{p_>ve1}qeI?=gFt{aYa z{on`i--norQ~y0S{nq6P?lbP=^t)$@;{%sz-J9E9di5Z<4CElfUH^UmcXqB=#IE0b9AvBV4;Zzl*I;|NK3wxl^?gntVRKi+^9uYx5a+ugL;8o8zXf zC2rafu$CCBA+E-fD7WdIsI9?#?^6atElHO0oRe85rRSnk4sAQcsbohWzBlp$V zY&AYPMU=#_&R>jGT9dI#R%jqQuI_Yp=u^r6lbD5C*KRJCck}HEGWP0X`N`izn zUuqY57QQY`8jFfO3u8rwR52_N36H>uXtNq}1|k*M9IEq1y1MltLy9wi8JrDcg zKkVLe{Mp0ck9RMwgXPVSZyRX+0j#^Xxo_WK>d;E~ePcd2whNr&61%v+&iAw?P5$(; zYZUBgS9U|A-Obs+RhXhVNBWa7$rs=MN&D{2onse@xk|2+h9(qK*|@KGR&W`LsuDyK z(G2QYO|IFfbfYf`o6;?BO5(AjSIEYPuy2@<74u{OS&4*W91^-i3Rf}Akr&8E> zv+&8(GP2NWEi&gR6mp~5Px_m2HL#Iwc&HHzYegfHdIehP4-s;}qW^OPzv|7PX3|)N zmLQAA%;I{j5)WeL5XI=xlKV5KONvUuq|@!-fkHWPBk_n-6%2MCKv^YG1ZSi2w?#~rtY zULzLG_zj*7EaN&V9+YXCvkKfPc_5G%yhTiy68uKhEJFiDMk(i5S~E8L+2{_G-zoM2 z$Z=0TN-3Ux;*I7Zxo&;Kiszq$x5mH+;N3EAV|w2xr1#i#x@4=t5W1b-&5`424V)1_ z|7%viaU(fg;0C`P!TJm%+%mhPn{_(UM?Qd1nrc<8frcV4^&WR=#qQnDZb*y_HxD~Z zTT^cVRr=y>Ze#{q%>8WHyV6&Xj|t)!oJfKFAaxlqQOS3x~V9T zU5)(>P1Lh&ytY1@A5B?Cpltz#-~l4a_sqJdN*bG*lA7dMu$)+goX_f0)r<6WIUeIx zSC<58C>^YKC%G&ikJFY-CO@g5|^Zaul{Vp|d6w;Y1qq z>%;YJ_2h^3U)JBRC+o52$Zrfcwl$I;Hh$T7zmaUjzjD<#HrBgHLnS|v7AlF#WYK7- z2ou`*eSU8cZ%=MK6)bqKDmEW^FTdcg{FJTqKqZIop)3{ zJ(+DwbW-BZCAKXxC9({sxge&rpuv%O?)-kXkey6m&d$`!D|pDg;JWycs0YY{{(nwv zVZ`HIz>iLT9eX1YaIAc8YD2bq3+To#UFz?p6dS&MF0o6ld!`aw>bukcr-v+J1Fe~X^srK2sV`}6YQ?T`QC(Gy1oPo7CQ_hclF+HOOGT7()kIE? z7C*F<@Ppb3+RN(}(hj#{F{{)iR}sKTfK^N1Sqc{uOKFFLUP>&M#OiCD&QuMk31hTY zX=w~kXq2FsZBn515y&lKA{pMoDJPum&6}jqR<01npQF(X$pxnPSs1Cm5f!Au9yCTi zR2K!mcxTH9U?83cEyMUO>SjLZJ$d;{Um-F#VOH&)O&`;;W)oZo zRHL}BSIb=(<$6cC+vK}xKfK26-+2yhya0Zgu3ooJa@oUOIMvQ}bU(48cSWcbNCBJv zAkKhYyRh-@;?6MDYpUIyY38zA3R9hO*ag?dS@PPu=wsKL=;PiUltw0x9^8i~yqi%L z`5B7gtXK^PJj&)7;&DCg_m}x3(Wt51L|QBa;l}fq_JV?vGM<7_u2L!$8jW11)AKXm zYEq95Ip)Ty2!+Ewd{JIWett>RQXVN_3sMDSK>=+sm1iK^6Bb|i44=eRPKB@D0FgpIo^XKk{{C_(vY@EBsQ8Ed6GE^Vg9X)tOjs}07?`La zwuCzc=!;O7$ndCSrg??uMMb1q>}GUMqcwxkU#KdF<&_r9@bdCX-gzif8DE0nMOXo@ zShz^fxxM?DDzfOavYQvcu)Ya%Z;y?QpzxyeVt3NRCT@h79{A@0q0o@3S=e)ICHP017Q002%t-kaT`5 zuTm)uzCgeeELpz%k?@k5wz4IQ7bOxYkDMY6klOUYjkc7!b_R-a=`yYR7?c?YmY7H7g8@^0cUR55k0Vmtb z4znbS=L8Dlf?zAVi0P0}Y|zS!HVpC9Yje1cUUi z`N~QK28^Jy78EzA)y?3;X3*Tc$eI68{zD0TMFPZ8m?G+(u_lwUXpzaZs7Og^7OUiP zsRnnpHPXerSRJ`)o>Yiu1Yv|4ie@2k z)l*C$APy`r(YeB!pclpu!D~f6q6~z6UWDo)wKV;kB?S1On(MUV0|-N*#uhC zD_c?_rfloQ(Rh4kQ`4c9Y)fKOS9fQdK7~xt+T5H< zCEKf(E$gU|fpVS7W6y1EX-PINU0PGqQI~6eC@~FIPAu}&;WbwWRXx;W@;Ve|!^TDj@;pwbL+>mH<>m2k#2EpR z_!Groc`+z{B>H3&qRcYR+BO71OAwR>0r^Z2R0KgF2!g?YvAd@Y zv$R=OSx6YRfOwC^(i11;-WfZvpG985L8#H2$WkhExm|F@hD<0tI12|^6G)S9$ZfhSDbjrla6mn_C&>w_o|)%=BekaQ+VP`D3SB+ zq3A`t`{5b%n>`f*bA>=H#&2o-so*9w|570?ceKdox}6v>iUO`!rf7l5%XzBm=$ynL zQ!!7AAeL0;=U*4BbOBc*!g%NKQE0!zs_(Zf@07=0uIl9Dji9i;7EFa-1wIj9za}~+6vZlEI7X%v!jFcTfc}-9BMeaZ~OGD zhn&5>cPJ5w4xL-G%SXe$ZHdu6*Q3!7#`b+o!!B++vwQ38oiDiEUwrW`(9ey5i^IeF zhF=;cTb?)*{lA2L3wTr4o##F0UR}MerK_i9S+bti!+Kh>Y|A#*wE;&l1iLOF#KG8c zSxN~L1Ix!pX*PH$%A|qKWU?g70-I*DX-a@i zvssFz>pkb(E1RVI?S9viu4MW7Kll7!zyI$Cj&0wzd-t~OVs~m=`|=e}u32;igr=TJ ztz5os&Rde{P61j14|DbI)wZ4HM45vTO=xTQ=k3= zx+We!LDO~zE|HovoXe$i+Kfit&g*n)wMGdD{V~h4tOmtPm^*)P%3fKCG7bCb**hog zE}P9MYnLyWGNRbcY?i^SZGvHz2fR=o%=4JzoOfy}ajX@hXogWz!_H8?nF3f31ZpWT zLq?h)B^a#v0Se@#@ut2=KM^^N$mAKRQcoS*S8^jDfu5pIkbJX|=%>l6?7nCV=LQ&P zJXf!R;QrB7iVi~~pjzqaf0sSbxN(erS={@Cco=Bl!d1!Qo8lkE&x%Lu7Qq(a5r6Ov z@q3Cjg_FHtIasWCXnJLS#q0U~#eWii_WFT!9l!p!x8Lnp@$$cd5vUi<;yDl}9F{Z6 zkJw*QX5@~WsKwM$ss}obck|tNo8r4FE4#9bvWv`_wzl>0%xvLPrCFM$6+UnWkBcf?JKg{X^&<{}AX!$zcN+Jf5m>;?_*i z8fg_E_4YF~BFLtWk1yKi^TcGC}aKh$k}prfN2&roG2Efp4Z89rgl%PoYQ zT36FhTa&4a#p}>fvlzeRYi@7uvh-VE7u(Mcv2>ya&sWja7Ph9jxrVh=D=3+Z1;r%1 zR?FiS4BzU`3AygvSZ*Sx$mM8BOa>-kKOBNP;9-b$cvT6QBd6ElZOB4MM9sUYjZ&SR zY*f|{FT?!&e?qEmWaYP!Mx#7H zB+F>ZKeSQ)30Y|#x71U_=>Q5hN`zYk0dK*`WXhnJn=&+0yq|F7;dd!2>!mXa^LO^>zg_U;jxX&hgS|NW|?IN>Uc4}d*)-tHds6$ zzSP@XypJv&_d;vLw&f?Eqd0bhLY@ul7SdVcbw?*H(uVc6X>(6V-&d$=$ld@$wr zkKY;}UU^_Q?u|b=TS2CLm6U^^+af?Q<#0sMhJzErN!njUSL5YT4OX9sg!wSuk%B=M zohNuJ5$EI4KtpzJrh2|YgfCUAVm?NZM+5z|q$pJa z`>j%RkI&o~Uo-9wkAqlYqjFc_Wq6_32!_Euw+)5w=fy`~`~KUZCeZ#oO1 z-kD?=uOdvo1?xsXNULS#icQlLiliZAF+djQ83wnc5`V)-eZ=^&DhE~4navH&LfGL>&wwQSWLEtnOZznFL?6C&!7F) zkKtJW3P+UD!kYm8&3N&0-6rtY@XeIF@R9iJM`B+HbV4r##s31`#T!sx_AIO@-cvxW zh{7sJ7oOXY7Ol^GZ^4eO)7^B(iowy*Z#-OBIr!=D58%qY^%vuP9n8joZQ_wDgM(ML zfVaQhU%1ov+iAkn_(!xNenFI8Bfuh9jmChsLRaDRp}o#oRaVA^by}yqB|m!7U0!MC z6}b4!*6?_cNY`Bi9+MJS}iZB7C{YJ7UJ>+ECGk4 znp|2Mv%u3Hjp*P%m9rVNR~ux(>pz#|os;M!BG+GPw95J@*oFZ4Y6^R5a373c>M~ID zeKOa|kK5zLFT`u(;??5kHSJIX1`4O??S%r(jML`AP5P#$c08vd*BVT)IfjHe0PO8X{M{ z&TK=6-pE!d8M;zOI!Y+J)Y5uiAcC*gsE`On@kuIacN_7^PzZ!%!!({!tD!z*DP8a_ zrzFc%CkX9%&eCOplqHFQl9pl1m}S~>*>c08-e@^yxnrR%(%>%PJIB^ANQV40ost`z z=(6lz-G`-d(nnMI{@L(ifE;Csby!|#i) z-fdZQ61c{$EThK@>y}*^6aR&-z6w@f6^~rqd6gm^$%V=f*uN*dvXa&Of`P4cv1&i> zN8VChRq3+%knK+RtW`?%IAupy2CxS)cb>Z{5!Mk;>o)22wI-|077rPT*qKRhLa#Xt z6a;!25|hP+SSXH%rcy}*8Efee4TUh1Dig9{JJ~Sbp*7|!lc!CaCbe3(8BZimC4Bup z=yTy^VD!a9H08hp^bUwy6AS^za9z}1BJg+#{ZSej@RrA{?6 zql{bma|bG2fy9bLG=$i)(U_HK52VnTA#E0Uuup=NdN5D{7+8hJA2gKAI!LeBLk|`! zK@0d@U1-Ca@tKR`Yd6-^K?azLiKO!2-8J;cN8)}(m$+9f9%1TdE=o7WzrOqK$p8G# zGNC$BIM}<2UX_Tnw*T}G_eRE;ec+L6KmW zYW$&45dBZ8D@_>YW(uNuZ}n zhucw$jy5)z>uT$78)~E5(&>RJP*p{EP_-M`W9%K4?qUI+u92&s z@;QG?nj+2;D5g}``7)OHE8MyB00=TfktXa5q&AeD+pFa-pT|QH#-a=vi6a;}B5W53 z0>Wq_x8&w|bqR1YeZSVCly^zcP4lMpgB4;3ZjL;=XL$6R>&E}!Z@T-}f3>@~Woqyq zV8^ap>0Cdsrf2oonw>W0Gq7R**|VSL_o%G9dY%^dH*R0MVrMV&@YzXV1xv?viA%(v zef~l38`I+3H(I*?02=OmSbPyAz)yFBadF*l@z;yjtR47f|I7tufq3}B3i<_bKwLXI zbMP+gSgqU4^oaLbF1*=J)P=2ttMjKsAC0JP3u>pi(#kT73$utHH>hBn8VsP%+fk@q zDYtX`PuP6C4==jv7$5r;SVcu;?d?ZTB@#B?z+iWN^~>f4D>wJ#b= z)cDXci}`4-lClf-ZaY0--)O&#B^I3qkB2eatX58?aq(tCSFU$X7e0MteLnxm`Xk9EdRNcjqM623!Ynm$=-1jI&hay@8dUORGg z8=y!n&prD!JzvF>D$h9ThH>>b3<8 zSTe-;(f0X?cD?5+6w$$Xy9; z#3(Spr~y|+zQhsg@fzHZK5}s6=?PpX{pH`Xs^X2J$gH0L)XlBp9r2azXEz&dT=xp2 z&HJHP_)KBonb{dvWd&PaJpNqamfyd&Wy2O_zLk=ySt%#w0V@TyMz7K7d7X;G|62v+27^-`yTd_dOjn(zHuOCJbU!a%dJYOHFaN-<0xE>|&CxVaayIr3Fi<@$4;OP=c<`ltt=&>lQkPu25h_ySL)06mIJ;V2<6k|m&7EH3>0L_AlG^SK6+pR+X47`bx znnr|x5G6b+zSK|(C9#_~_Thm!^sJ9afA?)7Q~Z6KWMkhSPZJDWCno4~u&($f z{6xGuCSKfM$Ug&npDOMj73k3?#akB|Tc^RQ;xQ6wiT_=BmHj^DMpsT9)l9X6ok9ef z%w|1umwKzgp!fOxHdnTxA(mv7N_9$TZB4hdx5v_%=H@iiV|h^r$w!fL3M1fpc6-Lo$&^6h7g5xy)SHS`l z=Le7xgC0D*4D}wDC*h&-in{HgDU&AS@nke6O5th&Ey!m^@b3}gmW;%09WCert}ZoPZW2csn5Q!>m+Rl~mqJ`Y`vA+Z(@pCr@gSD<7p% z(!@ltK4T!mK(f3xM$b?*t2EThg;BX6YAuJ-E{u0)lk}iC57{%%=dG&+a31Vg^v*R+ z?XM23`TdK33EUm+qS-w#_*8KZd=hS`FOG;%d?(coRN~go?xpKq*w%XRd`EP8-HL*MoBE z7?lGj1VgH!A(?e%>gs$Uo!P8#dfPN;iTSWfEpp*Wbf2T5pno!E)C`)N8yLXgMvh(K_9y*p{(vgRnMb6S-SU!7|0W zYhMu>kBo?eyGQEt$2Y*|{?z*s)7h)rd`uCqo8g%?GY9F@A}?M(ePLqz`1vnh6NH!F zo&xKni3+Fk3i|`(-+g46JtgoytJRAfz0Gd-Lk%&`>fFj$Q{RxW=q5z2-7Lx)4xLyAObZ%9(bDKqpbb0MQ)KdjiqzoRuG62#k5gPlzNUsIYD@v#e(a}) zs2wC*Jx5)qZd0?A7C*tK%pAD`QC`DJ#zb%cTok(*Csz5+|cz3sdAIeeotsYnrU#}>R- zo+|e$sCPE;D7YT38!#lpBST z%rXvoF+8Gglk76lyY3^+PskE#ID5g|s}h2#glSGBh%3b8MJVe?;~W%}Fr#u|Q4W!0 z;%*8p2bykYmKBSOR($u+Z^Zvv*9m^{+nM^YBjV?P6F-8li(eooclX=hWf^g^cuny> zNKNd1=QG9L=broIotYZuhhmNRqq;cM!b>ybz6iK71~!h3iRh!pQ{5>%JwOM>Id7L2dYyPFI#Gsmy%JPbl5CVyRafiF%KBA9Dkz1!GKF%95Ykw(_`JCZ*DC4i zN^@D+l9f|)6$&ycjpemvsr7lNIx;eL3TeZisUEOOSaK32_wj$RKF*4m8waDiwhU}T zTj`;Q~V8@l@9M?HF=Nc^zdq57JPY^70t; z1!&y2J+7&M*rL8lAEqg57JOk(nD=%2pxy_@eAB+mKDx`-@7wF6r^CP(_JvJa7F&+R z_BxD$8o}hqGYqB2bW|1#W>yt6l5!SpauXdh6Qu=7?XY%QOW)CgoVKe(puU-yHk~M* zPZ74Vx#{;!o8}uo08@38ijY$Ai39?;=&!)+3bI1hm%H+W?6B05wbJMreYJSTd%3QC zXFSTT{@|IHHRe|~JXM^8OG~$V@4@EcTPzDxe}GSk1LCdr{OKE4z$m=!R!z}h4JL@e!oy(p zj$lA5wwz1q)PO1TcpBm%B13F0OV=f92Wls3VO?!qtzQ=i#Bf*rl-=%9tINtNh~k3_ z8KMRGj0n1qqc{Q!__5SP2s0Vbxi|>LDfB^`hFrjf8IMnz3@CXf`qet#lBemM37GJX zkI`ua!$C?5B`BHHyOR!i9N^ZMfg4hvom`Z})-wG{nlu#T`4S00hOLX!pG})g>HEo8 zWOy~CA!)s*@kAU^r4G#X-?4WNY`)l;d@~K>*#Di!F&OMH%#yn*?1tSuIo#5dNO(bPA8kIV&+! z>m+5PtYlnrgTkcHXIvSW$mHIp?oaY;cR zRh+{QZUsPpCZ$kN&U8k>xnclQ&cYbhJdYVv8vPmc2kB;~Cpmpyry&(^+)^Iqra9&g z2d;DA7zc1W8M-+@`pJ0zxOFW;DqfMk&G#|MMF^4&-!{o-o9}0iGh`)DK^BJ&82y3O zG~I8!>tAZ*#T4!Bn{T z&+y-S?BY+vqa074fmdweDsgkAhhAHFJQQdC|Q>+>}#A-$m`;}&HAtR41fJ=!%I60=4H!h{_lR=+Ibh$6_)OS{HS<$l&srX zkMcP-Myi;#X!lws=<2F7EL|PevK302cVIHja_6 z#V>Wm%1JUIt%TC}C*H~kzp7z=s242>sox=+-zS+L&_o`IPM0<_nIOmnP|}L&S8SjE zh4>!4DgImTaq!(e_x5C(tC;#a@ShhJtLSHzzr*uJ@r#icIR41a101g^oNX1i-Me>< zURs!hUjseh`2PJf@6DWl=6Sm9;bo2V^5PWSH&(bNt{2}G-(@>j8DF{v8sYoJ=Zn3- zK89C;L;Rz1C;Kx>FYjKD3q~)B*dq?7Qy;OLcqR?%G4AoWHlxGalAbifdMAUyNF5Px z(QEZlrLrlS;CZ*-VkBe!xoB`W1aLDtRCYK9o``{1&7~Sp zC-=2Ng%{l+7o)}MAW9|1GB!m!NhSG!|Ux=B1+sua4+RpR9NG?{6Tzzltg z|F^^>@p70FfF1zn$H5z8;>B_C&9TC3XPy?{2Ez6|8Z#INN&k)$pi2B;#fFjX8wU4( z>&I^Pn0OJ?7er7ezNxT)F>zy|WuVv&&ki&K1{~M}Iy9O^%dFAyGQIf99Za6ibh>7 z9|oMAq6NC8#h1zA5Jg)PuQ6Nf7P~LUk`}p=u2Cv$P~POQ`3UuspT``%TCGY|rtzyt zCK3#``f>j6_qSm4hs#kMf*qOJOzP!YBTaWH`;}0s#6Z*Ixk>^%vT!!e<#xxay^fp% zIC4(lbk-&D8)_Q~RrydX6T438^0ZN~c=JYqH|5<%AmlFRZsh14g!l9|$Lv5Z1sCHl z*WRdwhiiemHd!mw((c;f+Ob;vqQV_Z#)R1A*o~NC4BbIvj;oEuYPpdA9Nu&}bUKAPR$bTvg`bb}F%$8^j2>6w-ol5TP{t3$e-^x^Y zzLFjhuZEWDM*7Bhv3tC5=#BN_$Dr})UA!GE2ffi}e*moFC(F7IY}>MQZ2b{8JOo?B zCh&%+VfKhB^w0$HPeQHP^@)L|2k?-K7W>X{te z|5)K0^jY!6k5+sLLL-1584>S{h*w6~L2;7czh{*nu)n0-DDG_`+yqNujbIh?fLrX& zbS(C{6B$QsLu2Ct7>Q#K<>5?cK_BvmHJ~5G^ezn1=V|5)dR8@i=Xh0BIsUW_$Lc7$ zuLP^7y3k5n!Y_FhtfD%p7W6I9^?e$wI?>exns7m;iOLfW-(Ere#RK30y0aBxH8?@< zF$ZlvN7DnU1w6lOK^uO}O$of<7LtM>ObBdJ=oSWqjl#5WS-2x81)-xAJ63MNg4Wg! zp{=d9sWFYCqzwASG8wWxX1f~(8a6i2?uKN8(14!|H;gq*G#qP~ZqPI|s5<=q&QRx) z2l7kMu`m>k28KgpAs7mEV77#XR-+wXZcfHYORCmX!rhW=5n2XXm=;fq2lI_K3Bf>3 zpvyVrgy*PB6m(Jn^g-(q3%iKg8?(@6b2!XqjS9cl&K=dA(_PYC*WK35>ez%Xr|Z)7 z>xOg+9j@r4Z=y9VX}R5(OGqMZeI*6AR0`|2Z8FYdwPkW%Qs%pf{4o9k8Da#8S{r&< zcGWitNTKg$W1^9$xh2q9AE_(jufrcVC5g9$TxK?8W%u1DRRxt_N-%x*9i9dc$jo)m z&`kkpTp3~&C^I#h6oi#TOf3?Red4oqbV9%UdIFj9eH6XXC{W>05*iSHGEZ?!HH8dpB&al=P}y&m}oaljA8 z;FCMSh5Wt)-6ReS%|5LBh&@X2$Zgh9&ETpK$T}1n4b5eZzGNWfcNm*1%gvOlk}g-N zluFv{;y9fy?!;g=>{{{l;)}CKIl}{ShOT;#04ZJU4;~f1*Y{%%`I?y&&GE1#6}B z1qFF6R5PWNI&-H~Do&$N&~xJ2UT&5HPjKJip5&XA zy5Z;9SF`_;{lovE>s!E@I@5L6zgAYRkgQxtAR+gVgd`>*i6J2b76=#-0TB>UE>dbO z^@5jLwH#rr<7V8BGLGZpZh6${?sV*BEC&&-wbgN)Gd;GWjK|Z*@wi)`v)!GZj#75( z?pTGz`Tw;Npxv{{ZLMUj1w8rw@BjYqd%yRMK8cc1H1FqQHc&WPYXw%T-i#<>j0kuh z8_j^TFlKk6*l~f^?_He#*L=Jt|Fe8NpPDd&dqyy31S7^PM*M^k95w=(vDkHq8;?S(eL#(GN|x;1E$&U5C=S%jCN4PvA(m5y({N{#*bioFd_k6b z7xh%8TDfNXvZAT>ET3FdvmzG{~gkLL39|;0zu~_=zjK zhrqnQt(nG{KaDd7oe{hObWU!?3z%x+5z~bGA3tK&UHLMN|1I;X?Ui3%?y}!LfAstZ zy<4km4l@kn1Sf!j&rC3T$+H88-aGNik^Z5Rzx!FD^aF79u@`(XFu-IE;3u{AdfHNW z_{2A9qJCfjCkvUEnR^7$`}0bseM(xNs4I$J< z&>Br~mIwxt@{H2bVrAG9aplOB$}$AtJ8R9&b-65MA!NIfkk{+;l_iP=B*##bh$EQJ zh$Ra{K=9-(iz5- z&>0Lol2V6}0Ak`z3AjXBBB?;4g#(dA(fWCuHQ*F0FH7z)KDS*gNlP-LcE=Gra2PVS zvk(a`M}4X0;mBO84$6PnNz9S5E55IrJx2~vIm@2|Z5_1|rtBFdd^I>5qOei}oMGeF zzTJ7m;le-q*=N56sR)A7|-Olot=bArET_l42SB$nsmt?U?-L>gtHMYVqQHXuq0B-O{BX--CvL*b@*F8G&Fh5{J9P@q7x^8x?Tn+;%oA zOVdzaZ$yktr!_({4ZQ*)gAG;`r9h(~3dAZ^X-q0@fIWd^N>27i+$%nXcjc8j2fmQ^QchrG~KvUQI(ygPlmKrsR)UEOsa27CdXJ z^jG4QEZ^Xn3L9lJBK#~ZQ)jE+@_<1P@R+pbgy%dcMlE&2fq)+gZ+Kxeh9n-VmQqU* zF`>AQ&Z^DAv$E<~GQ)UjNeLm%Ko^>iy7ntT1?BSsFEv&L-l+m(b$9C~>NqayUhE)- zSE#*Jb#V-f*HwAd6$0K2b)wvkFhcfNK>@Fu5BPiufrJ-??L1J!13VPb2U+LODYeY@ zyd@i1A}vX(Ic^5vRL8g;HdL5$Cv)L}2sf};m!Ha%v;2qbX_4e`LIVxe*)=SiA(xW~ zaOv^~2x1pWvKh{dt69Op)E>v55=^FH=XT1>?bXdl_R$mOFcG8#Ec91k&*7>jv$Kbi z>)yo$$eBYalT$*x*~>d*M+)gc0jTc#%-s>j zV+nx!eN(p?`t}Dx{+GwSQ=@P0`mkweuY4XZBp_AN{cB+7;&WJ!Of#4?#ec-5ALBAL;^u zH1VD>a6ZDE_?*`_SjrSlVWF~h&Vo|>M(fU18ydle_U7(&YcU~~$^3_40M0yecKj`5 zd4U?SX533lRk>;h8h$wr2XLb?bvB+4M@NZ*9d05|zzYYPd!Z4bluY8K^-GXsv}9S6 z^gYmw$*@eYc0^C<^*WSs(Jsf(Vgh(8VCda4tghpsB|y3wXk`);zo4>mRY3_#BA1rN z+zLejnxbMdnIs`e2vMqd38sM0Zmz28cITofUsaWkVCN&tmn~f$L@?vBKxY7F2T#En zugBY1+sqc_a5zxn<$TAog& z!#i~kb+}HapVoknI70i28t{*rS2S;Fh+YlAWg4T#r>W7jX*O#32Q|kv?`W=TKGS@q z;dg6*PXjbuQm2g#vx31ClRTTcp?)w7kqmpP;dEwL%&3i^VV9E5fioaV5wlVUGh^<- zOg@mCy=Fyn0=}tW;E%osNh+B+vsp^|mxH{LRL1b&S7*V7d%d#CQuuTM@gCyR=fzfk1F1H8<7uZ7yR z1_aY2yFdW!ioihbG4ae!nhD_j_nuIVz{dQ9AZ*MS@S_L9*1kENE~w+@VL4b7Y^OCk zUEciMpw}CT7{x@oP-wGB<=Gt$9cs*p z(RRH)OP3CRIYtPDVj%WOE=q8T#H>(cQ8H{J=mj{8q~QqhpJ|tM%WxTL7Lm!!Y$96G zrrW6N)e$;RFIqqFNfND1=nPCrDRIBDPkBj6OejIIvPOw3XNsgjHoMb;s%epyq!2=s z%hI%bpDKkj#b8PW+ns4l;rosPa?_Ys$}JDhN&f~Je*>?)g<|Bp~cCqKdiNe z^I72obQF;~3cd%Lw!N@zbw&SEFKpS=zpUxS1KW@APk!DvELNP{*7tbN+b{hX7jEr* zZcA+7lyE`R!A^>_b%1H(j^VLA^+M2j&c+rwj>qf-92 z(=MAS8x<@7A}1Z5FJ{x&gn)pt^s13OcaE8Y5zQHWTAD(kMh;d9Jq(ynB&ky>b0TmU_G=qxV9 z(;Xxr5mt}li}^yGMxzrFd`A`_ve275Lw;{aVq0l@&i0m#_oD4R+efx1XyYxoNtD?- zZFtNEOg4bicpr{m$G^g-aiSJUTo>b@oewa+pMQdXmp{QLO>mRuck_AOAz;J#p%5Rp z@st-;08@b>)g{%0iYQjqsBl#_W}Pxy zrQ6JU)wZO3GIF(>SckibyQ5Rlfo?ZE#>btqX%pN=9iSW;?@ZgjJlW<+Jz({nW?KIP zfj~;vXAaK@+ohlC<(^e?%3*^PvbmS6j1!x*>q8s7IBMpu% z)RuFg@$}Yp9dM<)k{0z62Z`eZL2N^(Z37LoV$*Z7)yCEM_0^xP{%ZB~YTky`=fH|H zYg}Gqd_FwobhwA=f!8|y;`*og=n|6a0w8GG`XaGIpN0rE)GKvM8i-A6!UECuV)e8d zSF3w%mL2H&JK*(2+ZSPr!Ng*)7~$zffzGu^8g2b^ z>$|$&17Qrq^3df1fmk#gj&3vc_x%Uq*y`J9&-@|G6UG-svDe8~X(e7wpl=K-k z8hQ-`xgLuexF<_Zd0Y9$a-v*D1EfrW{&i!?7T=EI9W^`Jc5K|yyW`-F<2&BjadF4> z9g-cET$9C){sOJc0eT$=9mgH-I4(M_J3e!K<(PJe9F7tT`Z&Ga25hzxnFvgafCybQ zO)U166qnSLY%JlGupp}YD8=M!VR5;eP>PiLxFtZrcT>q$AE)HB8LdMm16Nw$ph1Tq zXw?;XdMf?ONd&^znNi1zviXwqK_A20J?cK!nG3JZ{)zzb-H))X3M{afMcuXBha>xb z#CM@!qWJJn?n?~b=-L0s68iQeGswHfd<_oVsBaZY8#_8SZw$cbjdp?9Lr#w&QI)g#~p=n(P?i)`D{gv`;c9pT+|YdW{y0k&5MLWOHy1uyr1 zcjpd|u2bOa!2j)D7xwNviL14D#!Qbs&i;7Ja`Vaf&6_tt>5Uusy^ikc_RaRUOS@N9 z?L?fCY0P(m8~lI9?3fGAq8W4=K>(}RZnvuDIkQk}n^vqi54w?lDlJaW$)GYaxRgN$ zEe0T6OBhtF(rPO$qNsq`YV|nuET^QwV9*-fW*;S!@%S<=kPuqF6*&znhz*;~E@<5& zv`3TeIS2BG1AZUeKf4je`5B5dL|JeamDO+z@hC-T8K&_NJO^4;IQSAFT9VVET3$O3 zFHSDXS(G5#4;x?`Vgqa&Y^G1Ugw-$eC3|60B#*NVu`}pVcm;$V4RSE1Ae*pCR?U=i z=bNC7%TE0e{gK1j9-_eI7vYbluHk_b;7dk*1te}9IP(aPPlj;rF!+T&8V-K#f~Lh|A-ylCW2inUueNR;$e{8Mm{>Xl$sdbGsKVD30;w`9l$2H6nJa!Q3EDi|gv_!o`a#Yid|1p;~J; z8nsI*smjE{M6O2TQmX*Sz|Mmx>S-KyxnPJDJ(E#O)mET3=n>xnUul4)oCp>Naix+_ zP$Vhmp@TSuFqD=e2-Ms@EH7e-9Sieg`5Bbo2Mz`S5|q3coDTAOgV%$&KM3TMEFbvt zK_UZwYx()`+sR1q#ckS+T3pMQ3DZ$gfCa$EM#a%+Eez$cxkc1j?+86mg!PY+nPO|C zWiI9W3_Kv2w3++SA0vSj@ldi>H4eCj_!*SIc$5VRBn2pDXyKzNUeOs| zGo@Hko}=L&Kj_PwFDJRGZR(b!LQLJ}R&NOlxXkp6!R|LN2-V;VaNBm3VZb#Z0{>0TTEhd;`SQ2OzULsfo$eHsOSd)<{FSfca~tzRSfoTSU1qW z^MU~vxWHOVzXfboKr67+9W@x3{jPow^K!U9!ff5vv$x-wd1B4YhhV_Td;qk--*>t1 zLLVZ`fiIW)?vx!l)Uof-)Mork=G2$Xh=m!h3CH*sF^c7wUyiNB+Q3~}Bwp08aJg8D zEkl%O%NBcmK7?r=jv|8j)x)Jqnd z((%ke#f3!Ib0=%5b8?egK{t zPeMayL^zW$nSgJ6CPk7&g3if~ps9Vn`M=`2pRb(#;QM0%aNR*XRMBGRZ^Q;OgTC_* z5}ps6_K8)ysydi7qHYjmgK#tRF7rwUu&<${;;LFop}ort-{TDeC6F~UA2JuZm|e+F z3=_qL=mc45mUo&K%=sYz6?%lr~a+W7-`jh@W z1H%OqpD0yrolo{&29Zk`4|@dXVIO z(n%GWMA`=|LzEoangYu}Nx966it7s8r}#>N7iR)RrXo{{rNhG|$d}8c2!`UY zrW2E_=Wu?&Sh_iuT^a!jQArmkQ9TU&fE9i?cvCa9b& z{tNRE+{EqM_dh8kc2D6ra}xi0N=o!RY9@WmXth#f80E9Gqh%HO=Rkaz zEie@fS1gDjk61_-6%~5&&a=?`f?>bk!^V}?z2+lk`~@>;G_Nt^?7tv!`VwaAVzD?) zSk1!E$O_6t`boT^&`Ofl!U|qmHi4tWPc9TZf&AOJ=R`hgI3XM}^L+ zUJDStYraCsI%WZ9uK8wyYqUvHEhec4U>u_$E???7R8WGyb53>l0??L5m@j_y26Nt2 z1{z-dL!QZOn=B%RnD9@Z{rZFa*slGXt7(&kx&3KvQDws4@ho#udv%OC1U3wU9%j## ztGJMYolw?O}fN=f2v~U;g0_X9D%_{1)iIX9W=t{`vvt z(>K#3+n+CF9#3O-Lv4*lEmiGvCXS6i?o_J5vICDFA7CzOw64yAA}|i@xOeJ9I0h8c z#e&=X_mX+YJnZp*cSsO)I?W>xod?fiei+mG{fJb5BzGQ(483!haLN#T#wZ{xnaGYs z#@sXlQ>%lVHX3Gu&la$96s}g(K%K_&^GOqFX>yJi%4v6E7K<~-jrO!YlgKyVJmDO3 z66j?JZt$Ewr;kJ)ZdfjuhmOi1iFO>|xSs?=no>cE z`rOxApo4-Yl_UipPii!Rr6Z-fTNn(3NcnO*}cuJd72G`S{dBJncy}E}r_9Xq+nF^ke+mcAgwK z!ERS$-GP^0nzC0g$NKAcp3~YctoZ;ah~Lc*1u{|J4mkRg-hSk##LQpdck~9P#tKpW z9DF)z)@4OmaPvx9mYX|Itp;wl-ENaBmGe+FF27_6@;lW<)iMz)<)H={prO8QX+69x zOqWO&3WW<7mM>!C$jZ`6UDTRi4Js=^bv~~t$+y@@FS6>5Mr$w_i)l30+FGm5t}P)UxQ1_<{ws z#qGu2#YAy&JUAbf6-2%~A6#q8MQU_JISikd)_sP7S`5_GwbkLr>wpidtHXRmdU=U4 z?u!@4ug7^Cny^Gn8zk(5Rs%V7}+%;Kxr8`~#-?OF@mKva$?HxdOiFc2TNh>9eg z9eczqAbVDKmwh*yT&Jb@4OoOL@`gdKkR5geRcJwuXbo&hmKig!DLGzw)+?om59VU? z(Wk`UlLg_**?jPCBtA&u(W(E{3$D^d%(kCyW{SNL@Fd3ArqV#>``NamZ`dN|2Ag_1 zf7H6Ey=Qy>MVXMfRKHEE*x4~6p z2c~}iKP$@q3~n&B%->2&0R`Qd;g>*PQTD=9fkexTKiaYCg&#e$qki9Z=6&WRW`I|* zin{a4&;R<*0kZoJ{5i09@18x(=W9CKw>Cq|H?jJ?9Ny0aJ=DL_GNaf;8F8^xgPSOp z$E0;sWjC8yTB5cyHkD0-I?g-KN~O7(I=LK1f=>-++N`Wd7M$L!R(+OQC4V0j!D-*j z0y*Ne!mfiip~|nMm9C_n}ST z4|!iRJ&#YGN>dCT+c#A>bsb?IehVs^m_g?ADx|YvfN{}X{z^=SWUF9ogb-_p z{lu;_nX)W)uh(zm6MV5jug~qyQQ!1rQqEt#`1foHUjK-qDSR`D8!XE=xEW{=#&>K4*V_`AJv5OdwieXrcB6!J` z-Z(8XAO~hB6|i|XIXr@gck}vqL%d782_DH~d0ul9ycEwXmy&a*TKpeGQsA+cWZj*k z;ho`=;@rG*^x-sT0J8D2iEkFe^eaM{XjOwo6jcBc<3GQfIz^N6wIy zBVKwl$tg!D*$E5HSvm03E8yFyHwBTYli=IKkB1MxjyJ@^FMHg)vrJ&iS&$1BHZeoY z0p``It2P(-3z+u}GrepP!^cbi&-m}Urnb(17j!Vkh$iM3=y*Jgw!ydPnfKl8{{Guj zZ&y`qZ(ChdO80;Ck1L)Ye7^>SiXEI zLV&Hrya>%sBPP+)o@bvz>hL3~Hi1Bhgdba{Cq`P^*}$dsEJ09fJ2pOtc$iLSZqRnY z*E1$xcC5AxnO(XmvsL9;StKx2S8qx3B{dBjmaakxy^=x%Q5?yM=BTx(up#Q|=<>K+ zIT1ucJCZj)@9FjI+Z)zyfWz7AU5?IQ4kD);8WI&qQmv}8vML$ehfZ6q&uoH+pJ_1* zTLkUsL?3DD0_}O-d3|{&@_7C{uyF%0!FvlZkszllZ$niJNw!pN$m_}xC`!0+-N}XP zCH@k+q_1S4uhEtpgy z4a}q!=Vnz>-cXs;RzOYgv$Pj10)^$}lgpFJ$=u8cj}0ax^CUMqYQE*q3fv>2Htx`H zz7?2}whC(AvStL)D{AD*yuELKt_$q=`Sky2T*ar_tJ+6)56ge4 zImFy6hsJ__80`@J;cfXEl-ld7dp>zm`5}(;1NGuoP{AAko0)(3Lnv??bmJ$jX7A*E zVA}GuMLY4Wed*#`xB8j8{md%x8hP@{+YkBmRf?_6JOA)}e_x=wdEN3~GoRdge)22> zHcvA9nQfD(|K0=r`F;Mgm=eyQ^RXC4gI~OhT1L(~FbpXpsadWTvZzQ<$a1+VT`qaL zTp|%E(`B*{63O*>=FRivDcRMeBU|b7DYG5C7#tC6P7_foii#!akq99Yz$Jl&AWFl? z(8Hjareb+{u~;~)56yGV^LRuVh)P}Wa+=SBLM#W`aHd3_$jQ-W%8O)$g_wj)CkRxm z#4!Xr25@N`ql*HOC_=B}{s8btVdM<0DFB>20j8()CbrL)#PohWt*_Ph!QD&xG5uY= zs9QgzpU@L}G*Z&%`4eac$MxMZAY%oh)4K&gfVM$R;~Ydd<;e*+ z;ZtZ+&Mruho->;(9H@S!7~*h<`w2|%mmXO3W1*j$rsP! zpD}67P`C(&>z-A2#C+z_g~<_c>}DRlynp|pK7#-Bt((30ulDU@e)ap4 zrOktM`8_9mCNZ+X^oDY0+&-8_QD|^6a|rnNc(9% z#pj{kCPF89A3TNSU`A*}M(C=|F)D_#Dh1G_R*&ZK3nC&ZTd$MknR5tUT&pb(Mv%ot zK=bK%*qKy!3)51smvWd9U4W5tIdv#;Ey04QaWCYQghCQ0fhk~!S2C(n7sO&>2a8z8 z;?R=Y;gru4AapI_{y7Mv2tFbL`V1q!f>ufEZAr?X%`8h4S3g0>)nJM)nxpgQByBiI zY?P&qPI|{^U?#OZ&ZU)E(OutM*xhV@E|`^UK+4^C&YX5!Jmt>h(AUkfqnT$-10TeH zQnX@!Yv}+!GPwsISF1CpvBN`B#knK9VKg;0EGln&SXTH&RVnjnH9zg}u(NPoVj2U3 z1I)442KMhcMlSj3&q@#Nt{PxIoOaXpTMN*UL69M-Zd>t!w1vaF};bsS|J$F(1)We}~?&R9;@ z<4${N%k6l2d)=Pa_4Ib#UTT?6XSP-HdY|Wc6QHwm?zu{mH+dmw-sky${{Fw;T`24A z)<3%h&hjr_=f6sMZhv|OjDxO~d%c@?P1@oI+YZ8!sg)0RixX$h9eC*+S_ifV-$4=O ze?b<=PL+XT&ZyHF4MPZlHvjar?U7gfK^y53YMm1 zS?Ec4&S=zOy`w1Sp=6BACgWsjS-)&jCZ%LP^kf7b&dU~M(m~mbY*|J($U0G+ufs_J zBSKf+@Bcho8`TJK=bVC{K>tM$KH5k)hinrrJFZ*>G`WVt+O-y$iC0gJp3hVRuKkXgPQ9*TYmCVKgspKYBud?jDhb^j&t<>SXQ z=Z|N?$KlbIUCYNtyZ6JP$(66Rh<$f=A2>HJ@E!gh>0$xFwrHN&G`2J=C}8j&mBKHJ}v&$_>rX- zciP(04gdAXmX4%<-%pqCb6<_W_ulwd;G4MF2X{rxy2vPwi zFc=sKOa{aO!Vg!H3+fzoL-D0gk(bOyZg3@x@+Un^|wK(oqKKTuoe{94ios*Eynf7E3@R!5#1>JS~FYE?>Yt7q4)r zSovnoWVDSB?p?5C9L|6E8Gjqj@%)dU6Y(j2!6{c9ITEiJY`FtQ2KW!=#>Wo7D8AA= zy>;(iap5oi*WGhdE3^DNyV8fQIkdMATsVm$oQ3 zZlq%f-a58&ZkKq=%&DRCv#S0BJ%a}XZi&yO*NDWeXnyUN?pCZ4h zqP#qAqo}ywSLJZ%9A1LWF%9oYzDrqI>C{3o7KuHNPbRgqjAlMRbU#>2i zZPG*p;=}By9eUoE<>IWYBsQ`y*U8bMGdV+O5XgZA_Zb%W+p`brU1@f7A+X9CD}+(G zup85NJ9U!PZcfcwXeE(`Tx3q66xn@4R;!Z|m(qW7F~d=CfdBMLOEQ&+|HUZ(19)ch zL!)gweh7cG^83G^UI1l#(o_7^%-(PvoB@}|&;R;=|I49Y+~eQn$4j@!RKvr5_fY&c zIJ}!*x^QT8atst*1u|AI(@&MQOkSHD-O;smyle8kYs!MBf83F|!k>uqQ@{qtdw=&& zb5};po#j^?f2{C}JCst~3KVyDDems>ZUu_NVuj+xio1JpU)*JJFYdnhVte^L&tGug z-JE&#Jvk#elgvyq$p`Qz3fUCJhvoHMd-C$Fz;y3#w737c#svIfX6|bJ3G{E}aZ?UU zA*TSfjItsz>I?5W`dbEL6`fU8iWcsW`r_n(;^NL2ZDM zmWsq#bM_tuz10z}9j$Q+i}%ruLDA#vRN<6gm>J?CGxaD1qtNd6M4Bd0AO97`MQEne<${~~ z(;T}@<3t%E%Q}ruQ%L4MVvUwAtj11t1JO)|<%Klq<5CTE8=&_!a8>ttruC9sDY}z1 za8aH{?ZBXS_xJtD=6LUy>eNE~MaM_+11J2GcJ!AN$*yAo=?r8tV!io^=iDR#mL#7J zmjIG(qA9BcuQx|M)(*0!w%`M9@opw=aEr}n*WHf1y?9d2$3GgLD7AUTGVU+LZy!yi zqS26Q##e~D1hp^vNIU%s@QWaVJ$xv-fha{fco3@uf3T#>oD$pL%r|OLq}2--QMbUe zc{8wz&c>MG0e+I%7r2&VFJL-UHc`IPGg_s_aNCSk*xzdJWFdi(>IF&oA8lL=4bs+q zWQwTA*}*(L5RhYD_GTcjwvhvo7BQMxTkMwiD(xZGD}Y zYGfjSG_PMn4LfG5mura%k;&WN$3$dg=~S~D7F#|W!Tx9KizMaB_Lxp|MfvBz!_O>i zbNAtvHf{!PChEzz+FA(fk4~Knc^Q4C7UmRG3DhC0U+4Q^s|YsDCfEf!K3xHRRqbH7 zm^?~&kgbhTXIV3OcZo;x6Lai%jhm&*b!0t)sVU>5nA|WM6|cqvCuG1f6Ke?zc4H!W z*dDBJCJbe^|2{c)WPM=hl7IIE`Ni*qr{Xn1B?HC&)ut+x{gX@U<_HzP8(&VDu{h0vzN!xs8 z{33p8GPw5O;1Oho1?}zoQ-cNL<~zJW)ZuP(Rz30i(B9YWvbVo5-C^gvhl>->Z4*XB zL4bP<(CGG=#Y&fN5_Cp-((U%TPRnCl~S)nh|VJ~-dnRaZY4gSrI65jgxZ*^|EDRg)eu(i5;v^<6W$1x$@;AZq# znYQVhKN(_qn9mms6$I`QX-w*w223?Ue+$^KLOu3;eb6ofhf$L)=@g2!zH1#zJJKuk2yU4HfE_eEEDV3!+>T9ldgIQquvb z>D`2`zjKGFd{s;w^!Et9DKU(E9I>eLp+#`uMY!I}k= zlz%HW;qg#ONvko<@G4A}VPXBTzd+d>{ncFFI(`Le1miT6VyDDhaRTpVP!dRhuQ2>% z5n7k9Z0RV#gOeH0Jmft1$6`zuz2Qu%HLyZe@`u-trt-Dw^NsuP`>A`U^XJuEdqByn zVu$~0bZtxb+S~VM{PSx>k9%}}|7jLG7Zn}PMK6&VNY@m(XOtkXR>_HmN)a&i$xJ?r zBURjXs9RFaP@Spt3g0MYfYsltkay$bCf+7KfF_WJ1)SJlI=vm*`Zbo!IIf!*%J(K^ z_^BHkJ{P{%BxDA^AdZzLkjD>+?-&- z5UUcN>7E3$|tSEdRD|yS4-J@ggquU>`|Tuy;)Sg)$RUOzenMs0>X_V4wdB zaiC@1EAK<-ebRp5^f0-MAcW<22LiS|V_L%(Mi`W_x03jw_8Q?|XKC6^>b ziU9n@by19mi!ShZD691bab^IJnhyyo*g8SA`)VLPho@ujjoE2vo6f-YVa-exLN4=O z>3N-uk9$D^ zek@y2HOeu`X(_+KM#o+DRhwIw30GMD+eEko{4_%Bf9OW1sasX+u~SmWD7qrnhpz)` zFGk>er;rJ?rBKE5k=_pFpd+A9XL<{7l0eFkM(=g}Kbk*vn%JaxH6dKm4oaCBB56&Gmob zTC>^+5`kgCZ z@n4Ae&8Yu$HdZGr?o2i2-`d@MOxYhnqnLlIPZjakmk>G;Fc7X{2wcto{sQXva#q{u z=Yv3yxxkFE7Ece{Uk0yl+TXwFL~!Sh%{6Y-*izu)D8`yv7ljVYG7U?zzf?vW^?pS} z_%U>pwzRMn!lF}ZooSsL-fR~X&Sv2KEX(o)(GTSmRJ{MXQk%9}h6RALe!&eBUW#l+ zB~|Tfh*bY6zqiW34*RQ3LGm2zZ;Q9A7U>?+ga~Nfr$1WyjaNpo1--|_O*9n}$40Jt z>#qo)gH9-KRXNKQINU;8lys0LQO~#pTo0^ewkL<5F(VI#1jzqHCzhiC`EOj(MLR|B zS8R4=_6j6qh62GnH}{z@kpWK7-Atl!IX`&xYr!?sUqBx&ob0^0bh^$V>*i2oDCo+= zS`g^;X~tvp%2k^FlUJDS2ozIRPmsC)q{rgrFs6pNX7*}wORCUEz7&Z%;@g&2VQNk@ zMi7WRit7rq+0e(+FLsW2%6WB4JdkQ;rN~uJv5h zb!sLGjgpOXGD;yiZPO()h4t>x!cWDXrBZ2H`T|QJ7udG0R=BWeE%;41t7d5T-v=H? zwmK`!)aqq>ZhBSJwJX#@bNf!?qpu+XHK~MKRwC9wQ!+NnDFg!i-GbXz3;uU@`>c#) z^gm5fWYv9KTy^dDnZ#zIk^o6PZc|Z0ff0TCM!uXEe~j-nMyIJb0bkV(a0K8h>onqQ z>Bjk(r%4gH9ISUPlRibsSZMf<*9r)w1{P^j&CSMTYZ?5*KA`{AgPR^%44(H&$#xeFJ2 zix(B?aa7?;CyFc0(mrp|yrx8Lg(#6f-tWt}kn%Uk3av{!8o_=c&?gW`zR1x;u!>y} zGE#=<|2{UN%TK|OB^~dfA_b+<*TbJb?_|Sdp z(Bd9rYpazI*rb+^pM8IoXth-q4VW)5>=zkXT6T)m;_4FS#@Eg6c<|GKQb+ecek_-m zDR{&S&%7A#Q$o?gq&Xe&^uJn|NA2M2vD`TBm!=xdNSLFUph%PR^48j>qBQO9)U%6N zxE$B6b1PorZmlOUF?}XCG3`p5UOE~a5yq*W)$ePl18&Ke=8-5Lk)}&@=H&7({%Aiv z%=YSi#4b&mp=ls7v1M7!PZmsgB#D`j^7 zB{{Jptj#kftvhFmLd8+v_8!O3mL#P*rq;VK4CUS?L976ey#}4f&72yCXP3`XZy z=K5bS-)t%C?j%q6?(4uvKDOLjj%^_o#jbI)A$@E3EGJ(ZQHBdL!lS05oNzC-e=&F@ z4w=Fi^XFZf1DObiferPzn%hL0Aq>3)?3w=}?xMMTUy>Z90N<2>-n?Z%HgDxDeNb8g&4ZR$ z7dI1e3beKg9wDOO409$A zPo?au%e@-7WhPuiMG8hX%lW#1B+5c&n$(<}X*G3Et&?)l(6$Wt^bam05f)K}W6eRH z#PT-^qih zXuF326nySy1fm~o*w#+y)ns&NgxO&}@9q|GigEA^ZFcaoaWDuVSm7{gkft}!A;lST zr{-k0!zjAKauq`$51qj`H|Y<5>}a8S@p~?y4_f2Mzqf=$2cX8jGS{4AiYcnOt_TFW zzt&?Vo!E$!tRwZrB^!G%Iasr5HQN>AcFY@)%h;uRC2?_NDZ)8+wLL_(2{26>D=-Am zKQELOSu2t`%aGNO4}T?M015m`I163GK8^XY(Qb?DMR}TpJ0EN0JN5xRyeiMRpE}ql zqYsvR*AGhMy;@c$U}-Y@2L)pYTSpwH27z!TyQZnyf!Nk$^!7g7hP?2BHBt0$@aM_08&!}<&J z`XNV@nKMU}e^7=qdfE%xQ?4QS{*oIDq^mG)agjvm(rZGGX*6yhKM1VmdxJ z;6A3n@Cdf?tr%fUsA<+*%wME30YDNvHBe zohlNi$LjRpq$br#7R*KChTEK)hb{1S8&|6Sb@S<3>VN^1EyOA*jV@9eo_B_^w2X-1 zT$tRWBg|K&{xsQ24j+VH6v5NfU{cVUQ?AIVjNlyE=?j0F^3}~=dE0>~p$HhhXa;qDt+6=P54t=u(EA7uJ;!3T4k_G2XlwiA2!nGpJeq-OA-D&1c;kn&&58 z^Ug3xO@;J%X+#jrEna-j1+UCozwx2pmnzR5_pU&;y*LuM6l zC$BgDU%9spq>C*f>iqQ=-dU`##4~Xi>Shz2%G7yj8eB{EINML*bhIBircRoEwpLq; zv;Gn6)TAldlpXjQaS6_Av?*h$*JoC^y=WZz zI-bGwCm=*NsOK#{HP9-TjplVPqX+p9J|WSk#7!XWQaOPSdwRl>N-|Bo3Va2>Qk*8H zX$Bv(k0I8ur#lEvXU81g6Gb%c6LQ>S2TLwOSU~%M=!}NVGdz*tBVK_pBZpYpN&_>S zKd}f5?HMEVOSayz=Um+BtHh_*;AXP7KK8(i_Y6z7VvAKwqDM*c1z)jmQ8|Z*Ok~h~NlMA!v)$G~cG^6)Kb`yqIoSqC#XmOJ|DWK8RmA&U z!Ox_RWFL;76Uiwy&5Lt(8!6MLz9iCnAXfHO{8so9$I;^MW8d_zf}XBu((+eZT7lz{ zZ(58`>nGNHkGwZr?U1*zSY5aPJaLZPEFRdx6m(Y3n9kN#jV`4wESZWilf2wS4P!G$ zLNDA%jVHsTB*izwG!05Fj6llA9W3vq$gYnofA0|P46|sGS7#!a1h_FCtV>JW|$y^9nnDc`Pz@RX>9 zeP=KFdNPukoR~r;PFYJC3lbdg(*wk;STqE9B(CEgWA)>$^ zrBbh^OKM|JcgD1?-CC=vsq26S5jUhGJ;92UpfLPedANtMqYOqLLzCKZM8b-&Qh-HZ z^NkbdyqqOs_=pyhD4Qv{yb_p=k4#h`o-cN^l(3$g?192ZJ_me8IPsdzo63(x+4U>) zRH~OcYRh-cL=QH#o~z;^!8{P7KcC+x`{IinN+m5^i_dIXv&J;-W^c9sSyu=b-XJLO z7c>eQ#GP~Cr*PVHH41*ln}#Xte<6Jfqec!Y`qAwWCS8 zSUPpTd|CcVT)Tc2SL>^@BD~NVbBtRDulK$Pq|slRrT&Mar@>-tL zP_rY>nk#R7l7&dE4O8Qw`3u6Yf+M16gen!}?;=OTXF7D)k|qIx6Gg>(RO*K2^)Ck7 z3*q(CKd+uqqWIUsb)%3O;5Uu46*d;6uNh*W^}F*|ZIF*)+X78^KI)%>t7&`RG%7PD zc@lMWni$8U%yQI8Qp(gNgk*AeSc7QZP7?6HiN45Qj=)1s{pVu0SiD%X$aj-0Za=vG zWeEIbyd$A6Oh7))6c?Ps&Wo&!p$I5ZCE0V)8Vvq!y7i{z`cnn91$er3d$pCoazsGd z#XiRRQ_|N!qjs_AgH{X3C1p(e(VK)s@UNH0ZO=vu;iK{p7S=`w4|rz#A86`m1=8DY zdpU~JbF+Z%3X~kBV}{n^`psi(89+Nm%duQAMy zH(aM(Le~bqGUk`P!_Rb4X6oxmK5SvS3~c7;Ba-9A3UqOk_f+y$1g%MK?e}YubW-#g z%QnUD=d6O`2~@+FwZtF3X3}S7*G9UdAm$FJRW_*g$!hY{h=be~dVbKwE*M}gHXC#F zvP|1m!LoyaLT$UYUvVd2uy(dr+eQ z6_>IrPG31J!byKbM<+df zHcoHz6I*(G_`*EN1o_wXd=H49+Z>CU)dA8Ns+*;6Ax{+C;vjco;3n1ud{6gt&o}a; zi?j9hoORMlW#L;@x%A2X`ed!y##W)l)|>4b77o{!<*I&)p$Xt0CI^=Xt1+g8Wcmif z*?41y&Be{lH~2UM%`U(Di%F1QPmn0Im(3af-W8HXQ?0i+ozZ96i+k0j@QfwmjVkmL zME3`yhmDV`FC! zi7UO#BlFr!VZVl7iCQ4T^Tj&3LcfHChOVKVepiQOPds*$U|O68-FAm3UOLSyH!`Eo z!EwUfz(vDRt_8US5zAuTV*Nrw^xS3cKRY?Q*jNX)nV~J$7q>(o_jT42lV8|*H6yK= z`MI1Ve9qGt?ZP^TY>?5d_FsIzK)H}RJKkup0KExY_{Ci&9AZwLr?0s?fntSo&mi{k z{wgLWXv!TiqrOX6Mk*b)I#yOFQfrQwTXght@}HLRi7G<0_A|!npXx7DW~{8_tTwJR z5Y+-;nXt6k!DBL>e&!;=f>mDJg?LBAcQUz#;Cd@43+z3rWgD)M~G%^`ni8%7hr3wN5qG z99}DyY@Bk*&zsIGaVyW8sxsv%tIkaGbX6Btw=i3M*PfXVFP|&*R15&v+pAefSjbpBcBXB9&j9Ez-UI~N z+HU>=Dm(*M9&9&>11|3epG`eBf2PeW@?vq${<#YTK4f;q--~QMOJ8<$fsG0N8BFn( z<2N(stP%)T*S3gj5YAv`L|}H;i>w+8mHI2&PGu>qt*xduMXcR)HC8oF``O)c>g=Al zOCK7g;g5}XV0LoWPtoyFy=)KyA^YnjPq{%9tn#@~6xR5Qcp&~uM2|xaS80cbxq_&M zoHJc}W^Vn4XGSiT3+E;Ou~*Hsr41>OOCVj+?12PQ>5X4m-2s5eDms(!F=LNM$XyBR zb={gcTPOqIulZVD*nQ@x-*)hEKeqVB>V}nWZQA5&(gttZgiVGKMlE8f*+>KX#r{Bd zcZUpEU$8U%Xmj+z_bjE?izWnXfV86I=ENoht3MsYmj;&+wwWmMgmPC`7Jm$f(d+Up zmwT#{fi&lj$jjMx`s@0E7ljXRcQ!Y~sE1+0*HB(XtnBP7CfsqJ_UI@Kunj7f`ep z*`hCS*;@ExZG%*WEA?K~cQa#Y&4%;@AllLg;$OeZ%gwzX1F6f~bUk?&ot6JKnTJ+{ zWoqQO=+CxYEDp-#s3_D{DJi`6RWw{btE)@sFkiO59e30K?UkQriSe}Yr=b2IKbZ^E zSJT&RxYr+|=KzZ8a_Z-t(wBqj(}&u9+Jdyj_D;~LrdKc44m-N+TkTtNIRO2+C+o>zCy`45 z?<7<`ps2OAzTj$NW_Q>x74MH`455ae+ksCgCrixlhc(x4iwIZ{3!oMnev`6tF~0aN z`4!7(`(6WK;LoKaqZ6H7=NJDN#;*K8rK{R3htmk{aH6i&@J9EDY#r6xW3^kWvnTAs z5*zIlQvz(~uA>44;;E}w)uQW{C@}R5_KeE#Q7R?YXC7lWly(MAa!F8e`GxqC^=V5u zMy8>TUoQf_XqbHmOQo~sF@JoXjn-N0H`WSRlvY^Y3k_tJCedox%_Y51MFL?DwFn;X$)@xV=F z9FXp2(w}&Yuks>)`b1UU(k-qmeq6$r@sz^iz7+nzz1I`1UR>r-F+rFncr#PT`RF7DMSv6M*L>d-)5-%Zdshph0-DCJKw^MKu^ScJo8?MK1p&0GmVP$;qe8$K=QZusiVcI&Uk6zDh$?{f5KZmRydZd7v8&K=<+manfx!-5OCoY|cfx3-)AR9Iix&X+35o}?eTee>r*Mf;^X zVq`?+b6tI*#zX;6oSdA`9IWqmcD@Zd!1}jO?NuEAb3QA)&K@R6PO#&zx1rU-->8c3 zDT6lnB^aPlrAn90_UeWk#*Wo!+WFzB%1n44LHzsm#`6;^gXfl|fuXBBTcwh2l_jjvjokF~=1nw!`*dFZCW*5EVJo9j>DzZh_c_QRFLylglB4)jNy*sQ zXc8l1Cg$ceSB?E_QN?$qoXY?aGEC+>V=>_8fJ|tr<^tS%WNjaVqX(vbA``w}L1p#U z<0uhYxT0;Gzp@GFAv4^B5`Zx7ApGGQiLbZg@efpfM-G~NHgD_C5tyWbA9-m)rOAEm zZYe+m!-t986p;#nQ(}hKT?xk8Pb%U8#^E}5)s6G>-;RbUR(@ciUpM$aX{H`pl?1N& z51Q7b;&l!IN>@3dhM{;1Y1i(vT@9!&30efD(7ob^rApcuSFdoQsz+KX(Dm z>js`0iKaZES|rS~nwz9xm6R0w5E4?HpmNl6v{p8{WCBb?mlT@X#glA(uj|lU_8{{{ zPbyDP@W|^cK;XLLu={9p51I+B-%QZ=-vb4XxpX|yK8~nhrKHBDZ^Q;R0~!GCWuIp7 zR>Qo}!MoE)+gYyekK}!uD)dTv8Q0bGXY&>FwG_s3aFRayw7b2xs!!gblgFD1P+^$x zKFUX;7kgEa0>5d_&_L0n2STd&Z_GO;9D!b|X>(7?ew6OA2U_VZRzRLs^Q(eh1H^6~ z%cI|;63)^>{I?VN=MpVg0UV5?m5iqV%dYG@9^YZi{{#x4x-Zubt-&#E=?5nWQ$Als zvQ_CM%+V4UU)L@3eRNADjh^e~Vxu&P^xuzJu&IhO{?xTMp+eZ{Ewm@>b@F)o3?rSD z{wrie@Azl@*PSzbxGc`6UDd3dFaQ?YwWs)~1bKve_jk%<9+K#rdSt6gnJ&6tuWq-Q zQP&Ug@lh{zO#l;3VB)Xu0D^~zn?ksq)2Ne-54&j0LOyO~D|e&2AuaGtEdig(GCjA6 zN6VmeJvJty+=_huGpujwTqGY2JKr?fzb|Zlt~I`1(U7q?h-5pCvgGRWCUeye)KpM)O6I9xjG6GfRn;T6%Mu;osWanM*Bt=^mVY`k>?V z;#Y8b-z{1L?0UXP8muoajoSZL8sd=i#&;|9oVvTZ6gL=^q0u{b_;!<5t66tK97QaE z1IFsdbr?g)g@(iu188);e*X;|7~Rgj&mtg}=Xo*P{XyG@Pn*raBYY>ft-zZj#6vDS z^oN=}BJ*O^7qsZ-Y+Sv3f14_bdX<7O+#h!iVD>Eex?AZ3z;K5Aay@N{k661*Z$yr2oA{ zKv7%0j=Jjn@c%u7;I==z`=hHi=P+Byc>3) zQQ&=W=*Gv|1;MivZ*K5fr+b(Cu8O(P*ud_Ni*K>9vOmJmt;gpf(ScUH8yO!b0v%IG zC_y|2xb+bx#$kt;ttPg%-@BQflNN}v%czvz{3zl=((FS#G;f`fI@e9Ss|FS|^+)+r zeobSR&QLo#kfbCuIKatPb3b*>GW@vy2x2F*+W8LNG&RJ5iVP(wu3PSmf`{32%y$UE z!<}GR(6^YwExI8pVHfjtJiub*H{TOBmS0fv7!U`zP1XS89aqbTv-Al!2RGd;w%CXuR-)&$A_7z2na?64cV-AVrR~3E9 z+<|yWQ-;-3#?OGR z$nQy!w3)4hb~!(V)t~Ag&0&hIQk?By)W!G&v4#{~4i~jo5EJh`mX4 ztx=SC4S>H(Pm^P|)3$+piApl~%`v)F0Er%euq($m?*4bNgFuDn_+23woTBSSJe0Hp z7-~g1Je6mX0Dn&6gxhU{chdI2GGrbR5WSmLA)pGrB!CB&7o zL?$!SIHKp$jem@>C}UxsEBd6*Np#vB|D(w^i#_EcQh2hU$+p|a%J+Ceqsf-CkOM3f zMVJW)zVgy!TcnUXukt(2wrRf+YU0BN=Ezxnv7gOt9*g-qD^=oOE*H;nY%ec?Dw2zc z!+-AgL6AQn8I*?UhrK*`{JC;MO~gWAlJRE*-+!wjV>XId*KU2aZUR)v*jI#eGLV?# zLjR##HIdLkgTIfz?e=X@a}7GJjN`qUcsEb`G&@?x$j_K>|M>pfFxap%Wt!bsna377DPmp?J3QoSF zW=YX^eW=yhef95G+EGSlmYwdSl<-ll9XI${jOPv&K7hb-if2qpl{iN%7~>yI9Ih^z zWt0{8=sO<#k#=<|P&A*S=7U;H)6&c6(aESp?S+`OO#7ib&95%duP1VW-fO-(IAUMt7UeyoD8 z*9mA?#!aS!t&IADNawcMt3Otd(0DwJHOXcZjlYev(hCQ$rDU~t?r#{0t`c<}KQk9v zlj&uN+?5kYmG*ZgM3Z;;x(OxCCIkF)G-9tm&X_MMv&OXy5y!SpeF?WvJ}{0s4CE@& zArzjmvrOh|I^nBklHW>f6kBp;k^=9SNCqcdYk3=)S<|GYnsOgaOz=L8D;ekzM;`C% zIr9FnVqv9;N9LAPZ5j5hUymt+^V2icH#FZn6qs8IDZEZycX3s*!rvmPWh+Fnv>_ZK zJ%G3s;%XBzbWCcTIH0ur4O-K;-AU8Ci`*?aG@{W8X_^{jtbXxSkbj@E@SOHXB}Zn} zcUUd`g8eCfX}asnw`g*~`@9E>d@ zi3Y!;1r3J2vsHZQ>KoZc)krEc8g(#U%}+FvmdLRU7fIJ*e>$S8X*zrGFBIN?JM^|$ zyZ?!@C^VgYf8*?;B_BAJmOM(ITI7$o3r1o7VeyK`)G~Y3K%DE3mwT6{C0k9iyxSbW z%S>f7H@EDg<`;07XXzIp^sn)5X>PU%v#D-()JQb(l-=`M@}8~Ea`|z^xD&xgcse(p z`h)PCA*(RiaM!O(A3M;k=&qTyzoq}zm#@p<)6M#YEl6l@;U}4XKZ3x}?T_JJy=Yj2 z98GB~Lsypsfp~j9Ng*Hgqbb6+vC;q^;5Pg!**b%_nVlnM$!Ur=kwc(#;ULpT=4LRH z@#cOYaAaSk@dVuiKzE$}DwOCUs=9*Z!xSJyM&dwVhiVel=#PIxrqCXU)t^N0Tl>;# z?<_itW;ORfY(J0y9=fu%K|Tr!tm^eks9kpPH*v*Kks<1XF`~INNNd5Z)n%EF+_pvs zA#|1q6>#5vY7V`PkY|rUwtX;0SksC(Zbw@1hZ}1jhYhR=^>Df97Mz z^EW@5k0z1fE)5fy({WJD@C}Q#Ul!SqHw1B8ukuV9VN33CIleeofx2R>3+%fqzl{xX}C6u4m~Hdf=J6 zU-!rKF=)*@%*ux^+{7$x{8c(MaF-mx&0=xMD}8Bp$jpiA4JQ85OGspA|5V7Bi2OKQ zngyyRhBaE}g?Hn{{@_RR@GQ>e0`6ZIjqM0pdv%_UBYYUdQ^KiJ{B>z(*a$o*oM<-n zX8LV~^y6;YTgz5Dloa{)M8iM+6mo~0LM<%0{Y)T@ z0NKc8e~Gwvsrih_7NAHq3RHQbpYTbGOPcb|8t!|ddi%HK^8&bDeNE7M3;4sD&>*20 zTE%T&8l5XVx(i4ckH&mq%iE^|0Q!W!3MQkIFIgYod@4y&+3&??M@k=St33mS#Pm<( zNoN@)9||*6c%m#LA6WvTlqvpMoI$m`sdL6Nk{#eqmt6B$V*^sJY)x}V@YyKF>PQP*Ek2G6t?kDeQLRb(?*GdR@H5__69u6J?`OS+h0RQWq z-#2w=lbpwVjwO^FNBk1O=`pFbR!;7iMwyqoM5!AtY}5(eW=j|T zaQ^X8Q3uiUA+3&P)52u?rw}N2h-Z57rwDS03K0D%O{6*n&~y6y?MpXn*u78~P}i2! zgI)j%dtwThVPl2^mVw#vaU=y1^d)&D+S)i9|34&8C3z zeaqK0mmBnev_}Ua=*|tT$tX>d%A2e!cc7QEDb8-U+1exB^R4Fn``YPc;obc1^RAw22s-?m4o<1b0XX?@=Yoaq0O<6~Rre7;WTR2%-%vmS-~v~CYxj>E zf8&qF&1+ke-=I5&Rz;D+!|%eYEeT2{aWLoUyz!^0>_!r;ETdqql6^t{T;j%KoJrf8 z7}gi@9(;*$;~Im3S1W@68@Dwz#`syBwoCgOne#m3D|>!T4ro+0TQEesw^0FrYuKCx z7uyoT)+yDm^vV0kc@0FAX)n*-I!PDEIv56^s^JBI8vESdTq?k0E>8$6?d z`jxqD>rj1FND}{-70Oo+M#TB!At)vP`iPawwgbIMi|$Q=O>BAAu>AhzR&(S%Miy^E zuEy(Ot25bQk|P(J(WF1CLv_rvQ{92&SgNb2CT1F9f{|VlPMa~=QvM5i4e_oG`+*OA z3;up5!2_*FGKWia8o+Jx5EyAa%i8!R%X`aqo>>jShv2TnT{R7zm^?mzeE7Eiz=1Ib z5$OYYN#w!ZyQW8^K{FqHY3I7bpWnaBpBKeTT2kh?4$twhzKc5euc%)%#6MT;1m^BE z*NZK&%>Z+Tp~w$Zx5``1<=F<_jyGv8$;P9Q1^<5o=PdgoW$4*B&St)HIkh%9HGB1> zdDp&3@qVy#iu**Zfy|{DswrbU+EJ~8JCB3Hw=#TKw|BQ}Kai2Hkuz4wFy~x6WI`IEKlZw3;1s1Cr{|vT z02V(|bel81Tfif*A0(E0=HS%Kl;d5!F3KxdN-KM&Bpb z$#|c&<@wqP-e_5hKYbR~MzUYB$ZIc*sl`5ckK{b6D}_I#eAD+XeSyw99AEoSAwHyK zWGu}GrN0lUhCq=yI%$}*SkK;_etfTdOPi+PKbC=?OQmYZ{38`Lul$$qxvYi#((EP? z?vTv$fH9ApdRbF@_m*)#FU6A{aXF+JS~A|Le%@56UD4xFaZ%r&akEsonD*~m+%g3p z`BS=Z=arK#d9ghvBaJ?{D^yiJGVKT^2R|`!LA_j8=s;@RN517S3kVKkcb>`P`@tt9 z4BZ&>Z(272yk*9^HedxyowNL9Ks)9(&mxD?JQRMqiRs1|wL(IYOcLM9ome5=7eyZlTO@-(Pc37n>F9x&$R z&~9H09-E__a%g<~`t;3G?NRyl1RuQE@RV$ zRqTjAE?a<9R*BCzY!eQ*p)>5!Q_`2`SbdgUmz1QyTBIf~4#3WEv@te6(}#ZsY6c6x zTa7Iy7=1SoPC}zMRZ$siG;34V6c(umwL1#>2ehM@OI{-Lo>9uF_6OsWg{5JR^cmn5 z$or7S0GRVFIN7(zWiCMWc_Aonws$E zc{Wia+coxzi8Mjc{`;X%NcH6LSFhHAG(3@(LH8@}UzTm6s=w-A!V8;V2k1>$>HGNK zh%M!wEe!(4+Y`FH=^vDQZ?uqaH(*MlUxt1ddI}%urwukb?+1?NR=_psVZY-#TMUrf zb0QCnw8?i=oK4Bj4}?xsJoG3wZN7K(jgw3Z2c3=6xzHY^CoF>=#O^{zy5IXXY1=5cJ7 zyx`wOH(PnYOg=;#xPBO%!;J!^6e6Gfb2KUMkW*yLQ)a}xDhd_9)4a~rkbOu zWrUY<pX}>)lbfhw`FN8;BwcE@f*n3i&NM@EP!W5 z<<6h=H9D8Ee)dCq?b_&h72LlEjJj(tHjJJA!K!vm7X0}?haqF=qbJ&`o3k58pR>(B zzB(=`IS&I_MU(}_JBqAGX~&bzW6`+e3g?(#gdSATQT*3nYl3>xx;LMWd!7H!nj zp&Tv}Vh<;fMXi^BI{Ny1N!lovM6CAGgiiUK@#8$dGVAG^4*6*>BOEah&UGv3IPa3j zUhD^2O7+eQ9Y~IQ6D?Q4J1*>xwF8N|v}1Zq>}(@`%IlfO)c6OZh~)0fn-+I+F3;Kc zubIL^yq3dqtkru0IAZ(iFD7ePDbF0Iz>gl}I*5^%;3DRPUdq$-BaAwgd!X#G#D}7(FfN%A$|NJ)*+La|)FJTw3?~UolJT4A6b}}_G_RLw}1N9lpuw<7o)>Er4 z-3|s}rXMmPzmNLyu3CTQ?)Crf{JpLjnlt)KMb3g+H0h;&WziqS@SzF# zrSipZqqB%dzRLIBSnQsga??j!546hi31m@-O^XaE|R*=I>AhM;O@DV>Q*puq$S!kw3+&w0D=H&u0ptK!J(3Mid)r|75vR~AomoTe2Q@@R)W4TAj@PvM6Q9xXoagc)1r zU~QJ0LMd{bkdMYn!FnQ$G*sQxyvJ+alxY4zc0>jcjHs5&A0A5;p5Rd>?ueJbjX#dt z4HJyV@w{H&urq1_FBq$=tZ(9c9H~0Pzo;K#d@6;%ZII|_n-b1Dtn$grRl_E)K+{Al zbr-&NB8L}_C_ELAou~LJc%Ju+V;{O0`slbXG$dZ4=h%J5Tan)4AQsT+f1rnV)OMVm z7uX!rg6yHfSkK&Uiv%K`;m-8=AC9g)p6UPlSE^M)CAZv?qH+tl%r#OzQKUk0D~#N; zg=V%@K9byXD`C_p5+IE|c3ZcCp*f_xJwe^?1MEf4<)D*E!E~&htD^ zv)GRKtZYVY>XQ4jaoy4fmPt!$>)Hs3Pk3B9J)s-3`;L9pZcEYBz{<^{8ztc8gPYzU zm4)K^F;zHBwHMh@+e?f-4uP0ee8Q%vKe(ubYAMQ@6p=rvbM>PC9B@(Pw`TKQV{dn-Yoqr z_`$>y#`5gM`yA%KG3%he2*m~SHnW>W(sS|aQZIwHN*D*1;jbvFZ`H4*czgB1)K!nMPwC%m@svzvWII;1f-A!n zQWoN0U%bs=z|d;2cZ+&Ma6hqhb=7g;L>?1z(9bud z(My7Pcj42&UF;vxB`Bk#ZQA6n3^|nZ>`hkMA2PA{&PXfg`TLfC+^9C}Am%0Zmz9#B ztI{@GAFEVr?J{A5P8BK#mX(a>M>OT1sw1Lu);U-7JSxF^nU{FVl_`9C{-8ePlfT3%f1x z8fdnut^C~AA9L5XUa7g{kI(g9A`jSI-MGZI{pRU06Qgi&=)cW%+YU{oQ<_KjpSR}? zx5@7G6O2Zk6u`BZuh2%BoK=L@r#7nOV#@6)r<)$q-c9>A4L`iIS=r5PSA3&!ug3Ed z&APYnRqL;WMdaA%0ooPpX<{Sb5cH9@lxQ4EbPjP2%jevEFZQ9t%0-PC16Y7^od%X{AQZJX{U*<*9wkJCBQAlZIQnH}w=Z|%`vI8s4wQx^QWg%)NpB_mfX zgcjyot@Jn}w8j^9_~;-czSO4sG89vz{k4}Em#cpueAvzNOiA3e0fQ^uFdMQ*fW=Xj zBqB|zG9$h+!{H|WzRp5R$=OfJuROSZ?p=V-b@M(WPdU#aYU_r$_ipIt#q+V>gi=VQniJ4wk`}mt7C14;TG$Oj#|B+bV%onxXZK zKNs^V0bA#;VD0P&zaD?Ar@^{5Te5#sx#7PRLE>x*?!)GZ;@ec~xBElt0#r_28$DDh zwJ!R%920}F8U4UHHRfi{Qfb-$%QzX86`ETM-{$wzzLSC;;K-h6iOnk@egaCwnV+PR4`%o*Yn^g9F@Y$hG-H*Pg}6Klas} z3&33|e(`jbl&D*Jg>UNt19|y8)T-Y;)~05B{W<0Sq5cw-iMI10{Xyo>?P_hQfn*eq61Ziv^*1a+Ya#Y~-t+P06@J*chM`Vw zWm8|^%_2wkACn&8`{z(?B`@iaNz4X3;Odk2p#pgoWeai9&9+_RTCV21JhW_g} zZ@%T-`ql^iR(*qrC% zt09$oL*jmVezGDzx8jB8i~j}r@w!xHd_NrC47viA-SZb`=V-Z-zm>H2IOuuiqR8g3cLI0HfzRMGw1 zJg6DR@DBW2JL(btY(l{{APZW7;_q6H5!PAPSd-iTI?zf>p>r6wL^-_l>NpDD_GHk&3S+R(ykkw|A3(@$k^Y_7z zD4h~B$H%CJ9^i!JU%{9~`t?=chh>i~Kk2@akWlCb~=7IY^*L;dMWDoWF7wp>} zu;pK`6+gOaAHM)~L(O?L$ZWPS=O*05llH4HEh1p=zaxj-U#ENczj}&b*oCQY*(`lN zdM6_}^(FGuOypimnye3T>PlGp!gp|`cW`Af!_fv`cSkZAB~~64^K5Zm_MdpwQ!MOxY_&IFW2t+%YR4M9I?2ja>!uvhs@_fj;n zJZlrGOKAIY%rKFk=IDP&y@<4pe_|NB1o7VcKHd0;X#mFoPUA?_UCBI^v6-HNJZAd& z!L|<+>Irn@=;VX14MXqSUJ_1||C8L>(e|nSvYl_K$*nj|J0*VfAN~YL<`aBT%u+fV zUd)mF6=<^1ltC<8;2*F~c_u9Tms0|k@$}u>Jdo13qBKa}`%?IYCPNh3hgB^!IiMY( zv-IlO3rW<-2f`zf50#A)iaoDfqIKMPzUpXaeWd!dI0kUkGl+NdS6*TEKLz7s0YjSg zc?sijV}LQ7eE*Q~O(g!up+7%UbozH&I_5AB1ltc7U=vo)*yTCejDB9QK7n7jH71o3 z9#Q-74XHI}J!cIv6s$7=$d!gW&V9%A7QES)%os{U{jnZ>R;)#&IJ}8iR|pq*3>^MG z;<^zndm3l{+Gr;)dL+C*UbS}dC0csYM0vBW!A|S%y$#Un?@K&R(FCEognr?BiPiI} zCP4{a?Uaxbp$pOaM7|@wSobp;xZv?=aF8IF=na=HGQWhR1{f|NPK$3cpNCdMkK)F* z9Rgl%U^fKDgLMZ({EZsicQ?NX@V*^)W`UmgNw^Sh1;_GP#^)}NXl zr9_DG9&KDrn6YX^wi`*UCg>wO`|OcEOkq{-c&t36KO4ICbz~dOAd|^#dfmw9dm3rA zazqVNRs(P}%EPd!CQ-X)?Zms*+>7Z@6(X%d8-$$5)(;`}LAeT$75kQgH-W0V4P49p0AqUF9PgCy|9*0q1|RS=|Uy_q&DBh@5Lo^ zf}Q)lHk}ltP%I6S+p6Vbwb>S5^yPsO&~;UCoMX4d{bbZE+ZNFiGc+H>^<2(mei?dz zwAF-d@H8mnvoB$NgckZGuO=XMw`I(1?4ECB7FkH1TDO!)^l6ZL z<*yj-K9V;7MxPK0)Kdgyg(5ZRMyqrRZKnrVAt^p@#v%uDX9;K>Wy12;;}vJq>?eB# ztNB}5_U*pEM@vL0%W`0&Toho!*~5vd(if z<~tH&E93QiS4EW5VUs-nQgxt-K|X#vz+gO#%dj{K9O(eNFnS z=0Q3>53;p%jef(!*VuEkB?M>R{svwxwE7o2i+>s2{1Ki8%Y^dh6EQWAk2q93LJgmx z{1{po8lOXG%*z-|3v4#DcDIuffT4|Wgdua+lV`lA5{(S`ROzl>m3C4+B(I1pjb>I z7q0f+6)Q@${8wd?1c@h~@vy$@j$eztEnJ-z1&(n{hR09)#-81}rgnacw>wEfBjYh~8XBdAx_Sff{ z85a$_!Mxo7EuHjc#j0idanb#cQK7i;h+E^%zy4DN-F;I3QG@)s@49$fh2q!MpMiH4 zADZZHt?+(rc?xPPs2@*$pki7d#D0j-rN&*@gGtv3TXIwmvPZ0P?v9ifjkKvNgrZMW zQk#XXg^~Gf7~_Sf$p1?4gZrxF;KmM<=>-h<3?Nk1A?>m~$kLVE;bgwi@?i%rm)x+& zR!{ywX!GVBDov;KLSGu3n|W>+>!959srnX8i##;HgVlU4=SyQcxVFRFeJPI zER^zy2xuXhF~^7tNwbVoY@Qk!pC7H&eOQTQ0JX}Zi3_ckiiztaaU((BwJ{TeeX=R~ z8FPHOZ7bq-38R_c7g0Q;Ok$vaoBt8kwX$zv{ay2FP4wytWv8rfF_rUzFz}bn1SsOH zHNa0)RhyuHUY8ToIqD7>(8;x^8K%G>tEzYeVLS zKBc;By)|1q7tO>Vme+9nh-;oE?b4K_;$^mPuW3|`>w7_+n=%xKOOk_(O8BcFm0@=KGGAm^t`|tft35$0dmz)b)B6@8eM6R`N+N+p-)QeZ>VVq6? zuZbE6)1Zu|AsklKuZx@dg~p%iTwW5*b%sQkT6+r3ihTM>uV;guGM+c~|AJwGzv zn$`)!6h9u`jPk5rlHht=YKtJ(HofgzRQ zQ^NL=_pt5y9%;{fd1<1%cvxNcHCq!@yx=$`-m+zzevmcHcUmniV7$-;OXxvvWPtj3 zMPc-5lgGAhi^5uW3gNtJWx#{m1Jvl@c(Ua39(;1bP-O3?@1pZ;Zw0+*kauaZ5qDToN0 zJNR+lx0A5f4WCP>#Du?s>d6+DIu?b=&Aga!^*pq?-~L7XM&YywM@=CXy5t?|gFJYUC!eBY^ z?^mK$xe)`gnXPYnalez6TQX^`D@2hu3Axg>D!*b&u$*%;*It^^On(N;*Ot*6~$4ra>6<~L|FXgSH^hYCK zcN2j0TK-B9#rHy7A=wdLe@1j19FOZ$W?Sd$f2U(qGC+zZ+H8{z(`=@&ZNw5C%Y4~) z>YbYNgHfx6>xlQln~1>YX>iX4=@nZ&pB~I1pSZKU)+_1yw)6&Zk!D+vrsj6br}w^>mG%w$ReLdFlq z&qKL_d~a@1?0m=kZ<7)!;{Xlo&`FZfL^dA3zw<*9oZGhS@w+EoTea5bkyI1j&VYh^h|dxmLhJyZ^CT5+5F2hn|O-@9*H_Q2SUY2@b9NJGsWZOQju|;n)S!f>Hq3A}%++(eL z$6q991u}9W;8WRN>WKBy)SBYYTwP-IH^avokAElftz?CNe6UcBC5BAVU%t3Pd3Xia zO88HD6kZ2%nKTMUOREa*b!&E=EZ^W2`71;gYcVadK}W|rOumsyzE3Izxes{b`nmY* znGBN+-x=mt|sboq8^#@-;jXLn@7!`J26P|2wwyv=ZWPw!Yy4~0Tous?Wce0Q?@|9y_jPB ztlzdg^KU*lLTutRh;4K(IS2C3J&X4##gpsrsrFyw`!n8-LUmg1ePm`PM`{ZE=b>6?~M$8nKm&lF_6j2da8Q$r3)OseU z1AAYCuK>9tx>~VKGEIbvpPWf3FM&b?4&sU~!7Xg%;;{JnhC?MqtofCM+|fj2Hms{YmQJ_?#s z-^DthEIo|Z8G;{xu;v`*?srZ0VUIXtYmgLe-<>$XnrPM4tsg;|Pucm);#EAlKJa+CKIbgWX4^pY!7`^)zg264+LM0g^;b1R#V>f&7!xqCG9F;&4* z9L!pUnjzuZJFT*Hyp#(6#wzn7m*pGHLM>P?Ex#Kr0TI739>4hRmtIpBUrfmSi0?Pz zn-p`2$tx6YPM##Os+q#|HGfPgX!Q?Hb_wVVUpzTerMx67zVt&Nb87@0N&_k5XN6r&FZn1_O zxo=7TEhn}ry+Jh|_7IcS3uv`GM@UXR`bEx=3;&A%V#Q%gy|psHw($se?B(dzw|tep z5+hx+-n-&P@T>S#;90?9YqVhUN94`<>NtS+OG1e_D-T$*HQmJgi=}=!dsST`NvuTRyiDT7Vli= z-L0Av>L(VELV45prga{jDgg))2A;1!k*{AOVf@_auwzAh#!OY8r~Xz+>h6_Bz~q{X z45V%<&6fVToReT`kI$-fdE4;g2=5l-ve^7mkG`=m^zL~2JxG19)$8zmwc1t+%W2k( z{Mx0vL``V9i$a26P)a))5s?Su@Lzqcpy~M6`D}h(VJvOGtN?(j5KS*M!(lE|sQ`1| zDE*6zIZeqjEOFIJl{>J*hydSIypFZrgNSa0e3p!&8svk4ls`&~|6+s~^i?NytZekA zFt3@lk{2_0#P?#DOm`I`_3L!ddF8mdsdT;~;r^8X)OrOYk6S5vN`41g#ttxga5z5; zw3g+0!I$d6z`9@2r1-V3Q!po8H3t&hognEx!HR?wXu9=YMdvwDppQn{`~LS6)|s>{^BkJzt|0Fm zi05*Uvrr|>ty`Id|9CM+lmhi&{mfc7uHCZv@dfMIOO|}OA{F4V;}h!pZSyO_Ja>$$ zJQ1%}n~4|OgBlcGLbw^eMy;G8+y)M`V_C!X!4M z=(cPjkKTS7l0n!oca`~hhi2vSGxo@Bi~MzIgqV_8IBS+>s7Mm#KB-s78`@1^T+=6S z?XM1vzuK>COS*T;O%i%=@~}DoED6;MrM$A99(!oJrpeRGkrT6wm{x@X{`97q!GimqB%(83D9gQn7p_c$`gE9Bio*wY)# zQrI8(Cq;Vm8Cnjh0*otLpWQD|-FQ;Kwwe`WKpCgW=gP#8`4X5J7ZCcFgZiVO1S};@*bl z<2gAG_8xQo8K@Eysq6oHLD6cfZJFSqxXpzrm@JcwKXsoX&(a4vExK{GNwzhNph-ur zcUgWIYX$+uJ3EI#o7wjWbn?-{L`X*In&RYNSIk3{))h-pMf1L&wwiX z>%0!M))e8h;6E~Y0P|DXA~9A1-;(JwrP@mlsU?eZn*zU+ExARwwV$F-!%=Y!sj)yh zEPshZz6M$5!p2nYGiklGJ7mz~6OHG1^Ce`j^hjhTP3lcgBj++&ZQH+cU3Ew!{#&-! z5;oIN6v9~s zfL1emqBtL}+!H5lyzw^7aDIbFmgZ8~sBDq-e1R`TF>c=3o)-R3f_b> zh>gdgdqhuvkIlrOxi@70v{dlXyNu%sc?VVY1>PkY=g+bwe25H_<-8^j26q{sInx-0 z-ZEt$S=v2AfD&Ce&+M<212#mztj=8=?*qQ{&0@H0+`oNe?1|5S=7#yX>AcSbV(_oY z*T~St#6t3CV|tO2p7UI6x;Y33g9;5skNQvD`H4<@?L#>PRz=@HGN_G`%&J( zNY-nqSTLHj0V7;C!aJrm3%(H|f)o01xlxwe33~U_2*81c4cKf4dCgiAgDfDu3B27O zyZJ}>ZbDR1MUIj(*YDT&A>td7M5iU;YP_k$Lie$OuU47<%cIwpriZdEx|?xX`b)J1 zW*c{f#s?PFN|_9D%hghoALN z)B!s0Ul~#h^K{N@Q|BUIcPM8sr&wxe{F}aPIev0fd5oqzD|(+C#puQD86(tWQoA&q z0uQLLSGK}WuQ9Ir{Z%Wr!vavquB~rDl)FS9W{5ib6k5#td6fLI#E+v-Pt&--db0 zV!WQZWHktu&9z`DSmFW5X0HWtDvvODnB6dwK8)h+Y)aEe_y3?== z`vs@1Z>X4+7m?iVUlq-5K>0D`4msa-?h}12to+RVnHVOf0X`gE+m|Fc zFvq@9hFK}f7uOk|Wjmk7k9 zuAb3h&Bcq!C#=WKDV?~(Cl<8tu9CpF=+TMYnAQZ<4;ET0&EV_1(mJvX6$szqkAB}2 zroRz72Y7s6{U*gf!P&Pg5xK6jmOn9kb0GNlWikn?tgsJKs}Z20-E@X;|r#RJ?CAGTv=V ziC^9q+UY!^bilxt7TF75Nbr#&c~SgE_GG+|@L(k%ZR~ey;tRW9FmlaCSh&G`suy)( z{{}rEjPyQH2f96FOzQ+7?~Ff}Si~iT;3{9~?O|MZ=umNKPuHhC<4>sa#Fe!e-5cfy zvu`C??q=HU=Bbk?3f;cF+s~||6Yhw_q{avp{E0xXk@N|_nUW>#;49`|ZdR=nr#@)E zCYizxEr@$HTnv+W1$aJ)H93%SzoreHsQ3~em6=Pe0*c;G>NJGAR~Q_)|m#2Bne(h zSmmxF!7yP=;Qz}3emkBS$Kfo8}&j9!1 z-mwvf1B|Om zXv@;t#mur+$cw6U?qp282GR4D>HhEqQNNdo@K7O9MT+_4leLasHcUSF1-iDiLtg>5NX>m4{BY4>TzOpM)ysvw*Eizsp-Uz12A>oqU9?(u%4Vkfj8|0;IiK^;E0-hBi zede7-43lFqx>hZ2DRj8`RV1vsc}KfY zy%Ag&Emd^iYu_CtfAQAsxZCse@ zW#rm<6PdUIurh^ykqsR`Psz^TfK+6AkxnkrNTRn%MX$C1R)?v_Da_=;>{rbuO;T%% zBn;{<8JS-@{7gw~fAy(iSZ25?iIq$FTe4=3)+4f1EYq95#TI9aI(LRw^z-O*{PqW> zhO8sF`-*^&MKAnB<;wWh3U1mgOms6nsM1MdPIPED;ZM*PO)6OOy?b|8*(%AZNa<>! zs4g|AyoYDM5j%lAFYs&Q^qcBt3mLN(;#gr3A06PFH}|pdvZw6S4F}jCm9WV>H$409 zy>z7~Y8Z|960MSX_np>`Q9jJe{`FnI-aq%a*C%#(Q&9E5v!8Dgqr^W@R+PuoQLwLj zA+H(G;K_2~e$}<^oHz?RooA<74z_C2q*o^om4OOhAxoq&Q0*D1kpq?=3TNK{K+3aw zJ6hJ*QKkE$hHs*9j;dfA3#Zl#I!y9#AF@B&Co({JcljT4xv}}z1wiTfeV!%AwFAv* z!|}xfUPPGv$lqkXlUoim5#8n6B@hSZcls>EIwG*g2s`C2y}7#*h(3taV4XWFO{uQN z5|}S#snuO0FT*{pdujjl(#?Smi8=WsC4yIfC4`pJY z)q^O@J3R2sZd<2^;v=7;_I~_Rw|Kh|;1*O9CA>b;lvudr*I#EKYw=yOEwn#P=L~K! zf6E`hGZ^^PoZwWe>$jg}l|Q4u?A6~k5Fpy8mj@y*9BahRYk#>CC2C%_A7RF!=XsKY z@VrecotctY%1pC;SX4t_zt4Gmhe?+u90*7Xvt@Yvl@3=Aq@Cr3k^u5DunVrz>ItFK z$d+HGW~>uf_LZ?EaSvpcHOC~A)?_103fYi5F(WR|Ltj;=`-Ihb$Hebu-$ToexYO9+e3Ab@hbU!p;maMPPR~{5HUg!XO__FP|nZM)I-=VKq+GZ{QdXB@g~zR2YDS= z>u^`b)SGc0Pkh!7;JyyfTz=N52UV$hIu<5`MUb%4mU|jvfAJ-vXJ5A^D5FWj7qu~S zoV8Xyzsz%_AE8j!{e|>ReEDGQZk|V8)SxPQ-Gp;t^Yb77HRtac_kS-suXS|gcI_w0 zz(dA#=+o!IP8zuWwXu;i0f{i0{^GNx>I8$7k-J?D(ZX;er1KH&gyo~^Un0_@;Vl^a zpE#HK#T*Fhi_eqG9jamZQ4ceu{#ywiQ;**Za95nXp;GI+e88d$t=8ZOj2)eqgOWnt zjj6IC>*}lJ_i9r@x30u2!UJSrN7&>_?mOd7H$|40zM8>_t>K8*NTpBQiM)vuU=M$C z3CX6^-**7G>1ZAhqB+`E5Hgk%ZdJR_cwftNe#z+Nv4&b7R&upfCMeo#{JD3}4Ji_k zCD|=#kvGFy>M)*c{vmrNPD-v0}Su2u{}fP z{Tf$unD_i7LP3_E8<0*jHzkqNfIp!C>B59}mYc!mWeC|}yd;Z^b?e3J>BYpDT_}fm zjy6wp5}%?7UULd+V(!FtMnJ^ntE;nH*I1UlU*S2B5M-u69?Y`sHq>k?FW*2Ow{~YL zGQONs6Q_~ZA8eZE(V~;#FACxL{;IQP6h?Xh-gPh^&wXa4Kb7P)N-Y#!`7v`kIMK-> zSN{Z-b0_bwORy9=NQy{1OGV_v5Zcu0yPfJ>0fC3{A*|c13cNiC>SK9_Ars{x+X>~s zsf5{R3XevLi+ArfqmIo7|5!=qTQdHu@2v5wd+rvBDFQ7QO|V0akmW5}gzPRVkv{p~ zQr5DyKib{HKK(D6Kj~pz({ZC=F6jE;0+#RjR|>og09S2Z$4S@p}$mWr#ix~v>M=vErl?f1#kg5v^%Tm{_fcZ_r(~}-KttN=q_uZIX`3@@<;m#P@9c)P~_MY-i9Vk)?D0WenfpQ za%8qqj0SWyY`7YKL3hS^I8|}{V|P>K>dzPOQPW4~32wPobzl_M(1`ize*1Y(Pf+}y zmIr@t&qzN!u|4Wy_@YGMIaYpEc|*2w`chuciIy*JYmE9-(u9%d*+fEg(ng(Kx1H=& zP`qCsNI|t}x1p=b)5H+Iv(r=TGN{5CY8sqI^1%l1Q}C4+E3hgGjNaOP>~`l)H{=t; zI}qo~MyQ1Fujy@Wc$}5D)JLkBZ~n@!FKa~;e5XpJ^GN5b8%uEuw@3etOc-4tHWx$* zKHFa3z0v|IbfB{C{Y_|nByi|w*9_$EQC;LH&b9h-8qj4rl=I9ZiqB?x)Lc=|BaYbn z@zzl-iK<1IsjLD6v%GMNn4o*(9qwVuo6{=#Q3aE z##ON&`bb{pA1A*UA(S()#HE4)W3ln&Pj3}b#3s$8U^SK~+1kCjV5+{pjwM z{1^&?)u4-{?NYr8#+^VUh!a5C<6*hAq1RK$F9?H&&AXfB%g3*eC__{~admgE%gaCZ z=zdedO;tD%JsT7>>SSHH^Mq z;@1x8*}zjX3XAK{?gO{4cx1!o);;zmbpFSoTXEwV)e zFLkMEKYUH$es*yIqtcd!4kIHzlp#x=0s$c#V!*|Q`BSl!;IwCY)U0)xnN-I~YyrN` zgfvr8AYZfHv#46aIKRB+UEw+RPHryVo+X&2EEwwAZz`F)ur1CCvJ{rD%z3AQK36AO z<@XkwVTw;_a*{!BlZ-O+JwH{5^`#9&R5WQGiZ9ozRl!2b>nA<*B{#p7MU%E{Z&>ew zx0jlS;OGf$^YXl1T6U8-?HSK%Aq5;S#k*7-!Y35dauLJ6g@Kkcs9tbv0YsF*_nucC zbG8`uD4uS>cz0X9HjH}*4@@ktCD?Dk!Z>?aFs)Jed1~fbaO7;z@vb1a5iPho31EFH zNd~ugcfj`oGKaSjX`>qGUEg*d84Fe8DOGZ>|7)7NE#A~!!h>;Ll0%-@K;l+bFT1$()!w|Ko6 z_Zn5F#-u!hP6bKLfCa9rJV#(gy$0U;ne#gmxtUDDS0ao?zf(x9fNGD<`r-ZNl6jZ% z)^1Q%{kaMY7pPvjb1UE<2fUxh%56-2Uq;&G0Uob~yyZc-%1IS`Q7+{x)Z;dOt?oyh z=Z&!AGph5Z5U%1stWlj6*|{k%ES1BlDAWW*_L15oxSr4S4tYy5|CzX$g|hU@gY4qS z&nk}j4=j1;eyWh7f{RVMMfcLTYUZup()~)cTGMwJ=*GT16ID+(7i z(I*Flw?=dx0K;)KP%j+ab9bGj#J;sL+swxur~FR&A*sC% z-8kEgQzJO*OEp&g`G8p63Q14Io9mGjak6-@cXwL8_=*{3^$5zXFYWO2(k$oA`&DI! zrRHcmxN8$7NUu}D4`$EQg<_^`^d9+fPA~gciCHq{Pek+r6PY3Nmgd*!ir_wxB2eXW zF`HCSIpCGK@=xklUH|nJ+Z1oE$MyQQPi1h5J9BJwctWpPKc`mseJ9!;iztD~1t>S2 zok@KNyVk8*-@%BTZB;a_(powf^}~Sd!PEZxG@SBU5c3r_3D%o$E}nVr+W}2#!tSss z2I%6zsV;VGb|fd41lImn>A6X4Ko!&m;kMDFt(Ro5$_TWi9K^@F4s7{(CLe78!RHZr zf331=P2}faq}ImH#tul$aZZ?S^B& zoGuBPh}a0Y%_1+21!}Sni*)m&{h4b3#SON_AmWsNS#g!GO%eoieK=kQ9M|L(TPMo> z&qy$6AJ3IB@)t;W$m!)<9%H5*LYjc85-d9<_o;?f9inBuD^4v3fchMP&Pr?$FRtmU z?m~+W&+$v#uMgRS#}%LHUDBup=Fb&wR#hcNXV-vqT=JSk5@T`?OKFj#%%@jE0bk~B%0QW&u6X=FlN8@-pT!m)=V#| zE$bWrY|(XMsOcl$M}rdYix@D>6N&F$miI3tHtw2K4zP?zFD1mz{@3gwvS7bJ+3v?? zn`mOviikAKQ-u&AR;`KSFKyKcMr8DPN?7JTwcJ87Dz#pu?r{aUyzp-grk%fwSxe@&6)^-uDQKn zH?b!Wai^e{>9Qe;PRRjdbkD7m!ocF=NGm}X>7t?^vs6r=lPG9M2Xt|`fQirI^89wdc20nigf*kd7|<{{m3=1BwCkdIGwU| zjUdf!aHXg|F3RI-emp7WX)tx#Z7HW|aQ9{|f7vciVfl2-Au2#%8~{YGtj-He|5Qe3 zpw2}xum#ZTj~8syWt!8ise1fJ6+jp{Ei@ibKo8G8j zbTDG~i5;@FW{1+OxCjvJE2cCWUBsTUMO$Yq-F21U+r7MeA4@G-8Q8fb0|8ftl=psb zzu4cdT|H?1KHy5}nZ&$@`vVmU-anAHJtAv!|^wI%(j%oS>rA*9D9`vq!+`4tI$Z=2Z=XH)E}@! zyce5jzW7*MB#jWwSH`6BMR(3350ERZ{Y@k8dH#!3R;e_&n!-d%7KbK7TJ~npP=@i2 zkJ?tg!NvSbXio`wvkL4wROf0N^~F%Uw6IWIz%iPk?|;?Aq)&rCHp%qv3a3;JO@3Lb zjA;#|lOCxGmAqntlNJ(Ac~c)vzFMnkXI4&->VNC6-Kg}egQ7d|*54aLNa^%1JZkX+ zj)|Irz2U%3+)eD?P(NPVH^U9ffsESF(T5`Mw}$Ku#jB)K{H8S1$kl5vQD4yG@!hE= z>jmpZbKsuo;%9i~tEd}cp8Ayk)-%6GcG6%M50Q1ej;q);zjxB60B8Q$uGcy%OfQIU z**n^)^C4Ec#W;!e5U@&Es5`}vULODO^U=GXNrZ^aA+1N2@579L(=L7}wxcw3LIOS4 zctf?T2PROF?QkoB!RRaAQ|zG0K9R8;Tqt;vfdlPElWSFH7GyX~)tNQkZ}@TM<)fk# z{Fb7eG36)PajqkC|8@j=^*ni1dyK64n_=Pk0=bk71EeK1ih@$FStG{LGldy`qa#({ zwu4ORBLBGidl(T_9M}Cx>{N|2AJ?oa%+90!&G91M8p?H+?5-t#8x*usAtc;VY zDQ#p}p9$^dKqQ3&{=IVShOF2j+~jUN`{F*4Y}9`s>ccdwznHG0B_~!~-Mc<2`pNPY zMOY_#6vUUE@U1z4bW1G`Z=8xKd6RJuyM5L?s48A2Vkx+jbQb4mZn=oKf5+iWlggd* z*cbKBKI{p#8%e0;5O-OqugQnr*_kRI0`|^|`{qdh2T}f|d-gnxzi ze#G9H9&u@ny^}X{cMm>q`h?^Cv<@WleQ4LW^;Dhc;!cBxg1%_&b4DHR*Y1z(9X-p3 zFE!_RAwTLD8w#&+J+5TUpMSMvu_r?zdgbix!pk0O$0X@4m$OvWdDE^QN?B%q)Fh&p zb4x#`R`lMT18FBE1`Q#8IRCJAO?2OEf^!hr`f*p%H$A+U*n8vgy{7MAk^>*r1nN^! zPo^ruqai;~+lCT&=PQcNJfB2{NI`S+H)EkhXO$YgsX5f`)4)XcnU8;S$ROI}0(=#Xs;SEU{%IKnO1#_&H#Mc`6r(cn;*fkEVUiDOjhitx; zIw2vwW*Jcbo9uy#;@}dYhsQZfj}&jowWfam<0bnW*rOAQGE(_&x@K~dAKot0f(ss< zh`kwG(>YhaFQbS|z1vNxznyCGmN)(yc-_H!_OI)4l>39j)_$7=`R(`pE6vj%mmf*Y zL`mS>n*c)d`MNcFL`^AY`Cd+i%sY_=U-_&ACl(tloj1Mh*1**1l#A-?M0vhinLuq# zll8A6Zu#^C^~R^l=u+N*o+w>R{=+o+KcqtmoAtKaaNtdjnujsFm^;rYHdkM{~&!nfYic5@cIFyqDt-^n9sUh%@|%}&?HxmUt&#b1J%{&=Sf{uj zw*Px1fUu62K&pOo^`My=cZaxW6h9}qdu1f7wK~mq-e|OnXlL&ww=+rPj;#-%(J1W| zx4s&?G3#(aaU#`wmE2h4kF%XQu;}oshqOjVXom5nA1T86pCCuNr=HSpyG@fFZWW)i z&l(y24;{j%7*LLqT^jqtJ@5%@7Hr0eG)3c4!!?1+tiHeGYR`fvqYmi8I9oR%X7n4D z^U3hTnmme^c_7mJ$x(t&Jybb~=YgJcU4r2|?$zSFGR|8h(TrQ^(=?NEU&_D8%ZUFY z?LDBHdb++*iu9%;NC!m$>Ae>f0qG!Jx)BiRAe|7ArV>E^bm>wB0qGzm6al3wolrug zL_!NCB!rY3pZEFR_xbL+cinr}U0El4_RQXU_WWjYa?Z?}J-XZBS9_DU@l#wnwJ5}c zNkBk-e%MFKDN@1xBNZQpZCthD9`@Wio+^FU3n@H~}Q*{~$ zTPHP%Rl(zTci(PbsK-j6e_sftRz&ZMap><{Y7`#BgD0*6m9tOO8PaPb_PFZ+Z7%N* zTMEIJ^YGsMrf(4~UOp4Kce2SNpqSV;n|^ygB-oif z!bn#s&dwa^Lp{8Z(HrIR{-hFhe|h8|?Umx$e|pj7y&^!hY&lR!@qpY#YxsJk`T^Tc z)nk;Z!Zbf&jYm_bhnbWVGb=nSWtnE)2Wy^f)E3>3;pz&m36)dcF?2RhI|W#wy6MLZ zJNQdkbi4s(M#Yg>4d-F_RF+NZBrE-xqa+0qJE$RmL6pz@nffDd)SiK-Yq;v-TTvR)Q5{c?wr__ z{PGuK;CrY0c03G{LslHnnOMnvyO$H^mI3P2sLOT=rJ*`bclaBWAs^NwDq=5w5uc+l zWuZFivu8-BXEM)rd0!PP*Tj9?pYz$ysrLGc$$xhr%N|^C*V4Q-{dev=;SgS}Pk^F~ z&OY^(@bL8}<09F%gHg3DZ|G!X`Tq9fGs|({uSym8(Ok!ASws51rKp5_c3_M3Kf6f< zJ}U}Y;Hv$qsT;1JmQNMR^R!b!M75kF%--z|_#Etf@3OpBT=D#4N5kPjvG)!0;R->( zjY)5=A%xM$Q`XZtzU4%Oj#yPA-^-B?EZ1P~mzustmlt(XPMbfjf?udZV+3r9XS3y% zeFsktTF~D{BA(yJJ~*%I-%6E>8~vvG7BW)>#;jxdv#x6j8oRxxt=I6bW6(Tscce<` zKA`9KU5GW(IIn!sy54wpO*83Z%p(|5KB?jkBK&)lY+9Lia8Y>*D$A?f#*Zzs;Yj}c zTdU>rUF>r@Yx5n~52%Z~2_w1x01Pa_!rT)7*v_Z-g%&F3ACI+GrUg3xphi*#%?Qpu z^);AR74U+~PpHW-n0K&=#7=+fQ3&a==^!dh+D6Z3AJtt_UdY_fq#k{2gEMeaKp|e* z#H#;TOl!%iFb%o9c^jx_u>DPo`U2Uji-DIJ>Kr$vePo>m>8VSPLVwvxm`sm`&T1y% zG>1g~3o zq(7Cp1TpWVpy}2zEgi!%)8RYZuRtBlKYZKnW2H1?Ki#8uJFCL1l-T%lJJjv5;y;TrZs{AfO zthhiB19&d;%=Mwlh`cgjrKB^VY2AbQ+8FcOCNo}j#`GyJ-D=75+o=s|RUTM@>~o>i z!kVOA$uN)C+CY}B&TT)eMoLkuwj}S5PM6}=rW=Us835m9zMla<>T}ko?l(zK2a9++ zzSDl34WCLLj(jAT3~!UHAER`{P&c(XJ2ZbMEyIr{DC1ix7V;ULraBK+5b32I;SD8R z@i{cC7q+QHUKHYz5^V{eb4zO{YYzE_n>RCvik`4SMOUwo_!5^%5xxE)DS$uJZR?nc z`hFOto=Yp3q|_hI6DxDjGO?dD;mva(>N6)G3vlkgwdkG+`a;9JE~_Q37pozmpQ+x zx{eB-w|I7#^#jtZ^fxRWmOHX7W#-}9ZtVWG0j2NTr z-=6vY!u|5J(l#F`9w{ZIDDox41icE{pA(WiCT+0MP8&G$zEF|rXaNDMriN@r&31Fw zhlJ^s5gG|_A@`U7`Aw};4XfgrudlPe*VJ#Hq;q0=@j$@B>mYvlYt6cFA^80>*TrPQ zh{bqL$V5%>gnj!BLW^R?u70qY{WnMU0@Hp2RjD{jcKb$H^|kpcZ16y~lE^`+Yp^Nf zudMwrhkmYdrgSUC_AC1ofJ>sF@Ed}i61m2=7Gv@)@f@yObk(?+}O%#m>kA8!%F=9W;N)tY&Ks0G>% z9d_R>RW#x;l|qF(U$l2sT4Pb{{m`WS_!o}*LzptmW~4@cEqWu^tgBM}*Oh{|IS8P) z6@Juix^knF?s-{txH#Qta@(~nS6x&vt6#^8`K`cA*qwAMzWs7j^!sj~ACcf$jPzAaU=myl$ zTael^52x761QnK>i_1K>a%`aRvdD|blFR&*DOw{c$*2o3g*rRyY?=D>MeNUT$%<@U zpW0mn)jyYUc_YYwt(dZ8s#5xkxu}|8jvP5+r0cVI(W|O_W!m?b)spZF%B^)Pb~AR( zu8za+_0go$so9|yg>yPcRivjmZgxE^?qsj@VSN2bLSNpy#`2WYpE`|SV9al)E>{=s z)5lJx9|=YNx|aK??$^0e26{tnAx(8Abl2@LN-kUQn-AKG#|u;Liu9U}g1((SX!{cG z+*+SP%~Y(t7p~zA|ff$7TBSQ6tV3db7gvT=&BrS4pL7 zk);(G>)e|vvz(Qx-YJ<4<+>Z~nIoS}f1>wU|Kto0vKw|Cn}_}r=IHSlodFcNq`iy_ zB&bnhgd4}1#md#v-UP*R5G8|D?f@g|TNpsvd130q`zi_b-0@nezcJ7}$JZP6gMRne zV%eVY5LvISC0EnK5ap>c!f6ps#(_<}G9A&cnpq$QO;Ug#(Q}d8i%M%%pZ}kV3!xEwR`I(JK078LH1GIu^v`hEI|*iS zqaC$&1QDV0>n_kLnG1!H>d+uOL&vIz%ct9f?`#vhX+Ku}gsW49KZsbnY+qov2VtDj zc|X-?zLYjT61skt1I)d?cDdlFh52?ObMA@w$>$+T~U3mB6N;2*idZS=0cQ%zF2Fidd zkzeso8^AP+H`sJczN6h<3iUrtG-rrCHo(vTPz40>vjdhpURJi|YCk*v@zIvteaQ7~ z>D{hCjNoKUHT2eGt0*eRay%{&IEuPx%@o8@77p4(tmP`&tjmwJ&TDHvf{9b5hdu{L zGdhiGZncO5?m(2vNaAmaSy2@i)JR@*Zp@odVHARCmR9OVXhN6NiQlb2pGQzJ?d72h zE;ME0u`Rd7h&x zaW-@XyNgXNez#9A+p-Kr&arnhI*xpS{h{b?Ew5*8r!4ojMt%?*r3jM#zWDXD!LZoc z_MyZ+ySGPyqnX<;{}-2N4?{lR>M+P?6sP-UdS0p7_LMo@DBQ14>0Cu5aIW&iDN>fI zolqw4;$0DN1IQn@${rypOqH+g5^20TFSqGz0L@J&`ynsl<*P^dG^)12jXPn0D{SbF zrXNI#i)}}Gn|m8~85Upva^WB6cPGecHs2H*qE{P8dXSGZ!(MEd4Hloc^8tT8dm97R z78xGMsq-_M6b5tA3B(=BiCl7_A!;JpereIc4u2{afAeP!f&A)=NIC;CNwaU#cX6W{ErQRS!%qxf{eQPq!)neQgc9ItI^C!Jr_7Hzof53>S&lH&erU1DAgZhE4+5K^e*0EQIufOd zcUX|Tv&ET-Qy%?!^HryooQw1KEnS|GgJp5u(L}$GM`n2`sWpMr)a>j5!S%$n=z+#^ zQvxu`6#E=wt^Fc3G>wPpvX>@n*&n+%@x)gh^Nn`?i>`>$lUfmj1CE_4gGRe;aR#Tk zI~59B6}Z3(f}8wd5}5lv?n;MFbw4Qn^KoukmEf;fghgiI;=K9%^LM>FM5!#^tvD!k zmQE{gjn&0Dzfij^=2Sc67PYbT^q^Q+KgX=fMMtLL6aJjIWK?qEN5k}e-fam^-Z5VH)1x@i| zni`4Kzam8Ogk5kk%-iQttMG}-l_|t}C&jdqCu*t;t1Z1vKBvG&VyeG56&(4SYs5Jj z()^VQ)Q05=+dr4ZFRiIzFIL0ANg?yS06*Y0SmScSGB5JD1Q@2&>HkA*|AF52d}f>U z*+D;tnIklh-BC|YWW7Kf1>^P`L?40S&aJ&8PbZ)#zF6~!FO(qAV!=_f58n(fR!iNG=`Y^(9RLabe03-)vJP?G;gSJB?qEZvz|?JZ{!7TQ`x@vn0CtLT zf9$>iZ!g<3?v;m#8@#%_Jq%NRat)n+h!J@3P*2}ItV<{t(d?_J-$4tdX&Hj*?P1;? z5C17O0Oj-rCsXfgoYvAP$=^ZnEsKEJT`-F~b1xf1Md%7bTnBc8IuDq%ixz0u_8;q_ z(thNszdiXKYa9ZVtolsyi0`5X3AphQ{V!6w zj!7K`5P4yuOd_pwbv{V{kB|U#<90`yYtoqO^7^#rw++pedS6~skFpy`G{@d3J7Nkb z3fPTsO5D|B8^X*LCn6N12F5<1%lyb^TCKUpj|4Tw(hTK-fowbt>3#d-mJxf=^MON0 zUh8dPj780z&$^?&V-?xbC8~E@_>Gg|efUDyQ`)jOrwqGX5=lk3(pD8?Jm5+Toxa`f zCS}py+ie}ae1ljqs2Q|5dHpQEI|VT~j5tAE$jqR^nSyoXJn{AkW4_!6%UpsxJ)vz4 zqxe5|i1o(Z7O-Oy470POM6kF{G{ZNeRwCGl(VKb^W*>S}l%-O4cG8uKghBQVk*>q< zv&v=Hssvxhl#sTf-itoJ-nHlxKK-@m+Q3cL{gH?=y7V`XE{0W;<@NH{cwe?>fGha< z?*+NcMnX|R+{FVW%zG-NuY6wYMSo%(snUZ|jyvQj+MsCv>Gb1|s`_=r+*wm&*U@lI zTRQT5aeY2DuAETC{&>gSiugyfldg1cc%Z`$(*#up_drCeG+W@EcB5Uxvo;a<2j_62 z!YBpWm#av$p?@n*j&>?<*-cvUfP*{%_M36V?&rdc|M1xz@02YuyZ~nNW$?pwJ%PzS zh@7SbYDbin!R7cXBP=|aq{0TVGvZaD#^~*h^>AS_Z6ZvxsX^J>)#Q#-^F<#f9a4+H zVcF^;Sh4i+kqi=M5Ktb3J(|<%X>D9X3aXfPhr7I(bK4BkQXH zr)GT{dzKMt?}F^h0hC>GcBgO50V>*yug1n%Iv{lepjy+yw9u7{pb8Tlb4m|fc3 zCPEW!wt-MkJ~NEx*qAVlNLv?wiy`FGiq@NE+6~u-=9_;5QuxEf^>2y*bfB39jqZ_CW=Fs2eCY=-?;vH!x}*wos=Z zRZFY{qzxVhXt^)gt@mbMEWO6O%Tgs8b~u;wNe+b8u#x7ct;Dp$BWI92!(~>=2LgM; zU;Ju8jMBv`!dkZjMSNp144~=&CEg3OG6F-#{<8AQiCC}WXU~w=2qyiL+Z%!e9gM>` zWuPBJ86${Q;%rOcb=wn`gR)xME>YAn>JZopk7mc|;U3gmaSwStFyl5mz5&gmo=<+^ zTY?310JlDT*4tbqKgvX3CGzfm;NL)d$A{C_vwa6?=EaSP!&6JD0htQ*f*TM4&E&DgM7b!PJ1Zj=la=ME z^70aXC(}7!ALg5arsGC}M~!iJh9Ax5GX-i?2i>`N7dG6?5vRqtpphj!{5BbWbS#H$ zKCu$pJ_M}FzCB_~Uon?8mzC7qWi+W*TezKFog9K9Xl{XV<`-qh<~;@f^m6pyTSLXL z4s|Ps_T2m;*4|CJ%R30Ux{dLxWpd-Bowb;R1QRAEHH}Ef23_Ld#Q+O?Y;$e?MvZ>@}B`43EAv zObzxBQ(>3ym65eZJk;3GIL_TQ$}1V4(Ka2k|IHOQ(lH**uYa_pI30Mo7lzQ>UJqgl zF#u<%UdQ=v8E+o(qoOY|%ifObdKcb33J1)d>&hdtKWn5wxu7|Wcr~?S^2%8($Do0# zhmYtujzYawY}z<4tws6i>N10$li<9MhPNLtxCyTPbRqdEvqzcmhM}G0SR3c&m4$k5 zpAtZa{-#n${V81#AHnCdhS-Q@|Gh&0TirE-ezJ(~s!1`QN}dg>=EM&~Q09}5;SJy6#~dB8&q-nONkOdW z?6WfM62Xh$*wY{T<>t<531bmSyPQ)738ZpACzO2s$3xGq?SwZ5h(0ZM2i&j9Upg!U zh8GWbOR?f8El$9yS@5m;p#Bjhx1yA=1iYJ*k?ThyIr7Af0(Wf4RV}sWg4;8X#fC3A zDI6zVP(eANzSAFHSg#YsTp9*oZ0(-Fc3=Mb0SLSWF!GE&JEI9Oa(fSV6uY?#Ef>FzF{-HGG&Abjoj zUS8zy00B(CtIAJDFdWc*%E$BrbPlYZ8I<|T4D5enUDuRo!GZwdR*cy`2Z z5aNcICESj15gYy4BZdt723%avhO191J;4WF8oIEMOBe8)ZdrfQeH{@-(L0rnRauw2 zmjL1;GSdLa>jVqm?K9dkO;G74@g3cuSQUF>OGp9JjZpZ!l+3z)gSjexvJb zhC_trr;v2LlNWydbFUCfkHv`o|AYYW3alW+JhPLR8B>9xz}AXz&rFlDZ@vl6Yybn7 z1h;ZG|KzkOXFFlvFHiI7N1LP!>#gKG5Rg^jPA}ua^UPOMNE zMU{O#BYw5;bfk7V-KQ_wBS_$6zSjerKH#UYAf4?Iq1nvbo@fVGey8>=AJsj6uPl_N z*PxdXlGDVxpf`FqL2!SAA%gXFXI8B~EMs`A4CQ2f8kC}cQQ3OPH5Inr)XOk+Jf@JB{HH}>S4xFByJNx$2CapjP_DOrh2G*=wo zy990>QtDnr=IlgXZC3@=Tt}xXLOKft1%W~ z;A}wB;aiTPj010tNv`qly2In-2f2Vvs|1Ktpck|Lrgw`slUQ$UdQHOl?Vv|d8+ zea8e1nGR`(Hz%?5M6Cm*d<4giUE&A}-$D{>s;o#(dA{{Eu!==`D>LL~VdkK>W4dZm zG}Bqba<`pdq4Xd|o;Q&9%6TwXeNJXx(Rlnt0zX#k3C?_2bT@FRa%Dt~?-fFpYr`TI ziSjb!ay;`(6`xo3@^hs1;t&uW0-Q#IkDduaQQ_}G#yPOfLM;lJ4dVD{?(rWB%x7Qw z*ODO3(d^MDQ<|`sIy&UnINDdi{QE<)`25=4K*#wnk-d)FrRPl?9l)Xlk|)j^+k;oe zcRs0KRf;q3wR@@^S|`5eNdZ$hT*T|IcTz$>gvKpjiCP*4#tO!=h4B(sJ%$+& za7f+bxQk``KM?Ywbz9nCD3T9fje^-#FIn=7nrL~t)|34a*9yKQQudu=*-^$2Q!pv5uUL!xUYGOGm}4l0 z8}ONDMR_NZddRDJH+XVIfMChd%jPrM(NccVHLr~>k8iZ1A+As?*Z#mh4qi?cfgtaG;l0{h zbN}S!%u&Cr*)Y~vu>RS|`xg3}X|a(5c%=SxZ;t4s==$TMKjw-f(>= zx=fDcLX0#+nS-6|M5v&)<0Tvw{e@dSYZpP6KCKcSb%_u6;3p*Iz^YN9%U{oDBFj%Hg`Z znNip8Z75100Y_a(=aDDNkz6z)pEaHccs%VIDza~Y=PC0BajuDe8daTE`_NZ5Rc*}c z7uqdg7-(hpTwZx-ETm`Ka?AE2lii*%za>aY{1rrG<4t?U=SW{bftBGfdwr1)+=;<_ zgRy>4*6GZ8f#*P9AVaD>St^Ut*R&@?|*$)XapE$DJ_&QhVnZ%Y?a5V_ID~% zxb7{)FRRwKLSs|27R~s@#@^$9V*lyROPD1Uxy69^j^~5xn6tT@n1i z;Ss?qy5wl+bxTNby}EH{hi*OZD=R+})BJ5->SGhX-%((Y9%ahLUYKQdxmQ}=!#UJGJSy89ud+xK2Gf$dRRgL zZu>-Dc{+lo9#q9lyop~s`G9tKxm+An)#Ni-Nb0f@I!*Bt&}3P0zC;pi1b=Ko4@SN`lJxVg>apsnf9QBUdZTfh zB0{qbe&oh0o$e&BE9p==5b$v`)XbMz(+5wR^%K96CbrXJsx+F?9uMh zn3YL{#Gdt{+KW~>{?vH+EU|e(_=vHJ`OMZX--#Z%m^@UtU6|btX;bE@&U=V3$e`^q zaV?u*7Ir6Ei1hwvv}Uv&5!&~r-Rt^bZc4?cz4T+j(Oyos6^`Lp&1hA}iOH&Ino3hwWaDFTZ%R+oOT=>uNwGVHMmEXx7&eaA56lmqx{;OqfEoX z{=j2y@WFBlr()&ZqN8(n%%8G7Jrq-F8j?+JPdK02J{KO(CrqY0}+aUvh#%4wr3K10|X?-FF6`DFe!9vxW)LK&6i?W3D3Qi zAQG+&D@)^32sW?$C7r3>Lce5mq}tTr`4)a+$&PxjF-E!J8+0!*M$;nG3 Y`@MNG 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�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%0Aq^qwd7}r9Lon6 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 +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace ::chip; +//#if CHIP_DEVICE_CONFIG_ENABLE_WIFI +namespace chip { +namespace DeviceLayer { +namespace NetworkCommissioning { + +namespace { +constexpr char kWiFiSSIDKeyName[] = "wifi-ssid"; +constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; + +constexpr char blWiFiSSIDKeyName[] = "bl-wifi-ssid"; +constexpr char blWiFiCredentialsKeyName[] = "bl-wifi-pass"; + +static uint8_t WiFiSSIDStr[DeviceLayer::Internal::kMaxWiFiSSIDLength]; +} // namespace + +CHIP_ERROR BLWiFiDriver::Init() +{ + CHIP_ERROR err; + size_t ssidLen = 0; + size_t credentialsLen = 0; + + err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiCredentialsKeyName, mSavedNetwork.credentials, + sizeof(mSavedNetwork.credentials), &credentialsLen); + if (err == CHIP_ERROR_NOT_FOUND) + { + return CHIP_NO_ERROR; + } + + err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiSSIDKeyName, mSavedNetwork.ssid, sizeof(mSavedNetwork.ssid), &ssidLen); + if (err == CHIP_ERROR_NOT_FOUND) + { + return CHIP_NO_ERROR; + } + mSavedNetwork.credentialsLen = credentialsLen; + mSavedNetwork.ssidLen = ssidLen; + + mStagingNetwork = mSavedNetwork; + mpScanCallback = nullptr; + mpConnectCallback = nullptr; + + return err; +} + +CHIP_ERROR BLWiFiDriver::Shutdown() +{ + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::CommitConfiguration() +{ + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(kWiFiSSIDKeyName, mStagingNetwork.ssid, mStagingNetwork.ssidLen)); + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(kWiFiCredentialsKeyName, mStagingNetwork.credentials, + mStagingNetwork.credentialsLen)); + mSavedNetwork = mStagingNetwork; + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::SaveConfiguration() +{ + if (NULL == mStagingNetwork.ssid || 0 == mStagingNetwork.ssidLen || NULL == mStagingNetwork.credentials || + 0 == mStagingNetwork.credentialsLen) + { + return CHIP_ERROR_KEY_NOT_FOUND; + } + + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Put(blWiFiSSIDKeyName, mStagingNetwork.ssid, mStagingNetwork.ssidLen)); + ReturnErrorOnFailure(PersistedStorage::KeyValueStoreMgr().Put(blWiFiCredentialsKeyName, mStagingNetwork.credentials, + mStagingNetwork.credentialsLen)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR BLWiFiDriver::RevertConfiguration() +{ + mStagingNetwork = mSavedNetwork; + return CHIP_NO_ERROR; +} + +bool BLWiFiDriver::NetworkMatch(const WiFiNetwork & network, ByteSpan networkId) +{ + return networkId.size() == network.ssidLen && memcmp(networkId.data(), network.ssid, network.ssidLen) == 0; +} + +Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) +{ + VerifyOrReturnError(mStagingNetwork.ssidLen == 0 || NetworkMatch(mStagingNetwork, ssid), Status::kBoundsExceeded); + VerifyOrReturnError(credentials.size() <= sizeof(mStagingNetwork.credentials), Status::kOutOfRange); + VerifyOrReturnError(ssid.size() <= sizeof(mStagingNetwork.ssid), Status::kOutOfRange); + + memcpy(mStagingNetwork.credentials, credentials.data(), credentials.size()); + mStagingNetwork.credentialsLen = static_cast(credentials.size()); + + memcpy(mStagingNetwork.ssid, ssid.data(), ssid.size()); + mStagingNetwork.ssidLen = static_cast(ssid.size()); + + return Status::kSuccess; +} + +Status BLWiFiDriver::RemoveNetwork(ByteSpan networkId) +{ + VerifyOrReturnError(NetworkMatch(mStagingNetwork, networkId), Status::kNetworkIDNotFound); + + // Use empty ssid for representing invalid network + mStagingNetwork.ssidLen = 0; + return Status::kSuccess; +} + +Status BLWiFiDriver::ReorderNetwork(ByteSpan networkId, uint8_t index) +{ + // Only one network is supported now + VerifyOrReturnError(index == 0, Status::kOutOfRange); + VerifyOrReturnError(NetworkMatch(mStagingNetwork, networkId), Status::kNetworkIDNotFound); + return Status::kSuccess; +} + +CHIP_ERROR BLWiFiDriver::ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen, const char * key, uint8_t keyLen) +{ + // ReturnErrorOnFailure(ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Disabled)); + + char wifi_ssid[64] = { 0 }; + char passwd[64] = { 0 }; + // Set the wifi configuration + memcpy(wifi_ssid, ssid, ssidLen); + memcpy(passwd, key, keyLen); + wifi_interface_t wifi_interface; + wifi_interface = wifi_mgmr_sta_enable(); + wifi_mgmr_sta_connect(wifi_interface, ssid, passwd, NULL, NULL, 0, 0); + + // Configure the WiFi interface. + ReturnErrorOnFailure(ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Disabled)); + + return ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Enabled); +} + +CHIP_ERROR BLWiFiDriver::ReConnectWiFiNetwork(void) +{ + char ssid[64] = { 0 }; + char psk[64] = { 0 }; + size_t ssidLen = 0; + size_t pskLen = 0; + + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Get((const char *) blWiFiSSIDKeyName, (void *) ssid, 64, &ssidLen, 0)); + ReturnErrorOnFailure( + PersistedStorage::KeyValueStoreMgr().Get((const char *) blWiFiCredentialsKeyName, (void *) psk, 64, &pskLen, 0)); + + ConnectWiFiNetwork(ssid, ssidLen, psk, pskLen); + + return CHIP_NO_ERROR; +} + +void BLWiFiDriver::OnConnectWiFiNetwork() +{ + if (mpConnectCallback) + { + mpConnectCallback->OnResult(Status::kSuccess, CharSpan(), 0); + mpConnectCallback = nullptr; + } +} + +void BLWiFiDriver::ConnectNetwork(ByteSpan networkId, ConnectCallback * callback) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + Status networkingStatus = Status::kSuccess; + static int save = 0; + + // VerifyOrExit(NetworkMatch(mStagingNetwork, networkId), networkingStatus = Status::kNetworkIDNotFound); + // VerifyOrExit(mpConnectCallback == nullptr, networkingStatus = Status::kUnknownError); + ChipLogProgress(NetworkProvisioning, "BL NetworkCommissioningDelegate: SSID: %.*s", static_cast(networkId.size()), + networkId.data()); + + err = ConnectWiFiNetwork(reinterpret_cast(mStagingNetwork.ssid), mStagingNetwork.ssidLen, + reinterpret_cast(mStagingNetwork.credentials), mStagingNetwork.credentialsLen); + mpConnectCallback = callback; + +exit: + if (err != CHIP_NO_ERROR) + { + networkingStatus = Status::kUnknownError; + } + if (networkingStatus != Status::kSuccess) + { + ChipLogError(NetworkProvisioning, "Failed to connect to WiFi network:%s", chip::ErrorStr(err)); + mpConnectCallback = nullptr; + callback->OnResult(networkingStatus, CharSpan(), 0); + } +} + +#if 0 +CHIP_ERROR ESPWiFiDriver::StartScanWiFiNetworks(ByteSpan ssid) +{ + esp_err_t err = ESP_OK; + if (ssid.data()) + { + wifi_scan_config_t scan_config = { 0 }; + memset(WiFiSSIDStr, 0, sizeof(WiFiSSIDStr)); + memcpy(WiFiSSIDStr, ssid.data(), ssid.size()); + scan_config.ssid = WiFiSSIDStr; + err = esp_wifi_scan_start(&scan_config, false); + } + else + { + err = esp_wifi_scan_start(NULL, false); + } + if (err != ESP_OK) + { + return chip::DeviceLayer::Internal::ESP32Utils::MapError(err); + } + return CHIP_NO_ERROR; +} +#endif + +#if 0 +void ESPWiFiDriver::OnScanWiFiNetworkDone() +{ + uint16_t ap_number; + esp_wifi_scan_get_ap_num(&ap_number); + if (!ap_number) + { + ChipLogProgress(DeviceLayer, "No AP found"); + if (mpScanCallback != nullptr) + { + mpScanCallback->OnFinished(Status::kSuccess, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + return; + } + std::unique_ptr ap_buffer_ptr(new wifi_ap_record_t[ap_number]); + if (ap_buffer_ptr == NULL) + { + ChipLogError(DeviceLayer, "can't malloc memory for ap_list_buffer"); + if (mpScanCallback) + { + mpScanCallback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + return; + } + wifi_ap_record_t * ap_list_buffer = ap_buffer_ptr.get(); + if (esp_wifi_scan_get_ap_records(&ap_number, ap_list_buffer) == ESP_OK) + { + if (CHIP_NO_ERROR == DeviceLayer::SystemLayer().ScheduleLambda([ap_number, ap_list_buffer]() { + std::unique_ptr auto_free(ap_list_buffer); + ESPScanResponseIterator iter(ap_number, ap_list_buffer); + if (GetInstance().mpScanCallback) + { + GetInstance().mpScanCallback->OnFinished(Status::kSuccess, CharSpan(), &iter); + GetInstance().mpScanCallback = nullptr; + } + else + { + ChipLogError(DeviceLayer, "can't find the ScanCallback function"); + } + })) + { + ap_buffer_ptr.release(); + } + } + else + { + ChipLogError(DeviceLayer, "can't get ap_records "); + if (mpScanCallback) + { + mpScanCallback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + mpScanCallback = nullptr; + } + } +} +#endif + +void BLWiFiDriver::ScanNetworks(ByteSpan ssid, WiFiDriver::ScanCallback * callback) +{ +#if 0 + if (callback != nullptr) + { + mpScanCallback = callback; + if (StartScanWiFiNetworks(ssid) != CHIP_NO_ERROR) + { + mpScanCallback = nullptr; + callback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); + } + } +#endif +} + +#if 0 +CHIP_ERROR GetConnectedNetwork(Network & network) +{ + wifi_ap_record_t ap_info; + esp_err_t err; + err = esp_wifi_sta_get_ap_info(&ap_info); + if (err != ESP_OK) + { + return chip::DeviceLayer::Internal::ESP32Utils::MapError(err); + } + uint8_t length = strnlen(reinterpret_cast(ap_info.ssid), DeviceLayer::Internal::kMaxWiFiSSIDLength); + if (length > sizeof(network.networkID)) + { + return CHIP_ERROR_INTERNAL; + } + memcpy(network.networkID, ap_info.ssid, length); + network.networkIDLen = length; + return CHIP_NO_ERROR; +} +#endif + +size_t BLWiFiDriver::WiFiNetworkIterator::Count() +{ + return mDriver->mStagingNetwork.ssidLen == 0 ? 0 : 1; +} + +bool BLWiFiDriver::WiFiNetworkIterator::Next(Network & item) +{ +#if 0 + if (mExhausted || mDriver->mStagingNetwork.ssidLen == 0) + { + return false; + } + memcpy(item.networkID, mDriver->mStagingNetwork.ssid, mDriver->mStagingNetwork.ssidLen); + item.networkIDLen = mDriver->mStagingNetwork.ssidLen; + item.connected = false; + mExhausted = true; + + Network connectedNetwork; + CHIP_ERROR err = GetConnectedNetwork(connectedNetwork); + if (err == CHIP_NO_ERROR) + { + if (connectedNetwork.networkIDLen == item.networkIDLen && + memcmp(connectedNetwork.networkID, item.networkID, item.networkIDLen) == 0) + { + item.connected = true; + } + } +#endif + return true; +} + +} // namespace NetworkCommissioning +} // namespace DeviceLayer +} // namespace chip +//#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI From 10de84e7ffe29b0eeaa10202e1fc6759f0f496ce Mon Sep 17 00:00:00 2001 From: jczhang Date: Fri, 18 Mar 2022 14:35:57 +0800 Subject: [PATCH 05/18] [BL602] delete README.pdf, restyled README.md, add items for include config check --- .../lighting-app/bouffalolab/bl602/README.pdf | Bin 522566 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/lighting-app/bouffalolab/bl602/README.pdf diff --git a/examples/lighting-app/bouffalolab/bl602/README.pdf b/examples/lighting-app/bouffalolab/bl602/README.pdf deleted file mode 100644 index c65f135e06e57ebd536948a45f31c07bb3b2a408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522566 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

|(Kfqm>(6cKkBd&8LZ3t*2vw}%liV60F^C^iol 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

NqK$6SQb@LxQ>#Vb`csUf2AL%{cgg;>1P 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 |x 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 Y`@MNG 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�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%0Aq^qwd7}r9Lon6 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 Date: Thu, 31 Mar 2022 11:19:13 +0800 Subject: [PATCH 06/18] [BL602] Update compile cmds --- BUILD.gn | 2 +- build/toolchain/riscv_gcc/riscv_toolchain.gni | 3 ++- examples/lighting-app/bouffalolab/bl602/BUILD.gn | 2 ++ examples/lighting-app/bouffalolab/bl602/README.md | 6 ++---- examples/platform/bouffalolab/bl602/args.gni | 2 ++ scripts/build/BUILD.gn | 1 + scripts/build/build/targets.py | 8 ++++++++ scripts/examples/gn_bl602_example.sh | 2 +- src/lwip/BUILD.gn | 12 ++++-------- src/platform/bouffalolab/BL602/BUILD.gn | 10 ++++++++-- src/platform/bouffalolab/BL602/DnssdImpl.cpp | 14 +++++++------- src/platform/bouffalolab/BL602/args.gni | 2 +- third_party/bouffalolab/bl602_sdk/bl602_sdk.gni | 2 +- 13 files changed, 40 insertions(+), 26 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 66ee58c6b63915..6ddfb3dc4d78c8 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -277,7 +277,7 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") { # Build the k32w shell app example. enable_k32w_shell_app_build = enable_k32w_builds - # Build the bl602 lock app example. + # Build the bl602 lighting app example. enable_bl602_lighting_app_build = enable_bl602_builds enable_fake_tests = enable_default_builds && host_os == "linux" diff --git a/build/toolchain/riscv_gcc/riscv_toolchain.gni b/build/toolchain/riscv_gcc/riscv_toolchain.gni index d7765a7934d767..08a7b204326e3d 100644 --- a/build/toolchain/riscv_gcc/riscv_toolchain.gni +++ b/build/toolchain/riscv_gcc/riscv_toolchain.gni @@ -13,12 +13,13 @@ # limitations under the License. import("//build_overrides/build.gni") +import("//build_overrides/bl602_sdk.gni") import("${build_root}/toolchain/gcc_toolchain.gni") template("riscv_toolchain") { gcc_toolchain(target_name) { - _tool_name_root = "riscv64-unknown-elf-" + _tool_name_root = "${root_build_dir}/../../third_party/bouffalolab/bl602_sdk/repo/toolchain/riscv/Linux/bin/riscv64-unknown-elf-" ar = _tool_name_root + "ar" cc = _tool_name_root + "gcc" cxx = _tool_name_root + "g++" diff --git a/examples/lighting-app/bouffalolab/bl602/BUILD.gn b/examples/lighting-app/bouffalolab/bl602/BUILD.gn index d586cf4647ba51..a46a4e15f90ab9 100644 --- a/examples/lighting-app/bouffalolab/bl602/BUILD.gn +++ b/examples/lighting-app/bouffalolab/bl602/BUILD.gn @@ -65,6 +65,8 @@ bl602_executable("lighting_app") { output_name = "chip-bl602-lighting-example.out" sources = [ + #"${bl602_project_dir}/include/CHIPProjectConfig.h", + "include/CHIPProjectConfig.h", "${examples_plat_dir}/InitPlatform.cpp", "src/AppTask.cpp", "src/CHIPDeviceManager.cpp", diff --git a/examples/lighting-app/bouffalolab/bl602/README.md b/examples/lighting-app/bouffalolab/bl602/README.md index be12f84f1466d8..cdbf4f0a50438a 100644 --- a/examples/lighting-app/bouffalolab/bl602/README.md +++ b/examples/lighting-app/bouffalolab/bl602/README.md @@ -10,9 +10,7 @@ * Build the example application: -``` -connectedhomeip$ ./scripts/examples/gn_bl602_example.sh ./examples/lighting-app/bouffalolab/bl602 out/lighting_app_bl602 -``` + `connectedhomeip$ ./scripts/build/build_examples.py --target bl602-lighting build` Generated files @@ -50,7 +48,7 @@ commissioning and cluster control. - chip-device-ctrl > ble-scan - chip-device-ctrl > set-pairing-wifi-credential TESTSSID P455W4RD - chip-device-ctrl > connect -ble 3904 20202021 135246 - + Parameters: 1. Discriminator: 3904 2. Setup-pin-code: 20202021 diff --git a/examples/platform/bouffalolab/bl602/args.gni b/examples/platform/bouffalolab/bl602/args.gni index bbab38b1a34ff2..76c00fbf21af48 100644 --- a/examples/platform/bouffalolab/bl602/args.gni +++ b/examples/platform/bouffalolab/bl602/args.gni @@ -19,3 +19,5 @@ chip_device_project_config_include = "" chip_project_config_include = "" chip_inet_project_config_include = "" chip_system_project_config_include = "" + +chip_project_config_include_dirs = [ "${chip_root}/examples/lighting-app/bouffalolab/bl602/include" ] diff --git a/scripts/build/BUILD.gn b/scripts/build/BUILD.gn index 127430285611b1..ecf185a6ccccc5 100644 --- a/scripts/build/BUILD.gn +++ b/scripts/build/BUILD.gn @@ -46,6 +46,7 @@ pw_python_package("build_examples") { "builders/qpg.py", "builders/telink.py", "builders/tizen.py", + "builders/bl602.py", "runner/__init__.py", "runner/printonly.py", "runner/shell.py", diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 13a46ef4d07ec4..5b3f652e3188b2 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -31,6 +31,7 @@ from builders.qpg import QpgApp, QpgBoard, QpgBuilder from builders.telink import TelinkApp, TelinkBoard, TelinkBuilder from builders.tizen import TizenApp, TizenBoard, TizenBuilder +from builders.bl602 import Bl602App, Bl602Board, Bl602Builder class Target: @@ -483,6 +484,12 @@ def QorvoTargets(): yield target.Extend('persistent-storage', board=QpgBoard.QPG6105, app=QpgApp.PERSISTENT_STORAGE) +def Bl602Targets(): + target = Target('bl602', Bl602Builder) + + yield target.Extend('lighting', board=Bl602Board.BL602BOARD, app=Bl602App.LIGHT) + + ALL = [] target_generators = [ @@ -498,6 +505,7 @@ def QorvoTargets(): cc13x2x7_26x2x7Targets(), Cyw30739Targets(), QorvoTargets(), + Bl602Targets(), ] for generator in target_generators: diff --git a/scripts/examples/gn_bl602_example.sh b/scripts/examples/gn_bl602_example.sh index fb460cb0b63110..9b6d02b3927b3f 100755 --- a/scripts/examples/gn_bl602_example.sh +++ b/scripts/examples/gn_bl602_example.sh @@ -59,5 +59,5 @@ for arg; do done #gn clean out/lighting_app_bl602 -gn gen "$OUTPUT_DIR" --root="$EXAMPLE_DIR" --args="bl602_sdk_root=\"$BL602_SDK_ROOT\" bl602_board=\"$BL602_BOARD\" ${GN_ARGS[*]}" +gn gen "$OUTPUT_DIR" --root="$EXAMPLE_DIR" --args="${GN_ARGS[*]}" ninja -C "$OUTPUT_DIR" "${NINJA_ARGS[@]}" diff --git a/src/lwip/BUILD.gn b/src/lwip/BUILD.gn index bdfaf96c789159..ccc886c1673c6b 100644 --- a/src/lwip/BUILD.gn +++ b/src/lwip/BUILD.gn @@ -55,10 +55,8 @@ if (lwip_platform == "cc13x2_26x2") { import("//build_overrides/p6.gni") } else if (lwip_platform == "cyw30739") { import("//build_overrides/cyw30739_sdk.gni") -} else if (lwip_platform == "external") { - if (getenv("BL602_SDK_ROOT") != "") { - import("//build_overrides/bl602_sdk.gni") - } +} else if (lwip_platform == "bl602") { + import("//build_overrides/bl602_sdk.gni") } buildconfig_header("lwip_buildconfig") { @@ -81,12 +79,10 @@ buildconfig_header("lwip_buildconfig") { if (current_os == "zephyr" || current_os == "mbed") { group("lwip") { } -} else if (lwip_platform == "external") { +} else if (lwip_platform == "bl602") { group("lwip") { public_deps = [ ":lwip_buildconfig" ] - if (getenv("BL602_SDK_ROOT") != "") { - public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] - } + public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] } group("all") { diff --git a/src/platform/bouffalolab/BL602/BUILD.gn b/src/platform/bouffalolab/BL602/BUILD.gn index 467adf40eefd23..40f2d2757f4303 100644 --- a/src/platform/bouffalolab/BL602/BUILD.gn +++ b/src/platform/bouffalolab/BL602/BUILD.gn @@ -49,7 +49,13 @@ static_library("BL602") { "SystemPlatformConfig.h", ] - public_deps = [ "${chip_root}/src/platform:platform_base" ] + deps = [ + "${chip_root}/src/lib/dnssd:platform_header", + ] + + public_deps = [ + "${chip_root}/src/platform:platform_base", + ] # defines = [ # "CHIP_KVS_SECTOR_COUNT=1", @@ -57,7 +63,7 @@ static_library("BL602") { # ] # Add pigweed KVS - deps = [ + deps += [ "$dir_pw_kvs:crc16", "$dir_pw_log", ] diff --git a/src/platform/bouffalolab/BL602/DnssdImpl.cpp b/src/platform/bouffalolab/BL602/DnssdImpl.cpp index de1328930e236f..6f60d7ba50a8c9 100644 --- a/src/platform/bouffalolab/BL602/DnssdImpl.cpp +++ b/src/platform/bouffalolab/BL602/DnssdImpl.cpp @@ -15,21 +15,21 @@ * limitations under the License. */ -#include "lib/dnssd/platform/Dnssd.h" - -#include -#include -#include - -#include "platform/CHIPDeviceLayer.h" +#include #include #include #include +#include "lib/dnssd/platform/Dnssd.h" #include #include #include #include +#include +#include +#include + +using namespace chip::Dnssd; using namespace ::chip::DeviceLayer::Internal; namespace { diff --git a/src/platform/bouffalolab/BL602/args.gni b/src/platform/bouffalolab/BL602/args.gni index 29ebe257e955b9..f7a568013a4795 100644 --- a/src/platform/bouffalolab/BL602/args.gni +++ b/src/platform/bouffalolab/BL602/args.gni @@ -25,7 +25,7 @@ mbedtls_target = "${bl602_sdk_build_root}:bl602_sdk" chip_device_platform = "bl602" chip_mdns = "platform" -lwip_platform = "external" +lwip_platform = "bl602" chip_inet_config_enable_ipv4 = true diff --git a/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni b/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni index 2ba97e6606996e..428a8439e3789e 100644 --- a/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni +++ b/third_party/bouffalolab/bl602_sdk/bl602_sdk.gni @@ -20,7 +20,7 @@ import("bl602_board.gni") declare_args() { # Location of the bl602 SDK. - bl602_sdk_root = "${chip_root}/third_party/bl602_sdk/repo" + bl602_sdk_root = "${chip_root}/third_party/bouffalolab/bl602_sdk/repo" } assert(bl602_sdk_root != "", "bl602_sdk_root must be specified") From 6f748a2f4be3ef15eb12dac4f74305cb355ab3a6 Mon Sep 17 00:00:00 2001 From: jczhang Date: Thu, 31 Mar 2022 17:28:00 +0800 Subject: [PATCH 07/18] [BL602] Fix compile error, and update submodule --- .gitmodules | 2 +- scripts/build/builders/bl602.py | 80 +++++++++++++++++++ .../bl602_sdk/bl602_executable.gni | 2 +- 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 scripts/build/builders/bl602.py diff --git a/.gitmodules b/.gitmodules index 9e285ff25bad2e..82d6d04b944a6a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -206,4 +206,4 @@ [submodule "third_party/bouffalolab/bl602"] path = third_party/bouffalolab/bl602_sdk/repo url = https://github.com/bouffalolab/bl_iot_sdk_matter.git - branch = gebx/rebase-to-ee7682d5 + branch = bl602_release diff --git a/scripts/build/builders/bl602.py b/scripts/build/builders/bl602.py new file mode 100644 index 00000000000000..d0440bb84132df --- /dev/null +++ b/scripts/build/builders/bl602.py @@ -0,0 +1,80 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +from enum import Enum, auto + +from .gn import GnBuilder + + +class Bl602App(Enum): + LOCK = auto() + LIGHT = auto() + ALL_CLUSTERS = auto() + + def ExampleName(self): + if self == Bl602App.LIGHT: + return 'lighting-app' + else: + raise Exception('Unknown app type: %r' % self) + + def AppNamePrefix(self): + if self == Bl602App.LIGHT: + return 'chip-bl602-lighting-example' + else: + raise Exception('Unknown app type: %r' % self) + + def FlashBundleName(self): + if self == Bl602App.LOCK: + return 'lighting_app.flashbundle.txt' + else: + raise Exception('Unknown app type: %r' % self) + + +class Bl602Board(Enum): + BL602BOARD = 1 + + def GnArgName(self): + if self == Bl602Board.BL602BOARD: + return 'BL-HWC-G1' + + +class Bl602Builder(GnBuilder): + + def __init__(self, + root, + runner, + app: Bl602App = Bl602App.LIGHT, + board: Bl602Board = Bl602Board.BL602BOARD): + super(Bl602Builder, self).__init__( + root=os.path.join(root, 'examples', app.ExampleName(), 'bouffalolab', 'bl602'), + runner=runner) + + self.app = app + self.board = board + + def GnBuildArgs(self): + return ['bl602_board="%s"' % self.board.GnArgName()] + + def build_outputs(self): + items = { + '%s.out' % self.app.AppNamePrefix(): + os.path.join(self.output_dir, '%s.out' % + self.app.AppNamePrefix()), + '%s.out.map' % self.app.AppNamePrefix(): + os.path.join(self.output_dir, + '%s.out.map' % self.app.AppNamePrefix()), + } + + return items diff --git a/third_party/bouffalolab/bl602_sdk/bl602_executable.gni b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni index 47c14ce88db7fe..39c84480c5cf1e 100644 --- a/third_party/bouffalolab/bl602_sdk/bl602_executable.gni +++ b/third_party/bouffalolab/bl602_sdk/bl602_executable.gni @@ -22,7 +22,7 @@ template("bl602_executable") { objcopy_image_name = output_base_name + ".bin" objcopy_image_format = "binary" - objcopy = "riscv64-unknown-elf-objcopy" + objcopy = "${root_build_dir}/../../third_party/bouffalolab/bl602_sdk/repo/toolchain/riscv/Linux/bin/riscv64-unknown-elf-objcopy" # Copy flashing dependencies to the output directory so that the output # is collectively self-contained; this allows flashing to work reliably From 4cfed0c4cc14557cc3106eddb43036de99aff1bf Mon Sep 17 00:00:00 2001 From: jczhang Date: Thu, 31 Mar 2022 18:38:34 +0800 Subject: [PATCH 08/18] [BL602] Update compile errors --- .../bouffalolab/BL602/NetworkCommissioningDriver.cpp | 6 +++--- src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp index e56c85c80e24d7..b3fd36293b146f 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp @@ -114,7 +114,7 @@ bool BLWiFiDriver::NetworkMatch(const WiFiNetwork & network, ByteSpan networkId) return networkId.size() == network.ssidLen && memcmp(networkId.data(), network.ssid, network.ssidLen) == 0; } -Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) +Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText,uint8_t & outNetworkIndex) { VerifyOrReturnError(mStagingNetwork.ssidLen == 0 || NetworkMatch(mStagingNetwork, ssid), Status::kBoundsExceeded); VerifyOrReturnError(credentials.size() <= sizeof(mStagingNetwork.credentials), Status::kOutOfRange); @@ -129,7 +129,7 @@ Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) return Status::kSuccess; } -Status BLWiFiDriver::RemoveNetwork(ByteSpan networkId) +Status BLWiFiDriver::RemoveNetwork(ByteSpan networkId, MutableCharSpan & outDebugText, uint8_t & outNetworkIndex) { VerifyOrReturnError(NetworkMatch(mStagingNetwork, networkId), Status::kNetworkIDNotFound); @@ -138,7 +138,7 @@ Status BLWiFiDriver::RemoveNetwork(ByteSpan networkId) return Status::kSuccess; } -Status BLWiFiDriver::ReorderNetwork(ByteSpan networkId, uint8_t index) +Status BLWiFiDriver::ReorderNetwork(ByteSpan networkId, uint8_t index, MutableCharSpan & outDebugText) { // Only one network is supported now VerifyOrReturnError(index == 0, Status::kOutOfRange); diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h index 2a4fc834cb8741..a2e1d59e5c83ca 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h @@ -101,12 +101,12 @@ class BLWiFiDriver final : public WiFiDriver CHIP_ERROR SaveConfiguration(); CHIP_ERROR RevertConfiguration() override; - Status RemoveNetwork(ByteSpan networkId) override; - Status ReorderNetwork(ByteSpan networkId, uint8_t index) override; + Status RemoveNetwork(ByteSpan networkId, MutableCharSpan & outDebugText, uint8_t & outNetworkIndex) override; + Status ReorderNetwork(ByteSpan networkId, uint8_t index, MutableCharSpan & outDebugText) override; void ConnectNetwork(ByteSpan networkId, ConnectCallback * callback) override; // WiFiDriver - Status AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) override; + Status AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText, uint8_t & outNetworkIndex) override; void ScanNetworks(ByteSpan ssid, ScanCallback * callback) override; CHIP_ERROR ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen, const char * key, uint8_t keyLen); From e43c2deacd56df842f3980b70bc080d7520ff02f Mon Sep 17 00:00:00 2001 From: jczhang Date: Thu, 31 Mar 2022 20:00:01 +0800 Subject: [PATCH 09/18] [BL602] Update lwip build, add bouffalolab to world list --- .github/.wordlist.txt | 1 + src/lwip/BUILD.gn | 12 ++++++++++-- src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp | 9 --------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt index f8d0a2dc434631..0a2262a04d42b6 100644 --- a/.github/.wordlist.txt +++ b/.github/.wordlist.txt @@ -1451,3 +1451,4 @@ localedef nameserver nmcli tsan +bouffalolab diff --git a/src/lwip/BUILD.gn b/src/lwip/BUILD.gn index ccc886c1673c6b..3cc14c4ee08e56 100644 --- a/src/lwip/BUILD.gn +++ b/src/lwip/BUILD.gn @@ -79,10 +79,9 @@ buildconfig_header("lwip_buildconfig") { if (current_os == "zephyr" || current_os == "mbed") { group("lwip") { } -} else if (lwip_platform == "bl602") { +} else if (lwip_platform == "external") { group("lwip") { public_deps = [ ":lwip_buildconfig" ] - public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] } group("all") { @@ -120,6 +119,15 @@ if (current_os == "zephyr" || current_os == "mbed") { "${chip_root}/src:includes", ] } +} else if (lwip_platform == "bl602") { + group("lwip") { + public_deps = [ ":lwip_buildconfig" ] + public_deps += [ "${bl602_sdk_build_root}:bl602_sdk" ] + } + + group("all") { + deps = [ ":lwip" ] + } } else { config("lwip_config") { include_dirs = [ lwip_platform ] diff --git a/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp index 1821a230f057b0..295e30f68dd3bf 100644 --- a/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp +++ b/src/platform/bouffalolab/BL602/GroupKeyStoreImpl.cpp @@ -143,15 +143,6 @@ CHIP_ERROR GroupKeyStoreImpl::StoreGroupKey(const ChipGroupKey & key) { extraKeyInfo[0] = 0; } - -#if CHIP_CONFIG_SECURITY_TEST_MODE - ChipLogProgress(SecurityManager, - "GroupKeyStore: storing key 0x%08" PRIX32 " (%s), len %" PRId8 ", data 0x%02" PRIX8 "...%s", key.KeyId, - ChipKeyId::DescribeKey(key.KeyId), key.KeyLen, key.Key[0], extraKeyInfo); -#else - ChipLogProgress(SecurityManager, "GroupKeyStore: storing key 0x%08" PRIX32 " (%s), len %" PRId8 "%s", key.KeyId, - ChipKeyId::DescribeKey(key.KeyId), key.KeyLen, extraKeyInfo); -#endif } #endif // CHIP_PROGRESS_LOGGING From 5c81f61234f7693288f81e2f111263eeb46fbdcc Mon Sep 17 00:00:00 2001 From: jczhang Date: Fri, 1 Apr 2022 14:06:32 +0800 Subject: [PATCH 10/18] [BL602] Update test action --- build/config/riscv.gni | 2 +- scripts/build/build/targets.py | 2 +- scripts/build/testdata/all_targets_except_host.txt | 1 + scripts/build/testdata/build_all_except_host.txt | 6 ++++++ scripts/build/testdata/glob_star_targets_except_host.txt | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build/config/riscv.gni b/build/config/riscv.gni index 37e1aaa1350460..c7843d8ba51ba1 100644 --- a/build/config/riscv.gni +++ b/build/config/riscv.gni @@ -14,7 +14,7 @@ import("//build_overrides/build.gni") -if (current_cpu == "riscv" && current_os == "freertos") { +if (current_cpu == "riscv") { declare_args() { # Build file to import for RISCV defaults. riscv_platform_config = "" diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 5b3f652e3188b2..f46d5e2fa52717 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -487,7 +487,7 @@ def QorvoTargets(): def Bl602Targets(): target = Target('bl602', Bl602Builder) - yield target.Extend('lighting', board=Bl602Board.BL602BOARD, app=Bl602App.LIGHT) + yield target.Extend('light', board=Bl602Board.BL602BOARD, app=Bl602App.LIGHT) ALL = [] diff --git a/scripts/build/testdata/all_targets_except_host.txt b/scripts/build/testdata/all_targets_except_host.txt index 185ccc69a86fec..2e7793d7bbd674 100644 --- a/scripts/build/testdata/all_targets_except_host.txt +++ b/scripts/build/testdata/all_targets_except_host.txt @@ -192,3 +192,4 @@ qpg-persistent-storage qpg-shell telink-tlsr9518adk80d-light tizen-arm-light +bl602-light diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt index d9baa35cf9543f..81a149b5945eee 100644 --- a/scripts/build/testdata/build_all_except_host.txt +++ b/scripts/build/testdata/build_all_except_host.txt @@ -897,6 +897,9 @@ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/exa # Generating qpg-shell gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/shell/qpg '--args=qpg_target_ic="qpg6105"' {out}/qpg-shell +# Generating bl602-light +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/bouffalolab/bl602 '--args=bl602_board="BL-HWC-G1"' {out}/bl602-lighting + # Generating telink-tlsr9518adk80d-light bash -c 'export ZEPHYR_BASE="$TELINK_ZEPHYR_BASE" export ZEPHYR_SDK_INSTALL_DIR="$TELINK_ZEPHYR_SDK_DIR" @@ -1762,3 +1765,6 @@ ninja -C {out}/telink-tlsr9518adk80d-light # Building tizen-arm-light ninja -C {out}/tizen-arm-light + +# Building bl602-light +ninja -C {out}/bl602-light diff --git a/scripts/build/testdata/glob_star_targets_except_host.txt b/scripts/build/testdata/glob_star_targets_except_host.txt index 815344ef4ea39d..d543fb30279e94 100644 --- a/scripts/build/testdata/glob_star_targets_except_host.txt +++ b/scripts/build/testdata/glob_star_targets_except_host.txt @@ -72,3 +72,4 @@ qpg-persistent-storage qpg-shell telink-tlsr9518adk80d-light tizen-arm-light +bl602-light From 76c20fcb6a1dc6972f98636e249566aa8d781739 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 1 Apr 2022 06:07:24 +0000 Subject: [PATCH 11/18] Restyled by clang-format --- src/platform/bouffalolab/BL602/DnssdImpl.cpp | 10 +++++----- .../bouffalolab/BL602/NetworkCommissioningDriver.cpp | 11 ++++++----- .../bouffalolab/BL602/NetworkCommissioningDriver.h | 3 ++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/platform/bouffalolab/BL602/DnssdImpl.cpp b/src/platform/bouffalolab/BL602/DnssdImpl.cpp index 6f60d7ba50a8c9..9f0f3a1a02f2a7 100644 --- a/src/platform/bouffalolab/BL602/DnssdImpl.cpp +++ b/src/platform/bouffalolab/BL602/DnssdImpl.cpp @@ -15,19 +15,19 @@ * limitations under the License. */ -#include +#include "lib/dnssd/platform/Dnssd.h" #include #include #include -#include "lib/dnssd/platform/Dnssd.h" +#include #include -#include -#include -#include #include #include +#include #include +#include +#include using namespace chip::Dnssd; diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp index b3fd36293b146f..8d4b3fcf6a52ec 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.cpp @@ -25,8 +25,8 @@ #include #include -#include #include +#include using namespace ::chip; //#if CHIP_DEVICE_CONFIG_ENABLE_WIFI @@ -65,9 +65,9 @@ CHIP_ERROR BLWiFiDriver::Init(NetworkStatusChangeCallback * networkStatusChangeC mSavedNetwork.credentialsLen = credentialsLen; mSavedNetwork.ssidLen = ssidLen; - mStagingNetwork = mSavedNetwork; - mpScanCallback = nullptr; - mpConnectCallback = nullptr; + mStagingNetwork = mSavedNetwork; + mpScanCallback = nullptr; + mpConnectCallback = nullptr; mpStatusChangeCallback = networkStatusChangeCallback; return err; @@ -114,7 +114,8 @@ bool BLWiFiDriver::NetworkMatch(const WiFiNetwork & network, ByteSpan networkId) return networkId.size() == network.ssidLen && memcmp(networkId.data(), network.ssid, network.ssidLen) == 0; } -Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText,uint8_t & outNetworkIndex) +Status BLWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText, + uint8_t & outNetworkIndex) { VerifyOrReturnError(mStagingNetwork.ssidLen == 0 || NetworkMatch(mStagingNetwork, ssid), Status::kBoundsExceeded); VerifyOrReturnError(credentials.size() <= sizeof(mStagingNetwork.credentials), Status::kOutOfRange); diff --git a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h index a2e1d59e5c83ca..5ce9ecc82c4862 100644 --- a/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h +++ b/src/platform/bouffalolab/BL602/NetworkCommissioningDriver.h @@ -106,7 +106,8 @@ class BLWiFiDriver final : public WiFiDriver void ConnectNetwork(ByteSpan networkId, ConnectCallback * callback) override; // WiFiDriver - Status AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText, uint8_t & outNetworkIndex) override; + Status AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials, MutableCharSpan & outDebugText, + uint8_t & outNetworkIndex) override; void ScanNetworks(ByteSpan ssid, ScanCallback * callback) override; CHIP_ERROR ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen, const char * key, uint8_t keyLen); From 88d611e0a2aa69e643cfc4e4d2ae1a8c791ec673 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 1 Apr 2022 06:07:30 +0000 Subject: [PATCH 12/18] Restyled by gn --- build/toolchain/riscv_gcc/riscv_toolchain.gni | 2 +- examples/lighting-app/bouffalolab/bl602/BUILD.gn | 2 +- examples/platform/bouffalolab/bl602/args.gni | 3 ++- scripts/build/BUILD.gn | 2 +- src/platform/bouffalolab/BL602/BUILD.gn | 8 ++------ 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/build/toolchain/riscv_gcc/riscv_toolchain.gni b/build/toolchain/riscv_gcc/riscv_toolchain.gni index 08a7b204326e3d..48693dee67b8fb 100644 --- a/build/toolchain/riscv_gcc/riscv_toolchain.gni +++ b/build/toolchain/riscv_gcc/riscv_toolchain.gni @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import("//build_overrides/build.gni") import("//build_overrides/bl602_sdk.gni") +import("//build_overrides/build.gni") import("${build_root}/toolchain/gcc_toolchain.gni") diff --git a/examples/lighting-app/bouffalolab/bl602/BUILD.gn b/examples/lighting-app/bouffalolab/bl602/BUILD.gn index a46a4e15f90ab9..25e4b8c92e95c9 100644 --- a/examples/lighting-app/bouffalolab/bl602/BUILD.gn +++ b/examples/lighting-app/bouffalolab/bl602/BUILD.gn @@ -66,8 +66,8 @@ bl602_executable("lighting_app") { sources = [ #"${bl602_project_dir}/include/CHIPProjectConfig.h", - "include/CHIPProjectConfig.h", "${examples_plat_dir}/InitPlatform.cpp", + "include/CHIPProjectConfig.h", "src/AppTask.cpp", "src/CHIPDeviceManager.cpp", "src/DeviceCallbacks.cpp", diff --git a/examples/platform/bouffalolab/bl602/args.gni b/examples/platform/bouffalolab/bl602/args.gni index 76c00fbf21af48..62d03a209dc9e0 100644 --- a/examples/platform/bouffalolab/bl602/args.gni +++ b/examples/platform/bouffalolab/bl602/args.gni @@ -20,4 +20,5 @@ chip_project_config_include = "" chip_inet_project_config_include = "" chip_system_project_config_include = "" -chip_project_config_include_dirs = [ "${chip_root}/examples/lighting-app/bouffalolab/bl602/include" ] +chip_project_config_include_dirs = + [ "${chip_root}/examples/lighting-app/bouffalolab/bl602/include" ] diff --git a/scripts/build/BUILD.gn b/scripts/build/BUILD.gn index ecf185a6ccccc5..6b253df6a04ff3 100644 --- a/scripts/build/BUILD.gn +++ b/scripts/build/BUILD.gn @@ -34,6 +34,7 @@ pw_python_package("build_examples") { "builders/__init__.py", "builders/ameba.py", "builders/android.py", + "builders/bl602.py", "builders/builder.py", "builders/efr32.py", "builders/esp32.py", @@ -46,7 +47,6 @@ pw_python_package("build_examples") { "builders/qpg.py", "builders/telink.py", "builders/tizen.py", - "builders/bl602.py", "runner/__init__.py", "runner/printonly.py", "runner/shell.py", diff --git a/src/platform/bouffalolab/BL602/BUILD.gn b/src/platform/bouffalolab/BL602/BUILD.gn index 40f2d2757f4303..8d7114a0c60975 100644 --- a/src/platform/bouffalolab/BL602/BUILD.gn +++ b/src/platform/bouffalolab/BL602/BUILD.gn @@ -49,13 +49,9 @@ static_library("BL602") { "SystemPlatformConfig.h", ] - deps = [ - "${chip_root}/src/lib/dnssd:platform_header", - ] + deps = [ "${chip_root}/src/lib/dnssd:platform_header" ] - public_deps = [ - "${chip_root}/src/platform:platform_base", - ] + public_deps = [ "${chip_root}/src/platform:platform_base" ] # defines = [ # "CHIP_KVS_SECTOR_COUNT=1", From a9b1ce1a9016fe29cfec43d4b656b50551d208db Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 1 Apr 2022 06:07:42 +0000 Subject: [PATCH 13/18] Restyled by prettier-markdown --- examples/lighting-app/bouffalolab/bl602/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/lighting-app/bouffalolab/bl602/README.md b/examples/lighting-app/bouffalolab/bl602/README.md index cdbf4f0a50438a..b11e98aa1ed29d 100644 --- a/examples/lighting-app/bouffalolab/bl602/README.md +++ b/examples/lighting-app/bouffalolab/bl602/README.md @@ -48,7 +48,7 @@ commissioning and cluster control. - chip-device-ctrl > ble-scan - chip-device-ctrl > set-pairing-wifi-credential TESTSSID P455W4RD - chip-device-ctrl > connect -ble 3904 20202021 135246 - + Parameters: 1. Discriminator: 3904 2. Setup-pin-code: 20202021 From 302a8807efb3cd7a30bf7074d1af9d315e842d4f Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 1 Apr 2022 06:08:01 +0000 Subject: [PATCH 14/18] Restyled by autopep8 --- scripts/build/build/targets.py | 2 +- scripts/build/builders/bl602.py | 3 ++- scripts/flashing/bl602_firmware_utils.py | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index f46d5e2fa52717..1c0a79b72304d6 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -488,7 +488,7 @@ def Bl602Targets(): target = Target('bl602', Bl602Builder) yield target.Extend('light', board=Bl602Board.BL602BOARD, app=Bl602App.LIGHT) - + ALL = [] diff --git a/scripts/build/builders/bl602.py b/scripts/build/builders/bl602.py index d0440bb84132df..e559a068ecd0ec 100644 --- a/scripts/build/builders/bl602.py +++ b/scripts/build/builders/bl602.py @@ -58,7 +58,8 @@ def __init__(self, app: Bl602App = Bl602App.LIGHT, board: Bl602Board = Bl602Board.BL602BOARD): super(Bl602Builder, self).__init__( - root=os.path.join(root, 'examples', app.ExampleName(), 'bouffalolab', 'bl602'), + root=os.path.join(root, 'examples', + app.ExampleName(), 'bouffalolab', 'bl602'), runner=runner) self.app = app diff --git a/scripts/flashing/bl602_firmware_utils.py b/scripts/flashing/bl602_firmware_utils.py index 82a91c6930e5cf..a07e7dbf51c3e2 100755 --- a/scripts/flashing/bl602_firmware_utils.py +++ b/scripts/flashing/bl602_firmware_utils.py @@ -130,9 +130,9 @@ def flash(self, image): def reset(self): """Reset the device.""" return self.run_tool( - 'commander', - ['device', 'reset', self.DEVICE_ARGUMENTS], - name='Reset') + 'commander', + ['device', 'reset', self.DEVICE_ARGUMENTS], + name='Reset') def actions(self): """Perform actions on the device according to self.option.""" From 668a82be76289568bf51b2a3be0203b9e52a0748 Mon Sep 17 00:00:00 2001 From: jczhang Date: Fri, 1 Apr 2022 15:07:29 +0800 Subject: [PATCH 15/18] [BL602] Update action data --- scripts/build/testdata/all_targets_except_host.txt | 2 +- scripts/build/testdata/build_all_except_host.txt | 12 ++++++------ .../build/testdata/glob_star_targets_except_host.txt | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/scripts/build/testdata/all_targets_except_host.txt b/scripts/build/testdata/all_targets_except_host.txt index 2e7793d7bbd674..464a4c7294b686 100644 --- a/scripts/build/testdata/all_targets_except_host.txt +++ b/scripts/build/testdata/all_targets_except_host.txt @@ -14,6 +14,7 @@ android-arm64-chip-tv-casting-app android-arm64-chip-tvserver android-x64-chip-tool android-x86-chip-tool +bl602-light cc13x2x7_26x2x7-lock-ftd cc13x2x7_26x2x7-lock-mtd cc13x2x7_26x2x7-pump @@ -192,4 +193,3 @@ qpg-persistent-storage qpg-shell telink-tlsr9518adk80d-light tizen-arm-light -bl602-light diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt index 81a149b5945eee..6c557807f60531 100644 --- a/scripts/build/testdata/build_all_except_host.txt +++ b/scripts/build/testdata/build_all_except_host.txt @@ -166,6 +166,9 @@ gn gen --check --fail-on-unused-args {out}/android-x86-chip-tool '--args=target_ # Accepting NDK licenses @ tools bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' +# Generating bl602-light +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/bouffalolab/bl602 '--args=bl602_board="BL-HWC-G1"' {out}/bl602-lighting + # Generating cc13x2x7_26x2x7-lock-ftd gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/cc13x2x7_26x2x7 '--args=ti_sysconfig_root="TEST_TI_SYSCONFIG_ROOT" chip_openthread_ftd=true' {out}/cc13x2x7_26x2x7-lock-ftd @@ -897,9 +900,6 @@ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/exa # Generating qpg-shell gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/shell/qpg '--args=qpg_target_ic="qpg6105"' {out}/qpg-shell -# Generating bl602-light -gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/bouffalolab/bl602 '--args=bl602_board="BL-HWC-G1"' {out}/bl602-lighting - # Generating telink-tlsr9518adk80d-light bash -c 'export ZEPHYR_BASE="$TELINK_ZEPHYR_BASE" export ZEPHYR_SDK_INSTALL_DIR="$TELINK_ZEPHYR_SDK_DIR" @@ -1128,6 +1128,9 @@ cp {out}/android-x86-chip-tool/lib/src/platform/android/AndroidPlatform.jar {roo # Building APP android-x86-chip-tool {root}/src/android/CHIPTool/gradlew -p {root}/src/android/CHIPTool -PmatterBuildSrcDir={out}/android-x86-chip-tool -PmatterSdkSourceBuild=false -PbuildDir={out}/android-x86-chip-tool assembleDebug +# Building bl602-light +ninja -C {out}/bl602-light + # Building cc13x2x7_26x2x7-lock-ftd ninja -C {out}/cc13x2x7_26x2x7-lock-ftd @@ -1765,6 +1768,3 @@ ninja -C {out}/telink-tlsr9518adk80d-light # Building tizen-arm-light ninja -C {out}/tizen-arm-light - -# Building bl602-light -ninja -C {out}/bl602-light diff --git a/scripts/build/testdata/glob_star_targets_except_host.txt b/scripts/build/testdata/glob_star_targets_except_host.txt index d543fb30279e94..7dc747c51b8c4b 100644 --- a/scripts/build/testdata/glob_star_targets_except_host.txt +++ b/scripts/build/testdata/glob_star_targets_except_host.txt @@ -14,6 +14,7 @@ android-arm64-chip-tv-casting-app android-arm64-chip-tvserver android-x64-chip-tool android-x86-chip-tool +bl602-light cc13x2x7_26x2x7-lock-ftd cc13x2x7_26x2x7-lock-mtd cc13x2x7_26x2x7-pump From bd5955fa49c164b519ca36ff81b488723e3dd548 Mon Sep 17 00:00:00 2001 From: jczhang Date: Fri, 1 Apr 2022 16:39:16 +0800 Subject: [PATCH 16/18] [BL602] Update lwipconfig, and fix action errors --- scripts/build/testdata/build_all_except_host.txt | 2 +- scripts/build/testdata/glob_star_targets_except_host.txt | 1 - src/platform/bouffalolab/BL602/InetPlatformConfig.h | 5 +++++ third_party/bouffalolab/bl602_sdk/repo | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt index 6c557807f60531..7ad5c54a89da61 100644 --- a/scripts/build/testdata/build_all_except_host.txt +++ b/scripts/build/testdata/build_all_except_host.txt @@ -167,7 +167,7 @@ gn gen --check --fail-on-unused-args {out}/android-x86-chip-tool '--args=target_ bash -c 'yes | TEST_ANDROID_HOME/tools/bin/sdkmanager --licenses >/dev/null' # Generating bl602-light -gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/bouffalolab/bl602 '--args=bl602_board="BL-HWC-G1"' {out}/bl602-lighting +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/bouffalolab/bl602 '--args=bl602_board="BL-HWC-G1"' {out}/bl602-light # Generating cc13x2x7_26x2x7-lock-ftd gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/cc13x2x7_26x2x7 '--args=ti_sysconfig_root="TEST_TI_SYSCONFIG_ROOT" chip_openthread_ftd=true' {out}/cc13x2x7_26x2x7-lock-ftd diff --git a/scripts/build/testdata/glob_star_targets_except_host.txt b/scripts/build/testdata/glob_star_targets_except_host.txt index 7dc747c51b8c4b..3adfb5b384ab2e 100644 --- a/scripts/build/testdata/glob_star_targets_except_host.txt +++ b/scripts/build/testdata/glob_star_targets_except_host.txt @@ -73,4 +73,3 @@ qpg-persistent-storage qpg-shell telink-tlsr9518adk80d-light tizen-arm-light -bl602-light diff --git a/src/platform/bouffalolab/BL602/InetPlatformConfig.h b/src/platform/bouffalolab/BL602/InetPlatformConfig.h index 589984fa758e0d..7c52763806ff43 100644 --- a/src/platform/bouffalolab/BL602/InetPlatformConfig.h +++ b/src/platform/bouffalolab/BL602/InetPlatformConfig.h @@ -26,6 +26,7 @@ #pragma once #include +#include // ==================== Platform Adaptations ==================== @@ -34,7 +35,11 @@ #define INET_CONFIG_ERROR_MIN 1000000 #define INET_CONFIG_ERROR_MAX 1000999 +#if LWIP_CONFIG_ENABLE_IPV4 #define INET_CONFIG_ENABLE_IPV4 1 +#else +#define INET_CONFIG_ENABLE_IPV4 0 +#endif // ========== Platform-specific Configuration Overrides ========= diff --git a/third_party/bouffalolab/bl602_sdk/repo b/third_party/bouffalolab/bl602_sdk/repo index 01d095cc182943..9b3e3f3e9cc193 160000 --- a/third_party/bouffalolab/bl602_sdk/repo +++ b/third_party/bouffalolab/bl602_sdk/repo @@ -1 +1 @@ -Subproject commit 01d095cc1829431d6c8df33674b7f4faa3fb5e98 +Subproject commit 9b3e3f3e9cc1932e2334d755fde864459944e2f9 From 07fa3537f3ea46b7bf554940b2af3d3b55b9cee5 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 1 Apr 2022 08:40:04 +0000 Subject: [PATCH 17/18] Restyled by clang-format --- src/platform/bouffalolab/BL602/InetPlatformConfig.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platform/bouffalolab/BL602/InetPlatformConfig.h b/src/platform/bouffalolab/BL602/InetPlatformConfig.h index 7c52763806ff43..c8e60d890d7f77 100644 --- a/src/platform/bouffalolab/BL602/InetPlatformConfig.h +++ b/src/platform/bouffalolab/BL602/InetPlatformConfig.h @@ -25,8 +25,8 @@ #pragma once -#include #include +#include // ==================== Platform Adaptations ==================== From 6ef0771b3ce4df6b8ad4feaa0cb17ae21c069128 Mon Sep 17 00:00:00 2001 From: jczhang Date: Sat, 2 Apr 2022 16:06:17 +0800 Subject: [PATCH 18/18] [BL602] Fix check error --- src/platform/bouffalolab/BL602/InetPlatformConfig.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/platform/bouffalolab/BL602/InetPlatformConfig.h b/src/platform/bouffalolab/BL602/InetPlatformConfig.h index c8e60d890d7f77..c79c5fc061e0a5 100644 --- a/src/platform/bouffalolab/BL602/InetPlatformConfig.h +++ b/src/platform/bouffalolab/BL602/InetPlatformConfig.h @@ -26,7 +26,6 @@ #pragma once #include -#include // ==================== Platform Adaptations ====================