From: Uwe Hermann Date: Wed, 4 May 2016 17:56:40 +0000 (+0200) Subject: Factor out bcd2int() into common/srdhelper. X-Git-Tag: libsigrokdecode-0.5.0~175 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=769ed325837271b76beca1e74a037cf8bb91f4b3 Factor out bcd2int() into common/srdhelper. --- diff --git a/common/srdhelper/__init__.py b/common/srdhelper/__init__.py new file mode 100644 index 0000000..cf09d9d --- /dev/null +++ b/common/srdhelper/__init__.py @@ -0,0 +1,21 @@ +## +## This file is part of the libsigrokdecode project. +## +## Copyright (C) 2012-2014 Uwe Hermann +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +from .mod import * diff --git a/common/srdhelper/mod.py b/common/srdhelper/mod.py new file mode 100644 index 0000000..e65ab17 --- /dev/null +++ b/common/srdhelper/mod.py @@ -0,0 +1,23 @@ +## +## This file is part of the libsigrokdecode project. +## +## Copyright (C) 2012-2014 Uwe Hermann +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## + +# Return the specified BCD number (max. 8 bits) as integer. +def bcd2int(b): + return (b & 0x0f) + ((b >> 4) * 10) diff --git a/decoders/dcf77/pd.py b/decoders/dcf77/pd.py index adee403..cbdfa87 100644 --- a/decoders/dcf77/pd.py +++ b/decoders/dcf77/pd.py @@ -20,10 +20,7 @@ import sigrokdecode as srd import calendar - -# Return the specified BCD number (max. 8 bits) as integer. -def bcd2int(b): - return (b & 0x0f) + ((b >> 4) * 10) +from srdhelper import bcd2int class SamplerateError(Exception): pass diff --git a/decoders/ds1307/pd.py b/decoders/ds1307/pd.py index b784b6d..cb5fc13 100644 --- a/decoders/ds1307/pd.py +++ b/decoders/ds1307/pd.py @@ -21,6 +21,7 @@ import re import sigrokdecode as srd +from srdhelper import bcd2int days_of_week = ( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', @@ -51,10 +52,6 @@ def regs_and_bits(): l += [('bit-' + re.sub('\/| ', '-', b).lower(), b + ' bit') for b in bits] return tuple(l) -# Return the specified BCD number (max. 8 bits) as integer. -def bcd2int(b): - return (b & 0x0f) + ((b >> 4) * 10) - class Decoder(srd.Decoder): api_version = 2 id = 'ds1307' diff --git a/decoders/rtc8564/pd.py b/decoders/rtc8564/pd.py index 24a68fb..258ec27 100644 --- a/decoders/rtc8564/pd.py +++ b/decoders/rtc8564/pd.py @@ -19,10 +19,7 @@ ## import sigrokdecode as srd - -# Return the specified BCD number (max. 8 bits) as integer. -def bcd2int(b): - return (b & 0x0f) + ((b >> 4) * 10) +from srdhelper import bcd2int def reg_list(): l = []