Stefan Wahren
3699d25b10
Fix uninitialized strings
2016-01-31 17:44:08 +00:00
Stefan Wahren
f6dcf6e8d1
Fixed naming in declaration
...
Signed-off-by: Stefan Wahren <info@lategoodbye.de>
2016-01-31 17:41:08 +00:00
Stefan Wahren
5674b30a6c
Make use of package version from autotools
...
Signed-off-by: Stefan Wahren <info@lategoodbye.de>
2016-01-31 17:40:58 +00:00
Stuart Longland
ef6c4be655
Safer IEEE754 conversion.
...
The conversion given assumed two things:
1. the pointer was either 32-bit aligned or that unaligned word access
was safe. (Not the case on ARM)
We avoid this by using memcpy to copy to a buffer that *is*
32-bit-word-aligned.
2. the word was in native-endian format.
The original code appeared to assume the given word would be in
big-endian format (aka "network" byte order), so we convert it to the
host's native format before casting.
We re-instate the original implementation, controlled by a compiler
switch to allow easy rollback if problems are encountered.
2015-12-03 08:08:22 +10:00
jakubovsky
583a397e8e
Needless math.h include
2015-12-03 07:52:23 +10:00
jakubovsky
7e1be93dbd
Needless IEEE754 conversion, float pointer cast instead
2015-12-03 07:51:26 +10:00
Dirk Zenker
5f0b5d5dd1
Beautify: replace tabs with spaces and remove trailing spaces
2014-02-24 15:20:42 +01:00
Dirk Zenker
f47caf151e
add manufacturer id / product string of some meters:
...
Aquametro CALEC MB
Aquametro CALEC ST
Elster SensoStar 2
Elster F96 Plus
Elster F4
EMU Professional 3/75 M-Bus
Deltamess F2
Sensus PolluTherm
Sensus PolluStat E
NZR IC-M2
Saia-Burgess ALE3
Saia-Burgess AWD3
2014-02-24 11:22:40 +01:00
Dirk Zenker
781736fe4c
add codepage to XML output
2014-02-24 11:02:26 +01:00
Dirk Zenker
8197874fe7
bugfix, the functions
...
mbus_data_record_storage_number()
mbus_data_record_tariff()
mbus_data_record_device()
did return bogus random values, because of uninitialized variables
2014-02-20 11:26:31 +01:00
Michael Heimpold
f262138572
mbus_manufacturer_id: add error checking code
...
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2014-01-18 20:43:57 +01:00
Michael Heimpold
0fccc0e337
Add a function to calculate the manufacturer ID from the 3 byte ASCII
...
code. The formula can be found at http://www.m-bus.com/files/w4b21021.pdf ,
chapter 3.3 at page 6.
This obsoletes the static defines, so remove them.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2014-01-18 13:44:01 +01:00
Aarno Aukia
f42c56f19c
fix 2nd address scanning bug, add some comments
...
code merge from arska/libmbus without debug
2013-11-07 11:14:15 +01:00
Stefan Wahren
0d9f83ba88
Extend XML output with storage number, tariff and device
2013-11-07 00:32:01 +01:00
Stefan Wahren
e1ca652bf0
Extend mbus_record with storage number, tariff and device
2013-11-07 00:31:03 +01:00
Stefan Wahren
58778ba9bc
Add functions to decode storage number, tariff and device from DIF
2013-11-07 00:24:11 +01:00
Stefan Wahren
d79cb1c998
Fix BCD decoding bug
2013-11-07 00:13:56 +01:00
Stefan Wahren
e9d39d4708
Extend DIF debug output (storage number LSB)
...
Fix DIFE debug output (storage number, tariff, device unit)
Fix typos in comments
Replace magic bit masks with defines
2013-11-06 11:11:43 +01:00
Stefan Wahren
3aa81cfb23
Add DIF extension bit masks
2013-11-06 10:15:15 +01:00
Stefan Wahren
7f00f72b69
Add missing VIF=7Eh / FEh
2013-11-01 17:17:57 +01:00
Stefan Wahren
6021f3cc65
Fix VIF extension mappings for VIF=0FBh
2013-11-01 17:13:49 +01:00
Stefan Wahren
4b82502c06
Add product name mapping for GMC-I EMMOD206
2013-10-31 23:01:06 +01:00
Stefan Wahren
9d84318631
Add manufacturer ID for GMC
2013-10-31 22:59:59 +01:00
Stefan Wahren
6afe7a10dc
fix wrong decoding of integer / type B (now handle signedness correctly)
...
separate result code und decoded value for integer decoding (new
parameter)
refactor variable names
2013-10-31 22:25:34 +01:00
Stefan Wahren
663642b7ec
Adopt retransmission for secondary address probing
2013-10-19 13:56:58 +02:00
Stefan Wahren
e6173103e2
Avoid unnecessary data request in mbus_read_slave
2013-10-19 13:43:00 +02:00
Stefan Wahren
31016929bc
Seperate retransmission maximum in two parameters
...
one for data requests and another for search requests
- add new handle member for max search retransmission
- set default maximum for search retransmission to one
- rename define for retransmission option
2013-10-18 20:15:53 +02:00
Stefan Wahren
7ca329ee40
Add product name mapping for Rossweiner Modularis
2013-10-18 17:32:22 +02:00
Stefan Wahren
28b73bf9d8
Add manufacturer ID for Rossweiner
2013-10-17 13:45:45 +02:00
Stefan Wahren
0cf57bfc35
Move event handling from global variable to handle
...
- remove global event function pointer
- add event function pointer to handle structure
- add handle parameter to register functions
- move all register functions to mbus-protocol-aux.c
2013-10-13 21:49:40 +02:00
Stefan Wahren
9e23818152
Add new function to send a user data packet from master to slave
2013-10-13 14:52:45 +02:00
Stefan Wahren
d5f06ec910
Replace magic number for M-Bus frame data length with define
2013-10-05 10:38:07 +02:00
Stefan Wahren
55d4c0fba2
Remove trailing whitespace
...
Signed-off-by: Stefan Wahren <info@lategoodbye.de>
2013-09-13 17:53:33 +02:00
Robert Johansson
654905a94d
bug fix in timeout config
2013-08-30 00:20:35 +09:00
Robert Johansson
fd5c9adffb
made it possible to configure the TCP read timeout parameter
2013-08-30 00:05:22 +09:00
Stefan Wahren
d9dd055bea
Fix mbus_vib_unit_lookup
...
remove unreachable code
add missing unit password
fix typo
Signed-off-by: Stefan Wahren <info@lategoodbye.de>
2013-08-03 16:35:09 +02:00
Robert Johansson
5160a10211
fixed warning
2013-07-04 23:59:41 +09:00
Robert Johansson
5b83cad8fb
only show timestamp in XML output if it is set (not all frames that goes into mbus_parse passes through timestamp), to avoid a lot of '<Timestamp>1970-01-01T00:00:00</Timestamp>'
2013-07-04 23:47:06 +09:00
Robert Johansson
1fee3d9a5a
bug fix: don't assume that frame->next is zeroed before mbus_parse is called
2013-07-04 23:30:27 +09:00
Stefan Wahren
dcc9e2c2b4
fix indent
2013-07-03 20:52:27 +02:00
Stefan Wahren
7b897494fd
Improve wildcard search
...
- handle collisions after request for secondary address
- check frame type correctly
- ignore M-Bus devices without secondary address
2013-07-03 20:46:47 +02:00
Stefan Wahren
70f23567a8
fix potential segmentation fault
2013-07-03 20:36:43 +02:00
Stefan Wahren
551176911f
fix memory leaks in error case
2013-07-03 20:34:30 +02:00
Stefan Wahren
8dd1d4e4ae
bugfix for +1 error in VIFE parser
...
now VIFE and DIFE behave equal
2013-07-03 20:30:20 +02:00
Robert Johansson
88b2b9fafa
bugfix in VIFE parser
2013-07-03 22:50:03 +09:00
Robert Johansson
e1164c87c9
error message if secondary address generation fails
2013-07-03 22:20:44 +09:00
Robert Johansson
31f17ab4c2
use error_str instead of direct console output
2013-07-03 22:18:06 +09:00
Robert Johansson
973cc7ba30
use MBUS_ERROR instead of fprintf(stderr
2013-07-03 22:11:13 +09:00
Stefan Wahren
dd56a08811
Improve data parsing
...
- add length defines for variable data header and fixed data
- add size check for fixed data
- avoid problems with memory alignment / padding in mbus structures
(improve portability)
- abort parsing if there are too many DIFE or VIFEs
- check for premature end of variable data
- check size of variable length VIF
2013-06-22 11:50:36 +02:00
Stefan Wahren
687ea60f54
Fixed correction in mbus_vib_unit_normalize
2013-06-09 23:14:08 +02:00