Jef Driesen
887d744e6d
Use a more consistent typedef in the serial and irda backends.
2010-10-04 23:08:39 +02:00
Jef Driesen
d4766904f5
Add progress events for writing the user data segment.
2010-10-04 23:08:27 +02:00
Jef Driesen
12a918bacc
Improve the error recovery during the handshaking phase.
...
The handshaking is now automatically restarted whenever a non-fatal
error (such as a timeout or a protocol violation) is encountered.
Previously, only corrupt handshake packets where handled.
2010-10-04 23:08:15 +02:00
Jef Driesen
4e5c9ad8a3
Remove all debugging code.
2010-05-06 06:21:59 +00:00
Jef Driesen
76db1e6f44
Locate the header marker correctly in a longer sequence of zero bytes.
...
If the first few bytes of the timestamp are equal to zero, they were
incorrectly identified as part of the header marker. The correct header
marker is located a the start of this zero byte sequence, not the end.
2010-04-26 08:09:22 +00:00
Jef Driesen
39b78aa2eb
Allow the first page to be empty.
...
When the Sensus Ultra reaches the end of a memory page while recording
data, the next page is erased to all 0xFF, and the current page cursor
is advanced. With this memory usage scheme, the last page will be empty
if the previous one was just filled.
2010-03-23 14:44:02 +00:00
Jef Driesen
f6d35fa2c2
Add cancellation support.
...
To be able to cancel an operation, an application should register a
callback function that returns a non-zero value whenever the active
operaton should be cancelled. A backend can invoke this callback function
to query the application for a pending cancellation request.
2010-02-15 13:16:26 +00:00
Jef Driesen
4b590ba5e2
Pass the fingerprint data to the callback function.
2010-02-04 10:46:42 +00:00
Jef Driesen
fab15b19a7
Add a clock synchronization event.
2010-02-01 21:20:30 +00:00
Jef Driesen
b392a49045
Update the code to use the new datetime support.
2010-02-01 21:20:11 +00:00
Jef Driesen
0edeed162a
Skip dives without a footer marker.
...
Due to the internal memory buffering scheme of the Sensus Ultra, the
last page might contain a partial dive. Skipping this dive is more
apropriate than returning an error.
2009-12-08 08:43:59 +00:00
Jef Driesen
7f983e29fe
Rewrite the incremental parser function.
2009-12-03 12:43:29 +00:00
Jef Driesen
12d0a73abf
Rewrite the code to use buffer objects internally.
2009-12-03 12:43:09 +00:00
Jef Driesen
a49d2c7b36
Changed the device_dump() function to use the new memory buffer class.
...
Using a resizable memory buffer allows to allocate the right amount of
memory inside the backend, avoiding having to know the required buffer
size in advance.
2009-11-10 11:36:10 +00:00
Jef Driesen
a4247b7505
Define the WARNING macro only once.
2009-08-06 14:15:52 +00:00
Jef Driesen
16191c0f51
Use the new array_isequal() function instead of a local function.
2009-06-19 08:51:34 +00:00
Jef Driesen
be2a27c58b
Remove the handshake function from the public api.
2009-04-14 21:37:39 +00:00
Jef Driesen
572dfa5184
Add a function to retrieve the stored handshake packet.
2009-04-14 21:37:04 +00:00
Jef Driesen
67363ea05c
Store the handshake packet in the device handle.
2009-04-14 21:36:44 +00:00
Jef Driesen
aa7599929e
Wake-up the device automatically.
...
The backend is now in full control of the handshake sequence and does
automatically wake-up the device at the appropriate time.
2009-04-14 21:36:28 +00:00
Jef Driesen
b7fcd5442c
Use a single function for writing the device parameters.
2009-04-14 21:36:07 +00:00
Jef Driesen
c1745cc535
Merge the typedef with the struct declaration.
2009-04-06 07:26:16 +00:00
Jef Driesen
5cb754b01b
Store the clock calibration values in the device handle.
2009-03-11 15:02:49 +00:00
Jef Driesen
ce705f8244
Use the new byte order functions everywhere.
2009-03-11 10:18:28 +00:00
Jef Driesen
ebfd5b4b1a
Always use the timestamp stored in the device handle.
2009-03-11 08:48:29 +00:00
Jef Driesen
11dc4715a4
Add fingerprint support for the Reefnet Sensus Original, Pro and Ultra.
2009-02-23 13:03:52 +00:00
Jef Driesen
4368b94ff0
Added basic support for the fingerprint feature.
2009-02-23 13:03:20 +00:00
Jef Driesen
64e3f4b4bf
Add a device info event for the Reefnet Sensus Original, Pro and Ultra.
2009-02-20 12:25:25 +00:00
Jef Driesen
3ce6a725a9
Port the Reefnet Sensus Original, Pro and Ultra to the new event code.
2009-02-20 12:11:38 +00:00
Jef Driesen
eb9efb47e1
Check the length of the provided buffer space before the data transfer.
2009-02-11 10:43:44 +00:00
Jef Driesen
b434fa344b
Fixed some warnings related to shadow variables.
2009-01-06 21:44:25 +00:00
Jef Driesen
596af5a17b
Add LGPL license headers.
2008-10-05 20:14:18 +00:00
Jef Driesen
276f45acd2
Allow the library to be compiled as C++ code.
...
Moved the initialization of the backend pointers to the beginning of the
source file. Without the need for a tentative definition, the library
can be compiled with a C++ compiler.
2008-09-03 10:16:35 +00:00
Jef Driesen
dfeea21c36
Add explicit casts to improve type safety.
2008-09-03 08:51:07 +00:00
Jef Driesen
599827d5a3
Improve the type safety by using the device_status_t enum.
2008-09-03 08:46:21 +00:00
Jef Driesen
9f1e100fe8
Fixed another misuse of the status codes.
2008-08-28 21:35:26 +00:00
Jef Driesen
b031d8dc2c
Stop abusing status codes to return size information to the application.
...
When necessary, an output parameter is added to provide the size
information. Status codes are strictly reserved for providing status
information only.
2008-08-28 09:07:09 +00:00
Jef Driesen
7e9a1be445
Implemented progress notifications for the Reefnet Sensus Ultra.
2008-08-19 11:24:01 +00:00
Jef Driesen
f467f4fd8d
Automatically abort when a dive is older than the provided timestamp.
2008-08-14 10:30:33 +00:00
Jef Driesen
6306e4e625
Moved the code to extract dives to a single function.
2008-08-14 09:45:49 +00:00
Jef Driesen
7c03ddcb15
Moved all the checksum functions to a common file.
2008-07-30 08:56:08 +00:00
Jef Driesen
16b14e55ef
Allow to abort a transfer by returning FALSE from the callback.
2008-07-22 05:35:08 +00:00
Jef Driesen
4f63295802
Add a function to initialize the base class.
2008-07-22 05:31:26 +00:00
Jef Driesen
eaf10b59da
Rename the device_download() function to device_dump().
...
The new name makes it more clear that it's not the recommended function
to download data.
2008-07-17 05:25:53 +00:00
Jef Driesen
d12a44c458
Always return the size of the downloaded data.
2008-07-10 08:10:04 +00:00
Jef Driesen
f561e591b4
Port the Reefnet Sensus Ultra to the new api.
2008-07-07 12:51:29 +00:00
Jef Driesen
4142431b36
Always return an error code if the supplied memory buffer is too small.
2008-06-15 18:18:22 +00:00
Jef Driesen
0312351bac
Reorganization to separate the library and the test applications.
2008-06-04 13:30:55 +00:00