39 Commits

Author SHA1 Message Date
Stefan Wahren
72868fdc3f add a new helper function ( mbus_hex2bin ) to convert hex values
into binary values
2012-12-10 21:16:46 +01:00
Stefan Wahren
cfa35db086 Fixed potential segmentation fault 2012-10-22 23:35:45 +02:00
Stefan Wahren
bc2c85c378 Add custom VIFE handling with a corrective factor (from Jakob
Skov-Pedersen)
2012-10-21 11:21:07 +02:00
Stefan Wahren
fef774d98d Purge behavior as new context parameter (default = purge master to
slave)
2012-10-04 22:33:22 +02:00
Stefan Wahren
78f16f0248 New defines for purge behavior (echo cancelation) 2012-10-04 22:30:53 +02:00
Stefan Wahren
af80dda0d8 Revert "Extend mbus_recv_frame with simple echo cancelation"
This reverts commit 169e37d360f5782dbbfe8bf9ccb5877cb6af7fb9.
2012-10-03 23:25:10 +02:00
Stefan Wahren
169e37d360 Extend mbus_recv_frame with simple echo cancelation 2012-10-03 23:06:11 +02:00
Stefan Wahren
564483e092 new error message in case of unknown vif 2012-09-15 02:11:14 +02:00
Stefan Wahren
b55d038899 fixed typo in vif list 2012-09-15 02:06:08 +02:00
Stefan Wahren
1a538e73aa New parameter for mbus_send_ping_frame to purge response 2012-09-01 22:51:44 +02:00
Stefan Wahren
d2608d5de7 add allocation error handling 2012-09-01 22:14:21 +02:00
Stefan Wahren
5467679f66 Reset retry counter after valid frame to be conform with M-Bus
documentation
2012-07-19 21:08:07 +02:00
Stefan Wahren
08a4c55443 - Initialize maximum retry counter to 3 for serial and tcp connections
- Retransmit request frame (just for mbus_sendrecv_request) in case of
timeout or invalid response
2012-07-14 16:22:25 +02:00
Stefan Wahren
e6a52f97ea Replaced magic resultcodes from mbus_recv_frame with defines 2012-07-11 23:33:52 +02:00
jakubovsky
b95f29fcc8 mbus_connect() and mbus_disconnect() return 0 on success and -1 otherwise 2012-07-09 12:33:32 +02:00
jakubovsky
5f9052b284 Renamed mbus_recv_frame_dummy() to more descriptive mbus_purge_frames() 2012-07-09 10:48:13 +02:00
jakubovsky
e70c07e8f3 TCP and serial specific data structs renamed. 2012-07-06 11:29:46 +02:00
jakubovsky
6b2d43617f Merge remote-tracking branch 'upstream/master' 2012-07-06 11:14:47 +02:00
jakubovsky
ec50ab9286 Examples from bin directory updated. API usage updated in mbus-protocol-aux.h. 2012-07-04 19:49:54 +02:00
jakubovsky
34255c7237 free_auxdata() added to mbus_handle interface for freeing context specific data 2012-07-04 19:08:51 +02:00
jakubovsky
c848090f56 Rebuilding M-Bus context structs in progress
- changed local library file includes from <> to ""
- get rid of 'if (is_serial)' conditions
- mbus_context_serial() and mbus_context_tcp() allocates memory and initialize context specific function pointers
- simply mbus_connect() called instead of mbus_connect_tcp() or mbus_connect_serial()
- context specific data can still be accessed via (void* auxdata) pointer
- strdup(3) to copy host IP into TCP context struct
2012-07-04 17:18:36 +02:00
jakubovsky
9f9e0fc008 Fixed mbus_recv_frame() return value to -1 when invalid m-bus handle 2012-07-03 17:17:10 +02:00
jakubovsky
5d079254cc Extended mbus_recv_frame() error codes, improved collision handling
- handling TCP connection reset and read(2) timeout
2012-07-03 14:35:07 +02:00
Stefan Wahren
0d610b6a27 - fixed check of mbus_sendrecv_request and mbus_recv_frame
- initialize memory in mbus_sendrecv_request
- used defines for special address instead of magic numbers
2012-06-20 00:21:28 +02:00
Stefan Wahren
bf12395af9 Fixed segmentation fault in case of much XML output
Because of the multi telegrams it is impossible to use a fixed
buffer for XML output on the stack. Now the buffer is allocated on the
heap. These also leads to a change in return behaviour for all XML
functions, because it's possible that the buffer is NULL. For variable
data this buffer grows every time there are less than 1024 bytes left
for a new record.
2012-05-29 21:24:30 +02:00
Stefan Wahren
0cb23161e7 Added receive timestamp for each data record in XML output 2012-05-29 20:17:05 +02:00
Stefan Wahren
ef630f2e5d Added a new function to select a device by it's secondary address 2012-05-20 03:52:15 +02:00
Stefan Wahren
d12d7dd052 Fixed bug in multi telegram readout with secondary address
- init slave before selecting secondary address
2012-05-20 03:44:06 +02:00
Stefan Wahren
03d4876425 New events for wildcard search 2012-05-20 02:52:11 +02:00
Stefan Wahren
c6031f3287 Added missing header file 2012-05-20 02:39:29 +02:00
Stefan Wahren
11f6392df3 Fixed potential segmentation faults 2012-05-18 13:35:02 +02:00
Stefan Wahren
f14b3beb84 Fixed bugs in wildcard search
- init slaves before search
- corrected return codes
- handle collisions (possibly more bytes than expected)
- sync recv frame (tcp vs serial)
- add tracing
2012-05-15 23:30:55 +02:00
Robert Johansson
6f76632728 fix bug in breakout of loop due to max_frames condition 2012-05-13 16:32:17 +09:00
Stefan Wahren
d617accea5 Added new function to generate XML with normalized values
(equivalent to mbus_frame_data_xml)
2012-05-06 23:00:59 +02:00
Stefan Wahren
b479412ab1 Migrated all new features also to mbus-protocol-aux.c:
- support for custom VIF
- support for date / time
- support for float
- fix for huge values
- hexdump of manufacturer specific data
2012-05-06 22:12:29 +02:00
Stefan Wahren
42ed80a5b0 - init slave to get always the beginning of the records
- start read with FCB set
- fixed double free in case of send failure
2012-04-28 14:09:58 +02:00
Stefan Wahren
39e7b64ff4 Fixed special characters 2012-04-22 16:29:58 +02:00
Stefan Wahren
5ce9a540ed Added error frames for testing 2012-04-22 15:53:54 +02:00
Robert
c10b37e53d got rid of duplicate catalog libmbus/libmbus 2012-04-15 10:51:15 +09:00