syntax = "proto2"; import "lib/common.proto"; message HardwareFluxSourceProto {} message TestPatternFluxSourceProto { optional double interval_us = 1 [default = 4.0, (help) = "interval between pulses"]; optional double sequence_length_us = 2 [default = 200.0, (help) = "length of test sequence"]; } message EraseFluxSourceProto {} message KryofluxFluxSourceProto { optional string directory = 1 [(help) = "path to Kryoflux stream directory"]; } message ScpFluxSourceProto { optional string filename = 1 [default = "flux.scp", (help) = ".scp file to read flux from"]; } message CwfFluxSourceProto { optional string filename = 1 [default = "flux.cwf", (help) = ".cwf file to read flux from"]; } message Fl2FluxSourceProto { optional string filename = 1 [default = "flux.fl2", (help) = ".fl2 file to read flux from"]; } message FluxSourceProto { oneof source { HardwareFluxSourceProto drive = 2; TestPatternFluxSourceProto test_pattern = 3; EraseFluxSourceProto erase = 4; KryofluxFluxSourceProto kryoflux = 5; ScpFluxSourceProto scp = 6; CwfFluxSourceProto cwf = 7; Fl2FluxSourceProto fl2 = 8; } }