diff --git a/documentation/doc_config_HL.pdf b/documentation/doc_config_HL.pdf index 6a3776fa..6ea8a9ea 100644 Binary files a/documentation/doc_config_HL.pdf and b/documentation/doc_config_HL.pdf differ diff --git a/pc/src/Homologation.java b/pc/src/Homologation.java index 230065e8..925e289e 100644 --- a/pc/src/Homologation.java +++ b/pc/src/Homologation.java @@ -116,7 +116,7 @@ public static void main(String[] args) KeyPathCache k = new KeyPathCache(state); k.shoot = false; - k.s = sm.getScripts().get("MINERAI_CRATERE_HAUT_GAUCHE"); + k.s = sm.getScripts().get("MINERAI_CRATERE_HAUT_DROITE"); try { path.prepareNewPathToScript(k); path.sendPreparedPath(); diff --git a/pc/src/capteurs/CapteursProcess.java b/pc/src/capteurs/CapteursProcess.java index 90714869..6a2f4d60 100644 --- a/pc/src/capteurs/CapteursProcess.java +++ b/pc/src/capteurs/CapteursProcess.java @@ -65,6 +65,7 @@ public class CapteursProcess implements Service, LowPFClass, HighPFClass private Capteur[] capteurs; private double imprecisionMaxPos; private double imprecisionMaxAngle; + private boolean debugCapteurs; private long dateLastMesureCorrection = -1; private long peremptionCorrection; @@ -90,6 +91,7 @@ public CapteursProcess(Container container, Log log, GridSpace gridspace, Table bufferCorrection = new Cinematique[config.getInt(ConfigInfo.TAILLE_BUFFER_RECALAGE)]; peremptionCorrection = config.getInt(ConfigInfo.PEREMPTION_CORRECTION); enableCorrection = config.getBoolean(ConfigInfo.ENABLE_CORRECTION); + debugCapteurs = config.getBoolean(ConfigInfo.DEBUG_CAPTEURS); int demieLargeurNonDeploye = config.getInt(ConfigInfo.LARGEUR_NON_DEPLOYE)/2; int demieLongueurArriere = config.getInt(ConfigInfo.DEMI_LONGUEUR_NON_DEPLOYE_ARRIERE); @@ -183,6 +185,9 @@ public void updateObstaclesMobiles(SensorsData data) if(positionEnnemi.isHorsTable()) continue; // hors table + if(debugCapteurs) + log.debug("Ajout d'un obstacle d'ennemi en "+positionEnnemi); + ObstacleProximity o = gridspace.addObstacleAndRemoveNearbyObstacles(positionEnnemi); /** diff --git a/pc/src/config/ConfigInfo.java b/pc/src/config/ConfigInfo.java index f8c8052d..6958cdcd 100644 --- a/pc/src/config/ConfigInfo.java +++ b/pc/src/config/ConfigInfo.java @@ -116,6 +116,7 @@ public enum ConfigInfo { */ DEBUG_SERIE_TRAME(false), // debug verbeux sur le contenu des trames DEBUG_SERIE(false), // debug sur la série + DEBUG_CAPTEURS(false), // debug verbeux sur les capteurs GENERATE_DEPENDENCY_GRAPH(false), // génère le graphe des dépendances /** diff --git a/pc/src/pathfinding/chemin/CheminPathfinding.java b/pc/src/pathfinding/chemin/CheminPathfinding.java index bc518843..0239c24f 100644 --- a/pc/src/pathfinding/chemin/CheminPathfinding.java +++ b/pc/src/pathfinding/chemin/CheminPathfinding.java @@ -63,7 +63,7 @@ public class CheminPathfinding implements Service, Printable, HighPFClass, Chemi private int lastValidIndex = -1; // l'indice du dernier index (-1 si aucun ne l'est, Integer.MAX_VALUE si tous le sont) private boolean uptodate = true; // le chemin est-il complet private int margeNecessaire, margeInitiale; - private boolean graphic; + private boolean graphic, debugCapteurs; public CheminPathfinding(Log log, BufferOutgoingOrder out, ObstaclesIteratorPresent iterator, PrintBufferInterface buffer, Config config) { @@ -79,6 +79,7 @@ public CheminPathfinding(Log log, BufferOutgoingOrder out, ObstaclesIteratorPres margeNecessaire = config.getInt(ConfigInfo.PF_MARGE_NECESSAIRE); margeInitiale = config.getInt(ConfigInfo.PF_MARGE_INITIALE); graphic = config.getBoolean(ConfigInfo.GRAPHIC_TRAJECTORY_FINAL); + debugCapteurs = config.getBoolean(ConfigInfo.DEBUG_CAPTEURS); if(graphic) buffer.add(this); @@ -121,6 +122,8 @@ public synchronized void checkColliding() { if(isColliding()) { + if(debugCapteurs) + log.warning("Un ennemi est sur le chemin : replanification nécessaire"); uptodate = false; notify(); } diff --git a/pc/src/threads/ThreadUpdatePathfinding.java b/pc/src/threads/ThreadUpdatePathfinding.java index 2a395d62..e7d6069b 100644 --- a/pc/src/threads/ThreadUpdatePathfinding.java +++ b/pc/src/threads/ThreadUpdatePathfinding.java @@ -17,6 +17,8 @@ package threads; +import config.Config; +import config.ConfigInfo; import container.dependances.HighPFClass; import exceptions.PathfindingException; import pathfinding.astar.AStarCourbe; @@ -34,12 +36,14 @@ public class ThreadUpdatePathfinding extends ThreadService implements HighPFClas protected Log log; private AStarCourbe pathfinding; private CheminPathfinding chemin; + private boolean debugCapteurs; - public ThreadUpdatePathfinding(Log log, AStarCourbe pathfinding, CheminPathfinding chemin) + public ThreadUpdatePathfinding(Log log, AStarCourbe pathfinding, CheminPathfinding chemin, Config config) { this.log = log; this.pathfinding = pathfinding; this.chemin = chemin; + debugCapteurs = config.getBoolean(ConfigInfo.DEBUG_CAPTEURS); } @Override @@ -53,7 +57,9 @@ public void run() if(chemin.isUptodate()) chemin.wait(); try { - pathfinding.updatePath(false); + if(debugCapteurs) + log.debug("Mise à jour du chemin"); + pathfinding.updatePath(true); } catch (PathfindingException e) { e.printStackTrace(); } diff --git a/pc/src/threads/serie/ThreadSerialInputCoucheOrdre.java b/pc/src/threads/serie/ThreadSerialInputCoucheOrdre.java index fb23064c..c551b8a8 100644 --- a/pc/src/threads/serie/ThreadSerialInputCoucheOrdre.java +++ b/pc/src/threads/serie/ThreadSerialInputCoucheOrdre.java @@ -54,7 +54,7 @@ public class ThreadSerialInputCoucheOrdre extends ThreadService implements Seria private Container container; private boolean capteursOn = false; - private boolean debugSerie; + private boolean debugSerie, debugCapteurs; private int nbCapteurs; public ThreadSerialInputCoucheOrdre(Log log, Config config, BufferIncomingOrder serie, SensorsDataBuffer buffer, RobotReal robot, CheminPathfinding chemin, Container container) @@ -67,6 +67,7 @@ public ThreadSerialInputCoucheOrdre(Log log, Config config, BufferIncomingOrder this.robot = robot; this.chemin = chemin; debugSerie = config.getBoolean(ConfigInfo.DEBUG_SERIE); + debugCapteurs = config.getBoolean(ConfigInfo.DEBUG_CAPTEURS); } @Override @@ -153,7 +154,7 @@ else if(paquet.origine == OutOrder.START_STREAM_ALL) for(int i = 0; i < nbCapteurs; i++) { mesures[i] = data[8+i]; - if(debugSerie) + if(debugSerie || debugCapteurs) log.debug("Capteur "+CapteursRobot.values[i].name()+" : "+mesures[i]); } if(capteursOn)