xref: /aosp_15_r20/tools/netsim/ui/ts/rootcanal/configuration.ts (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
1*cf78ab8cSAndroid Build Coastguard Worker/* eslint-disable */
2*cf78ab8cSAndroid Build Coastguard Worker
3*cf78ab8cSAndroid Build Coastguard Workerexport const protobufPackage = 'rootcanal.configuration';
4*cf78ab8cSAndroid Build Coastguard Worker
5*cf78ab8cSAndroid Build Coastguard Workerexport enum ControllerPreset {
6*cf78ab8cSAndroid Build Coastguard Worker  /** DEFAULT - Version 5.3, all features enabled, all quirks disabled. */
7*cf78ab8cSAndroid Build Coastguard Worker  DEFAULT = 'DEFAULT',
8*cf78ab8cSAndroid Build Coastguard Worker  /** LAIRD_BL654 - Official PTS dongle, Laird BL654. */
9*cf78ab8cSAndroid Build Coastguard Worker  LAIRD_BL654 = 'LAIRD_BL654',
10*cf78ab8cSAndroid Build Coastguard Worker  /** CSR_RCK_PTS_DONGLE - Official PTS dongle, CSR rck. */
11*cf78ab8cSAndroid Build Coastguard Worker  CSR_RCK_PTS_DONGLE = 'CSR_RCK_PTS_DONGLE',
12*cf78ab8cSAndroid Build Coastguard Worker  UNRECOGNIZED = 'UNRECOGNIZED',
13*cf78ab8cSAndroid Build Coastguard Worker}
14*cf78ab8cSAndroid Build Coastguard Worker
15*cf78ab8cSAndroid Build Coastguard Workerexport interface ControllerFeatures {
16*cf78ab8cSAndroid Build Coastguard Worker  leExtendedAdvertising: boolean;
17*cf78ab8cSAndroid Build Coastguard Worker  lePeriodicAdvertising: boolean;
18*cf78ab8cSAndroid Build Coastguard Worker  llPrivacy: boolean;
19*cf78ab8cSAndroid Build Coastguard Worker  le2mPhy: boolean;
20*cf78ab8cSAndroid Build Coastguard Worker  leCodedPhy: boolean;
21*cf78ab8cSAndroid Build Coastguard Worker  /**
22*cf78ab8cSAndroid Build Coastguard Worker   * Enable the support for both LL Connected Isochronous Stream Central
23*cf78ab8cSAndroid Build Coastguard Worker   * and LL Connected Isochronous Stream Peripheral.
24*cf78ab8cSAndroid Build Coastguard Worker   */
25*cf78ab8cSAndroid Build Coastguard Worker  leConnectedIsochronousStream: boolean;
26*cf78ab8cSAndroid Build Coastguard Worker}
27*cf78ab8cSAndroid Build Coastguard Worker
28*cf78ab8cSAndroid Build Coastguard Workerexport interface ControllerQuirks {
29*cf78ab8cSAndroid Build Coastguard Worker  /**
30*cf78ab8cSAndroid Build Coastguard Worker   * Randomly send ACL payloads before the Connection Complete event
31*cf78ab8cSAndroid Build Coastguard Worker   * is sent to the Host stack.
32*cf78ab8cSAndroid Build Coastguard Worker   */
33*cf78ab8cSAndroid Build Coastguard Worker  sendAclDataBeforeConnectionComplete: boolean;
34*cf78ab8cSAndroid Build Coastguard Worker  /** Configure a default value for the LE random address. */
35*cf78ab8cSAndroid Build Coastguard Worker  hasDefaultRandomAddress: boolean;
36*cf78ab8cSAndroid Build Coastguard Worker  /** Send an Hardware Error event if any command is called before HCI Reset. */
37*cf78ab8cSAndroid Build Coastguard Worker  hardwareErrorBeforeReset: boolean;
38*cf78ab8cSAndroid Build Coastguard Worker}
39*cf78ab8cSAndroid Build Coastguard Worker
40*cf78ab8cSAndroid Build Coastguard Workerexport interface VendorFeatures {
41*cf78ab8cSAndroid Build Coastguard Worker  /** Enable the support for the CSR vendor command. */
42*cf78ab8cSAndroid Build Coastguard Worker  csr: boolean;
43*cf78ab8cSAndroid Build Coastguard Worker  /**
44*cf78ab8cSAndroid Build Coastguard Worker   * Enable the support for Android vendor commands.
45*cf78ab8cSAndroid Build Coastguard Worker   * Note: not all required vendor commands are necessarily implemented
46*cf78ab8cSAndroid Build Coastguard Worker   * in RootCanal, unimplemented commands will return a Command Status or
47*cf78ab8cSAndroid Build Coastguard Worker   * Command Complete HCI event with the status Unsupported Opcode.
48*cf78ab8cSAndroid Build Coastguard Worker   */
49*cf78ab8cSAndroid Build Coastguard Worker  android: boolean;
50*cf78ab8cSAndroid Build Coastguard Worker}
51*cf78ab8cSAndroid Build Coastguard Worker
52*cf78ab8cSAndroid Build Coastguard Workerexport interface Controller {
53*cf78ab8cSAndroid Build Coastguard Worker  /**
54*cf78ab8cSAndroid Build Coastguard Worker   * Configure the controller preset. Presets come with a pre-selection
55*cf78ab8cSAndroid Build Coastguard Worker   * of features and quirks, but these can be overridden with the next fields.
56*cf78ab8cSAndroid Build Coastguard Worker   */
57*cf78ab8cSAndroid Build Coastguard Worker  preset: ControllerPreset;
58*cf78ab8cSAndroid Build Coastguard Worker  /** Configure support for controller features. */
59*cf78ab8cSAndroid Build Coastguard Worker  features:|ControllerFeatures|undefined;
60*cf78ab8cSAndroid Build Coastguard Worker  /**
61*cf78ab8cSAndroid Build Coastguard Worker   * Enable controller quirks.
62*cf78ab8cSAndroid Build Coastguard Worker   * Quirks are behaviors observed in real controllers that are not valid
63*cf78ab8cSAndroid Build Coastguard Worker   * according to the specification.
64*cf78ab8cSAndroid Build Coastguard Worker   */
65*cf78ab8cSAndroid Build Coastguard Worker  quirks:|ControllerQuirks|undefined;
66*cf78ab8cSAndroid Build Coastguard Worker  /**
67*cf78ab8cSAndroid Build Coastguard Worker   * Enable strict mode (defaults to enabled).
68*cf78ab8cSAndroid Build Coastguard Worker   * Activate assertion checks in RootCanal for missing RootCanal features
69*cf78ab8cSAndroid Build Coastguard Worker   * or Host stack misbehavior.
70*cf78ab8cSAndroid Build Coastguard Worker   */
71*cf78ab8cSAndroid Build Coastguard Worker  strict: boolean;
72*cf78ab8cSAndroid Build Coastguard Worker  /** Configure support for vendor features. */
73*cf78ab8cSAndroid Build Coastguard Worker  vendor: VendorFeatures|undefined;
74*cf78ab8cSAndroid Build Coastguard Worker}
75*cf78ab8cSAndroid Build Coastguard Worker
76*cf78ab8cSAndroid Build Coastguard Workerexport interface TcpServer {
77*cf78ab8cSAndroid Build Coastguard Worker  /**
78*cf78ab8cSAndroid Build Coastguard Worker   * Configure the TCP port on which the controller with this defined
79*cf78ab8cSAndroid Build Coastguard Worker   * configuration will be served.
80*cf78ab8cSAndroid Build Coastguard Worker   */
81*cf78ab8cSAndroid Build Coastguard Worker  tcpPort: number;
82*cf78ab8cSAndroid Build Coastguard Worker  /** Controller configuration for this port. */
83*cf78ab8cSAndroid Build Coastguard Worker  configuration: Controller|undefined;
84*cf78ab8cSAndroid Build Coastguard Worker}
85*cf78ab8cSAndroid Build Coastguard Worker
86*cf78ab8cSAndroid Build Coastguard Workerexport interface Configuration {
87*cf78ab8cSAndroid Build Coastguard Worker  tcpServer: TcpServer[];
88*cf78ab8cSAndroid Build Coastguard Worker}
89