Commit Graph

1127 Commits (master)
 

Author SHA1 Message Date
Matteo Cypriani 1b222af80c Additions/changes in server & clientinfo
Préparation à la séparation de Server::fastViterbiLike() en deux
fonctions : monitorClient() qui contiendra tous les traitements
génériques aux algorithmes de calcul de la position, et
fastViterbiLike() qui ne contiendra que le calcul en lui-même. Ceci afin
de permettre l'ajout aisé d'autres algorithmes.

guinumo.hh : fichier d'en-tête global avec les #define de débogage.

clientinfo.{hh,cc} :
* Ajout d'un constructeur par copie.
* Ajout des opérateurs = et ==.
* Ajout de viterbi_iteration et son accesseur getRef_viterbi_iteration().
* Ajout de print_viterbi_V().
* Changement du type de viterbi_V : passage d'un tableau classique à un
  multi_array de la bibliothèque Boost.
* Ajout d'informations de débogage (trace).

server.{hh,cc} :
* Adaptation pour viterbi_V.
* Ajout de createClient() pour ajouter un client à client_list.
* Ajout d'informations de débogage (trace).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@41 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 4844c58cd0 Beaucoup d'ajouts dans GuiNuMo
point.{hh,cc} :
* Ajout d'un constructeur à partir d'un tableau de 3 float.
* Ajout de operator<(), obligatoire pour le bon fonctionnement des map
  avec un Point comme clef. Ajout de operator>(), tant qu'on y est.

server.{hh,cc} :
* Ajout de point_tab_idx(), qui renvoie l'indice d'un Point au sein d'un
  tableau.
* Ajout de makeTopologyFromFile(), qui lit le fichier contenant la
  description des pièces.
* Ajout de makeWaypointDistancesFromFile(), qui lit le fichier contenant
  la description des liens entre les points de référence. TODO :
  possibilité d'optimiser en construisant la matrice d'un seul coup (?).

