1syntax = "proto3";
2
3package bluetooth.iso;
4
5import "google/protobuf/empty.proto";
6import "facade/common.proto";
7
8service IsoModuleFacade {
9  rpc LeSetCigParameters(LeSetCigParametersRequest) returns (google.protobuf.Empty) {}
10  rpc LeSetCigParametersTest(LeSetCigParametersTestRequest) returns (google.protobuf.Empty) {}
11  rpc LeCreateCis(LeCreateCisRequest) returns (google.protobuf.Empty) {}
12  rpc FetchIsoData(LeCisHandleMsg) returns (stream IsoPacket) {}
13  rpc FetchIsoEvents(google.protobuf.Empty) returns (stream LeIsoEventsMsg) {}
14  rpc SendIsoPacket(IsoPacket) returns (google.protobuf.Empty) {}
15}
16
17message IsoPacket {
18  uint32 handle = 1;
19  bytes payload = 3;
20}
21
22message LeSetCigParametersRequest {
23  uint32 cig_id = 1;
24  uint32 sdu_interval_m_to_s = 2;
25  uint32 sdu_interval_s_to_m = 3;
26  uint32 peripherals_clock_accuracy = 4;
27  uint32 packing = 5;
28  uint32 framing = 6;
29  uint32 max_transport_latency_m_to_s = 7;
30  uint32 max_transport_latency_s_to_m = 8;
31  uint32 cis_id = 9;
32  uint32 max_sdu_m_to_s = 10;
33  uint32 max_sdu_s_to_m = 11;
34  uint32 phy_m_to_s = 12;
35  uint32 phy_s_to_m = 13;
36  uint32 rtn_m_to_s = 14;
37  uint32 rtn_s_to_m = 15;
38}
39
40message LeSetCigParametersTestRequest {
41  uint32 cig_id = 1;
42  uint32 sdu_interval_m_to_s = 2;
43  uint32 sdu_interval_s_to_m = 3;
44  uint32 ft_m_to_s = 4;
45  uint32 ft_s_to_m = 5;
46  uint32 iso_interval = 6;
47  uint32 peripherals_clock_accuracy = 7;
48  uint32 packing = 8;
49  uint32 framing = 9;
50  uint32 max_transport_latency_m_to_s = 10;
51  uint32 max_transport_latency_s_to_m = 11;
52
53  message LeCisParametersTestConfig {
54    uint32 cis_id = 1;
55    uint32 nse = 2;
56    uint32 max_sdu_m_to_s = 3;
57    uint32 max_sdu_s_to_m = 4;
58    uint32 max_pdu_m_to_s = 5;
59    uint32 max_pdu_s_to_m = 6;
60    uint32 phy_m_to_s = 7;
61    uint32 phy_s_to_m = 8;
62    uint32 bn_m_to_s = 9;
63    uint32 bn_s_to_m = 10;
64  }
65
66  repeated LeCisParametersTestConfig cis_configs = 12;
67}
68
69message LeCreateCisRequest {
70  message HandlePair {
71    uint32 cis_handle = 1;
72    uint32 acl_handle = 2;
73  }
74
75  repeated HandlePair handle_pair = 1;
76}
77
78enum IsoMsgType {
79  ISO_PARAMETERS_SET_COMPLETE = 0;
80  ISO_CIS_ESTABLISHED = 1;
81}
82
83message LeIsoEventsMsg {
84  IsoMsgType message_type = 1;
85  repeated uint32 cis_handle = 2;
86}
87
88message LeCisHandleMsg {
89  uint32 handle = 1;
90}
91