== code/owlps-positioning ==
- Add new class Request (split of Measurement).
- Update Measurement and CalibrationMeasurement (suppress the 'mobile'
attribute).
- Update InputCSV (and InputMedium) to use Request instead of
Measurement. Complete the file reading (mobile & ap pointers remain to
be implemented).
- PosUtil: Add timespec_to_ms(), timespec_to_ns(), ms_to_timespec(), and
ns_to_timespec().
- Makefile: Update to use stlport, fix all deps and add new classes.
- Minor fixes.
- TODO: Add UML-related things, updates Measurement & Request.
== code ==
- libowlps: Add ms_to_timeval() (commented), may be useful later.
- Add TODO.
- Add classes InputMedium and InputCSV. They handle Measurements.
- Measurement: add set_ss_list() and clear().
- Add new files in Makefile.
- TODO: thinking about Measurement vs. a new class Request.
Where possible, put the #include in the .cc file instead of the header
file.
Include <ostream> when <iostream> is not needed.
Fix a bug in operator<<() for Measurement: NULL value of ap and mobile
was not checked.
- Add section « C++ en action » in TODO.
- Where possible, class declarations instead of #include.
- Use of iterators and at() instead of operator[] for vectors.
- Const arguments for operator<< where forgotten.
- Updated Makefile to be able to compile each class.
- Fixed some compilation errors (CalibrationMeasurement, Point3D,
ReferencePoint, WayPoint) and a warning in Measurement.
- Adding WifiDevice and Mobile. AccessPoint and Mobile are sub-classes
of WifiDevice.
- Measurement: link to Mobile and AccessPoint.
- Adding CalibrationMeasurement.
- ReferencePoint: add_measurement() and operators, link to
CalibrationMeasurement (not Measurement).
- Area and Waypoint : using pointers (not references) for attribute
setting.
- Deleted class ClientInfo (replaced by Mobile).
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).
/!\ 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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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