Commit Graph

1127 Commits

Author SHA1 Message Date
Matteo Cypriani 1808acd870 [Positioning] Work on AccessPoint and Measurement
Modification of AccessPoint and Measurement to fit the class diagram.
Adding class PosUtil, for static utilitary functions (will be the
successor of the false library libowlps-positioning).
2011-03-16 14:07:23 +01:00
Matteo Cypriani 85cca4debd [Positioning] Rewriting begins
/!\ This branch does not compile! (But some single files can.)
/!\ All the following commits are broken code. (Hopefully it will work
/!\ in a few days.)

Backup commit. Beginning of the rewriting work on OWLPS Positioning,
following the new class diagram.
2011-03-16 14:07:23 +01:00
Matteo Cypriani d35e0dd5e5 [Positioning] Reindent with astyle 1.24 2011-03-16 14:07:23 +01:00
Matteo Cypriani 3b6eb55e38 Nettoyage du code de listener et libowlps
listener + libowlps : nettoyage, amélioration de la qualité du code,
tests sur le type du paquet capturé.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@108 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani 629ed77470 [i-c] Mode passif dans aggregator et listener
Implantation (basique) du mode passif dans aggregator et listener.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@107 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani 24fef29457 [Listener] Add -v -q -m + other modifications
owlps-listener :
* Détail des erreurs d'ouverture / parcours du fichier de configuration.
* Ajout des option -v et -q permettant de choisir si le programme doit
  être verbeux ou silencieux.
* Modification des en-têtes de capture() et read_packet() pour utiliser
  la structure de configuration plutôt que des passages d'arguments.
  Note : peut-être serait-il bien de déplacer read_packet() dans
  capture() (à la place de got_packet) pour éviter le passage incessant
  des arguments sockfd et server.
* Ajout de l'option -m permettant de choisir le mode (actif, passif,
  mixte).
* Préparation de l'implantation du mode passif (dans read_packet).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@106 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani c2f18d715e [Positioning] Intégration commentaires de Julien
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@105 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani 92194b4f50 [Positioning] Fix -f option
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@102 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani d619b621ff [Positioning] Revue code Julien
Début de revue du code de Julien sur owlps-positioning :
* Cosmétique.
* owlps-positioning.cc, server.cc : correction/amélioration de la
  gestion des arguments.
* Fichiers de config : suppression de cfg/config.cfg et
  déplacement-renommage de ./owlps-positioning.cfg dans
  cfg/owlps-positioning.conf.
* Makefile : passage de Boost 1.35 à 1.38, l'option
  -lboost_program_options devient -lboost_program_options-mt.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@101 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:23 +01:00
Matteo Cypriani e0d3e07e11 [Client] Ajout d'options
client :
* Ajout de l'option -l permettant d'activer ou non l'attente d'une
  réponse après l'envoi d'une demande, et éventuellement de spécifier un
  port alternatif.
* Ajout de l'option -p permettant de spécifier le port d'envoi des
  demandes.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@100 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Matteo Cypriani bb51f59328 [i-c] Ajouts dans les options et fichier de config
aggregator :
* Ajout de l'option getopt manquante pour le port d'envoi.
* Modification des noms des options getopt (options DB en majuscule).
* Correction et harmonisation des noms des options libconfuse et des
  #define correspondants.
* Correction et complément de l'aide.

listener :
* Ajout d'une option pour le port d'écoute (-l / listening_port).
* Passage des listes d'options en global (nécessaire pour le port
  d'écoute).
* Passage de int à long pour le type du port d'agrégation.

