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