Jef Driesen
38c7b022cd
Integrate the context object in the serial code.
2012-08-27 23:08:38 +02:00
Jef Driesen
53e9d72a40
Integrate the context object in the library.
...
The public api is changed to require a context object for all
operations. Because other library objects store the context pointer
internally, only the constructor functions need an explicit context
object as a parameter.
2012-08-27 23:08:38 +02:00
Jef Driesen
3df5cb09d7
Require a serial handle for the sleep function.
2012-08-27 23:02:44 +02:00
Jef Driesen
c821d40144
Introduce a namespace prefix for the high-level public api.
...
Adding the "dc_" namespace prefix (which is of course an abbreviation
for libdivecomputer) should avoid conflicts with other libraries. For
the time being, only the high-level device and parser layers are
changed.
2012-06-21 21:42:37 +02:00
Jef Driesen
163d383332
Use a common backend type for the device and parser layers.
2012-06-21 21:42:37 +02:00
Jef Driesen
9136a52835
Use common status codes for the device and parser layers.
2012-06-21 21:42:34 +02:00
Jef Driesen
e65025b501
Separate private and public headers.
...
The public header files are moved to a new subdirectory, to separate
the definition of the public interface from the actual implementation.
Using an identical directory layout as the final installation has the
advantage that the example code can be build outside the project tree
without any modifications to the #include statements.
2012-06-21 21:39:24 +02:00
Khalid El Fathi
3882827736
Spelling correction.
2012-04-05 20:21:23 +02:00
Jef Driesen
887d744e6d
Use a more consistent typedef in the serial and irda backends.
2010-10-04 23:08:39 +02: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
87236f505a
Remove a number of unnecessary functions.
2010-01-25 19:46:09 +00:00
Jef Driesen
13768188a8
Reduce the amount of data copying.
2009-11-16 08:14:29 +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
b59532fffb
Fixed some compiler warnings related to unused variables.
2009-11-02 13:14:42 +00:00
Jef Driesen
a4247b7505
Define the WARNING macro only once.
2009-08-06 14:15:52 +00:00
Jef Driesen
a9d0784a9a
Changed the initialization sequence to allow multiple transfers.
...
The DTR line is used to initialize or reset the communication. Toggling
this line before each transfer, rather than doing it once at startup,
allows to perform multiple transfers in the same session.
2009-07-23 07:12:22 +00:00
Jef Driesen
be2a27c58b
Remove the handshake function from the public api.
2009-04-14 21:37:39 +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
801f747345
Fix some small mistakes in the previous commit.
2009-03-11 13:12:21 +00:00
Jef Driesen
ce705f8244
Use the new byte order functions everywhere.
2009-03-11 10:18:28 +00:00
Jef Driesen
03212f5c6f
Add fingerprint support for the Uwatec Aladin, Memomouse and Smart.
2009-02-23 13:03:36 +00:00
Jef Driesen
4368b94ff0
Added basic support for the fingerprint feature.
2009-02-23 13:03:20 +00:00
Jef Driesen
b8ff29d15d
Add a device info event for the Uwatec Memomouse.
2009-02-20 12:24:59 +00:00
Jef Driesen
7cba191322
Port the Uwatec Aladin, Memomouse and Smart to the new event code.
2009-02-20 12:11:25 +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
8f845c5fe6
Reduce the very large timeout value by polling the serial line.
...
The event reporting is improved as well, by emitting more waiting
events.
2009-01-07 10:07:37 +00:00
Jef Driesen
d94ecdad25
Check the correct variable for NULL.
2009-01-06 13:09:06 +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
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
2e4026ffc4
Implemented progress notifications for the Uwatec Memomouse.
2008-08-19 11:53:25 +00:00
Jef Driesen
5e8d18944a
Moved all array reversal functions to a common file.
2008-07-30 09:03:37 +00:00
Jef Driesen
7c03ddcb15
Moved all the checksum functions to a common file.
2008-07-30 08:56:08 +00:00
Jef Driesen
44e76cfa8e
Implement the device_foreach() function on top of device_dump().
2008-07-22 07:57:00 +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
c40f67c557
Skip the entire header of the packet, not only the first byte.
2008-07-16 16:59:31 +00:00
Jef Driesen
a5143d8c7c
Wait a small amount of time before sending the command.
...
Without this delay, the transfer will fail most of the time.
2008-07-10 12:25:02 +00:00
Jef Driesen
cf82a0a545
Port the Uwatec Memomouse to the new api.
2008-07-08 09:37:21 +00:00
Jef Driesen
e4ab71db47
Added a more strict check on the ACK/NAK response.
2008-07-02 12:04:53 +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