Commit Graph

1127 Commits

Author SHA1 Message Date
Matteo Cypriani 2f84754392 [scripts] AggCheck: fix for recent perl versions 2018-04-13 19:36:59 +02:00
Matteo Cypriani bce8896b4b Add explicit padding for all the structs
Indicate padding bytes explicitly in all the structures. Some of the
structures could have their size reduced by reordering their fields by
size (especially in owlps.h).
2016-11-23 17:02:21 -05:00
Matteo Cypriani 913a62377e Improve 2016-11-05 00:22:41 -04:00
Matteo Cypriani 243dc321b9 [Positioner] explicit ReferencePoint(Point3D&)
Make ReferencePoint's Point3D copy constructor explicit. This implied
the following changes:

* Stock::get_reference_point(ReferencePoint&) becomes
  get_reference_point(Point3D&). Reference points were always
  retrieved by their coordinates only in the Stock anyway.

* Stock::find_create_reference_point(Point3D&) was added, since it can
  have a different outcome than its (ReferencePoint&) counterpart.

* The unit tests for Stock were improved.
2016-11-04 22:30:21 -04:00
Matteo Cypriani c0db11a890 [Positioner] More explicit constructors 2016-11-04 11:11:28 -04:00
Matteo Cypriani 6c17646cc3 [Positioner] Use explicit constructors
Wherever it's possible without further code change, mark one-argument
constructors as explicit.
2016-11-04 11:11:06 -04:00
Matteo Cypriani c4180419e0 COPYRIGHT: update dates again
I believe today's changes deserve adding 2016 to the copyright file!
2016-11-03 22:08:06 -04:00
Matteo Cypriani 78f13f2c0b [Listener] Fix byte order macros for OpenBSD >= 5.6 2016-11-03 22:08:06 -04:00
Matteo Cypriani 550d9008db [doc] fix for BSD sed 2016-11-03 22:08:06 -04:00
Matteo Cypriani dce4416bc6 Fix missing/wrong includes for BSD
Fix a few missing includes that prevented building on BSD systems.

* Client: the proper way to get MAXHOSTNAMELEN is from <sys/param.h>,
  not from <rpc/types.h>.

* Positioner/Direction: std::hash is declared in <functional>.

* Positioner/OutputNetworkSocket: get struct sockaddr from
  <sys/socket.h>, not from <netinet/in.h>.
