Commit Graph

22 Commits

Author SHA1 Message Date
Matteo Cypriani 9cf4daca3b [Positioning] Add Configuration and UserInterface
- Add class Configuration, a stock for the configuration structure.
- Add class UserInterface, that handles the configuration input.
- Update owlps-positioning.cc (delete old stuff like configuration) and
  delete owlps-positioning.hh: we now have a compilable executable.
2011-03-16 14:36:19 +01:00
Matteo Cypriani a9a2331cfa [Positioning] Finish unit tests for Area & Point3D
Area:
- Unit test: test inversion of points.
- Add reorder_coordinates().
- Remove all set_{x,y,z}_{min,max}() accessors.
- Remove set_p_min() and set_p_max().
- Add set_coordinates().
- The constructor now takes 2 Point3D instead of 6 float coordinates.

Point3D:
- Unit test: finish to test distances, test new cast operator.
- Add a cast to string operator.

Unit tests:
- Add valuetraits.hh with class to display correctly a Point3D in a
  wrong assertion.
2011-03-16 14:36:19 +01:00
Matteo Cypriani b921263795 [Positioning] Add class Timestamp
Add a class Timestamp that boxes the structure timespec from <ctime>.
timespec manipulation functions are removed from PosUtil.
2011-03-16 14:36:19 +01:00
Matteo Cypriani bd28a26fa3 [Positioning] Add unit tests
Add tests for all (rewriten) classes, except for InputCSV.
2011-03-16 14:36:19 +01:00
Matteo Cypriani efac35a515 [Positioning] Get rid of STLport, complete Request
- Now use Boost.TR1 instead of STLport, for unordered_map.
- Add operator=(), operator==(), operator!=() and a copy constructor to
  Request.
2011-03-16 14:36:10 +01:00
Matteo Cypriani f4c825c2d9 [Positioning] const_cast & other minor enhancements
- In all classes where we used a C-style cast to suppress const, we now
  use a const_cast.
- Area: Add operator=().
- InputCSV:
	- Document get_next_request().
	- Handle exception when using Stock::get_{ap,mobile}().
	- In constructor, throw an exception in case of error when opening the
	  input file.
- CalibrationMeasurement: Remove operator<<() which is useless (it is a
  simple call to Measurement operator<<()).
- Makefile: Add target 'check'.
2011-03-16 14:36:10 +01:00
Matteo Cypriani 1f1d7de4f5 [Positioning] Doxygen comments + fixes
- Add/update comments to be Doxygen compliant. Translate existing
  comments in English.
- Various fixes (more or less importants):
	- NULL pointer verification when adding an element to a vector of
	  pointers.
	- Add some missing accessors.
	- Add some more error handling with exceptions. Class Stock: correct
	  accessors (pure read accessors do not create a missing element any
		more, but throw an exception).
- Makefile: Add 'doc' target.
- Update TODO (some things noticed when reviewing the code for
  comments).
2011-03-16 14:36:10 +01:00
Matteo Cypriani cc31b5dcc6 [Positioning] Add class Stock, finish InputCSV
Add AP and mobile management in InputCSV. Lists of known APs and mobiles
are static attributes of the class Stock.
2011-03-16 14:36:10 +01:00
Matteo Cypriani 5f8f955a3d [Positioning] Add Request, complete InputCSV
== 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.
2011-03-16 14:35:56 +01:00
Matteo Cypriani 8f071d13b0 [Positioning] Add classes InputMedium & InputCSV
- 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.
2011-03-16 14:35:45 +01:00
Matteo Cypriani 1cf560309a [Positioning] Several fixes
- Makefile: fix waypoint.o.
- UTF-8 calibrationmeasurement.{hh,cc}, measurement.cc.
- CalibrationMeasurement: fix destructor.
- Measurement: fix const functions, add operator bool().
- Update TODO.
2011-03-16 14:07:24 +01:00
Matteo Cypriani d257d08d8d [Positioning] Makefile & Compilation fixes
- Updated Makefile to be able to compile each class.
- Fixed some compilation errors (CalibrationMeasurement, Point3D,
  ReferencePoint, WayPoint) and a warning in Measurement.
2011-03-16 14:07:24 +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 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
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 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 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 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 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