public override Task <UartMessage> SendUartMessage(UartMessage request, ServerCallContext context)
        {
            UartMessage returnMessage = new UartMessage()
            {
                Message = "Success"
            };

            try
            {
                _logger.LogInformation($"Recieved UART request. Sending {request.Message}.");
                using (var comms = new UART())
                {
                    comms.SerialSend(request.Message);
                }
            }
            catch (Exception ex)
            {
                returnMessage.Message = "Failed";
                _logger.LogError("UART communication failure.");
                _logger.LogInformation($"Available Ports: {string.Join(',', UART.GetPorts())}");
                _logger.LogInformation(ex.Message);
                _logger.LogInformation(ex.StackTrace);
            }
            return(Task.FromResult(returnMessage));
        }