46 Commits

Author SHA1 Message Date
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
Jef Driesen
3c07a3017f Integrate the tcdrain() call into the write function. 2012-04-10 21:30:39 +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
f8b465fba1 Use the common fingerprint function directly. 2010-01-25 19:46:39 +00:00
Jef Driesen
ce84e85bb6 Do not ignore the return value when writing data. 2010-01-25 19:46:24 +00:00
Jef Driesen
1d69b8c021 Fix the spyder fingerprint offset. 2009-12-08 11:24:52 +00:00
Jef Driesen
094b70aa03 Use the memory buffer class for downloading individual dives. 2009-11-16 08:17:30 +00:00
Jef Driesen
e883843fca Use pointers to the layout structure for simplicity. 2009-11-16 08:17:20 +00:00
Jef Driesen
54daa9b580 Remove the debugging code. 2009-11-16 08:17:09 +00:00
Jef Driesen
71d8da4f04 Remove some unnecessary functions. 2009-11-12 16:30:13 +00:00
Jef Driesen
a87398b7c6 Implement progress events for the device_dump() function.
A helper function is added to simplify implementing the devic_dump()
function on top of the device_read() function, and enable progress
events automatically.
2009-11-12 08:04:34 +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
863890aa23 Add the end-of-profile pointer to the layout descriptor structure. 2009-05-12 19:58:01 +00:00
Jef Driesen
1e39b84075 Add a common base class and a layout descriptor structure.
The memory layout of the Suunto Eon and Vyper devices is very similar,
which allows to share the parsing code between the backends. Differences
in the layout are passed by means of a new layout descriptor structure
and a common base class is introduced to share the fingerprint data.
Memory buffers are now allocated dynamically to support devices with
different amounts of memory.
2009-05-12 19:57:46 +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
ce705f8244 Use the new byte order functions everywhere. 2009-03-11 10:18:28 +00:00
Jef Driesen
00c3330e8d Receive the entire packet before reporting buffer overflows. 2009-03-11 10:17:45 +00:00
Jef Driesen
3885e69079 Add fingerprint support for the Suunto Vyper, Spyder and Eon. 2009-02-23 13:04:26 +00:00
Jef Driesen
4368b94ff0 Added basic support for the fingerprint feature. 2009-02-23 13:03:20 +00:00
Jef Driesen
1c736835eb Autodetect the difference between a Vyper and a Spyder. 2009-02-20 12:26:15 +00:00
Jef Driesen
8391b4201d Add a device info event for the Suunto Vyper. 2009-02-20 12:26:02 +00:00
Jef Driesen
845e6442f6 Port the Suunto Eon, Vyper, Vyper2 and D9 to the new event code. 2009-02-20 12:11:52 +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
596af5a17b Add LGPL license headers. 2008-10-05 20:14:18 +00:00
Jef Driesen
ce2f9359cb Removed the interface detection code since it is no longer required. 2008-10-03 14:56:41 +00:00
Jef Driesen
d05ff6bb09 Mark the private function as static. 2008-09-27 06:10:27 +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
ddf43fb828 Implemented progress notifications for the Suunto Vyper. 2008-08-19 09:58:42 +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
5ae3b98d5d Implement the device_dump() function on top of device_read(). 2008-07-22 06:05:36 +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
a5fb93d199 Port the Suunto Vyper to the new api. 2008-07-04 13:35:57 +00:00
Jef Driesen
0312351bac Reorganization to separate the library and the test applications. 2008-06-04 13:30:55 +00:00