2016-11-03 22:08:06 -04:00
Matteo Cypriani c6e39f7e70 [libowlps] Use labs() for int_fast32_t
int_fast32_t is at least 32-bit wide, like long. Hence, labs() should be
used instead of abs().
2016-11-03 22:08:06 -04:00
Matteo Cypriani 41640da203 [Positioner] Mobile: fix copy constructor segfault 2016-11-03 22:08:06 -04:00
Matteo Cypriani ecb9a689b5 [Positioner] Mobile: fix operator=() & operator==() 2016-11-03 22:08:06 -04:00
Matteo Cypriani df0c08c271 [Positioner] Add missing ResultList::operator!=() 2016-11-03 22:08:01 -04:00
Matteo Cypriani 16d4422a2b [Positionner] tests: improve Mobile tests 2016-11-03 22:06:18 -04:00
Matteo Cypriani a77ee05239 [Positioner] Point3D: add missing <vector> include 2016-11-03 22:06:17 -04:00
Matteo Cypriani 44dcf42180 CMake: rename test target to "tests"
Comply with CMake policy CMP0037: "test" is a reserved target name.
2016-11-03 22:06:17 -04:00
Matteo Cypriani 3df3a14762 gitignore: add /build/ 2016-11-03 22:06:17 -04:00
Matteo Cypriani 2c9f1a09b0 [doc] Add rendered pictures (PNG) 2016-11-03 22:06:17 -04:00
Matteo Cypriani 4d309d9c10 [doc] Add figures/Makefile 2016-11-03 22:06:17 -04:00
Matteo Cypriani 36966148f3 [doc] Add positioner_class_diagram_simple.plant
This is a simplified, and somewhat more readable version of
2016-11-03 22:05:55 -04:00
Matteo Cypriani 759db45a50 A few old cosmetic changes 2016-11-03 22:00:33 -04:00
Matteo Cypriani c4f1ed82e6 [logo] Add PNG versions 2016-11-03 22:00:33 -04:00
Matteo Cypriani f67d7892a8 Add to accommodate Gogs is an excerpt of doc/owlps.t2t, and integrates the information
from the former README.t2t, which was deleted.
2016-11-03 22:00:33 -04:00
Matteo Cypriani bc6ec14fa8 Update COPYRIGHT.t2t URL 2016-11-03 22:00:33 -04:00
Matteo Cypriani fbef235ebf [doc] Update URLs
OwlPS is now hosted on a Gogs instance, that replaced the defunct
2016-11-03 21:57:53 -04:00
Matteo Cypriani a567782557 [doc] Some rewording 2016-11-03 00:46:37 -04:00
Matteo Cypriani 8053876588 COPYRIGHT: update dates 2016-11-03 00:46:32 -04:00
Matteo Cypriani 52106177a1 [Aggregator] Improve UDP socket-related code 2014-10-31 13:59:52 -04:00
Matteo Cypriani c567592167 [lib] owl_close_fd(): handle negative fd 2014-10-31 12:59:39 -04:00
Matteo Cypriani fe84a5f097 [doc] INSTALL: recommend building in a subdirectory
Recommend building in ~/owlps/build rather than in ~/owlps-build.
2014-10-31 11:36:34 -04:00
Matteo Cypriani dc64f050a8 [doc] Quit using "CP" where not necessary 2014-10-31 11:36:34 -04:00
Matteo Cypriani 7d84e7c957 [doc] positionerd: add filter options
Also add default value explanation in owlps-positioner.conf.
2014-10-31 11:36:34 -04:00
Matteo Cypriani e4b8e7239b Update Doxygen files (Doxyfile) to 1.8.8 2014-10-31 11:18:15 -04:00
Matteo Cypriani b479d6a560 [doc] INSTALL: improve list of dependencies 2014-07-25 15:37:33 -04:00
Matteo Cypriani f3e63ec20f CMake: precise "g++" in error message 2014-07-25 15:22:59 -04:00
Matteo Cypriani 093b93a3c5 CMake: make sure OWLPS_VERSION is defined
If not defined in the environment and could not retrieved from Git,
OWLPS_VERSION is defined to "unknown version".
2014-07-25 15:17:46 -04:00
Matteo Cypriani 209530ad41 [doc] CMake: use current date if not using Git
If not building against the source from the Git repository, the date
can't be retrieved with Git; in that case we use the current date in the
2014-07-25 15:15:48 -04:00
Matteo Cypriani e51a8d4f1b [scripts] AggCheck: detect duplicated timestamps
owlps-aggcheck uses the timestamp alone to identify requests, which
causes problem in case two requests have the same timestamp. This commit
allows the script to detect duplicated timestamps, and documents the
2014-07-24 12:38:29 -04:00
Matteo Cypriani 8c5e8c62f6 [scripts] AggCheck: -n prints transmitters
When called with -n, owlps-aggcheck now prints the transmitter of each
request as the first column.
2014-07-24 12:38:29 -04:00
Matteo Cypriani a56a8d3d5d [Positioner] New option filter.max-speed-cp
The new option positioning.filter.max-speed-cp allows to set an
alternative maximum speed when the mobile is found to be within
cp-reset-distance, instead of completely disabling the filter.
2014-05-28 17:01:13 -04:00
Matteo Cypriani a1c8e0a093 [Positioner] New option filter.cp-reset-distance
The new option positioning.filter.cp-reset-distance allows to disable
the filter when the unfiltered location of the mobile terminal is found
to be close enough to a capture point.
2014-05-28 17:01:12 -04:00
Matteo Cypriani 36cf7c13cb [Positioner] Add Stock::distance_from_closest_cp() 2014-05-28 17:01:12 -04:00
Matteo Cypriani 9d3c079b45 [Positioner] sqrtf() instead of sqrt() with float
Use sqrtf() instead of sqrt() when returning a float.
2014-05-28 17:01:12 -04:00
Matteo Cypriani 7e3b41a46f [Positioner] Positioning::filter() (refactoring)
Refactor the filtering code into a separate function,
2014-05-28 17:01:12 -04:00
Matteo Cypriani f35215388b [Positioner] Use nullptr instead of NULL 2014-05-28 17:01:12 -04:00
Matteo Cypriani 92db007d6b [Positioner] Test pointers as booleans 2014-05-28 17:01:12 -04:00
Matteo Cypriani ec8c1244cd [Positioner] Eliminate a couple of C-style casts 2014-05-28 17:01:12 -04:00
Matteo Cypriani f06c866f8f [Positioner] Add basic filtering
The new configuration option positioning.filter.max-speed allows to
specify the maximum speed at which the mobile terminals can travel; the
distance between two results for a given mobile will be limited to the
distance that it could have travelled, according to the two requests'
2014-05-28 17:01:12 -04:00
Matteo Cypriani e8f3479cdd [Positioner] Add Mobile::last_request
The last request transmitted by (received from) a mobile is now stored
along with last_results instead of relying on last_results.request which
is not guaranteed to be a valid pointer.
2014-05-13 16:41:51 -04:00