49 Commits

Author SHA1 Message Date
Jef Driesen
550e37d0b5 Remove the page, packet and memory size macros from the public api.
These macros are used internally and don't need to be exposed. In some
cases, the actual values are not even constant, but dependant on the
model and/or the firmware version.
2012-12-05 16:07:32 +01:00
Jef Driesen
cd31ff9dff Properly store the context pointer internally.
I forgot to update the device and parser initialization functions to
store the context pointer into the objects. As a result, the internal
context pointers were always NULL.
2012-08-28 08:44:47 +02:00
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
Jef Driesen
887d744e6d Use a more consistent typedef in the serial and irda backends. 2010-10-04 23:08:39 +02:00
Jef Driesen
4e5c9ad8a3 Remove all debugging code. 2010-05-06 06:21:59 +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
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
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
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
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
b3c1de2336 Implemented progress notifications for the Reefnet Sensus Pro. 2008-08-19 11:18:17 +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
7c03ddcb15 Moved all the checksum functions to a common file. 2008-07-30 08:56:08 +00:00
Jef Driesen
eee1c4cd74 Fixed a bug in the previous commit.
The dump() function returns the size of the downloaded data, not a 
status code.
2008-07-29 18:13:03 +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
d12a44c458 Always return the size of the downloaded data. 2008-07-10 08:10:04 +00:00
Jef Driesen
9548565220 Port the Reefnet Sensus Pro to the new api. 2008-07-07 12:48:47 +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
2d88237949 Simplified the exitcode macro. 2008-06-15 12:51:38 +00:00
Jef Driesen
0312351bac Reorganization to separate the library and the test applications. 2008-06-04 13:30:55 +00:00