Commit Graph

174 Commits

Author SHA1 Message Date
Stefan Wahren
9906723447 Fix IEEE754 conversion
It seems that the endianness handling was broken in
ef6c4be655 ("Safer IEEE754 conversion."). So drop it.
2016-04-01 18:19:32 +00:00
Aarno Aukia
b6cbb1de1e merge rscada/master with arska/feature-ignoretestbinaries 2016-03-25 23:20:34 +01:00
Aarno Aukia
b9b131d064 Order device detection by manufacurer
merging ELS so that TMP-A is detected again
2016-02-08 14:06:24 +01:00
Stefan Wahren
ed87f62a87 Add product strings for devices from ABB, Elster and Relay
This patch adds product identification for:
* ABB Delta-Meter
* Elster Falcon
* Relay PadPuls M1
* Relay PadPuls M4
* Relay Padin 4
* Relay AnDi 4
* Relay PadPuls M2
2016-02-06 12:04:13 +00:00
Aarno Aukia
eaeb6e5502 retab and remove trailing whitespace 2016-02-05 14:42:16 +01:00
Stefan Wahren
8b1c012a91 Add product strings of Janitza UMG 96S 2016-02-02 18:57:57 +00:00
Stefan Wahren
db40010b93 Add product strings of Berg DCMi, BLMi and BMB-10S0 2016-01-31 18:09:21 +00:00
Stefan Wahren
04eae740b4 Add product strings of Carlo Gavazzi EM21,EM24,EM33 2016-01-31 18:00:02 +00:00
Stefan Wahren
0927f23ee7 Let mbus_str_xml_encode return a resultcode 2016-01-31 17:55:09 +00:00
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