1*61c4878aSAndroid Build Coastguard Worker# Copyright 2024 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerload("@rules_platform//platform_data:defs.bzl", "platform_data") 16*61c4878aSAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library") 17*61c4878aSAndroid Build Coastguard Workerload("//pw_build:python.bzl", "pw_py_binary") 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Workerpw_py_binary( 22*61c4878aSAndroid Build Coastguard Worker name = "flash", 23*61c4878aSAndroid Build Coastguard Worker srcs = [ 24*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/flasher.py", 25*61c4878aSAndroid Build Coastguard Worker ], 26*61c4878aSAndroid Build Coastguard Worker main = "rp2040_utils/flasher.py", 27*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 28*61c4878aSAndroid Build Coastguard Worker deps = [ 29*61c4878aSAndroid Build Coastguard Worker ":rp2040_utils", 30*61c4878aSAndroid Build Coastguard Worker "@rules_python//python/runfiles", 31*61c4878aSAndroid Build Coastguard Worker ], 32*61c4878aSAndroid Build Coastguard Worker) 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Workerpy_library( 35*61c4878aSAndroid Build Coastguard Worker name = "rp2040_utils", 36*61c4878aSAndroid Build Coastguard Worker srcs = [ 37*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/__init__.py", 38*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/device_detector.py", 39*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/flasher.py", 40*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/unit_test_client.py", 41*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/unit_test_server.py", 42*61c4878aSAndroid Build Coastguard Worker ], 43*61c4878aSAndroid Build Coastguard Worker data = [ 44*61c4878aSAndroid Build Coastguard Worker "@libusb//:libusb_dynamic", 45*61c4878aSAndroid Build Coastguard Worker "@picotool", 46*61c4878aSAndroid Build Coastguard Worker "@probe_rs//:probe-rs", 47*61c4878aSAndroid Build Coastguard Worker ], 48*61c4878aSAndroid Build Coastguard Worker imports = ["."], 49*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 50*61c4878aSAndroid Build Coastguard Worker deps = [ 51*61c4878aSAndroid Build Coastguard Worker "//pw_cli/py:pw_cli", 52*61c4878aSAndroid Build Coastguard Worker "//pw_hdlc/py:pw_hdlc", 53*61c4878aSAndroid Build Coastguard Worker "//pw_log:log_proto_py_pb2", 54*61c4878aSAndroid Build Coastguard Worker "//pw_log/py:pw_log", 55*61c4878aSAndroid Build Coastguard Worker "//pw_log_rpc/py:pw_log_rpc", 56*61c4878aSAndroid Build Coastguard Worker "//pw_system/py:pw_system_lib", 57*61c4878aSAndroid Build Coastguard Worker "//pw_tokenizer:tokenizer_proto_py_pb2", 58*61c4878aSAndroid Build Coastguard Worker "//pw_tokenizer/py:pw_tokenizer", 59*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test:unit_test_py_pb2", 60*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test/py:pw_unit_test", 61*61c4878aSAndroid Build Coastguard Worker "@python_packages//pyusb", 62*61c4878aSAndroid Build Coastguard Worker "@rules_python//python/runfiles", 63*61c4878aSAndroid Build Coastguard Worker ], 64*61c4878aSAndroid Build Coastguard Worker) 65*61c4878aSAndroid Build Coastguard Worker 66*61c4878aSAndroid Build Coastguard Workerpw_py_binary( 67*61c4878aSAndroid Build Coastguard Worker name = "rpc_unit_test_runner", 68*61c4878aSAndroid Build Coastguard Worker srcs = [ 69*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/rpc_unit_test_runner.py", 70*61c4878aSAndroid Build Coastguard Worker ], 71*61c4878aSAndroid Build Coastguard Worker main = "rp2040_utils/rpc_unit_test_runner.py", 72*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 73*61c4878aSAndroid Build Coastguard Worker deps = [ 74*61c4878aSAndroid Build Coastguard Worker ":rp2040_utils", 75*61c4878aSAndroid Build Coastguard Worker ], 76*61c4878aSAndroid Build Coastguard Worker) 77*61c4878aSAndroid Build Coastguard Worker 78*61c4878aSAndroid Build Coastguard Workerpw_py_binary( 79*61c4878aSAndroid Build Coastguard Worker name = "unit_test_server", 80*61c4878aSAndroid Build Coastguard Worker srcs = [ 81*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/unit_test_server.py", 82*61c4878aSAndroid Build Coastguard Worker ], 83*61c4878aSAndroid Build Coastguard Worker data = [ 84*61c4878aSAndroid Build Coastguard Worker ":rpc_unit_test_runner", 85*61c4878aSAndroid Build Coastguard Worker "//pw_target_runner/go/cmd:server", 86*61c4878aSAndroid Build Coastguard Worker ], 87*61c4878aSAndroid Build Coastguard Worker main = "rp2040_utils/unit_test_server.py", 88*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 89*61c4878aSAndroid Build Coastguard Worker deps = [ 90*61c4878aSAndroid Build Coastguard Worker ":rp2040_utils", 91*61c4878aSAndroid Build Coastguard Worker "@rules_python//python/runfiles", 92*61c4878aSAndroid Build Coastguard Worker ], 93*61c4878aSAndroid Build Coastguard Worker) 94*61c4878aSAndroid Build Coastguard Worker 95*61c4878aSAndroid Build Coastguard Workerpw_py_binary( 96*61c4878aSAndroid Build Coastguard Worker name = "_unit_test_client", 97*61c4878aSAndroid Build Coastguard Worker srcs = [ 98*61c4878aSAndroid Build Coastguard Worker "rp2040_utils/unit_test_client.py", 99*61c4878aSAndroid Build Coastguard Worker ], 100*61c4878aSAndroid Build Coastguard Worker data = ["//pw_target_runner/go/cmd:client"], 101*61c4878aSAndroid Build Coastguard Worker main = "rp2040_utils/unit_test_client.py", 102*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 103*61c4878aSAndroid Build Coastguard Worker deps = [ 104*61c4878aSAndroid Build Coastguard Worker ":rp2040_utils", 105*61c4878aSAndroid Build Coastguard Worker "@rules_python//python/runfiles", 106*61c4878aSAndroid Build Coastguard Worker ], 107*61c4878aSAndroid Build Coastguard Worker) 108*61c4878aSAndroid Build Coastguard Worker 109*61c4878aSAndroid Build Coastguard Workerplatform_data( 110*61c4878aSAndroid Build Coastguard Worker name = "unit_test_client", 111*61c4878aSAndroid Build Coastguard Worker platform = "@local_config_platform//:host", 112*61c4878aSAndroid Build Coastguard Worker target = ":_unit_test_client", 113*61c4878aSAndroid Build Coastguard Worker) 114