[chronojump] Fixed multichronopic connection
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Fixed multichronopic connection
- Date: Wed, 4 Jan 2017 07:01:23 +0000 (UTC)
commit e16ff347591d3579ea75f157aa997482326da51f
Author: Xavier de Blas <xaviblas gmail com>
Date: Wed Jan 4 08:00:16 2017 +0100
Fixed multichronopic connection
src/chronopic2016.cs | 49 ++++++++++++++++++++++++++++++++++---------------
src/gui/chronojump.cs | 2 +-
src/gui/chronopic.cs | 2 +-
src/gui/guiTests.cs | 2 +-
4 files changed, 37 insertions(+), 18 deletions(-)
---
diff --git a/src/chronopic2016.cs b/src/chronopic2016.cs
index 4fbdddd..79d0cd0 100644
--- a/src/chronopic2016.cs
+++ b/src/chronopic2016.cs
@@ -44,11 +44,17 @@ public class Chronopic2016
private Chronopic cp2;
private SerialPort sp2;
private int cpDoing; //2 is for the second chronopic on multichronopic
-
+
+ //to check if cp changed
private string lastConnectedRealPort = "";
private string lastConnectedRealSerialNumber = "";
private ChronopicRegisterPort.Types lastConnectedRealType = ChronopicRegisterPort.Types.UNKNOWN;
+ //to check if cp2 changed
+ private string lastConnectedRealPort2 = "";
+ private string lastConnectedRealSerialNumber2 = "";
+ private ChronopicRegisterPort.Types lastConnectedRealType2 = ChronopicRegisterPort.Types.UNKNOWN;
+
// -----ConnectContactsReal START ----->
@@ -157,11 +163,8 @@ public class Chronopic2016
LogB.Information("Ended chronopicInit.Do()");
- if(connected) {
- lastConnectedRealPort = crp.Port;
- lastConnectedRealSerialNumber = crp.SerialNumber;
- lastConnectedRealType = ChronopicRegisterPort.Types.CONTACTS;
- }
+ if(connected)
+ assignLastConnectedVariables(crp);
SuccededConnectContactsRealThread = connected;
}
@@ -201,23 +204,38 @@ public class Chronopic2016
}
- public bool IsLastConnectedReal(ChronopicRegisterPort crp)
+ public bool IsLastConnectedReal(ChronopicRegisterPort crp, int cpCount)
{
- LogB.Information(string.Format(
- "lastConnectedReal (port:{0}, serialNumber:{1}, type:{2})",
- lastConnectedRealPort, lastConnectedRealSerialNumber,
- lastConnectedRealType.ToString()));
- LogB.Information(crp.ToString());
-
- if(lastConnectedRealPort != "" && lastConnectedRealSerialNumber != "" &&
+ if(cpCount == 1 &&
+ lastConnectedRealPort != "" && lastConnectedRealSerialNumber != "" &&
lastConnectedRealType == ChronopicRegisterPort.Types.CONTACTS &&
crp.Port == lastConnectedRealPort &&
crp.SerialNumber == lastConnectedRealSerialNumber)
- return true;
+ return true;
+ else if(cpCount == 2 &&
+ lastConnectedRealPort2 != "" && lastConnectedRealSerialNumber2 != "" &&
+ lastConnectedRealType2 == ChronopicRegisterPort.Types.CONTACTS &&
+ crp.Port == lastConnectedRealPort2 &&
+ crp.SerialNumber == lastConnectedRealSerialNumber2)
+ return true;
return false;
}
+ private void assignLastConnectedVariables(ChronopicRegisterPort crp)
+ {
+ if(cpDoing == 1) {
+ lastConnectedRealPort = crp.Port;
+ lastConnectedRealSerialNumber = crp.SerialNumber;
+ lastConnectedRealType = ChronopicRegisterPort.Types.CONTACTS;
+ } else { //2
+ lastConnectedRealPort2 = crp.Port;
+ lastConnectedRealSerialNumber2 = crp.SerialNumber;
+ lastConnectedRealType2 = ChronopicRegisterPort.Types.CONTACTS;
+ }
+ }
+
+ /*
//check if last connected real port exists on getFiles()
public bool WindowsLastConnectedRealExists()
{
@@ -230,6 +248,7 @@ public class Chronopic2016
return false;
}
+ */
public bool StoredCanCaptureContacts; //store a boolean in order to read info faster
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 536a8c5..2f0fb75 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -3670,7 +3670,7 @@ public partial class ChronoJumpWindow
LogB.Information("numContacts: " + numContacts);
//check if chronopics have changed
- if(numContacts >= 2 && radio_mode_multi_chronopic_small.Active)
+ if(numContacts >= 2 && radio_menuitem_mode_other.Active &&
radio_mode_multi_chronopic_small.Active)
{
chronopicConnectionSequenceInit(2);
}
diff --git a/src/gui/chronopic.cs b/src/gui/chronopic.cs
index e3fb818..e8d7bf6 100644
--- a/src/gui/chronopic.cs
+++ b/src/gui/chronopic.cs
@@ -96,7 +96,7 @@ public partial class ChronoJumpWindow
//2 update sequence
if(connectingSequence == connectingSequenceEnum.START)
{
- if(cp2016.IsLastConnectedReal(crpDoing)) {
+ if(cp2016.IsLastConnectedReal(crpDoing, connectNum)) {
connectingSequence = connectingSequenceEnum.FIRMWAREIFNEEDED;
} else {
connectingSequence = connectingSequenceEnum.CONNECTINGREAL;
diff --git a/src/gui/guiTests.cs b/src/gui/guiTests.cs
index efe0d9b..5c994cc 100644
--- a/src/gui/guiTests.cs
+++ b/src/gui/guiTests.cs
@@ -381,7 +381,7 @@ public partial class ChronoJumpWindow
}
ChronopicRegisterPort crp =
chronopicRegister.ConnectedOfType(ChronopicRegisterPort.Types.CONTACTS);
- if(cp2016.IsLastConnectedReal(crp)) {
+ if(cp2016.IsLastConnectedReal(crp,1)) {
LogB.TestEnd("chronojumpWindowTestsChronopicContactReal");
chronojumpWindowTestsNext();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]