Commit Graph

63 Commits

Author SHA1 Message Date
Matteo Cypriani 2ce238984c [lib] Add float endianess converters 2011-04-07 16:14:55 +02:00
Matteo Cypriani 921afff682 [lib] .c: categorise functions
+ eliminate last French words.
2011-04-07 16:14:45 +02:00
Matteo Cypriani c802ad1224 [lib] Use const arguments wherever possible 2011-04-05 15:42:16 +02:00
Matteo Cypriani 6823cd4028 [lib] Add position in owl_request 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 d62a7500b1 [lib] Rename run -> owl_run 2011-03-31 16:03:22 +02:00
Matteo Cypriani 1a5117d46b [Positioning] Minimal handling of request type
Handle the new CSV & UDP formats that include the request type.
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 204750b8c5 [lib] Rename PACKET_TYPE_* -> OWL_REQUEST_* 2011-03-25 16:30:40 +01:00
Matteo Cypriani 7c6d09d859 [Client] Check the direction 2011-03-25 11:48:25 +01:00
Matteo Cypriani 67a271596c [lib] Add timestamp_equals()
owl_timestamp_equals() allows to compare two owl_timestamp more
accurately and efficiently than "owl_time_elapsed_ms() == 0".
2011-03-25 11:48:25 +01:00
Matteo Cypriani 4720399513 [lib] mac_bytes_to_string(): do not malloc anymore
owl_mac_bytes_to_string() now uses a static buffer, so the caller do not
need to free the returned buffer manually. Because of this static
buffer, it is not thread-safe anymore, therefore we introduce
owl_mac_bytes_to_string_r() that is a thread-safe version.
2011-03-25 11:48:25 +01:00
Matteo Cypriani e8aa0838f4 Use ETHER_ADDR_LEN instead of 6 2011-03-25 11:48:25 +01:00
Matteo Cypriani 7fa5819544 [lib] Add timestamp_is_null() 2011-03-25 11:48:25 +01:00
Matteo Cypriani d193b49c9c [lib] Make the variable run extern 2011-03-25 11:48:24 +01:00
Matteo Cypriani 2289e0ef9f [lib] Add close_fd() & close_file()
These functions are aimed to be used with pthread_cleanup_push().
2011-03-25 11:48:24 +01:00
Matteo Cypriani c87c2e2e93 [lib] Write messages to stderr instead of stdout 2011-03-25 11:48:24 +01:00
Matteo Cypriani 6c4af9020f close(fd) instead of (void) close(fd) 2011-03-25 11:48:24 +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
Matteo Cypriani f832335f12 [lib] Allow linking to C++ code 2011-03-18 15:27:24 +01:00
Matteo Cypriani 3782ca9012 Track endianess issues
Add some comments, add/remove some endianess conversions. That should be
OK now.

Noticeable changes in owlps.h:
- Type DIRECTION is now an alias for uint8_t instead of an enum.
- Type autocalibration_order now contains an uint8_t instead of an enum.
2011-03-18 15:24:31 +01:00
Matteo Cypriani 33f863e2e1 [lib] Refactor time_elapsed()
owl_time_elapsed() now returns a TIMESTAMP. The new function
owl_time_elapsed_ms() returns a value in milliseconds (old behaviour).
2011-03-16 16:46:10 +01:00
Matteo Cypriani 788a61a712 [lib] Add timestamp_to_string() 2011-03-16 16:46:09 +01:00
Matteo Cypriani d0b15bf978 [lib] Do not round to ms precision anymore
Delete owl_timestamp_round_to_ms(), we now keep nanosecond precision.
2011-03-16 16:46:09 +01:00
Matteo Cypriani 3815ccae8b [lib] Fix timestamp_to_ms()
owl_timestamp_to_ms() did not convert properly the result to uint64_t.
This is now fixed, but time functions are still buggy, as we do not take
into account the length of tv_sec (owl_timestamp_round_to_ms() assumes
that it is 9-digit long).
2011-03-16 16:46:09 +01:00
Matteo Cypriani f60287bf49 [lib] Change TIMESTAMP type
TIMESTAMP is not a simple alias for struct timespec. It is now a clone
of struct timespec that uses fields of a fixed size (uint32_t).
2011-03-16 16:46:09 +01:00
Matteo Cypriani 94e3701a51 [lib] Add TIMESTAMP endianess converters
Add the functions owl_hton_timestamp() and  owl_ntoh_timestamp().
2011-03-16 16:45:38 +01:00
Matteo Cypriani b88f26e503 [lib] Rename create_udp_sending_socket()
Rename owl_create_udp_sending_socket() -> owl_create_udp_trx_socket().
2011-03-16 16:45:37 +01:00
Matteo Cypriani 940c5f74df [lib] Prefix all functions with owl_ 2011-03-16 16:45:37 +01:00
Matteo Cypriani 2771f8573b [lib] timestamp_now_ns(): return int (not BOOL) 2011-03-16 16:45:37 +01:00
Matteo Cypriani 8123ee3096 Switch to stdint types where possible
The use of integer types from inttypes.h & stdint.h should help with
portability issues. It will also force the data transmission between
different architectures to work as intended (if we handle endianess
conversions correctly!).
2011-03-16 16:45:37 +01:00
Matteo Cypriani abb1d170cf [lib] Use memset() instead of bzero() 2011-03-16 16:45:36 +01:00
Matteo Cypriani f8e7d9adef [lib] Use clock_gettime() instead of gettimeofday()
Abandon the old struct timeval and gettimeofday(). We now use the new
struct timespec and clock_gettime().
struct timespec has a nanosecond resolution, but we lower the resolution
to keep only milliseconds. The code is inspired from the Timestamp class
of the owlps-positioning.
2011-03-16 16:45:36 +01:00
Matteo Cypriani db8f6dff22 [lib] Add timestamp_now()
Use the new function timestamp_now() everywhere instead of
gettimeofday().
2011-03-16 16:44:32 +01:00
Matteo Cypriani ff81d43cb1 [lib] Introduce type TIMESTAMP
The type TIMESTAMP is a wrapper to the currently-used time structure (we
currently use struct timeval).

