Added and error message to the trace log when the com port is failing and looping back data
This commit is contained in:
@@ -181,7 +181,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
||||||
_focuser.Connected = true;
|
_focuser.Connected = true;
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect("Serial", It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect("Serial", It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -189,20 +189,20 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
public void Connected_Set_SettingTrueWhenTrue_ThenDoesNothing()
|
public void Connected_Set_SettingTrueWhenTrue_ThenDoesNothing()
|
||||||
{
|
{
|
||||||
ConnectFocuser();
|
ConnectFocuser();
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
|
|
||||||
//act
|
//act
|
||||||
_focuser.Connected = true;
|
_focuser.Connected = true;
|
||||||
|
|
||||||
//assert
|
//assert
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Connected_Set_SettingFalseWhenTrue_ThenDisconnects()
|
public void Connected_Set_SettingFalseWhenTrue_ThenDisconnects()
|
||||||
{
|
{
|
||||||
ConnectFocuser();
|
ConnectFocuser();
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
|
|
||||||
//act
|
//act
|
||||||
_focuser.Connected = false;
|
_focuser.Connected = false;
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
SameDevice = 1
|
SameDevice = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.Connect("Serial", It.IsAny<string>())).Returns( () => _connectionInfo );
|
_sharedResourcesWrapperMock.Setup(x => x.Connect("Serial", It.IsAny<string>(), It.IsAny<ITraceLogger>())).Returns( () => _connectionInfo );
|
||||||
|
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(_profileProperties);
|
_sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(_profileProperties);
|
||||||
@@ -384,7 +384,7 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
||||||
_telescope.Connected = true;
|
_telescope.Connected = true;
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify( x => x.Connect("Serial", It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify( x => x.Connect("Serial", It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendString("#:GZ#"), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendString("#:GZ#"), Times.Once);
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind($"#:Rg{_profileProperties.GuideRateArcSecondsPerSecond:00.0}#"),Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind($"#:Rg{_profileProperties.GuideRateArcSecondsPerSecond:00.0}#"),Times.Once);
|
||||||
@@ -400,7 +400,7 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(firmware);
|
||||||
_telescope.Connected = true;
|
_telescope.Connected = true;
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect("Serial", It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect("Serial", It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendString("#:GZ#"), Times.Never);
|
_sharedResourcesWrapperMock.Verify(x => x.SendString("#:GZ#"), Times.Never);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind($"#:Rg{_profileProperties.GuideRateArcSecondsPerSecond:00.0}#"), Times.Never);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind($"#:Rg{_profileProperties.GuideRateArcSecondsPerSecond:00.0}#"), Times.Never);
|
||||||
}
|
}
|
||||||
@@ -410,20 +410,20 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
public void Connected_Set_SettingTrueWhenTrue_ThenDoesNothing()
|
public void Connected_Set_SettingTrueWhenTrue_ThenDoesNothing()
|
||||||
{
|
{
|
||||||
ConnectTelescope();
|
ConnectTelescope();
|
||||||
_sharedResourcesWrapperMock.Verify( x => x.Connect(It.IsAny<string>(), It.IsAny<string>()),Times.Once);
|
_sharedResourcesWrapperMock.Verify( x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()),Times.Once);
|
||||||
|
|
||||||
//act
|
//act
|
||||||
_telescope.Connected = true;
|
_telescope.Connected = true;
|
||||||
|
|
||||||
//assert
|
//assert
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Connected_Set_SettingFalseWhenTrue_ThenDisconnects()
|
public void Connected_Set_SettingFalseWhenTrue_ThenDisconnects()
|
||||||
{
|
{
|
||||||
ConnectTelescope();
|
ConnectTelescope();
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.Connect(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<ITraceLogger>()), Times.Once);
|
||||||
|
|
||||||
//act
|
//act
|
||||||
_telescope.Connected = false;
|
_telescope.Connected = false;
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ namespace ASCOM.Meade.net
|
|||||||
ReadProfile();
|
ReadProfile();
|
||||||
|
|
||||||
LogMessage("Connected Set", "Connecting to port {0}", _comPort);
|
LogMessage("Connected Set", "Connecting to port {0}", _comPort);
|
||||||
var connectionInfo = _sharedResourcesWrapper.Connect("Serial", DriverId);
|
var connectionInfo = _sharedResourcesWrapper.Connect("Serial", DriverId, _tl);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogMessage("Connected Set", $"Connected to port {_comPort}. Product: {_sharedResourcesWrapper.ProductName} Version:{_sharedResourcesWrapper.FirmwareVersion}");
|
LogMessage("Connected Set", $"Connected to port {_comPort}. Product: {_sharedResourcesWrapper.ProductName} Version:{_sharedResourcesWrapper.FirmwareVersion}");
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ namespace Meade.net.UnitTests
|
|||||||
public class SharedResourcesUnitTests
|
public class SharedResourcesUnitTests
|
||||||
{
|
{
|
||||||
private Mock<ISerial> _serialMock;
|
private Mock<ISerial> _serialMock;
|
||||||
|
private Mock<ITraceLogger> _traceLoggerMock;
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void Setup()
|
public void Setup()
|
||||||
@@ -20,6 +21,8 @@ namespace Meade.net.UnitTests
|
|||||||
_serialMock = new Mock<ISerial>();
|
_serialMock = new Mock<ISerial>();
|
||||||
_serialMock.SetupAllProperties();
|
_serialMock.SetupAllProperties();
|
||||||
|
|
||||||
|
_traceLoggerMock = new Mock<ITraceLogger>();
|
||||||
|
|
||||||
SharedResources.SharedSerial = _serialMock.Object;
|
SharedResources.SharedSerial = _serialMock.Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +177,7 @@ namespace Meade.net.UnitTests
|
|||||||
[TestCase("Carrier Pigeon")]
|
[TestCase("Carrier Pigeon")]
|
||||||
public void Connect_WhenDeviceIdIsNotSerial_ThenThrowsException( string deviceId)
|
public void Connect_WhenDeviceIdIsNotSerial_ThenThrowsException( string deviceId)
|
||||||
{
|
{
|
||||||
var result = Assert.Throws<ArgumentException>( () => { SharedResources.Connect(deviceId, string.Empty); } );
|
var result = Assert.Throws<ArgumentException>( () => { SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object); } );
|
||||||
|
|
||||||
Assert.That( result.Message, Is.EqualTo($"deviceId {deviceId} not currently supported") );
|
Assert.That( result.Message, Is.EqualTo($"deviceId {deviceId} not currently supported") );
|
||||||
}
|
}
|
||||||
@@ -214,7 +217,7 @@ namespace Meade.net.UnitTests
|
|||||||
_serialMock.Setup(x => x.Transmit(":GVP#")).Callback(() => { serialPortReturn = ":GVP#"; });
|
_serialMock.Setup(x => x.Transmit(":GVP#")).Callback(() => { serialPortReturn = ":GVP#"; });
|
||||||
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns( () => serialPortReturn);
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns( () => serialPortReturn);
|
||||||
|
|
||||||
var result = Assert.Throws<Exception>(() => { SharedResources.Connect(deviceId, string.Empty); });
|
var result = Assert.Throws<Exception>(() => { SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object); });
|
||||||
Assert.That(result.Message, Is.EqualTo("Serial port is looping back data, something is wrong with the hardware."));
|
Assert.That(result.Message, Is.EqualTo("Serial port is looping back data, something is wrong with the hardware."));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,7 +254,7 @@ namespace Meade.net.UnitTests
|
|||||||
_serialMock.Setup(x => x.Transmit(":GVP#")).Callback(() => { });
|
_serialMock.Setup(x => x.Transmit(":GVP#")).Callback(() => { });
|
||||||
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => throw new Exception("Testerror"));
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => throw new Exception("Testerror"));
|
||||||
|
|
||||||
var connectionResult = SharedResources.Connect(deviceId, string.Empty);
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -301,7 +304,7 @@ namespace Meade.net.UnitTests
|
|||||||
_serialMock.Setup(x => x.Transmit(":GVN#")).Callback(() => { serialPortReturn = TelescopeList.Autostar497_43Eg; });
|
_serialMock.Setup(x => x.Transmit(":GVN#")).Callback(() => { serialPortReturn = TelescopeList.Autostar497_43Eg; });
|
||||||
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
|
||||||
var connectionResult = SharedResources.Connect(deviceId, string.Empty);
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Assert.That(connectionResult.SameDevice, Is.EqualTo(1));
|
Assert.That(connectionResult.SameDevice, Is.EqualTo(1));
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ namespace ASCOM.Meade.net
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
ReadProfile();
|
ReadProfile();
|
||||||
_sharedResourcesWrapper.Connect("Serial", DriverId);
|
_sharedResourcesWrapper.Connect("Serial", DriverId, _tl);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IsConnected = true;
|
IsConnected = true;
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ namespace ASCOM.Meade.net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="deviceId"></param>
|
/// <param name="deviceId"></param>
|
||||||
/// <param name="driverId"></param>
|
/// <param name="driverId"></param>
|
||||||
public static ConnectionInfo Connect(string deviceId, string driverId)
|
public static ConnectionInfo Connect(string deviceId, string driverId, ITraceLogger traceLogger)
|
||||||
{
|
{
|
||||||
lock (LockObject)
|
lock (LockObject)
|
||||||
{
|
{
|
||||||
@@ -273,14 +273,16 @@ namespace ASCOM.Meade.net
|
|||||||
ProductName = SendString(":GVP#");
|
ProductName = SendString(":GVP#");
|
||||||
FirmwareVersion = SendString(":GVN#");
|
FirmwareVersion = SendString(":GVN#");
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
traceLogger.LogIssue("Connect", $"Error getting telescope information \"{ex.Message}\" setting to LX200 Classic mode.");
|
||||||
ProductName = TelescopeList.LX200CLASSIC;
|
ProductName = TelescopeList.LX200CLASSIC;
|
||||||
FirmwareVersion = "Unknown";
|
FirmwareVersion = "Unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ProductName == ":GVP")
|
if (ProductName == ":GVP")
|
||||||
{
|
{
|
||||||
|
traceLogger.LogIssue("Connect", "Serial port is looping back data, something is wrong with the hardware.");
|
||||||
//This means that the serial port is looping back what's been sent, something is very wrong.
|
//This means that the serial port is looping back what's been sent, something is very wrong.
|
||||||
SharedSerial.Connected = false;
|
SharedSerial.Connected = false;
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using ASCOM.Utilities.Interfaces;
|
||||||
|
|
||||||
namespace ASCOM.Meade.net.Wrapper
|
namespace ASCOM.Meade.net.Wrapper
|
||||||
{
|
{
|
||||||
public interface ISharedResourcesWrapper
|
public interface ISharedResourcesWrapper
|
||||||
{
|
{
|
||||||
ConnectionInfo Connect(string deviceId, string driverId);
|
ConnectionInfo Connect(string deviceId, string driverId, ITraceLogger traceLogger);
|
||||||
void Disconnect(string deviceId, string driverId);
|
void Disconnect(string deviceId, string driverId);
|
||||||
|
|
||||||
string ProductName { get; }
|
string ProductName { get; }
|
||||||
@@ -29,9 +30,9 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
|
|
||||||
public class SharedResourcesWrapper : ISharedResourcesWrapper
|
public class SharedResourcesWrapper : ISharedResourcesWrapper
|
||||||
{
|
{
|
||||||
public ConnectionInfo Connect(string deviceId, string driverId)
|
public ConnectionInfo Connect(string deviceId, string driverId, ITraceLogger traceLogger)
|
||||||
{
|
{
|
||||||
return SharedResources.Connect(deviceId, driverId);
|
return SharedResources.Connect(deviceId, driverId, traceLogger);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Disconnect(string deviceId, string driverId)
|
public void Disconnect(string deviceId, string driverId)
|
||||||
|
|||||||
Reference in New Issue
Block a user