area.{hh,cc} :
* Correction pour intégration (classe non utilisée jusqu'à présent).
* Utilisation de références constantes pour les passages de paramètres.
* Ajout de &operator<<() pour l'affichage.

Fichiers de config :
* cfg/distances.csv : complément et complément d'explication.
* cfg/topo.csv : syntaxe + ajout des coordonnées Z2.

Makefile :
* Légère amélioration au niveau de la généricité.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@40 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 36f1a4dc45 1st commit since pif's resurrection
code/GuiNuMo-server/server.cc
	* Ajout de la sélection du point à renvoyer, à chaque étape de
	  l'algorithme dans fastViterbi().
	* Correction d'un bogue causé par les #ifdef de débogage.

code/GuiNuMo-server/cfg/
Ajout de deux fichiers de configuration :
	* topo.csv, donnant la liste et les coordonnées des pièces (pour
	  l'instant seulement du premier étage).
	* distances.csv, décrivant les distances entre les points de référence
	  clefs pour utiliser avec FRBHM.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@36 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 594fb84bc4 README + UTF-8
Ajout de README dans csv/ et log/.

server.hh : conversion en UTF-8.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@35 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 1df1eb075a Corr. syntaxe dans server.cc
server.cc : Ajout d'infos de débogage et correction erreur de syntaxe
(de Fred le mauvais muhaha).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@34 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Frédéric Lassabe cbe71f0004 Fixes the new dist_max search
Last (at least, we hope) mod. of getkClosestInSs function.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@33 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Frédéric Lassabe b2f613bce5 Server modif.: changes getClosestInSS
Straightforward '=' between old and new values.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@32 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 6641aef72b Réorganisation du code dans server.cc
server.{cc,hh} :
* Mutualisation du code des deux fonctions pointExists().
* Idem avec les deux fonctions pointIndex().
* makePointListFromFile() : correction pour la généricité de la fonction
  (lecture pour la liste des points de référence / lecture pour la liste
  de pérégrination).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@31 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 54d788586f Commit-sauvegarde de modifs sur server.cc
/!\ Cette révision est présente uniquement pour sauvegarde de
    modifications. Certains des changements apportés seront annulés à la
    prochaine révision.
/!\ Bogue connu de cette révision : la lecture du fichier de
    pérégrination est faite grâce à la fonction makePointListFromFile(),
    donc tous les points vont dans la même entrée de la liste. Nécessité
    de créer une fonction adaptée.

server.cc/hh :
* Modifications pour lire un fichier de pérégrination et effectuer les
  calculs de position.
* getkClosestInSs() : correction du sens de la comparaison pour
  récupérer la distance maximale.
*	makeReferencePointListFromFile(const string &filename) : remplacement
 	par un appel à la nouvelle fonction générique :
 	makePointListFromFile(vector<ReferencePoint> &dest_point_list, const
 	string &filename).
* makePointListFromFile() : suppression de variables inutiles.
  printReferencePointList() : remplacement par un appel à la nouvelle
  fonction générique : printPointList(vector<ReferencePoint>
  &point_list).

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@30 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani ae11d3a2c3 GuiNuMo: beginning of Viterbi & many other things
Partout où cela était possible :
* Utilisation du passage de paramètre aux fonctions par référence
  constante plutôt que par valeur.

server.cc/hh :
* Suppression de l'ancienne ébauche de Fred viterbiLike().
* Création de la fonction fastViterbiLike() (Viterbi-like optimisé).
* Fonctions getkWeightedInSs() et getkClosestInSs() : simplification du
  traitement des points ignorés (suppression du booléen et passage du
  point à ignorer en pointeur, de manière à permettre une valeur NULL).
  Création de surcharges pour un appel sans point à ignorer.
* Lecture de trois coordonnées (X;Y;Z) au lieu de deux (X;Y) depuis le
  fichier des points de référence (fonctions
  makeReferencePointListFromFile() et
  extractReferencePointInfoFromBuffer()).
* Lecture des fichiers au format « Matteo » (une ligne par agrégation).
  Le format « Fred » (une ligne par AP par agrégation) est toujours
  supporté (via #define FRED_CSV_FORMAT).
* Ajout d'affichages supplémentaires pour le déboguage.

clientinfo.cc/hh :
* Modifications des attributs pour l'algorithme Viterbi-like.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@29 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani f5292a5dd6 Beaucoup modifs cosmétiques et ajouts dans GuiNuMo
Partout où cela était possible :
* Indentation "Emacs" du code, aération.
* Utilisation de #define pour les valeurs par défaut.
* Utilisation des valeurs par défaut dans les constructeurs.

server.cc/hh :
* Gestion d'erreur basique pour les ouvertures de fichiers.

Ajout du TODO, d'après celui fait par Fred sous format papier.

Création des répertoires :
* cfg : fichiers de configuration.
* csv : fichiers d'entrée.
* log : fichiers de sortie.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@28 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Frédéric Lassabe f273cba513 Import initial (GuiNuMo-server)
Projet d'origine, plein de bugs et pas fini.
Avant import du serveur GuiNuMo.
Plein de choses à faire.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@26 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani edd29b4ee3 Beaucoup ajouts/modifs
loc-mobile/mobile/mobile.c : Ajout d'un commentaire à propos d'un
  thread à faire (???).

loc-bts/ap/apd.c : Ajout de la gestion des Retry (paquets Wi-Fi
  réémis).

loc-bts/rtapaggregate/rtapaggregated.c : Optimisation dans
  monitor_couple_list(). Correction de la gestion du start_time des
  couples (utilisation de l'heure d'arrivée sur l'agrégateur, plutôt que
  l'heure d'arrivée sur l'AP, ce qui évite les décalages horaires entre
  les horloges des machines).

loc-bts/rtapaggregate/rtapaggregate.h : Allongement des timeouts.
  Ajout de temps entre chacune des 20 émissions de requêtes de
  calibration. Ajout d'une barre de progression en mode DEBUG.

librtaputil/rtaputil.h : Ajout des tailles des en-têtes de paquets.
  Ajout de la macron IS_RETRY().

librtaputil/librtaputil.c : Correction de timeval_to_ms(), qui
  retournait un unsigned long au lieu d'un unsigned long long. Utilisation
  de timeval_to_ms() dans sub_date(). Correction des fonctions de gestion
  des interfaces réseau, il manquait une fermeture de socket ce qui
  provoquait au bout d'un certain temps un dysfonctionnement dans apd.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@23 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani fbe2cdec78 Thread monitor dans apd
A    code/loc-mobile/TODO
M    code/loc-bts/ap/apd.c : Thread permettant de passer en mode Monitor
     lorsque l'interface Wi-Fi n'y est pas.
M    code/librtaputil/librtaputil.c : Vérification du mode avant le
     passage en Monitor dans iface_mode_monitor().

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@22 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 2f245fc09a Ajouts dans mobile.c et librtaputil
M    code/loc-mobile/mobile/mobile.c : Passage en mode Monitor avant la
     capture.
M    code/librtaputil/librtaputil.c : Ajout des fonctions
     iface_mode_monitor(), iface_set_channel(), iface_channel_hop().
M    code/librtaputil/rtaputil.h
D    code/loc-mobile/client : Réparation de l'erreur précédente.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@21 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani ac937d1471 Modifs tx, unification makefiles
M    code/loc-mobile/librtapscanmob/librtapscanmob.c : Ajout de la
     fonction write_mac_list_to_text_file().
M    code/loc-mobile/librtapscanmob/rtapscanmob.h

Déplacement de tx.c dans un répertoire à part, sous le nom mobile.c :
D    code/loc-mobile/librtapscanmob/tx.c
A    code/loc-mobile/mobile
A    code/loc-mobile/mobile/mobile.c : Ajout de la gestion des données
     de calibration, utilisation de write_mac_list_to_text_file() au lieu de
     write_mac_list_to_file().

M    code/loc-bts/rtapaggregate/rtapaggregated.c : Format de sortie dans
     le fichier texte.

Unification des Makefiles :
M    code/loc-mobile/librtapscanmob/Makefile
A    code/loc-mobile/mobile/Makefile
M    code/loc-mobile/Makefile
M    code/loc-bts/Makefile
M    code/Makefile

A    code/loc-mobile/client : Erreur, sera supprimé au prochain commit.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@20 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani dfe60f3de5 Réorganisation
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@17 785a6c6c-259e-4ff1-8b91-dc31627914f0
  Réorganisation, phase 1

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@18 785a6c6c-259e-4ff1-8b91-dc31627914f0
  Réorganisation, phase 2

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@19 785a6c6c-259e-4ff1-8b91-dc31627914f0
  Réorganisation, suite et fin

  Correction du code en fonction de la réorganisation (références à
  librtaputil).
  Création de Makefiles de plus haut niveau.
13 years ago
Matteo Cypriani 8781613d97 Plusieurs corrections, surtout librtapanalyser
librtapanalyser :
	- Suppression des fonctions redondantes avec librtaputil.
	- Correction du code, utilisation des fonctions de librtaputil.
	- Préparation du renommage en librtapscanmob.
M    loc-mobile/code/librtapanalyser/rtapanalyser.h
M    loc-mobile/code/librtapanalyser/tx.c
M    loc-mobile/code/librtapanalyser/Makefile
M    loc-mobile/code/librtapanalyser/librtapanalyser.c

Modifications et corrections mineures :
M    loc-bts/code/ap/apd.c
M    loc-bts/code/ap/ap.h
M    loc-bts/code/librtaputil/rtaputil.h
M    loc-bts/code/librtaputil/librtaputil.c
M    loc-bts/code/rtapaggregate/rtapaggregated.c
M    loc-bts/code/rtapaggregate/rtapaggregate.h

A    loc-bts/TODO : Ajout d'une liste des choses à faire.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@16 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 2751fd7905 Distinction ports destination
Différentiation du port destination de la demande de localisation
(envoyée par le mobile) et des paquets capturés par l'AP (envoyés au
serveur d'agrégation) :
M    loc-bts/code/ap/apd.c
M    loc-bts/code/librtaputil/rtaputil.h
M    loc-bts/code/client/locclient.c

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@15 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 9fd568c817 Correction librtaputil + -O dans makefiles
M    loc-bts/code/librtaputil/librtaputil.c : variable inutilisée.
M    Tous les Makefiles : ajout de l'option d'optimisation (-O) dans les
     CFLAGS.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@13 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 55350b38cd Modifs apd et locclient
M    loc-bts/code/ap/apd.c : L'adresse du serveur d'agrégation n'est
     plus en dur dans le code, elle doit être spécifiée sur la ligne de
     commande lors de l'appel au programme.
M    loc-bts/code/ap/ap.h : Modifications mineures dans le même sens.
M    loc-bts/code/client/locclient.c

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@10 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 5640fe2479 Delete loc-bts/code/rtap.sh
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@8 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 4a2f7574f9 Modifs dans librtaputil et locclient
M    code/ap/ap.h
M    code/librtaputil/rtaputil.h
M    code/librtaputil/librtaputil.c : Suppression du bind() dans
     create_udp_sending_socket().
M    code/client/locclient.c : Ajout de la gestion de l'interface
     d'envoi. En précisant par exemple "eth1" comme premier argument, on
     peut maintenant choisir l'interface source utilisée lors de l'envoi
     de la demande.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@7 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 2221ab58a0 Delete apd_test.c
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@5 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 29d23523ff Import initial (TO)
Travail de l'UV TO52 à l'UTBM, par Matteo Cypriani et Pierre-Frédéric
Rossel. Une partie du code provient du travail sur la TX.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@3 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 6716b37bb6 Import initial (TX)
Travail de l'UV TX52 à l'UTBM, par Matteo Cypriani et Pierre-Frédéric
Rossel, sur une base de code de Frédéric Lassabe.
Code en « version finale revue et augmentée » envoyée à Frédéric Lassabe
le 03/07/2007.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@6 785a6c6c-259e-4ff1-8b91-dc31627914f0
13 years ago
Matteo Cypriani 2b60f1c055 Ajout répertoire pour les scripts d'administration.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@1 785a6c6c-259e-4ff1-8b91-dc31627914f0
16 years ago