55 lines
1.8 KiB
Protocol Buffer
55 lines
1.8 KiB
Protocol Buffer
syntax = "proto2";
|
|
|
|
package rootcanal.configuration;
|
|
option optimize_for = CODE_SIZE;
|
|
|
|
enum ControllerPreset {
|
|
// Version 5.3, all features enabled, all quirks disabled.
|
|
DEFAULT = 0;
|
|
}
|
|
|
|
message ControllerFeatures {
|
|
optional bool le_extended_advertising = 1;
|
|
optional bool le_periodic_advertising = 2;
|
|
optional bool ll_privacy = 3;
|
|
optional bool le_2m_phy = 4;
|
|
optional bool le_coded_phy = 5;
|
|
}
|
|
|
|
message ControllerQuirks {
|
|
// Randomly send ACL payloads before the Connection Complete event
|
|
// is sent to the Host stack.
|
|
optional bool send_acl_data_before_connection_complete = 1;
|
|
// Configure a default value for the LE random address.
|
|
optional bool has_default_random_address = 2;
|
|
// Send the Role Change event before the Connection Complete event
|
|
// in the case where a role switch is initiated at connection establishment.
|
|
optional bool send_role_change_before_connection_complete = 3;
|
|
// Send an Hardware Error event if any command is called before HCI Reset.
|
|
optional bool hardware_error_before_reset = 4;
|
|
}
|
|
|
|
message Controller {
|
|
// Configure the controller preset. Presets come with a pre-selection
|
|
// of features and quirks, but these can be overridden with the next fields.
|
|
optional ControllerPreset preset = 1;
|
|
// Configure support for controller features.
|
|
optional ControllerFeatures features = 2;
|
|
// Enable controller quirks.
|
|
// Quirks are behaviors observed in real controllers that are not valid
|
|
// according to the specification.
|
|
optional ControllerQuirks quirks = 3;
|
|
}
|
|
|
|
message TcpServer {
|
|
// Configure the TCP port on which the controller with this defined
|
|
// configuration will be served.
|
|
required int32 tcp_port = 1;
|
|
// Controller configuration for this port.
|
|
optional Controller configuration = 2;
|
|
}
|
|
|
|
message Configuration {
|
|
repeated TcpServer tcp_server = 1;
|
|
}
|