[chronojump] chronopicRegister Get/Set selectedForMode to manage selected ports. Implememented on forceSensor.
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] chronopicRegister Get/Set selectedForMode to manage selected ports. Implememented on forceSensor.
- Date: Mon, 23 May 2022 11:52:02 +0000 (UTC)
commit 59e3ad8eff9832d1a9e6f7714608bcabd90b0749
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon May 23 13:51:18 2022 +0200
chronopicRegister Get/Set selectedForMode to manage selected ports. Implememented on forceSensor.
src/chronopicRegister.cs | 48 +++++++++++++++++++++++++++++++++++++++++++++
src/gui/app1/chronojump.cs | 2 +-
src/gui/app1/forceSensor.cs | 8 +++-----
3 files changed, 52 insertions(+), 6 deletions(-)
---
diff --git a/src/chronopicRegister.cs b/src/chronopicRegister.cs
index d94584f0f..57c1ae860 100644
--- a/src/chronopicRegister.cs
+++ b/src/chronopicRegister.cs
@@ -297,6 +297,54 @@ public abstract class ChronopicRegister
return null;
}
+ /* ---- selectedForMode ---->
+
+ This helps to solve if there is more than one for a mode.
+ In the future will handle also n forceSensors
+ */
+
+ private List <selectedForMode> selectedForMode_l;
+ public struct selectedForMode
+ {
+ public string portName;
+ public Constants.Modes mode;
+
+ public selectedForMode (string portName, Constants.Modes mode)
+ {
+ this.portName = portName;
+ this.mode = mode;
+ }
+ }
+
+ public void SetSelectedForMode (string portName, Constants.Modes mode)
+ {
+ if (selectedForMode_l == null)
+ selectedForMode_l = new List<selectedForMode> ();
+
+ for (int i = 0; i < selectedForMode_l.Count ; i ++)
+ if (selectedForMode_l[i].mode == mode)
+ {
+ //note structs cannot be changed, so change by a new one
+ selectedForMode_l[i] = new selectedForMode (portName, mode);
+ return;
+ }
+
+ //not found, add it
+ selectedForMode_l.Add (new selectedForMode (portName, mode));
+ }
+
+ public string GetSelectedForMode (Constants.Modes mode)
+ {
+ foreach (selectedForMode sfm in selectedForMode_l)
+ if (sfm.mode == mode)
+ return sfm.portName;
+
+ return "";
+ }
+
+ // <---- end of selectedForMode ----
+
+
//multichronopic
public List<ChronopicRegisterPort> GetTwoContactsConnected()
{
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index e296d50b5..56dc8ec43 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -4583,7 +4583,7 @@ public partial class ChronoJumpWindow
if(discoverWin.PortSelected != "")
{
- portSelectedForceSensor = discoverWin.PortSelected; //TODO: get port for other modes
+ chronopicRegister.SetSelectedForMode (discoverWin.PortSelected, current_mode);
button_contacts_detect.Visible = false;
hbox_contacts_detect_and_execute.Visible = true;
}
diff --git a/src/gui/app1/forceSensor.cs b/src/gui/app1/forceSensor.cs
index 9a871e1de..69af1d9d9 100644
--- a/src/gui/app1/forceSensor.cs
+++ b/src/gui/app1/forceSensor.cs
@@ -248,13 +248,11 @@ public partial class ChronoJumpWindow
layout_force_text.FontDescription = Pango.FontDescription.FromString
(preferences.GetFontTypeWithSize(10));
}
- private string portSelectedForceSensor; //in future can be another port to detect two
-
//Attention: no GTK here!!
private bool forceSensorConnect()
{
LogB.Information(" FS connect 0 ");
- if(portSelectedForceSensor == "")
+ if (chronopicRegister.GetSelectedForMode (current_mode) == "")
{
forceSensorOtherMessage = forceSensorNotConnectedString;
return false;
@@ -269,7 +267,7 @@ public partial class ChronoJumpWindow
{
forceSensorOtherMessage = "Connecting ...";
- portFS = new SerialPort(portSelectedForceSensor, 115200); //forceSensor
+ portFS = new SerialPort (chronopicRegister.GetSelectedForMode (current_mode), 115200);
//forceSensor
LogB.Information(" FS connect 4: opening port...");
try {
@@ -453,7 +451,7 @@ public partial class ChronoJumpWindow
}
}
- if(portSelectedForceSensor == "")
+ if (chronopicRegister.GetSelectedForMode (current_mode) == "")
{
event_execute_label_message.Text = forceSensorNotConnectedString;
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]