Commit Graph

485 Commits

Author SHA1 Message Date
Matteo Cypriani d25aa4276b [Positioning] TextFileWriter: '-' for stdout
The user can now use '-' as file name to write results or logs to
stdout.
2011-04-07 09:16:25 +02:00
Matteo Cypriani ed6001a05b [lib-client] Use const arguments wherever possible 2011-04-05 16:00:52 +02:00
Matteo Cypriani dc9e5a72f4 [Positioning] UserInterface: fix output.udp-host 2011-04-05 16:00:52 +02:00
Matteo Cypriani 3719f58b65 [Positioning] OutputUDPSocket: finish cleaning
Use libowlps for socket creation.
Use Result::to_csv() and ResultList::to_csv().
2011-04-05 16:00:52 +02:00
Matteo Cypriani 2324c8e5d1 [Positioning] Move OutputCSV::*to_csv()
OutputCSV::result_to_csv() becomes Result::to_csv().
OutputCSV::results_to_csv() becomes ResultList::to_csv().
2011-04-05 15:42:57 +02:00
Matteo Cypriani c802ad1224 [lib] Use const arguments wherever possible 2011-04-05 15:42:16 +02:00
Matteo Cypriani 40fb159a91 Merge branch 'dev-outputsocket' into dev
Adds OutputUDPSocket.
OutputUDPSocket::write(ResultList) is a mock function, since important
changes have to be done before that.

Conflicts:
	owlps-positioning/src/userinterface.cc
2011-04-05 12:05:46 +02:00
Matteo Cypriani a898af4389 [Positioning] Write all results simultaneously
Write results computed by several algorithms for the same request
simultaneously for a given medium. This allows to have only one CSV line
for a given request.
To achieve that, the class ResultList was created.
2011-04-05 11:52:10 +02:00
Matteo Cypriani 562ea6c28b [Positioning] Add options output.udp-{host,port} 2011-04-05 11:27:44 +02:00
Matteo Cypriani 22cad4c214 [Positioning] OutputSocket -> OutputUDPSocket 2011-04-05 11:27:44 +02:00
Matteo Cypriani a2c0556ee8 [Positioning] OutputSocket: review & clean 2011-04-05 11:27:44 +02:00
Florian Taillard 756b850375 [Positioning] Modified output socket UDP
The ip of destination is now configured in cfg/owlps-positioning.cfg
and activate by argument -O Socket.
Update owlps-positioning.cfg (Add remote-ip).
2011-04-05 11:27:44 +02:00
Matteo Cypriani 4752198ce7 [Positioning] Include algorithm name in results 2011-03-31 19:42:35 +02:00
Matteo Cypriani 670dfdc867 [Positioning] Improve CalibrationRequest::type
Add the request type in CalibrationRequest constructors.
Handle (auto)calibration request type in Input*.
2011-03-31 17:08:24 +02:00
Matteo Cypriani 5972e245cc [Positioning] InputUDPSocket: read calibration data 2011-03-31 16:03:22 +02:00
Matteo Cypriani ebd68a398f [Aggregator] Send position in owl_request 2011-03-31 16:03:22 +02:00
Matteo Cypriani 6823cd4028 [lib] Add position in owl_request 2011-03-31 16:03:22 +02:00
Matteo Cypriani 5945617994 Update TODOs 2011-03-31 16:03:22 +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 d64b4046da [Positioning] Handle signals 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 1f37211609 [Aggregator] Makefile: fix multiple flag inclusion 2011-03-31 16:03:22 +02:00
Matteo Cypriani 46a67d2843 [Positioning] Add option flush-output-files 2011-03-31 16:03:22 +02:00
Matteo Cypriani 60a10cb112 [Positioning] Configuration: add bool_value() 2011-03-31 16:03:22 +02:00
Matteo Cypriani f388e6c8ec [Positioning] Update owlps-positioning.cfg
The new configuration file is more generic and better shows options.
2011-03-31 16:03:22 +02:00
Matteo Cypriani 70ff9ffb42 [Positioning] Delete old option server.port
This option was replaced by input.udp-port.
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 1dad77b26f [Positioning] CSVFileReader: reindent 2011-03-28 17:52:25 +02:00
Matteo Cypriani 75fc40f057 [Positioning] Fix CSV Input
Bug introduced with InputUDPSocket.
2011-03-28 17:51:06 +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 1e1023e6b5 Makefiles: update lib dependencies 2011-03-25 13:50:20 +01:00
Florian Taillard 6fbb0874e7 [Positioning] Add OutputSocket 2011-03-25 12:19:52 +01:00
Matteo Cypriani c980d05baa [Client] Free the allocated packet 2011-03-25 11:48:26 +01:00
Matteo Cypriani 7c6d09d859 [Client] Check the direction 2011-03-25 11:48:25 +01:00
Matteo Cypriani 15f4436628 [Aggregator] Use owl_timestamp_equals() 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 d867f97eda [Aggregator] Use owl_timestamp_is_null()
Use owl_timestamp_is_null() instead of owl_timestamp_to_ms() to test if
a timestamp is empty or not.
Note that we cannot remove owl_timestamp_to_ms(), since it it used by
owl_time_elapsed_ms().
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 161157dae7 [Positioning] Add InputUDPSocket
The positioning server can now read the requests sent by the aggregator
via UDP. This data exchange does not concern (auto)calibration requests
yet.
2011-03-25 11:48:25 +01:00
Matteo Cypriani c3c319a7f1 [Positioning] Timestamp::Timestamp(owl_timestamp) 2011-03-25 11:48:24 +01:00
Matteo Cypriani d193b49c9c [lib] Make the variable run extern 2011-03-25 11:48:24 +01:00
Matteo Cypriani 5f9de6e1dc [Listener] Fix the "don't want to quit" bug
In capture(), the pcap_loop() call was blocking, so the program did not
quit if no packet came on rtap_iface. This is now fixed by a call to
pcap_breakloop() in the signal handlers.
2011-03-25 11:48:24 +01:00
Matteo Cypriani ccb963cea8 Update TODO 2011-03-25 11:48:24 +01:00
Matteo Cypriani 0a52205916 [Listener] Use pthread_cleanup* 2011-03-25 11:48:24 +01:00
Matteo Cypriani a3f0fb4130 [Aggregator] Use pthread_cleanup* 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