Fichier code/infrastructure-centred/TODO :
* Mise à jour et déplacement des lignes pertinentes dans des TODO
  spécialisés (créés pour l'occasion).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@99 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly 15979c6597 [Listener] Modifs spécifiques Fon
Intégration des modifications spécifiques à la Fonera provenant du code
de Julien.
Extrait de son message :
« Je rappelle que le programme contenu dans les FON ne contient pas la
dernière version du listener (celle avec la lib confuse) celà est dû au
fait que cette lib n'était pas installé. »

Grâce aux options préprocesseur définies à la révision précédente, cette
révision devrait pouvoir se cross-compiler (grâce au Makefile_atheros),
si on active l'option PLATFORM_ATHEROS, et fonctionner sur les Fonera.
Pour mémoire, toutes les fonctionnalités devraient pouvoir fonctionner,
puisque des paquets libpthread et confuse existent pour OpenWRT
Kamikaze.

Ajout d'un fichier TODO avec quelques trucs à faire dans la même veine
(compilation croisée et options préprocesseur).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@98 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Matteo Cypriani 9f0c4793e6 [Listener] Paramètres préprocesseur, option -k
listener :
* Ajout de l'option préprocesseur USE_CONFIG_FILE, qui permet d'activer
  ou pas l'utilisation d'un fichier de configuration via libconfuse.
* Ajout de l'option préprocesseur USE_PTHREAD, qui permet d'activer ou
  pas la gestion des threads POSIX (nécessaire pour la fonction de
  maintien du mode monitor).
* Ajout de l'option -k ("keep_monitor" dans le fichier de config), qui
  permet d'activer le maintien actif du mode monitor (qui est à présent
  désactivé par défaut).
* Correction de bogue : ajout de "p:" dans la chaîne getopt.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@97 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly b9bdb9400a Incorporation de la dernière version de Julien
Extrait de son courriel :
  « Par rapport à la précédente j'ai surtout corrigé des bugs. »