The function timeval_to_ms() is now timestamp_to_ms().
2011-03-16 16:44:32 +01:00
Matteo Cypriani 10a47246f4 [lib] Rename sub_date() -> time_elapsed() 2011-03-16 16:44:32 +01:00
Matteo Cypriani 829982766d [lib] Rename mac_cmp() -> mac_equals() 2011-03-16 16:44:32 +01:00
Matteo Cypriani af1c04529d [lib] sigint_handler(): use #ifdef DEBUG 2011-03-16 16:44:32 +01:00
Matteo Cypriani 3d0300cc60 [lib] Translate comments, 72 col. 2011-03-16 16:44:32 +01:00
Matteo Cypriani 0676462082 Makefiles: use colorgcc (only) if it exists
owlps-positioning/Makefile used to use colorgcc as the default compiler,
without testing its existence. This is fixed.
The makefiles for libowlps and infrastructure-centred modules now use
colorgcc when available.
2011-03-16 16:44:32 +01:00
Matteo Cypriani 22ee24655a [i-c] Remove ap_ip_addr from autocalibration_hello
The listener does not send its IP address explicitly in the Hello
message anymore. Instead, the aggregator now extract the source address
of the Hello packet.
2011-03-16 16:44:23 +01:00
Matteo Cypriani 719514eab6 [lib] Get rid of the last indent tabs 2011-03-16 16:44:22 +01:00
Matteo Cypriani 3979788c77 [Listener] Change autocalibration requests port
Autocalibration positioning requests were previously (and stupidly) sent
on the aggregation port. We can now chose the port for autocalibration
requests.
2011-03-16 16:44:22 +01:00
Matteo Cypriani 57f1331273 [Listener] Fix reading of QoS Data frames
The IEEE 802.11 header size is 2 bytes bigger when a Data frame has QoS
information.
2011-03-16 16:44:08 +01:00
Matteo Cypriani 87e364a633 [Listener] Accept all data frames
The listener dropped all non-bare Data frames. It now accepts Data
subtypes as well (QoS Data, etc.).
2011-03-16 14:52:58 +01:00
Matteo Cypriani 8fdfd6819e Use -Wextra instead of -W in all Makefiles
This changes nothing except readability.

Fix default build options in Makefile_atheros for Listener.
2011-03-16 14:52:58 +01:00
Matteo Cypriani 6cbbcc957b [Listener] Update configuration display
Configuration display when not using libconfuse was outdated.
2011-03-16 14:52:57 +01:00
Matteo Cypriani f804855309 [Aggregator] Send order to APs
Add options -C and -K.

Rename default autocalibration values in aggregator and listener.
2011-03-16 14:52:56 +01:00
Matteo Cypriani eff2455897 [Listener] Send IP in Hello messages 2011-03-16 14:52:56 +01:00