From 59428b63feeb3bc5da1166c49eb030f9aaf70e27 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 26 Jun 2022 13:13:48 +0200 Subject: [PATCH 1/7] refactor --- .../org/josast/ApplicationKissTool/Configuration.java | 7 ++++--- .../java/org/josast/ApplicationKissTool/Controler.java | 2 +- .../src/main/java/org/josast/SIDS/HttpPostSIDS.java | 2 +- .../src/main/java/org/josast/SIDS/app/TestSIDS.java | 9 +++++---- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java index 71c5501d..6e8ce3cc 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java @@ -89,8 +89,9 @@ public class Configuration { if (SilentMode.contentEquals("1")) { Silent_Mode = true; - } else {Silent_Mode = false; -} + } else { + Silent_Mode = false; + } } else // si le fichier n'existe pas, il est créé par défaut { @@ -132,7 +133,7 @@ public class Configuration { public void save() { - conf.setProperty("Norad", ""+Norad); + conf.setProperty("Norad", "" + Norad); conf.setProperty("Callsign", callsign); conf.setProperty("Latitude", latitude); conf.setProperty("Longitude", longitude); diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java index eab64474..cb23247f 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java @@ -62,7 +62,7 @@ public class Controler { private ManageDataFile mdf = new ManageDataFile(); - private String version = "1.8"; + private String version = "1.9"; @FXML private Button ButtonStart; @FXML private Button ButtonStop; diff --git a/ModuleSIDS/src/main/java/org/josast/SIDS/HttpPostSIDS.java b/ModuleSIDS/src/main/java/org/josast/SIDS/HttpPostSIDS.java index 5b49eeae..0a703b77 100644 --- a/ModuleSIDS/src/main/java/org/josast/SIDS/HttpPostSIDS.java +++ b/ModuleSIDS/src/main/java/org/josast/SIDS/HttpPostSIDS.java @@ -124,7 +124,7 @@ public class HttpPostSIDS { resultat = response.getStatusLine().getStatusCode(); logger.info("URL Result " + resultat); logger.info("URL Result " + response.getAllHeaders()); - + } catch (IOException e) { logger.severe("Cient executon error" + e.toString()); } diff --git a/ModuleSIDS/src/main/java/org/josast/SIDS/app/TestSIDS.java b/ModuleSIDS/src/main/java/org/josast/SIDS/app/TestSIDS.java index d833b1a1..02f0ed3e 100644 --- a/ModuleSIDS/src/main/java/org/josast/SIDS/app/TestSIDS.java +++ b/ModuleSIDS/src/main/java/org/josast/SIDS/app/TestSIDS.java @@ -42,14 +42,15 @@ public class TestSIDS { sids.setStation(st); sids.setNoradID(43132); sids.setTelemetryData( - GregorianCalendar.getInstance().getTime(), + GregorianCalendar.getInstance().getTime(), "a09286a682a8e0a09286a682a86503f00901e9ae006c2ae404c019380000000000000000000000000000000002b602b807d7066e04100e5a04100a5dfff7fff70420b4000000ffff78000000000012000000000000000000000000000000003ddee2da3d011cee3e71aa4d000000000001cb9a0004003089f00a0400010000000000"); System.out.println(sids.toStringBasic()); test.send(sids); // sids.setNoradID(99749); -// sids.setTelemetryData( -// GregorianCalendar.getInstance().getTime(), -// "8c6c96a88240e09e9c60648ca46103f0000000000801ca5c0012100319240a0d4b5f0600ff2800002822443e6fb0870d0a24c0"); + // sids.setTelemetryData( + // GregorianCalendar.getInstance().getTime(), + // + // "8c6c96a88240e09e9c60648ca46103f0000000000801ca5c0012100319240a0d4b5f0600ff2800002822443e6fb0870d0a24c0"); // System.out.println(sids.toStringBasic()); // test.send(sids); } -- GitLab From 83e401abf0107bb23fa2493b408e19aec395bf3c Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 12 Jul 2022 07:05:51 +0200 Subject: [PATCH 2/7] Refactoring : improve sids management --- ApplicationKissTool/KissToolMessage.txt | 4 +- ApplicationKissTool/pom.xml | 6 +- .../ApplicationKissTool/Configuration.java | 9 ++- .../josast/ApplicationKissTool/Controler.java | 65 +++++++++++++------ .../ApplicationKissTool/SatelliteNorad.java | 18 ++++- .../josast/ApplicationKissTool/SendSIDS.java | 5 ++ .../TaskManageReceivedData.java | 12 ++-- .../josast/ApplicationKissTool/KissTool.fxml | 38 +++++++---- 8 files changed, 115 insertions(+), 42 deletions(-) diff --git a/ApplicationKissTool/KissToolMessage.txt b/ApplicationKissTool/KissToolMessage.txt index c18f2677..561c3ce7 100644 --- a/ApplicationKissTool/KissToolMessage.txt +++ b/ApplicationKissTool/KissToolMessage.txt @@ -1,4 +1,4 @@ -Kisstool=1.5 -Message= KissTool for UVSQsat - UVSQsat launch 23/01/21 14H24 UTC +Kisstool=1.9 +Message= KissTool updated for UVSQsat & Picsat NoradID=99749 Comment=0 \ No newline at end of file diff --git a/ApplicationKissTool/pom.xml b/ApplicationKissTool/pom.xml index 62c1bc2b..ed738f02 100644 --- a/ApplicationKissTool/pom.xml +++ b/ApplicationKissTool/pom.xml @@ -26,7 +26,11 @@ - + + com.google.code.gson + gson + 2.8.6 + org.openjfx javafx-controls diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java index 6e8ce3cc..74b5270e 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Configuration.java @@ -36,7 +36,7 @@ public class Configuration { private String OutputFileDirectory = "."; private int Norad = 99999; - private String Norads; + private String norads = null; private final CONFIG conf = CONFIG.getInstance(); private boolean SIDS_Picsat = false; private String SIDSPicsatSource = "Anonymous"; @@ -55,7 +55,7 @@ public class Configuration { callsign = conf.getProperty("Callsign"); latitude = conf.getProperty("Latitude"); longitude = conf.getProperty("Longitude"); - Norads = conf.getProperty("Norad"); + norads = conf.getProperty("Norad"); SIDSAMSATSource = conf.getProperty("SIDSAMSATSource"); SIDSAMSATUrl = conf.getProperty("SIDSAMSATUrl"); SIDSSatnogsSource = conf.getProperty("SIDSSatnogsSource"); @@ -70,7 +70,10 @@ public class Configuration { soundModemPort = conf.getProperty("soundModemPort"); OutputFileDirectory = conf.getProperty("OutputFileDirectory"); SilentMode = conf.getProperty("SilentMode"); - Norad = Integer.getInteger(Norads); + if (norads != null) { + System.out.println(norads); + Norad = Integer.parseInt(norads); + } if (SIDSSatnogs.contentEquals("1")) { SISD_SatNogs = true; } else { diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java index cb23247f..068f0b9f 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/Controler.java @@ -62,7 +62,7 @@ public class Controler { private ManageDataFile mdf = new ManageDataFile(); - private String version = "1.9"; + private String version = "1.10"; @FXML private Button ButtonStart; @FXML private Button ButtonStop; @@ -117,6 +117,13 @@ public class Controler { @FXML private Circle CircleDatabaseAmsatF; @FXML private ComboBox ComboBoxSatellite; + + @FXML private Label LabelAmsatSent; + @FXML private Label LabelPicsatSent; + @FXML private Label LabelSatnogsSent; + + @FXML private Label LastDecoded; + ScheduledExecutorService ses = Executors.newScheduledThreadPool(1); private ScheduledFuture scheduledFuture = null; @@ -142,6 +149,7 @@ public class Controler { private long nbAmsatDatabase = 0; private long nbSatnogsDatabase = 0; private long picsatDatabase = 0; + private SatelliteNoradFile satnorad; public void setReceivedFrame(BlockingQueue receivedFrame) { this.receivedFrame = receivedFrame; @@ -214,10 +222,13 @@ public class Controler { Station StationPicsat = new Station(conf.getSIDSPicsatSource(), station.getLongitude(), station.getLatitude()); + SendSIDSMVPAmsat = new SendSIDS(StationEntry, conf.getNorad(), conf.getSIDSAMSATUrl()); + SendSIDSPicsat = new SendSIDS(StationPicsat, conf.getNorad(), conf.getSIDSPicsatsURL()); + SendSIDSSatnogs = new SendSIDS(StationSatnogs, conf.getNorad(), conf.getSIDSSatnogsURL()); + if (CheckbBoxAmicalSat.isSelected() == true) { conf.setSIDSAMSAT("1"); - SendSIDSMVPAmsat = new SendSIDS(StationEntry, conf.getNorad(), conf.getSIDSAMSATUrl()); } else { conf.setSIDSAMSAT("0"); } @@ -225,7 +236,6 @@ public class Controler { if (CheckBoxSatPicsat.isSelected() == true) { conf.setSIDSPicsat("1"); - SendSIDSPicsat = new SendSIDS(StationPicsat, conf.getNorad(), conf.getSIDSPicsatsURL()); } else { conf.setSIDSPicsat("0"); } @@ -233,7 +243,6 @@ public class Controler { if (CheckBoxSatNogs.isSelected() == true) { conf.setSIDSSatnogs("1"); - SendSIDSSatnogs = new SendSIDS(StationSatnogs, conf.getNorad(), conf.getSIDSSatnogsURL()); } else { conf.setSIDSSatnogs("0"); } @@ -328,6 +337,8 @@ public class Controler { SatelliteNorad sat = ComboBoxSatellite.getSelectionModel().getSelectedItem(); displayLog(sat.getName() + " " + sat.getNoradId()); selectedNoradId = sat.getNoradId(); + conf.setNorad(selectedNoradId); + conf.save(); } @FXML @@ -336,15 +347,20 @@ public class Controler { public void initMMI() { manageStatusinformation("Initialised", "KISS TOOL - LOG \r\n Initialise application"); - SatelliteNorad uvsqsat = new SatelliteNorad("UVSQsat", 47438); - SatelliteNorad Defaut = new SatelliteNorad("Defaut", conf.getNorad()); - SatelliteNorad picsat = new SatelliteNorad("Picsat", 43132); + // SatelliteNorad uvsqsat = new SatelliteNorad("UVSQsat", 47438); + // SatelliteNorad Defaut = new SatelliteNorad("Defaut", conf.getNorad()); + // SatelliteNorad picsat = new SatelliteNorad("Picsat", 43132); + satnorad = new SatelliteNoradFile(); + satnorad.readFile("SatelliteNoradList.json"); selectedNoradId = conf.getNorad(); ObservableList list = - FXCollections.observableArrayList(Defaut, uvsqsat, picsat); + FXCollections.observableArrayList(satnorad.getSatelliteNoradList()); ComboBoxSatellite.setItems(list); ComboBoxSatellite.getSelectionModel().select(0); - + LabelAmsatSent.setText("0"); + LabelPicsatSent.setText("0"); + LabelSatnogsSent.setText("0"); + ; Runnable task1 = () -> { Date date = new Date(); @@ -453,14 +469,12 @@ public class Controler { new Station(conf.getSIDSSatnogsSource(), station.getLongitude(), station.getLatitude()); Station StationEntry = new Station(conf.getSIDSAMSATSource(), station.getLongitude(), station.getLatitude()); + Station StationPicsat = + new Station(conf.getSIDSPicsatSource(), station.getLongitude(), station.getLatitude()); - if (conf.isSISD_SatNogs() == true) { - SendSIDSSatnogs = new SendSIDS(StationSatnogs, conf.getNorad(), conf.getSIDSSatnogsURL()); - } - - if (conf.isSIDS_AMSAT() == true) { - SendSIDSMVPAmsat = new SendSIDS(StationEntry, conf.getNorad(), conf.getSIDSAMSATUrl()); - } + SendSIDSSatnogs = new SendSIDS(StationSatnogs, conf.getNorad(), conf.getSIDSSatnogsURL()); + SendSIDSMVPAmsat = new SendSIDS(StationEntry, conf.getNorad(), conf.getSIDSAMSATUrl()); + SendSIDSPicsat = new SendSIDS(StationPicsat, conf.getNorad(), conf.getSIDSPicsatsURL()); String erreurmsg = message; @@ -483,6 +497,10 @@ public class Controler { + nbframeTraited + " Sent : Amsat - " + this.nbAmsatDatabase); + + LabelAmsatSent.setText("" + nbAmsatDatabase); + LabelPicsatSent.setText("" + picsatDatabase); + LabelSatnogsSent.setText("" + nbSatnogsDatabase); } public void IncrementNbFrame() { @@ -536,10 +554,11 @@ public class Controler { displayLog(logMessage); } - public void SendSids(ReceivedData receivedData) { + public void SendSids(ReceivedData receivedData, int noradframe) { + LastDecoded.setText("" + noradframe); if (conf.isSIDS_AMSAT() == true) { - int results = SendSIDSMVPAmsat.Send(receivedData, selectedNoradId); + int results = SendSIDSMVPAmsat.Send(receivedData, noradframe); if (SendSIDSMVPAmsat.isCorrectSend(results)) { CircleDatabaseAmsatF.setFill(Color.GREEN); nbAmsatDatabase++; @@ -550,7 +569,7 @@ public class Controler { } if (conf.isSISD_SatNogs() == true) { - int results = SendSIDSSatnogs.Send(receivedData, selectedNoradId); + int results = SendSIDSSatnogs.Send(receivedData, noradframe); if (SendSIDSSatnogs.isCorrectSend(results)) { CircleDatabaseSatnogs.setFill(Color.GREEN); nbSatnogsDatabase++; @@ -560,12 +579,13 @@ public class Controler { } } if (conf.isSIDS_Picsat() == true) { - int results = SendSIDSPicsat.Send(receivedData, selectedNoradId); + int results = SendSIDSPicsat.Send(receivedData, noradframe); if (SendSIDSPicsat.isCorrectSend(results)) { CircleDatabasePicsat.setFill(Color.GREEN); picsatDatabase++; } else { displayLog("Send SIDS Picsat Database : " + results); + displayLog(SendSIDSPicsat.getMessageAnswer()); CircleDatabasePicsat.setFill(Color.RED); } } @@ -578,4 +598,9 @@ public class Controler { public void SetDecodedData(String data) { DecodedData.appendText(data); } + + public int getNorad(String rcvCallsign) { + int norad = satnorad.getNorad(rcvCallsign); + return norad; + } } diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SatelliteNorad.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SatelliteNorad.java index f8b80818..4b2c9f6e 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SatelliteNorad.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SatelliteNorad.java @@ -4,6 +4,7 @@ public class SatelliteNorad { int noradId; String name; + String indicatif = null; public SatelliteNorad(String name, int noradId) { super(); @@ -11,10 +12,21 @@ public class SatelliteNorad { this.name = name; } + public SatelliteNorad(String name, int noradId, String indicatif) { + super(); + this.noradId = noradId; + this.name = name; + this.indicatif = indicatif; + } + public int getNoradId() { return noradId; } + public String getCallsign() { + return this.indicatif; + } + public void setNoradId(int noradId) { this.noradId = noradId; } @@ -29,6 +41,10 @@ public class SatelliteNorad { @Override public String toString() { - return name; + return name + " " + noradId; + } + + public String toStringFull() { + return name + " " + noradId + " " + this.indicatif; } } diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SendSIDS.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SendSIDS.java index 61360fb4..0e6f16b2 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SendSIDS.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/SendSIDS.java @@ -43,4 +43,9 @@ public class SendSIDS { return result; } + + public String getMessageAnswer() { + // TODO Auto-generated method stub + return client.getMessageAnswer(); + } } diff --git a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/TaskManageReceivedData.java b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/TaskManageReceivedData.java index 6c72d92e..f81fff29 100644 --- a/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/TaskManageReceivedData.java +++ b/ApplicationKissTool/src/main/java/org/josast/ApplicationKissTool/TaskManageReceivedData.java @@ -58,6 +58,8 @@ public class TaskManageReceivedData extends Task { @Override public void run() { + String rcvCallsign = ax25display.GetCallsignFrom(); + try { // ctrl.displayLog("Display Data"); @@ -72,8 +74,9 @@ public class TaskManageReceivedData extends Task { ctrl.SetDecodedData(displayUVSQsat.getData()); } } - - ctrl.SendSids(decodedData); + int noradframe = ctrl.getNorad(rcvCallsign); + if (noradframe == 0) noradframe = conf.getNorad(); + ctrl.SendSids(decodedData, noradframe); ctrl.IncrementNbFrameTraited(); } catch (Exception e) { @@ -88,14 +91,14 @@ public class TaskManageReceivedData extends Task { @Override protected String call() throws Exception { - System.out.println("tache message lancéee"); + displayLog("Message Treatment Lanched"); Date lastFrameTime; displayLog("Waiting Data !!!"); while (true) { ReceivedData decodedData = blockingQueue.take(); - displayLog(" Data !!!"); + // displayLog(" Data !!!"); ax25display.setdata(decodedData); String calsignr = ax25display.GetCallsignFrom(); @@ -120,6 +123,7 @@ public class TaskManageReceivedData extends Task { conf.getLongitude(), conf.getLatitude(), creationdate); + mdf.setRepositoryPath(conf.getOutputFileDirectory()); if (mdf.saveTlmData(tlmData) != 0) { displayLog("Error creation JSON file"); } diff --git a/ApplicationKissTool/src/main/resources/org/josast/ApplicationKissTool/KissTool.fxml b/ApplicationKissTool/src/main/resources/org/josast/ApplicationKissTool/KissTool.fxml index a0bc52a9..373986ee 100644 --- a/ApplicationKissTool/src/main/resources/org/josast/ApplicationKissTool/KissTool.fxml +++ b/ApplicationKissTool/src/main/resources/org/josast/ApplicationKissTool/KissTool.fxml @@ -12,13 +12,13 @@ - + @@ -26,13 +26,14 @@ +