Commit Graph

46 Commits

Author SHA1 Message Date
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 bc6ec14fa8 Update COPYRIGHT.t2t URL 2016-11-03 22:00:33 -04:00
Matteo Cypriani 56edcc623a [Aggregator] Limit the verbose level to a maximum
For now the maximum verbose level is 4, so it is best for the user to
avoid displaying a verbose level higher than that in the configuration.
2013-10-04 10:44:40 -04:00
Matteo Cypriani 69e8b49300 Mark arguments as const as needed in C programs
This was already done in the libraries, but not in the programs.
2013-10-02 11:28:48 -04:00
Matteo Cypriani e5883d99d5 Finish supporting getaddrinfo()
- For static buffers, use a size suited for host names and not only IP
  addresses.
- Change variable names.
- Adapt usage messages and documentation.
2013-09-23 17:03:51 -04:00
Matteo Cypriani 25cc1ee67a [lib] getaddrinfo() in create_udp_trx_socket()
Use getaddrinfo() to resolve names in owl_create_udp_trx_socket(). The
client_description parameter has been removed from the function's
synopsis.
2013-09-23 17:03:50 -04:00
Matteo Cypriani 0c3083bd41 [Aggregator] Access Point -> Capture Point
Use the new terminology "capture point" (CP) instead of "access point"
(AP) everywhere in Aggregator. The only user-visible change is that the
ap_keep_timeout option is now called cp_keep_timeout.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 91cd819730 [Aggregator] ap_check_interval -> ac_order_interval
The option ap_check_interval is now named ac_order_interval, which is
(hopefully) more meaningful.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 61aa4af3a3 [Aggregator] Refactor got_request()
Create add_captured_request() out of got_request(). Now,
add_captured_request() will need to be refactored.
2013-06-12 18:55:48 -04:00
Matteo Cypriani 068553ee49 [Aggregator] got_request(): pointer parameter
For performance's sake, the request passed in parameter of got_request()
is now a const pointer instead of a struct.
2013-06-12 18:55:48 -04:00
Matteo Cypriani ef154b6d91 [Aggregator] Refactor read_loop()
Create print_captured_request() out of read_loop().
2013-06-12 18:55:48 -04:00
Matteo Cypriani 0e913a2938 [Aggregator] More monitor_requests() refactoring
Create scan_request_list() out of monitor_requests().
2013-06-12 18:55:48 -04:00
Matteo Cypriani d9344673b0 [Aggregator] Flush the requests' list at exit
Instead of just freeing the requests' list, output every request and
free the list at the same time.
2013-06-12 18:51:38 -04:00
Matteo Cypriani 47103f3360 [Aggregator] Refactor monitor_requests()
Create output_request() out of monitor_requests().
2013-06-12 18:44:24 -04:00
Matteo Cypriani 3a9ce442d1 [Aggregator] Add -F option (don't flush output)
Add the -F option to turn off flushing of the output file after each
analyse of the requests' list.
2013-06-12 18:44:03 -04:00
Matteo Cypriani 94e5c5cbab [Aggregator] Add option -G (dump configuration)
Add the option -G (like "Generate configuration file") that dumps the
current configuration on the standard output, so the user can call
  owlps-aggregatord [custom options] -G >owlps-aggregator.conf
to generate the configuration file owlps-aggregator.conf.
2013-06-12 17:18:46 -04:00
Matteo Cypriani d32813376b CMake: pass installation prefix to programs
The file libowlps/owlps-config.h.in was added to allow CMake to pass the
installation prefix variable to the programs. That allows the programs
to look for their configuration file at the right position (i.e. in the
etc/owlps directory under the installation prefix).
2013-06-12 09:38:38 -04:00
Matteo Cypriani 80fd5b287b Update and centralise copyright information 2013-05-29 13:19:06 -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 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 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 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 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 a4857e4b1f [Aggregator] Daemon mode (-D) 2012-01-11 16:50:39 +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 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 3fec57b1ae Move all error #defines in owlps.h 2011-08-26 11:09:41 +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 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 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 7123f02e82 [Aggregator] Print version info with -V 2011-04-13 00:12:30 +02:00
Matteo Cypriani b8e04f71d7 [Aggregator] Get rid of USE_TIMESTAMP
CSV format has changed, period.
2011-03-31 16:03:22 +02:00
Matteo Cypriani df5ed19834 Include headers as needed
Move #includes from .h to .c wherever possible.
2011-03-31 16:03:22 +02:00
Matteo Cypriani 4f74524f05 Handle request type in Listener & Aggregator
The listener now sends the request type to the aggregator. The
aggregator writes it to the CSV file and transmit it to the positioning
server.
2011-03-25 17:20:18 +01:00
Matteo Cypriani e8aa0838f4 Use ETHER_ADDR_LEN instead of 6 2011-03-25 11:48:25 +01:00
Matteo Cypriani 98386514e5 Use INET_ADDRSTRLEN instead of 16 2011-03-25 11:48:23 +01:00
Matteo Cypriani fd4b51aeff [Aggregator] Get rid of ip_bytes_to_string()
Use inet_ntop() instead of ip_bytes_to_string(). Delete
ip_bytes_to_string().
2011-03-25 11:48:23 +01:00
Matteo Cypriani 457515faf8 [Aggregator] Better handling of threads
Fix thread headers, check the return value of pthread_create(), and wait
for the threads at the end of the program.
2011-03-25 11:48:23 +01:00
Matteo Cypriani 58795d03d5 [Aggregator] Rename *couple* -> *request*
Get rid of this old name 'couple' in variables, function names & types.
2011-03-25 11:48:23 +01:00
Matteo Cypriani 91cba33dcd [lib] Rename types
- Lowercase all defined types.
- Prefix with "owl_".
- Rename couple_message -> owl_captured_request.
- Rename couple_info -> owl_request_info.
2011-03-25 11:48:22 +01:00
Matteo Cypriani a72a76d5a9 mv /infrastructure-centred/* /
Get rid of the infrastructure-centred directory: all the modules are now
at the same level.
2011-03-25 11:48:22 +01:00