Commit Graph

82 Commits

Author SHA1 Message Date
Matteo Cypriani 64c2ac9a58 Makefiles: move OS detection in common.mk
This fixes compilation on BSD.
2013-04-30 16:50:14 -04:00
Matteo Cypriani 4aed9c1ef0 Radiotap Antenna Signal field is signed
Using int8_t instead of uint8_t which was erroneously used to code the
Antenna Signal radiotap field.
2013-04-24 10:59:55 -04:00
Matteo Cypriani d1c64212d8 Test malloc/realloc return values 2012-11-03 16:51:13 +01:00
Matteo Cypriani 8455dd0d74 Add copyright & license information
Add the file COPYRIGHT, the CeCILL license's text, and update the source
files' headers with the copyright and license information.
2012-11-03 14:52:33 +01:00
Matteo Cypriani 316db76861 Makefiles: add common-rules.mk, drop openwrt files
This is the sequel of the work on the Makefiles' unification.
2012-05-24 14:19:04 +02:00
Matteo Cypriani 92485f3f67 Add common.mk
Adapt all the Makefiles to use it.
Rename all the Makefile_atheros_openwrt-10.03 to
Makefile_atheros_openwrt.
2012-05-09 15:55:17 +02:00
Matteo Cypriani e98474e678 [Aggregator] Send the capture time to Positioner
The Aggregator now transmits the capture timestamp of each packet to the
positioning server. For now this timestamp is not stored, only displayed
(in verbose mode) when a request is received.
2012-05-02 17:31:49 +02:00
Matteo Cypriani b60d0d380f [Aggregator] Send the mobile's IP to Positioner
For now the positioning server only displays the mobile's IP address (in
verbose mode) and updates it in the stored Mobile.
2012-05-02 17:31:42 +02:00
Matteo Cypriani 5ab5b4f22f [Aggregator] Handle the packet numbering 2012-02-08 10:52:39 +01:00
Matteo Cypriani ca249457be Makefiles: BSD-specific -I/-L 2012-02-07 17:50:19 +01:00
Matteo Cypriani d5e2c975ae Rename Positioning -> Positioner
To be consistent with the other modules, the positioning server must be
called OwlPS Positioner instead of Positioning, and the executable
owlps-positionerd (even if the daemon mode is not implemented yet).
That's a big commit for a tiny change.
2012-02-06 17:48:43 +01:00
Matteo Cypriani 6b7e5668fa Add/update headers on the top of each source file 2012-02-06 16:44:09 +01:00
Matteo Cypriani 7c7aac31e9 Update time-related default values
Aggregation time, check intervals, etc.
By default the aggregator cannot fully aggregate calibration requests
any more, only the positioning and autocalibration requests.
In order to aggregate calibration requests, the aggregation timeout
needs to be increased, or the number of packets of the request and
the delay between each of them lowered.
2012-02-06 13:27:05 +01:00
Matteo Cypriani 3ed19bb012 Version printing: "Owl" instead of "Open Wireless" 2012-02-06 13:27:05 +01:00
Matteo Cypriani 1ebc0c57ed Different port for autocal. orders and hello
Differentiate the port on which the autocalibration hello messages are
sent to the aggregator by the listeners, and the one on which the
autocalibration orders are sent by the aggregator to the listeners.

This will allow to run a listener and an aggregator on the same machine
with autocalibration enabled.

Both in the listener and the aggregator, the option -a (autocalibration
port) has been replaced by the options -O (autocalibration order port)
and -H (autocalibration hello port). In the listener, the option -H was
previously used to set the hello delay; this is now the role of the -T
option.
2012-02-06 13:27:05 +01:00
Matteo Cypriani a0005e9dad Don't use inet_ntoa() any more 2012-02-06 13:27:05 +01:00
Matteo Cypriani 2c1697b78a Enable compilation on GNU/kFreeBSD 2012-02-06 13:27:05 +01:00
Matteo Cypriani 16eaecc53f Avoid displaying non-ASCII characters
Avoid displaying UTF-8 characters on the terminal (French quotes &
ellipsis).
2012-02-06 13:26:50 +01:00
Matteo Cypriani dd01705608 Wrap help messages at 80 columns
In Client, Listener and Aggregator, wrap the help message text at 80
columns to make them easier to read on a standard console.
2012-01-24 18:29:50 +01:00
Matteo Cypriani a1bc3db310 Fix daemon modes (Aggregator, Listener, Client)
daemon() must be called prior to set up signal handlers and threads.
2012-01-24 17:27:46 +01:00
Matteo Cypriani 08a8626354 Makefiles: improve static compilation
Add a static target for Listener, Aggregator and Positioning.
Strip the static and semistatic targets.
2012-01-11 16:50:39 +01:00
Matteo Cypriani a4857e4b1f [Aggregator] Daemon mode (-D) 2012-01-11 16:50:39 +01:00
Matteo Cypriani cf73bf6309 [lib] Avoid struct arguments & return values
Modify the *time*() functions to avoid passing structures in arguments
(using const pointers instead) or returning structures (using result
arguments instead).
2012-01-11 16:50:36 +01:00
Matteo Cypriani 4dc45acff7 Get rid of the SS - 0x100 problems
In the listener & aggregator, the signal strength is stored as an
unsigned byte. To display the actual (negative) value, one must
substract 256 (0x100) to the unsigned value.
This commit changes several things:
 - Use the decimal (256) instead of the hexadecimal value (0x100).
 - Don't substract 256 when copying the value to another unsigned byte
   (aggregator).
 - Be careful with the type length. In the positioning server, a SS
   could be copied to a signed byte, while (theoretically) the negative
   value can exceed the capacity of the signed byte. measurement.hh now
   defines a type ss_t to store a signal strength value with the good
   size (it is currently an int_fast16_t).
