diff --git a/console_backend/src/server.rs b/console_backend/src/server.rs index b3d05264c..718e9ad27 100644 --- a/console_backend/src/server.rs +++ b/console_backend/src/server.rs @@ -140,65 +140,45 @@ fn backend_recv_thread( continue; } }; + let shared_state_clone = shared_state.clone(); match message { - m::message::ConnectRequest(Ok(conn_req)) => { - let request = conn_req - .get_request() - .expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); - let request = request - .get_as::() + m::message::SerialRefreshRequest(Ok(_)) => { + refresh_navbar(&mut client_send_clone.clone(), shared_state_clone); + } + m::message::DisconnectRequest(Ok(_)) => { + connection_state.disconnect(client_send_clone.clone()); + } + m::message::FileRequest(Ok(req)) => { + let filename = req + .get_filename() .expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); - let request = match request.which() { - Ok(msg) => msg, - Err(e) => { - error!("error reading message: {}", e); - continue; - } - }; - let shared_state_clone = shared_state.clone(); - match request { - m::message::SerialRefreshRequest(Ok(_)) => { - refresh_navbar(&mut client_send_clone.clone(), shared_state_clone); - } - m::message::DisconnectRequest(Ok(_)) => { - connection_state.disconnect(client_send_clone.clone()); - } - m::message::FileRequest(Ok(req)) => { - let filename = req - .get_filename() - .expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); - let filename = filename.to_string(); - connection_state.connect_to_file( - filename, - RealtimeDelay::On, - /*close_when_done*/ false, - ); - } - m::message::PauseRequest(Ok(_)) => { - if shared_state_clone.is_paused() { - shared_state_clone.set_paused(false); - } else { - shared_state_clone.set_paused(true); - } - } - m::message::TcpRequest(Ok(req)) => { - let host = - req.get_host().expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); - let port = req.get_port(); - connection_state.connect_to_host(host.to_string(), port); - } - m::message::SerialRequest(Ok(req)) => { - let device = - req.get_device().expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); - let device = device.to_string(); - let baudrate = req.get_baudrate(); - let flow = req.get_flow_control().unwrap(); - let flow = FlowControl::from_str(flow).unwrap(); - connection_state.connect_to_serial(device, baudrate, flow); - } - _ => println!("err"), + let filename = filename.to_string(); + connection_state.connect_to_file( + filename, + RealtimeDelay::On, + /*close_when_done*/ false, + ); + } + m::message::PauseRequest(Ok(_)) => { + if shared_state_clone.is_paused() { + shared_state_clone.set_paused(false); + } else { + shared_state_clone.set_paused(true); } } + m::message::TcpRequest(Ok(req)) => { + let host = req.get_host().expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); + let port = req.get_port(); + connection_state.connect_to_host(host.to_string(), port); + } + m::message::SerialRequest(Ok(req)) => { + let device = req.get_device().expect(CAP_N_PROTO_DESERIALIZATION_FAILURE); + let device = device.to_string(); + let baudrate = req.get_baudrate(); + let flow = req.get_flow_control().unwrap(); + let flow = FlowControl::from_str(flow).unwrap(); + connection_state.connect_to_serial(device, baudrate, flow); + } m::message::TrackingSignalsStatusFront(Ok(cv_in)) => { let check_visibility = cv_in .get_tracking_signals_check_visibility() diff --git a/src/main/python/main.py b/src/main/python/main.py index d283b1db6..1dc4590be 100644 --- a/src/main/python/main.py +++ b/src/main/python/main.py @@ -336,11 +336,8 @@ def connect(self) -> None: def connect_file(self, filename: str) -> None: Message = self.messages.Message msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = Message() - req.fileRequest = req.init(Message.Union.FileRequest) - req.fileRequest.filename = str(filename) - msg.connectRequest.request = req + msg.fileRequest = msg.init(Message.Union.FileRequest) + msg.fileRequest.filename = str(filename) buffer = msg.to_bytes() self.endpoint.send_message(buffer) @@ -348,60 +345,45 @@ def connect_file(self, filename: str) -> None: def connect_tcp(self, host: str, port: int) -> None: Message = self.messages.Message msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = Message() - req.tcpRequest = req.init(Message.Union.TcpRequest) - req.tcpRequest.host = str(host) - req.tcpRequest.port = int(port) - msg.connectRequest.request = req + msg.tcpRequest = msg.init(Message.Union.TcpRequest) + msg.tcpRequest.host = str(host) + msg.tcpRequest.port = int(port) buffer = msg.to_bytes() self.endpoint.send_message(buffer) @Slot(str, int, str) # type: ignore def connect_serial(self, device: str, baudrate: int, flow_control: str) -> None: Message = self.messages.Message - msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = self.messages.Message() - req.serialRequest = req.init(Message.Union.SerialRequest) - req.serialRequest.device = str(device) - req.serialRequest.baudrate = int(baudrate) - req.serialRequest.flowControl = str(flow_control) - msg.connectRequest.request = req + msg = self.messages.Message() + msg.serialRequest = msg.init(Message.Union.SerialRequest) + msg.serialRequest.device = str(device) + msg.serialRequest.baudrate = int(baudrate) + msg.serialRequest.flowControl = str(flow_control) buffer = msg.to_bytes() self.endpoint.send_message(buffer) @Slot() # type: ignore def disconnect(self) -> None: Message = self.messages.Message - msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = self.messages.Message() - req.disconnectRequest = req.init(Message.Union.DisconnectRequest) - msg.connectRequest.request = req + msg = self.messages.Message() + msg.disconnectRequest = msg.init(Message.Union.DisconnectRequest) buffer = msg.to_bytes() self.endpoint.send_message(buffer) @Slot() # type: ignore def serial_refresh(self) -> None: Message = self.messages.Message - msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = self.messages.Message() - req.serialRefreshRequest = req.init(Message.Union.SerialRefreshRequest) - msg.connectRequest.request = req + msg = self.messages.Message() + msg.serialRefreshRequest = msg.init(Message.Union.SerialRefreshRequest) buffer = msg.to_bytes() self.endpoint.send_message(buffer) @Slot(bool) # type: ignore def pause(self, pause_: bool) -> None: Message = self.messages.Message - msg = Message() - msg.connectRequest = msg.init(Message.Union.ConnectRequest) - req = self.messages.Message() - req.pauseRequest = req.init(Message.Union.PauseRequest) - req.pauseRequest.pause = pause_ - msg.connectRequest.request = req + msg = self.messages.Message() + msg.pauseRequest = msg.init(Message.Union.PauseRequest) + msg.pauseRequest.pause = pause_ buffer = msg.to_bytes() self.endpoint.send_message(buffer) diff --git a/src/main/resources/base/console_backend.capnp b/src/main/resources/base/console_backend.capnp index 543905837..e70e982bf 100644 --- a/src/main/resources/base/console_backend.capnp +++ b/src/main/resources/base/console_backend.capnp @@ -1,9 +1,5 @@ @0xe7871c33e8243ee4; -struct ConnectRequest(RequestType) { - request @0 :RequestType; -} - struct TcpRequest { host @0 :Text; port @1 :UInt16; @@ -187,10 +183,6 @@ struct LoggingBarStatus { sbpLogging @2 :Text; } -struct AdvancedSpectrumAnalyzerFront { - channel @0 :UInt16; -} - struct TrackingSignalsStatusFront { trackingSignalsCheckVisibility @0 :List(Text); } @@ -225,36 +217,35 @@ struct Status { struct Message { union { - connectRequest @0 :ConnectRequest; - solutionVelocityStatus @1 :SolutionVelocityStatus; - status @2 :Status; - trackingSignalsStatus @3 :TrackingSignalsStatus; - trackingSignalsStatusFront @4 :TrackingSignalsStatusFront; - solutionVelocityStatusFront @5 :SolutionVelocityStatusFront; - solutionTableStatus @6 :SolutionTableStatus; - solutionPositionStatus @7 :SolutionPositionStatus; - solutionPositionStatusButtonFront @8 :SolutionPositionStatusButtonFront; - solutionPositionStatusUnitFront @9 :SolutionPositionStatusUnitFront; - tcpRequest @10 :TcpRequest; - fileRequest @11 :FileRequest; - serialRequest @12 :SerialRequest; - pauseRequest @13 :PauseRequest; - disconnectRequest @14 :DisconnectRequest; - navBarStatus @15 :NavBarStatus; - serialRefreshRequest @16 :SerialRefreshRequest; - logAppend @17 :LogAppend; - observationStatus @18 :ObservationStatus; - statusBarStatus @19 :StatusBarStatus; - loggingBarFront @20 :LoggingBarFront; - loggingBarStatus @21 :LoggingBarStatus; - logLevelFront @22 :LogLevelFront; - advancedInsStatus @23 :AdvancedInsStatus; - fusionStatusFlagsStatus @24 :FusionStatusFlagsStatus; - advancedMagnetometerStatus @25 :AdvancedMagnetometerStatus; - baselinePlotStatus @26 :BaselinePlotStatus; - baselineTableStatus @27 :BaselineTableStatus; - baselinePlotStatusButtonFront @28 :BaselinePlotStatusButtonFront; - advancedSpectrumAnalyzerStatus @29:AdvancedSpectrumAnalyzerStatus; - advancedSpectrumAnalyzerStatusFront @30:AdvancedSpectrumAnalyzerStatusFront; + solutionVelocityStatus @0 :SolutionVelocityStatus; + status @1 :Status; + trackingSignalsStatus @2 :TrackingSignalsStatus; + trackingSignalsStatusFront @3 :TrackingSignalsStatusFront; + solutionVelocityStatusFront @4 :SolutionVelocityStatusFront; + solutionTableStatus @5 :SolutionTableStatus; + solutionPositionStatus @6 :SolutionPositionStatus; + solutionPositionStatusButtonFront @7 :SolutionPositionStatusButtonFront; + solutionPositionStatusUnitFront @8 :SolutionPositionStatusUnitFront; + tcpRequest @9 :TcpRequest; + fileRequest @10 :FileRequest; + serialRequest @11 :SerialRequest; + pauseRequest @12 :PauseRequest; + disconnectRequest @13 :DisconnectRequest; + navBarStatus @14 :NavBarStatus; + serialRefreshRequest @15 :SerialRefreshRequest; + logAppend @16 :LogAppend; + observationStatus @17 :ObservationStatus; + statusBarStatus @18 :StatusBarStatus; + loggingBarFront @19 :LoggingBarFront; + loggingBarStatus @20 :LoggingBarStatus; + logLevelFront @21 :LogLevelFront; + advancedInsStatus @22 :AdvancedInsStatus; + fusionStatusFlagsStatus @23 :FusionStatusFlagsStatus; + advancedMagnetometerStatus @24 :AdvancedMagnetometerStatus; + baselinePlotStatus @25 :BaselinePlotStatus; + baselineTableStatus @26 :BaselineTableStatus; + baselinePlotStatusButtonFront @27 :BaselinePlotStatusButtonFront; + advancedSpectrumAnalyzerStatus @28:AdvancedSpectrumAnalyzerStatus; + advancedSpectrumAnalyzerStatusFront @29:AdvancedSpectrumAnalyzerStatusFront; } }