Note : la version du listener portable sur Fonera, envoyée en même temps
par Julien, viendra plus tard (le temps que je l'incorpore).

Détail des changements après analyse du code :

aggregator : correction de bogues.

positioning :
* Ajout d'un fichier de config format boost (cfg/config.cfg).
* Makefile : implantation des cibles "install" et "uninstall" ; la cible
  "astyle" devient "style".
* accesspoint.{hh,cc}, area.cc, measurement.hh, point.{hh,cc},
  referencepoint.{hh,cc} : cosmétique.
* owlps-positioning.c : correction de la lecture du fichier de config
  (ajout d'une option permettant de spécifier un fichier alternatif).
* server.cc : essentiellement correction des requêtes.
* libowlps-positioning.{hh,cc} : passage de "unsigned long long" à
  "uint64_t" comme type de retour de timeval_to_ms().

writeInDb :
* Ajout de la gestion d'un fichier de config.
* Ajout de deux scripts pour la BDD.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@96 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly f1e1122091 Reconstitution du dépôt, étape 5 (et dernière)
Le commentaire de révision initial figure ci-dessous. Les différences
par rapport à ce commit sont :
- Dans code/infrastructure-centred/owlps-client/ : importation des
  modifs de Julien dans la dernière version du client (Julien avait
  utilisé comme base une ancienne version).
- Dans code/infrastructure-centred/owlps-listener/ : idem.
- Dans code/owlps-positioning/ :
    ° Suppression de client (déplacé dans les archives).
    ° Makefile : ajout d'une pseudo-cible .PHONY.
- code/writeInDb/ :
    ° Le binaire n'est pas versionné.
    ° Application de astyle --style=gnu.

| r93 | jgraeffly | 2009-05-27 14:51:40 +0200 (mer 27 mai 2009) | 23 lines
| Chemins modifiés :
|    R /code/infrastructure-centred/owlps-aggregator/owlps-aggregator.h
|    R /code/infrastructure-centred/owlps-aggregator/owlps-aggregatord.c
|    R /code/infrastructure-centred/owlps-client/owlps-client.c
|    R /code/infrastructure-centred/owlps-listener/owlps-listener.h
|    R /code/infrastructure-centred/owlps-listener/owlps-listenerd.c
|    R /code/libowlps/owlps.h
|    R /code/owlps-positioning/Makefile
|    D /code/owlps-positioning/client
|    A /code/owlps-positioning/libowlps-positioning.cc
|    A /code/owlps-positioning/libowlps-positioning.hh
|    R /code/owlps-positioning/owlps-positioning.cc
|    A /code/owlps-positioning/owlps-positioning.cfg
|    R /code/owlps-positioning/owlps-positioning.hh
|    R /code/owlps-positioning/positioning.cc
|    R /code/owlps-positioning/positioning.hh
|    R /code/owlps-positioning/server.cc
|    R /code/owlps-positioning/server.hh
|    R /code/owlps-positioning/treatment.cc
|    R /code/owlps-positioning/treatment.hh
|    A /code/writeInDb
|    A /code/writeInDb/writeindb
|    A /code/writeInDb/writeindb.cc
|    A /code/writeInDb/writeindb.hh
|
| - Mise à jour du positioner :
|         Prise en charge de la BdD pour utilisation ainsi que pour la
|           sauvegarde des résultats
|         Envoi du résultat au client
|         Prise en compte du fichier de configuration ainsi que des
|           lignes de commande avec la library boost
|
| - Mise à jour de l'aggregator :
|         Pris en compte de la BdD pour la sauvegarde des requetes de
|           calibration ou de localisation
|         Envoi des demandes de localisation uniquement vers le
|           positioner
|         Ajout des options utilisables en ligne de commande et dans le
|           fichier de conf
|
| - Mise à jour du listener :
|         Ajout de l'envoi de l'adresse IP du mobile
|
| - Mise à jour du mobile :
|         Ajout de la socket de récupération de la réponse du serveur la
|           réponse est sous forme de 3 float (x, y, z) et non d'un Point.
|
| - Mise à jour de owlps.h :
|         Ajout des ports par défaut du positioner ainsi que du mobile.
|
| - Ajout de writeInDb :
|         Programme permettant de mettre les données contenu dans un
|           fichier dans la BdD

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@94 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly 61ceb8bb0f Reconstitution du dépôt, étape 3
Le commentaire de révision initial figure ci-dessous. Différences par
rapport à ce commit : ajout d'une règle "astyle" au Makefile, qui refait
l'indentation de tous les fichiers (à utiliser avant un commit).

| r91 | jgraeffly | 2009-05-15 15:18:47 +0200 (ven 15 mai 2009) | 1 line
| Chemins modifiés :
|    M /code/owlps-positioning/Makefile
|    M /code/owlps-positioning/server.hh

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@92 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly 418970d68b Reconstitution du dépôt, étape 2
Le commentaire de révision initial figure ci-dessous. Différences par
rapport à ce commit : avant les modifications, j'ai renommé guinumo.* en
owlps-positioning.*.

| r90 | jgraeffly | 2009-05-15 15:08:42 +0200 (ven 15 mai 2009) | 1 line
| Chemins modifiés :
|    A /code/owlps-positioning/owlps-positioning.cc
|    A /code/owlps-positioning/owlps-positioning.hh

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@91 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Julien Graeffly 191109c5b0 Reconstitution du dépôt, étape 1
Le commentaire de révision initial figure ci-dessous. Les différences
par rapport à ce commit sont les suivantes :
- client/ : la version binaire n'est pas versionnée, ni "toutes.csv".
- Non-suppression de clientinfo.*  et de guinumo.* (on verra plus tard).
- Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas
  supprimé.
- Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être
  versionnées).
- Le répertoire "log" n'est pas supprimé.

| r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines
| Chemins modifiés :
|    R /code/owlps-positioning/Makefile
|    D /code/owlps-positioning/TODO
|    D /code/owlps-positioning/cfg
|    A /code/owlps-positioning/client
|    A /code/owlps-positioning/client/Client
|    A /code/owlps-positioning/client/Client.cc
|    A /code/owlps-positioning/client/toutes.csv
|    D /code/owlps-positioning/clientinfo.cc
|    D /code/owlps-positioning/clientinfo.hh
|    R /code/owlps-positioning/csv
|    A /code/owlps-positioning/csv/minipc.cfg
|    A /code/owlps-positioning/csv/topo.csv
|    A /code/owlps-positioning/csv/toutes.csv
|    A /code/owlps-positioning/csv/waypoints.csv
|    D /code/owlps-positioning/guinumo.cc
|    D /code/owlps-positioning/guinumo.hh
|    D /code/owlps-positioning/log
|    A /code/owlps-positioning/positioning.cc
|    A /code/owlps-positioning/positioning.hh
|    R /code/owlps-positioning/server.cc
|    R /code/owlps-positioning/server.hh
|    A /code/owlps-positioning/treatment.cc
|    A /code/owlps-positioning/treatment.hh
|
| - Création du serveur qui reçois les informations à partir du client
|   se trouvant dans le dossier client/
| - Implémentation de la partie calcul dans le serveur (les résultats
|   sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de
|   modifications sur le traitement).
| - En sortie, on retrouve le résultat de chaques algo.
| - Sur cette version il n'y a pas encore de commentaires ceci a été
|   fait afin d'avoir une meilleure visualisation du programme.
| - La réception des données se fait pour l'instant toujours grâce à un
|   vector
| - positioning.cc est une classe qui contient les informations sur la
|   topologie les AP ainsi que les points de référence.
| - server.cc contient les méthodes qui permet de recevoir les clients
|   et implémente positioning.cc avec les informations reçues par des
|   fichiers ces fichiers sont dans csv/
| - treatment.cc est une classe contenant les différents Algo permettant
|   de calculer la position.
| - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg
|   csv/toutes.csv csv/topo.csv csv/waypoints.csv

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Matteo Cypriani 4784fb00df Reconstitution du dépôt, étape 0
Backup du 15-05-2009, restauré pour effacer les mauvais commits de
Julien (mauvaise compréhension de SVN -> mauvaises utilisation).

Du coup j'en profite pour préparer le terrain : un petit coup de astyle
sur chaque fichier, pour que les diffs soient intéressants.
DÉSORMAIS, ASTYLE DEVRA ÊTRE UTILISÉ AVANT CHAQUE COMMIT !

Pour ce faire :
  astyle --style=gnu *.cc *.hh

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@89 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Matteo Cypriani f1791d816a [i-c] Support fichiers config listener/aggregator
Ajout du support des fichiers de configuration et des arguments
(libconfuse / getopt) pour les modules aggregator et listener.
Corrections pour le module client.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@88 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:07:22 +01:00
Matteo Cypriani 0d7946e3db [Client] getopt, nombre et délai d'envoi
owlps-client :
- Utilisation de getopt pour la gestion des arguments.
- On peut maintenant spécifier le nombre de paquets envoyés et le délai entre deux paquets.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@87 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 14:06:32 +01:00
Matteo Cypriani f02fd800db Correction des Makefiles
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@83 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:46 +01:00
Matteo Cypriani 7800038be0 Cosmétique
code : quelques corrections de forme.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@79 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:46 +01:00
Matteo Cypriani 7a5fd431f4 Rien de très transcendant
Retouches mineures et décommentaire de checkTopology() dans le
constructeur de Server.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@78 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:46 +01:00
Matteo Cypriani 259ac54f32 Corrections mineures et commentaires
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@77 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:46 +01:00
Matteo Cypriani 3268b3d298 Correction du Makefile de positioning
Cibles d'installation et de désinstallation factices pour éviter les
erreurs.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@76 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:45 +01:00
Matteo Cypriani 2c30b04a49 Migration vers le nouveau nom OWLPS
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@71 785a6c6c-259e-4ff1-8b91-dc31627914f0

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@73 785a6c6c-259e-4ff1-8b91-dc31627914f0

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@74 785a6c6c-259e-4ff1-8b91-dc31627914f0

  Renommage des fichiers et adaptation des makefiles.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@75 785a6c6c-259e-4ff1-8b91-dc31627914f0

  Adaptation des #include, fin d'adaptation des makefiles.

  Reste à faire : renommage des fichiers de GuiNuMo, adaptation dans le
  code, amélioration du makefile (cible d'installation).
2011-03-16 13:52:45 +01:00
Matteo Cypriani 9a6bcaf8f4 Update GuiNuMo TODO
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@70 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:45 +01:00
Frédéric Lassabe 0bc8e3c955 Fix getSsSquareDistance(), radar_exp() parameters
* server.cc: adjusted radar_exp due to parameters (suppr. pre-processing
  with #ifdef PEREGRINATION and changed output)
* referencepoint.cc: fixed getSsSquareDistance by replacing missing values
  by -90 dBm signal
Performs better than previous versions, however, RADAR remains the best.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@68 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:45 +01:00
Frédéric Lassabe a831e2fb8e Fix bugs in FBCM/FRBHM, parameters to radar_exp()
Many bugs fixed in FBCM and Hybrid basic model.
Added parameters to radar_exp and Server contructor.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@67 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:52:45 +01:00
Matteo Cypriani 9c3e39ee29 GuiNuMo: modify radar_exp()
server.hh :
* Modification des fichiers de mesures.

server.{cc,hh} :
* Les variables 'prout' mises par je ne sais pas trop qui dans
  monitorClient(), ça ne le fait pas quand on montre du code à son
  suiveur de stage !
* radar_exp() :
    - Ajout de 1-NSS+FBCM.
    - Utilisation du maillage complet comme points de tests (nouvelle
      variable, DEFAULT_REF_POINT_FILE_1M), et d'un éventuel
      sous-maillage comme points de référence  (variable normale,
      DEFAULT_REF_POINT_FILE).
    - Ajout de la possibilité d'utiliser les points de pérégrination
      comme points de test.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@66 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:51:06 +01:00
Frédéric Lassabe 2236f24c55 Triche dans min-max, Z dans interlink
server.hh:
- modified MINMAX_X/Y_MIN/MAX to fit Numerica size.
server.cc:
- added z-coordinate to trilat. algorithm in function "interlink".

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@65 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:51:06 +01:00
Matteo Cypriani abc567980d GuiNuMo: debug messages, fix AP config file
* Affichage débug dans computeTopoblabla.
* Fichier de config des AP corrigé.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@62 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Frédéric Lassabe 9b12e3cb0d Affichage debug dans monitorClient()
Qql affichages de débug dans monitorClient pour Soum.
(et Dom qui parle de têtes et de queues à Seb en face de moi)

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@61 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Matteo Cypriani 87ce0df1c5 Date dans fichier sortie de rtapaggregate
rtapaggregate : ajout de la possibilité de mettre la date de la demande
 sur le mobile dans le fichier de sortie (codé à l'arrache avec un
 #define à décommenter pour activer la fonctionnalité).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@60 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Matteo Cypriani affd061634 Corrections FBCM et FRBHM
Corrections diverses dans FBCM, FBCM Friis, FRBHM continu.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@59 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Frédéric Lassabe 83c40666a2 Include Z in min-max
This is the ultimate modification by the Geolocation master Fred.
In other words, includes z-coordinate to the min-max algorithm (name
should change soon) in functions fbcm & fbcm_friis.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@57 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Matteo Cypriani bec6fb2549 Corrections et ajouts mineurs
point.hh :
* Ajout de distance(float&, float&, float&).

server.cc :
* Modification et mise à jour de radar_exp().
* Correction de l'affichage des points sélectionnés dans
  getkClosestInSs().
* Correction du FBCM et d'Interlink (utilisation des distances au lieu
  des distances au carré, et utilisation de valeurs absolues).

/!\ Reste à corriger frbhm_friis() !

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@56 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Matteo Cypriani 7155a90a9d Correction erreur précédente
Ré-ajout de l'appel à computeTopologyDistances() dans monitorClient()
pour le FRBHM continu, qui avait sauté lors du précédent commit.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@53 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:01 +01:00
Soumaya Zirari e9453590ef End of FRBHM implementation
voila on m'oblige mettre un com

j'ai fini les FRBHM

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@52 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 2a56009c16 Ajout computeTopologyDistances() dans server
server.{hh,cc} :
* Ajout de computeTopologyDistances(), nécessaire au FRBHM continu.
* Intégration aux modifications de Soumaya.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@51 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Soumaya Zirari 1f5ce0426a Soum, faut mettre des commentaires de révisions !
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@50 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 3b02ec985f Encore gestion topologie
server.{hh,cc} :
* Ajout des fonctions selectDistances() et computeEuclideanDistances()
  qui servent à calculer les matrices temporaires de distances entre
  E_current et E_previous, pour Viterbi.
* Adaptation de fastViterbiLike() et monitorClient() pour utiliser ces
  fonctions.
* Corrections mineures.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@49 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 5b1286c6ba GuiNuMo : plein de modifs (gestion topologie)
server.{hh,cc} :
* Changé le comportement des fonctions pointIndex() et pointExists() :
  pointIndex() renvoie -1 si le point n'est pas trouvé, et pointExists()
  effectue un appel à pointIndex(). Passage de toutes ces fonctions en
  inline.
* Déplacement des fonctions point_tab_idx() et point_vector_idx() dans
  la classe Server, en tant que variantes de pointIndex().
* Utilisation, pour les bibliothèques C, des en-têtes C++ (e.g <cmath>)
  plutôt que les en-têtes C (e.g <math.h>).
* Correction des fonctions areaConnection() qui utilisaient la mauvaise
  liste de points.
* Diverses corrections mineures.
* Modification de la fonction makeWaypointListFromFile() afin de prendre
  en compte la topologie dans le calcul des distances.
* Ajout de la fonction inTheSameArea(), qui permet de savoir si deux
  points appartiennent à la même zone.
* Ajout de la fonction checkTopology() qui effectues quelques
  vérifications sur la topologie du bâtiment déclarée dans les fichiers
  de configuration.

area.cc :
* Modification du constructeur de manière à ce qu'il accepte tous les
  formats possibles de définitions des zones (4 ordres possibles pour
  les coordonnées).

point.{hh,cc} :
* Modification de l'operator< pour que la comparaison ne soit pas
  ambigüe (posait problème dans les set).
* Modification des autres opérateurs, ajout des opérateurs <= et >=.

cfg/ :
* waypoints.csv : ajout des points de passage du rez-de-chaussée et des
  escaliers.
* topo.csv : ajout des zones du rez-de-chaussée et des escaliers.

Makefile :
* Suppression d'options inutiles.
* Suppression de l'option d'optimisation, qui causait une boucle infinie
  bizarre : cf. Server::makeWaypointListFromFile().

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@48 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 085b348670 GuiNuMo : gestion topologie
server.{hh,cc} :
* Utilisation d'une map plutôt que d'une multimap pour stocker la liste
  des pièces. Conséquence : les noms des zones doivent être uniques, il
  faut donc numéroter les zones des pièces composites (par exemple
  « Couloir N1 A » et « Couloir N1 B »).
* Ajout de la fonction inWhichAreas() qui permet d'obtenir la liste des
  zones auxquelles appartient un point.
* Modification de la fonction makeWaypointDistancesFromFile() (renommée
  makeWaypointListFromFile()) de manière à ce qu'elle calcule la matrice
  des distances entre points de passage (lecture d'une liste de points).
  Abandon du format décrivant les points en visibilité (voir le fichier
  cfg/distances.csv, supprimé à cette révision), puisque nous nous
  servons des points de passage et de la description des zones pour
  calculer les liens entre points. RESTE À FAIRE : prise en comppte de
  la topologie dans le calcul de distance.
* Ajout de deux fonctions areaConnection() qui permettent de récupérer
  la liste des points de passage d'une zone, ou faisant l'intersection
  entre deux zones.
* Ajout de la fonction distanceTopology, qui calcule la distance entre
  deux points en tenant compte de la topologie (zones et points de
  passage entre elles).
* Ajout de la fonction makeReferencePointDistances(), qui calcule les
  distances entre points de référence, en tenant compte de la
  topologie.
* Ajout de la fonction point_vector_idx(), semblable à point_tab_idx()
  mais pour un vector<Point>.

referencepoint.{hh,cc} :
* Ajout de l'operator de cast en Point (operator Point()).

area.{hh,cc} :
* Ajout de l'operator==(Area).

cfg/distances.csv
* Suppression de ce fichier obsolète.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@47 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 03b4143100 Topologie Numerica, affichage debug dans server
server.{hh,cc} :
* Ajout des affichage de trace (DEBUG_T) pour les fonctions qui n'en avaient pas.
* Retouches mineures.

cfg/topo.csv :
* Ajout explications.
* Séparation couloir / palier.

cfg/waypoints.csv :
* Création. Fichier contenant la liste des points de passage.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@46 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 269594c26e Constante pour les algos dans monitorClient()
server.{cc,hh} :
* Ajout d'un type "ALGORITHM" pour utiliser des noms compréhensibles
  plutôt que des entiers pour désigner les différents algorithmes
  utilisables dans la fonction monitorClient().

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@45 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 7a938066a0 client : nombre de paquets émis
code/loc-bts/client :
* Affinement de la gestion du nombre de paquets envoyés et du délai
  entre envois de paquets, dans le cas de la demande de localisation et
  dans le cas de la requête de calibration.
* Makefile : Ajout d'une cible de compilation statique, afin d'obtenir
  un binaire autonome à copier sur les clients.

code/librtaputil/Makefile :
* Ajout d'un lien symbolique vers la version numérotée de la
  bibliothèque, dans la cible "install-dynamic".

code/GuiNuMo-server/test.bash :
* Suppression de ce fichier obsolète.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@44 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Soumaya Zirari cc1222f67f Ajout de FRBHM basique
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@43 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00
Matteo Cypriani 67525c445e test devient guinumo
Le fichier "test.cc" a été renommé en "guinumo.cc" ; l'exécutable "test"
produit par la compilation devient "guinumo".

server.{hh,cc} :
* Séparation de la fonction fastViterbiLike(), déplacement d'une partie
  du code dans la nouvelle fonction monitorClient(), comme expliqué à la
  révision 41.
* Implémentation de createClient().

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@42 785a6c6c-259e-4ff1-8b91-dc31627914f0
2011-03-16 13:49:00 +01:00