2012-01-09 11:11:31 +01:00
Matteo Cypriani 58ba4c79ff [lib] Rename start_time -> capture_time
"start_time" was meaningless in the global data structures of owlps.h,
and could lead to errors in the aggregator, since it defines a field
start_time in one of its internal structures.
2012-01-09 11:11:30 +01:00
Matteo Cypriani aa8d11e12b [lib] Rename antenna_signal_dbm -> ss_dbm
Use "ss" instead of "antenna_signal" in the data types declared in
owlps.h. Shorter, and as meaningful.
2012-01-09 11:11:30 +01:00
Matteo Cypriani 376aa106dc [Aggregator] Fix Makefile (don't link with .h) 2012-01-09 11:11:30 +01:00
Matteo Cypriani 61124e4cfc Makefiles: test CC prior to surcharge it
Verifies that CC is at its default value prior to try to surcharge it
with colorgcc.
2012-01-09 11:11:30 +01:00
Matteo Cypriani 8c070d482e Standardise CLI options
Make uniform the command-line options of the various programs.
Positioning: delete some useless short options.
2012-01-09 11:11:30 +01:00
Matteo Cypriani 39300aaa85 Makefiles: translate help
Translate help messages from French.
2012-01-09 11:11:30 +01:00
Matteo Cypriani a70fc783e2 Makefiles: translate comments
Translate all the comments from French.
2012-01-09 11:11:30 +01:00
Matteo Cypriani b3b1f8eda2 [Listener] Display the mobile's IP address
When displaying the request to send, display the IP address of the
mobile.
Aggregator: clean the code for displaying requests.
2011-11-22 19:59:01 +01:00
Matteo Cypriani ac6d5d7854 [Aggregator] Fix position endianess
Convert endianess of the coordinates prior to send a request to the
positioning server.
2011-10-24 17:43:04 +02:00
Matteo Cypriani c158d87b5a [Aggregator] Fix request display 2011-10-13 15:43:41 +02:00
Matteo Cypriani 3fec57b1ae Move all error #defines in owlps.h 2011-08-26 11:09:41 +02:00
Matteo Cypriani a3c16211c2 Use owl_msleep() everywhere 2011-08-24 15:41:17 +02:00
Matteo Cypriani 1a98cf44b2 [Aggregator] Fix config parsing memory leaks
Same thing as for the Listener: avoid using exit(), prefer return an int
value instead.
2011-08-24 13:39:01 +02:00
Matteo Cypriani 442c5a4601 [lib] .h all is prefixed with OWL_ or owl_
All the types, defines, etc. are now prefixed with "OWL_" or "owl_".
TRUE and FALSE become owl_true and owl_false.
2011-08-22 22:43:35 +02:00
Matteo Cypriani 8327357290 Makefiles: allow to enable -g easily
Add a commented line DEBUG=-g in each Makefile.
2011-08-22 22:43:35 +02:00
Matteo Cypriani de74213102 [lib] Rename OWL_TIMESTAMP_STR_LEN OWL_TIMESTAMP_STRLEN 2011-08-18 14:02:17 +02:00
Matteo Cypriani ac4dd87ef9 Use ++var instead of var++ whenever possible 2011-08-18 11:45:36 +02:00
Matteo Cypriani f5895f23c4 [Aggregator] check_interval in ms
The check interval is now in milliseconds instead of microseconds.
2011-07-25 12:46:20 +02:00
Matteo Cypriani 051ce9147c Use -D DEBUG / NDEBUG in Makefiles
Instead of #define DEBUG, we now prefer to use either verbose levels
or, when needed, NDEBUG. Each Makefile was modified to be able to pass
-D NDEBUG to the compiler (but the corresponding lines are commented),
except in the modules where assert is never used, in which case the
Makefile passes -D DEBUG.

Long story short: to totally disable debugging code, comment-out the
"-D DEBUG" lines and uncomment the "-D NDEBUG" lines, in every Makefile.
2011-07-25 12:46:20 +02:00
Matteo Cypriani f951ce95f2 [Aggregator] Use perror() after recvfrom()
Use perror() instead of fprintf() after the recvfrom() calls.
Fix the test in listen_for_aps().
2011-07-25 12:46:19 +02:00
Matteo Cypriani 0f54bd36a3 [Aggregator] Add option -q (quiet mode) 2011-07-25 12:46:15 +02:00
Matteo Cypriani d6f337dbf2 [Aggregator] Use verbose levels
Get rid of #ifdef DEBUG.
2011-07-25 12:45:24 +02:00
Matteo Cypriani 6536805578 [Aggregator] Switch verbose mode to verbose level
The verbose option is now an integer value instead of a boolean, to
allow several levels of verbosity.
2011-07-23 21:37:02 +02:00
Matteo Cypriani 95b9ea30bf [lib] Fix #includes for OpenBSD
libowlps now builds on OpenBSD (4.9)!
2011-06-27 10:09:14 +02:00
Matteo Cypriani 65487af736 [lib] Makefile: remove unneeded -lrt & -lm
-lrt is now added as needed in each module Makefile, but not directly in
the library. Furthermore, the Makefiles add -lrt only if the platform is
Linux.
2011-06-27 10:09:14 +02:00
Matteo Cypriani 7dade1c36b Makefiles: get rid of echo -e
Use one call to echo for each line, because the echo's -e option is not
standard.
2011-06-27 10:09:14 +02:00