1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 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 Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni") 18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_chrono/backend.gni") 19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni") 20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_protobuf_compiler/proto.gni") 21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_toolchain/generate_toolchain.gni") 22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni") 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") { 25*61c4878aSAndroid Build Coastguard Worker include_dirs = [ "public" ] 26*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 27*61c4878aSAndroid Build Coastguard Worker} 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_digital_io") { 30*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 31*61c4878aSAndroid Build Coastguard Worker public = [ 32*61c4878aSAndroid Build Coastguard Worker "public/pw_digital_io/digital_io.h", 33*61c4878aSAndroid Build Coastguard Worker "public/pw_digital_io/internal/conversions.h", 34*61c4878aSAndroid Build Coastguard Worker "public/pw_digital_io/polarity.h", 35*61c4878aSAndroid Build Coastguard Worker ] 36*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io.cc" ] 37*61c4878aSAndroid Build Coastguard Worker public_deps = [ 38*61c4878aSAndroid Build Coastguard Worker "$dir_pw_toolchain:sibling_cast", 39*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 40*61c4878aSAndroid Build Coastguard Worker dir_pw_function, 41*61c4878aSAndroid Build Coastguard Worker dir_pw_result, 42*61c4878aSAndroid Build Coastguard Worker dir_pw_status, 43*61c4878aSAndroid Build Coastguard Worker ] 44*61c4878aSAndroid Build Coastguard Worker} 45*61c4878aSAndroid Build Coastguard Worker 46*61c4878aSAndroid Build Coastguard Workerpw_test("digital_io_test") { 47*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io_test.cc" ] 48*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_digital_io" ] 49*61c4878aSAndroid Build Coastguard Worker} 50*61c4878aSAndroid Build Coastguard Worker 51*61c4878aSAndroid Build Coastguard Workerpw_source_set("digital_io_service") { 52*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 53*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_digital_io/digital_io_service.h" ] 54*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io_service.cc" ] 55*61c4878aSAndroid Build Coastguard Worker public_deps = [ 56*61c4878aSAndroid Build Coastguard Worker ":protos.pwpb_rpc", 57*61c4878aSAndroid Build Coastguard Worker ":pw_digital_io", 58*61c4878aSAndroid Build Coastguard Worker ] 59*61c4878aSAndroid Build Coastguard Worker} 60*61c4878aSAndroid Build Coastguard Worker 61*61c4878aSAndroid Build Coastguard Workerpw_proto_library("protos") { 62*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io.proto" ] 63*61c4878aSAndroid Build Coastguard Worker prefix = "pw_digital_io" 64*61c4878aSAndroid Build Coastguard Worker} 65*61c4878aSAndroid Build Coastguard Worker 66*61c4878aSAndroid Build Coastguard Workerpw_source_set("digital_io_mock") { 67*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 68*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io_mock.cc" ] 69*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_digital_io/digital_io_mock.h" ] 70*61c4878aSAndroid Build Coastguard Worker deps = [ dir_pw_log ] 71*61c4878aSAndroid Build Coastguard Worker public_deps = [ 72*61c4878aSAndroid Build Coastguard Worker ":pw_digital_io", 73*61c4878aSAndroid Build Coastguard Worker "$dir_pw_assert:check", 74*61c4878aSAndroid Build Coastguard Worker "$dir_pw_chrono:system_clock", 75*61c4878aSAndroid Build Coastguard Worker "$dir_pw_containers:inline_deque", 76*61c4878aSAndroid Build Coastguard Worker dir_pw_result, 77*61c4878aSAndroid Build Coastguard Worker ] 78*61c4878aSAndroid Build Coastguard Worker} 79*61c4878aSAndroid Build Coastguard Worker 80*61c4878aSAndroid Build Coastguard Workerpw_test("digital_io_mock_test") { 81*61c4878aSAndroid Build Coastguard Worker enable_if = pw_chrono_SYSTEM_CLOCK_BACKEND != "" 82*61c4878aSAndroid Build Coastguard Worker sources = [ "digital_io_mock_test.cc" ] 83*61c4878aSAndroid Build Coastguard Worker deps = [ ":digital_io_mock" ] 84*61c4878aSAndroid Build Coastguard Worker} 85*61c4878aSAndroid Build Coastguard Worker 86*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") { 87*61c4878aSAndroid Build Coastguard Worker sources = [ 88*61c4878aSAndroid Build Coastguard Worker "backends.rst", 89*61c4878aSAndroid Build Coastguard Worker "docs.rst", 90*61c4878aSAndroid Build Coastguard Worker ] 91*61c4878aSAndroid Build Coastguard Worker} 92*61c4878aSAndroid Build Coastguard Worker 93*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") { 94*61c4878aSAndroid Build Coastguard Worker tests = [ 95*61c4878aSAndroid Build Coastguard Worker ":digital_io_test", 96*61c4878aSAndroid Build Coastguard Worker ":digital_io_mock_test", 97*61c4878aSAndroid Build Coastguard Worker ] 98*61c4878aSAndroid Build Coastguard Worker} 99