[chirp_devel] [PATCH 3/4] Simplify and centralize debugging messages (#2343)
Zach Welch
Sun Feb 22 23:09:54 PST 2015
At its core, this patch adds a dprint function that wraps print with
a conditional on CHIRP_DEBUG. That variable is set by the environment,
but it can also be set by a command line option (--debug) in chirp.py.
I would like to add that option to chirpw too, but that would require a
separate patch that adds proper option parsing.
The remainder of the patch involves chasing down all references to
CHIRP_DEBUG, nearly all of which were wrapping plain print statements.
I also eliminated a few plain DEBUG variables and a couple of other
one-off variants.
---
chirp.py | 8 ++++++++
chirp/__init__.py | 9 +++++++++
chirp/anytone.py | 11 ++++-------
chirp/baofeng_uv3r.py | 5 -----
chirp/bjuv55.py | 5 -----
chirp/ft1d.py | 12 +++++-------
chirp/ft2800.py | 19 ++++++------------
chirp/ft60.py | 5 ++---
chirp/ft7800.py | 27 ++++++++------------------
chirp/ft817.py | 28 +++++++++++----------------
chirp/ft857.py | 7 +++----
chirp/ft90.py | 52 +++++++++++++++++---------------------------------
chirp/ftm350.py | 6 +++---
chirp/h777.py | 17 ++++++-----------
chirp/icomciv.py | 12 ++++--------
chirp/idrp.py | 11 +++--------
chirp/kenwood_live.py | 8 ++------
chirp/kguv8d.py | 43 ++++++++++++++---------------------------
chirp/kyd.py | 27 ++++++++++----------------
chirp/leixen.py | 5 -----
chirp/puxing.py | 5 -----
chirp/th9800.py | 35 ++++++++++++---------------------
chirp/th_uv3r.py | 5 -----
chirp/thd72.py | 10 +++-------
chirp/tk8102.py | 7 +++----
chirp/tmv71_ll.py | 10 +++-------
chirp/uv5r.py | 27 ++++++++------------------
chirp/vx170.py | 5 -----
chirp/vx2.py | 29 +++++++++-------------------
chirp/vx3.py | 29 +++++++++-------------------
chirp/vx8.py | 10 ++++------
chirp/wouxun.py | 12 +++++-------
chirp/wouxun_common.py | 8 +++-----
chirp/yaesu_clone.py | 11 ++++-------
chirpui/reporting.py | 29 ++++++++++++----------------
35 files changed, 191 insertions(+), 358 deletions(-)
diff --git a/chirp.py b/chirp.py
index 28ed8f9..20c7f55 100755
--- a/chirp.py
+++ b/chirp.py
@@ -21,6 +21,7 @@ import sys
from optparse import OptionParser
import optparse
+import chirp;
from chirp import *
from chirp import chirp_common, errors, idrp, directory, util
from chirp import print_chirp_version
@@ -160,11 +161,18 @@ if __name__ == "__main__":
action="store_true",
default=False,
help="Upload memory map to radio")
+ parser.add_option("-d", "--debug", dest="debug",
+ action="store_true",
+ default=False,
+ help="Print debugging messages")
if len(sys.argv) <= 1:
parser.print_help()
sys.exit(0)
(options, args) = parser.parse_args()
+ if options.debug:
+ chirp.CHIRP_DEBUG = True
+
if options.list_radios:
print "Supported Radios:\n\t", "\n\t".join(sorted(RADIOS.keys()))
sys.exit(0);
diff --git a/chirp/__init__.py b/chirp/__init__.py
index e5118d1..a706e56 100644
--- a/chirp/__init__.py
+++ b/chirp/__init__.py
@@ -32,3 +32,12 @@ def print_chirp_version():
print "CHIRP %s on %s (Python %s)" % (CHIRP_VERSION,
platform.get_platform().os_version_string(),
sys.version.split()[0])
+
+# For early debug (before option parsing), set CHIRP_DEBUG in environment;
+# otherwise, use --debug option to enable debugging messages.
+CHIRP_DEBUG = os.getenv("CHIRP_DEBUG") and True or False
+
+def dprint(*args):
+ """Print a debug message if CHIRP_DEBUG is True)"""
+ if CHIRP_DEBUG:
+ print "".join(map(str,args))
diff --git a/chirp/anytone.py b/chirp/anytone.py
index 4b9c785..93aea5a 100644
--- a/chirp/anytone.py
+++ b/chirp/anytone.py
@@ -17,6 +17,7 @@ import os
import struct
import time
+from chirp import dprint
from chirp import bitwise
from chirp import chirp_common
from chirp import directory
@@ -164,10 +165,6 @@ def _should_send_addr(memobj, addr):
else:
return _is_loc_used(memobj, _addr_to_loc(addr))
-def _debug(string):
- if "CHIRP_DEBUG" in os.environ or True:
- print string
-
def _echo_write(radio, data):
try:
radio.pipe.write(data)
@@ -201,7 +198,7 @@ def _ident(radio):
raise errors.RadioError("Unsupported model")
_echo_write(radio, "\x02")
response = radio.pipe.read(16)
- _debug(util.hexprint(response))
+ dprint(util.hexprint(response))
if response[1:8] not in valid_model:
print "Response was:\n%s" % util.hexprint(response)
raise errors.RadioError("Unsupported model")
@@ -227,7 +224,7 @@ def _send(radio, cmd, addr, length, data=None):
frame += chr(_checksum(frame[1:]))
frame += "\x06"
_echo_write(radio, frame)
- _debug("Sent:\n%s" % util.hexprint(frame))
+ dprint("Sent:\n%s" % util.hexprint(frame))
if data:
result = radio.pipe.read(1)
if result != "\x06":
@@ -236,7 +233,7 @@ def _send(radio, cmd, addr, length, data=None):
addr)
return
result = _read(radio, length + 6)
- _debug("Got:\n%s" % util.hexprint(result))
+ dprint("Got:\n%s" % util.hexprint(result))
header = result[0:4]
data = result[4:-2]
ack = result[-1]
diff --git a/chirp/baofeng_uv3r.py b/chirp/baofeng_uv3r.py
index 52d1a78..0827885 100644
--- a/chirp/baofeng_uv3r.py
+++ b/chirp/baofeng_uv3r.py
@@ -24,11 +24,6 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueString, \
RadioSettingValueFloat, RadioSettings
-if os.getenv("CHIRP_DEBUG"):
- DEBUG = True
-else:
- DEBUG = False
-
def _uv3r_prep(radio):
radio.pipe.write("\x05PROGRAM")
ack = radio.pipe.read(1)
diff --git a/chirp/bjuv55.py b/chirp/bjuv55.py
index 7dd61be..9fb7e5a 100644
--- a/chirp/bjuv55.py
+++ b/chirp/bjuv55.py
@@ -28,11 +28,6 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
from textwrap import dedent
from chirp import uv5r
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
BJUV55_MODEL = "\x50\xBB\xDD\x55\x63\x98\x4D"
COLOR_LIST = ["Off", "Blue", "Red", "Pink"]
diff --git a/chirp/ft1d.py b/chirp/ft1d.py
index eb7a0b1..39472df 100644
--- a/chirp/ft1d.py
+++ b/chirp/ft1d.py
@@ -19,7 +19,7 @@ import re
import string
from chirp import chirp_common, yaesu_clone, directory
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSettingGroup, RadioSetting, RadioSettings
from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
from chirp.settings import RadioSettingValueList, RadioSettingValueBoolean
@@ -1549,8 +1549,7 @@ class FT1Radio(yaesu_clone.YaesuCloneModeRadio):
is_latitude = name.endswith("latitude")
lat_long = setting.value.get_value().strip()
sign, l_d, l_m, l_s = cls._str_to_latlong(lat_long, is_latitude)
- if os.getenv("CHIRP_DEBUG"):
- print "%s: %d %d %d %d" % (name, sign, l_d, l_m, l_s)
+ dprint("%s: %d %d %d %d" % (name, sign, l_d, l_m, l_s))
setattr(obj, "%s_sign" % name, sign)
setattr(obj, "%s_degree" % name, l_d)
setattr(obj, "%s_minute" % name, l_m)
@@ -1587,9 +1586,8 @@ class FT1Radio(yaesu_clone.YaesuCloneModeRadio):
try:
old_val = getattr(obj, setting)
- if os.getenv("CHIRP_DEBUG"):
- print "Setting %s(%r) <= %s" % (
- element.get_name(), old_val, element.value)
+ dprint("Setting %s(%r) <= %s" % (
+ element.get_name(), old_val, element.value))
setattr(obj, setting, element.value)
except AttributeError as e:
print "Setting %s is not in the memory map: %s" % (
@@ -1623,4 +1621,4 @@ class FT1Radio(yaesu_clone.YaesuCloneModeRadio):
val = [FT1_DTMF_CHARS.index(x) for x in rawval]
for x in range(len(val), 16):
val.append(0xFF)
- cls._memobj.dtmf[i].memory = val
\ No newline at end of file
+ cls._memobj.dtmf[i].memory = val
diff --git a/chirp/ft2800.py b/chirp/ft2800.py
index fb9d10c..645a240 100644
--- a/chirp/ft2800.py
+++ b/chirp/ft2800.py
@@ -16,11 +16,9 @@
import time
import os
-from chirp import util, memmap, chirp_common, bitwise, directory, errors
+from chirp import util, memmap, chirp_common, bitwise, directory, errors, dprint
from chirp.yaesu_clone import YaesuCloneModeRadio
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
-
CHUNK_SIZE = 16
def _send(s, data):
for i in range(0, len(data), CHUNK_SIZE):
@@ -41,8 +39,7 @@ def _download(radio):
if data == IDBLOCK:
break
- if DEBUG:
- print "Header:\n%s" % util.hexprint(data)
+ dprint("Header:\n%s" % util.hexprint(data))
if len(data) != 8:
raise Exception("Failed to read header")
@@ -54,8 +51,7 @@ def _download(radio):
while len(data) < radio._block_sizes[1]:
time.sleep(0.1)
chunk = radio.pipe.read(38)
- if DEBUG:
- print "Got: %i:\n%s" % (len(chunk), util.hexprint(chunk))
+ dprint("Got: %i:\n%s" % (len(chunk), util.hexprint(chunk)))
if len(chunk) == 8:
print "END?"
elif len(chunk) != 38:
@@ -79,8 +75,7 @@ def _download(radio):
status.msg = "Cloning from radio"
radio.status_fn(status)
- if DEBUG:
- print "Total: %i" % len(data)
+ dprint("Total: %i" % len(data))
return memmap.MemoryMap(data)
@@ -94,8 +89,7 @@ def _upload(radio):
_send(radio.pipe, IDBLOCK)
time.sleep(1)
ack = radio.pipe.read(300)
- if DEBUG:
- print "Ack was (%i):\n%s" % (len(ack), util.hexprint(ack))
+ dprint("Ack was (%i):\n%s" % (len(ack), util.hexprint(ack)))
if ack != ACK:
raise Exception("Radio did not ack ID")
@@ -108,8 +102,7 @@ def _upload(radio):
cs += ord(byte)
data += chr(cs & 0xFF)
- if DEBUG:
- print "Writing block %i:\n%s" % (block, util.hexprint(data))
+ dprint("Writing block %i:\n%s" % (block, util.hexprint(data)))
_send(radio.pipe, data)
time.sleep(0.1)
diff --git a/chirp/ft60.py b/chirp/ft60.py
index 45c92d0..d8cc428 100644
--- a/chirp/ft60.py
+++ b/chirp/ft60.py
@@ -15,7 +15,7 @@
import time, os
from chirp import chirp_common, yaesu_clone, memmap, bitwise, directory
-from chirp import errors
+from chirp import errors, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
@@ -617,8 +617,7 @@ class FT60Radio(yaesu_clone.YaesuCloneModeRadio):
obj = getattr(_settings, name)
setattr(_settings, name, value)
- if os.getenv("CHIRP_DEBUG"):
- print "Setting %s: %s" % (name, value)
+ dprint("Setting %s: %s" % (name, value))
except Exception, e:
print element.get_name()
raise
diff --git a/chirp/ft7800.py b/chirp/ft7800.py
index 451fb08..7a48066 100644
--- a/chirp/ft7800.py
+++ b/chirp/ft7800.py
@@ -15,7 +15,7 @@
import time
from chirp import chirp_common, yaesu_clone, memmap, directory
-from chirp import bitwise, errors
+from chirp import bitwise, errors, dprint
from textwrap import dedent
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
@@ -25,11 +25,6 @@ import os, re
from collections import defaultdict
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
ACK = chr(0x06)
MEM_FORMAT = """
@@ -540,9 +535,8 @@ class FT7800Radio(FTx800Radio):
FTx800Radio.set_memory(self, memory)
def _decode_chars(self, inarr):
- if CHIRP_DEBUG:
- print "@_decode_chars, type: %s" % type(inarr)
- print inarr
+ dprint("@_decode_chars, type: %s" % type(inarr))
+ dprint(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -551,9 +545,8 @@ class FT7800Radio(FTx800Radio):
return outstr.rstrip()
def _encode_chars(self, instr, length = 16):
- if CHIRP_DEBUG:
- print "@_encode_chars, type: %s" % type(instr)
- print instr
+ dprint("@_encode_chars, type: %s" % type(instr))
+ dprint(instr)
outarr = []
instr = str(instr)
for i in range(length):
@@ -647,8 +640,7 @@ class FT7800Radio(FTx800Radio):
break
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ dprint(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -721,8 +713,7 @@ class FT7800Radio(FTx800Radio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ dprint(newval)
idx = int(setting[-2:])
_settings = self._memobj.dtmf[idx]
_settings.memory = newval
@@ -735,9 +726,7 @@ class FT7800Radio(FTx800Radio):
# normal settings
newval = element.value
oldval = getattr(_settings, setting)
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ dprint("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
diff --git a/chirp/ft817.py b/chirp/ft817.py
index 8950f73..de98c31 100644
--- a/chirp/ft817.py
+++ b/chirp/ft817.py
@@ -17,7 +17,7 @@
"""FT817 - FT817ND - FT817ND/US management module"""
from chirp import chirp_common, yaesu_clone, util, memmap, errors, directory
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
@@ -319,8 +319,7 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
raise Exception("Unable to read block %02X expected %i got %i" %
(blocknum, block + 2, len(data)))
- if os.getenv("CHIRP_DEBUG"):
- print "Read %i" % len(data)
+ dprint("Read %i" % len(data))
return data
def _clone_in(self):
@@ -382,15 +381,12 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
for _i in range(0, repeat):
time.sleep(0.01)
checksum = yaesu_clone.YaesuChecksum(pos, pos + block - 1)
- if os.getenv("CHIRP_DEBUG"):
- print "Block %i - will send from %i to %i byte " % \
- (blocks,
- pos,
- pos + block)
- print util.hexprint(chr(blocks))
- print util.hexprint(self.get_mmap()[pos:pos + block])
- print util.hexprint(chr(checksum.get_calculated(
- self.get_mmap())))
+ dprint("Block %i - will send from %i to %i byte " % \
+ (blocks, pos, pos + block))
+ dprint(util.hexprint(chr(blocks)))
+ dprint(util.hexprint(self.get_mmap()[pos:pos + block]))
+ dprint(util.hexprint(chr(checksum.get_calculated(
+ self.get_mmap()))))
self.pipe.write(chr(blocks))
self.pipe.write(self.get_mmap()[pos:pos + block])
self.pipe.write(chr(checksum.get_calculated(self.get_mmap())))
@@ -399,8 +395,7 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
time.sleep(delay)
buf = self.pipe.read(1)
if not buf or buf[0] != chr(CMD_ACK):
- if os.getenv("CHIRP_DEBUG"):
- print util.hexprint(buf)
+ dprint(util.hexprint(buf))
raise Exception(_("Radio did not ack block %i") % blocks)
pos += block
blocks += 1
@@ -1030,9 +1025,8 @@ class FT817Radio(yaesu_clone.YaesuCloneModeRadio):
else:
obj = _settings
setting = element.get_name()
- if os.getenv("CHIRP_DEBUG"):
- print "Setting %s(%s) <= %s" % (setting,
- getattr(obj, setting), element.value)
+ dprint("Setting %s(%s) <= %s" % (setting,
+ getattr(obj, setting), element.value))
if setting == "contrast":
setattr(obj, setting, int(element.value) + 1)
elif setting == "callsign":
diff --git a/chirp/ft857.py b/chirp/ft857.py
index a479623..cccaa44 100644
--- a/chirp/ft857.py
+++ b/chirp/ft857.py
@@ -16,7 +16,7 @@
"""FT857 - FT857/US management module"""
-from chirp import ft817, chirp_common, errors, directory
+from chirp import ft817, chirp_common, errors, directory, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
@@ -956,9 +956,8 @@ class FT857Radio(ft817.FT817Radio):
else:
obj = _settings
setting = element.get_name()
- if os.getenv("CHIRP_DEBUG"):
- print "Setting %s(%s) <= %s" % (setting,
- getattr(obj, setting), element.value)
+ dprint("Setting %s(%s) <= %s" % (setting,
+ getattr(obj, setting), element.value))
if setting == "arts_idw":
self._memobj.arts_idw = \
[self._CALLSIGN_CHARSET_REV[x] for x in
diff --git a/chirp/ft90.py b/chirp/ft90.py
index bfbddda..4060756 100644
--- a/chirp/ft90.py
+++ b/chirp/ft90.py
@@ -15,6 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from chirp import chirp_common, bitwise, memmap, directory, errors, util, yaesu_clone
+from chirp import dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
@@ -22,11 +23,6 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
import time, os, traceback, string, re
from textwrap import dedent
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG=False
-
CMD_ACK = chr(0x06)
FT90_STEPS = [5.0, 10.0, 12.5, 15.0, 20.0, 25.0, 50.0]
@@ -289,27 +285,24 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
blocknumbyte = chr(blocknum)
payloadbytes = self.get_mmap()[pos:pos+blocksize]
checksumbyte = chr(checksum.get_calculated(self.get_mmap()))
- if CHIRP_DEBUG:
- print "Block %i - will send from %i to %i byte " % \
- (blocknum, pos, pos + blocksize)
- print util.hexprint(blocknumbyte)
- print util.hexprint(payloadbytes)
- print util.hexprint(checksumbyte)
+ dprint("Block %i - will send from %i to %i byte " % \
+ (blocknum, pos, pos + blocksize))
+ dprint(util.hexprint(blocknumbyte))
+ dprint(util.hexprint(payloadbytes))
+ dprint(util.hexprint(checksumbyte))
# send wrapped bytes
time.sleep(looppredelay)
self.pipe.write(blocknumbyte)
self.pipe.write(payloadbytes)
self.pipe.write(checksumbyte)
tmp = self.pipe.read(blocksize+2) #chew echo
- if CHIRP_DEBUG:
- print "bytes echoed: "
- print util.hexprint(tmp)
+ dprint("bytes echoed: ")
+ dprint(util.hexprint(tmp))
# radio is slow to write/ack:
time.sleep(looppostdelay)
buf = self.pipe.read(1)
- if CHIRP_DEBUG:
- print "ack recd:"
- print util.hexprint(buf)
+ dprint("ack recd:")
+ dprint(util.hexprint(buf))
if buf != CMD_ACK:
raise Exception("Radio did not ack block %i" % blocknum)
pos += blocksize
@@ -463,12 +456,10 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
def _decode_cwid(self, cwidarr):
cwid = ""
- if CHIRP_DEBUG:
- print "@ +_decode_cwid:"
+ dprint("@ +_decode_cwid:")
for byte in cwidarr.get_value():
char = int(byte)
- if CHIRP_DEBUG:
- print char
+ dprint(char)
# bitwise wraps in quotes! get rid of those
if char < len(FT90_CWID_CHARS):
cwid += FT90_CWID_CHARS[char]
@@ -476,21 +467,17 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
def _encode_cwid(self, cwidarr):
cwid = ""
- if CHIRP_DEBUG:
- print "@ _encode_cwid:"
+ dprint("@ _encode_cwid:")
for char in cwidarr.get_value():
cwid += chr(FT90_CWID_CHARS.index(char))
- if CHIRP_DEBUG:
- print cwid
+ dprint(cwid)
return cwid
def _bbcd2dtmf(self, bcdarr, strlen = 16):
# doing bbcd, but with support for ABCD*#
- if CHIRP_DEBUG:
- print bcdarr.get_value()
+ dprint(bcdarr.get_value())
string = ''.join("%02X" % b for b in bcdarr)
- if CHIRP_DEBUG:
- print "@_bbcd2dtmf, received: %s" % string
+ dprint("@_bbcd2dtmf, received: %s" % string)
string = string.replace('E','*').replace('F','#')
if strlen <= 16:
string = string[:strlen]
@@ -501,8 +488,7 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
dtmfstr = dtmfstr.replace('*', 'E').replace('#', 'F')
dtmfstr = str.ljust(dtmfstr.strip(), 16, "0" )
bcdarr = list(bytearray.fromhex(dtmfstr))
- if CHIRP_DEBUG:
- print "@_dtmf2bbcd, sending: %s" % bcdarr
+ dprint("@_dtmf2bbcd, sending: %s" % bcdarr)
return bcdarr
def get_settings(self):
@@ -644,9 +630,7 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
dtmfstrlen = len(str(newval).strip())
setattr(_settings, setting + "_len", dtmfstrlen)
newval = self._dtmf2bbcd(newval)
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ dprint("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
diff --git a/chirp/ftm350.py b/chirp/ftm350.py
index 442cde1..4b823bc 100644
--- a/chirp/ftm350.py
+++ b/chirp/ftm350.py
@@ -18,7 +18,7 @@ import struct
import os
from chirp import chirp_common, yaesu_clone, directory, errors, util
-from chirp import bitwise, memmap
+from chirp import bitwise, memmap, dprint
from chirp.settings import RadioSettingGroup, RadioSetting, RadioSettings
from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
@@ -141,8 +141,8 @@ def _clone_in(radio):
radio.pipe.write("\x06")
time.sleep(0.05)
- if os.getenv("CHIRP_DEBUG") and (last_addr + 128) != addr:
- print "Gap, expecting %04x, got %04x" % (last_addr+128, addr)
+ if (last_addr + 128) != addr:
+ dprint("Gap, expecting %04x, got %04x" % (last_addr+128, addr))
last_addr = addr
data[addr] = block
length += len(block)
diff --git a/chirp/h777.py b/chirp/h777.py
index bce4b98..f37d193 100644
--- a/chirp/h777.py
+++ b/chirp/h777.py
@@ -20,13 +20,11 @@ import struct
import unittest
from chirp import chirp_common, directory, memmap
-from chirp import bitwise, errors, util
+from chirp import bitwise, errors, util, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettings
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
-
MEM_FORMAT = """
#seekto 0x0010;
struct {
@@ -139,8 +137,7 @@ def _h777_read_block(radio, block_addr, block_size):
cmd = struct.pack(">cHb", 'R', block_addr, BLOCK_SIZE)
expectedresponse = "W" + cmd[1:]
- if DEBUG:
- print("Reading block %04x..." % (block_addr))
+ dprint("Reading block %04x..." % (block_addr))
try:
serial.write(cmd)
@@ -166,9 +163,8 @@ def _h777_write_block(radio, block_addr, block_size):
cmd = struct.pack(">cHb", 'W', block_addr, BLOCK_SIZE)
data = radio.get_mmap()[block_addr:block_addr + 8]
- if DEBUG:
- print("Writing Data:")
- print util.hexprint(cmd + data)
+ dprint("Writing Data:")
+ dprint(util.hexprint(cmd + data))
try:
serial.write(cmd + data)
@@ -197,9 +193,8 @@ def do_download(radio):
block = _h777_read_block(radio, addr, BLOCK_SIZE)
data += block
- if DEBUG:
- print "Address: %04x" % addr
- print util.hexprint(block)
+ dprint("Address: %04x" % addr)
+ dprint(util.hexprint(block))
_h777_exit_programming_mode(radio)
diff --git a/chirp/icomciv.py b/chirp/icomciv.py
index 71af300..54f2b57 100644
--- a/chirp/icomciv.py
+++ b/chirp/icomciv.py
@@ -1,10 +1,8 @@
import struct
-from chirp import chirp_common, icf, util, errors, bitwise, directory
+from chirp import chirp_common, icf, util, errors, bitwise, directory, dprint
from chirp.memmap import MemoryMap
-DEBUG = True
-
MEM_FORMAT = """
bbcd number[2];
u8 unknown1;
@@ -80,9 +78,8 @@ class Frame:
raw = struct.pack("BBBBBB", 0xFE, 0xFE, src, dst, self._cmd, self._sub)
raw += str(self._data) + chr(0xFD)
- if DEBUG:
- print "%02x -> %02x (%i):\n%s" % (src, dst,
- len(raw), util.hexprint(raw))
+ dprint("%02x -> %02x (%i):\n%s" % (src, dst,
+ len(raw), util.hexprint(raw)))
serial.write(raw)
if willecho:
@@ -106,8 +103,7 @@ class Frame:
raise errors.RadioError("Radio reported error")
src, dst = struct.unpack("BB", data[2:4])
- if DEBUG:
- print "%02x <- %02x:\n%s" % (src, dst, util.hexprint(data))
+ dprint("%02x <- %02x:\n%s" % (src, dst, util.hexprint(data)))
self._cmd = ord(data[4])
self._sub = ord(data[5])
diff --git a/chirp/idrp.py b/chirp/idrp.py
index e20ba07..8a08e00 100644
--- a/chirp/idrp.py
+++ b/chirp/idrp.py
@@ -15,10 +15,7 @@
import serial
-from chirp import chirp_common, errors
-from chirp import util
-
-DEBUG_IDRP = False
+from chirp import chirp_common, errors, util, dprint
def parse_frames(buf):
"""Parse frames from the radio"""
@@ -49,8 +46,7 @@ def send(pipe, buf):
break
data += buf
- if DEBUG_IDRP:
- print "Got: \n%s" % util.hexprint(buf)
+ dprint("Got: \n%s" % util.hexprint(buf))
return parse_frames(data)
@@ -97,8 +93,7 @@ def get_freq(pipe):
ord(els[2]),
ord(els[1]),
ord(els[0])))
- if DEBUG_IDRP:
- print "Freq: %f" % freq
+ dprint("Freq: %f" % freq)
return freq
raise errors.InvalidDataError("No frequency frame received")
diff --git a/chirp/kenwood_live.py b/chirp/kenwood_live.py
index 971c08e..f63dda5 100644
--- a/chirp/kenwood_live.py
+++ b/chirp/kenwood_live.py
@@ -29,8 +29,6 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueBoolean, \
RadioSettingValueString, RadioSettingValueList, RadioSettings
-DEBUG = True
-
DUPLEX = { 0 : "", 1 : "+", 2 : "-" }
MODES = { 0 : "FM", 1 : "AM" }
STEPS = list(chirp_common.TUNING_STEPS)
@@ -49,8 +47,7 @@ def command(ser, cmd, *args):
LOCK.acquire()
if args:
cmd += " " + " ".join(args)
- if DEBUG:
- print "PC->RADIO: %s" % cmd
+ dprint("PC->RADIO: %s" % cmd)
ser.write(cmd + "\r")
result = ""
@@ -60,8 +57,7 @@ def command(ser, cmd, *args):
print "Timeout waiting for data"
break
- if DEBUG:
- print "D7->PC: %s" % result.strip()
+ dprint("D7->PC: %s" % result.strip())
LOCK.release()
diff --git a/chirp/kguv8d.py b/chirp/kguv8d.py
index 772b04f..3344b5c 100644
--- a/chirp/kguv8d.py
+++ b/chirp/kguv8d.py
@@ -17,17 +17,12 @@
import time
import os
-from chirp import util, chirp_common, bitwise, memmap, errors, directory
+from chirp import util, chirp_common, bitwise, memmap, errors, directory, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueList, \
RadioSettingValueInteger, RadioSettingValueString, \
RadioSettings
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
CMD_ID = 128
CMD_END = 129
CMD_RD = 130
@@ -304,8 +299,7 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
_packet += payload
# calculate and add the checksum to the packet
_packet += chr(self._checksum(_packet[1:]))
- if CHIRP_DEBUG:
- print "Sent:\n%s" % util.hexprint(_packet)
+ dprint("Sent:\n%s" % util.hexprint(_packet))
self.pipe.write(_packet)
def _read_record(self):
@@ -317,9 +311,8 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
_cs += self._checksum(_packet)
_cs %= 256
_rcs = ord(self.pipe.read(1))
- if CHIRP_DEBUG:
- print "_cs =", _cs
- print "_rcs=", _rcs
+ dprint("_cs =", _cs)
+ dprint("_rcs=", _rcs)
return (_rcs != _cs, _packet)
# Identify the radio
@@ -350,14 +343,12 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
for _i in range(0, 10):
self._write_record(CMD_ID)
_chksum_err, _resp = self._read_record()
- if CHIRP_DEBUG:
- print "Got:\n%s" % util.hexprint(_resp)
+ dprint("Got:\n%s" % util.hexprint(_resp))
if _chksum_err:
print "Checksum error: retrying ident..."
time.sleep(0.100)
continue
- if CHIRP_DEBUG:
- print "Model %s" % util.hexprint(_resp[0:7])
+ dprint("Model %s" % util.hexprint(_resp[0:7]))
if _resp[0:7] == self._model:
return
if len(_resp) == 0:
@@ -407,8 +398,7 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
# TODO: probably should retry a few times here
print util.hexprint(resp)
raise Exception("Checksum error on read")
- if CHIRP_DEBUG:
- print "Got:\n%s" % util.hexprint(resp)
+ dprint("Got:\n%s" % util.hexprint(resp))
image += resp[2:]
if self.status_fn:
status = chirp_common.Status()
@@ -436,11 +426,9 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
req = chr(i / 256) + chr(i % 256)
chunk = self.get_mmap()[ptr:ptr + blocksize]
self._write_record(CMD_WR, req + chunk)
- if CHIRP_DEBUG:
- print util.hexprint(req + chunk)
+ dprint(util.hexprint(req + chunk))
cserr, ack = self._read_record()
- if CHIRP_DEBUG:
- print util.hexprint(ack)
+ dprint(util.hexprint(ack))
j = ord(ack[0]) * 256 + ord(ack[1])
if cserr or j != ptr:
raise Exception("Radio did not ack block %i" % ptr)
@@ -537,9 +525,8 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
# always set it even if no dtcs is used
mem.dtcs_polarity = "%s%s" % (tpol or "N", rpol or "N")
- if os.getenv("CHIRP_DEBUG"):
- print "Got TX %s (%i) RX %s (%i)" % (txmode, _mem.txtone,
- rxmode, _mem.rxtone)
+ dprint("Got TX %s (%i) RX %s (%i)" % (txmode, _mem.txtone,
+ rxmode, _mem.rxtone))
def get_memory(self, number):
_mem = self._memobj.memory[number]
@@ -549,8 +536,7 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
mem.number = number
_valid = self._memobj.valid[mem.number]
- if CHIRP_DEBUG:
- print number, _valid == MEM_VALID
+ dprint(number, _valid == MEM_VALID)
if _valid != MEM_VALID:
mem.empty = True
return mem
@@ -618,9 +604,8 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
else:
_mem.rxtone = 0
- if CHIRP_DEBUG:
- print "Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.txtone,
- rx_mode, _mem.rxtone)
+ dprint("Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.txtone,
+ rx_mode, _mem.rxtone))
def set_memory(self, mem):
number = mem.number
diff --git a/chirp/kyd.py b/chirp/kyd.py
index 2d4223d..ac2c3b1 100644
--- a/chirp/kyd.py
+++ b/chirp/kyd.py
@@ -19,13 +19,11 @@ import os
import struct
from chirp import chirp_common, directory, memmap
-from chirp import bitwise, errors, util
+from chirp import bitwise, errors, util, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettings
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
-
MEM_FORMAT = """
#seekto 0x0010;
struct {
@@ -132,8 +130,7 @@ def _nc630a_read_block(radio, block_addr, block_size):
cmd = struct.pack(">cHb", 'R', block_addr, BLOCK_SIZE)
expectedresponse = "W" + cmd[1:]
- if DEBUG:
- print("Reading block %04x..." % (block_addr))
+ dprint("Reading block %04x..." % (block_addr))
try:
serial.write(cmd)
@@ -159,9 +156,8 @@ def _nc630a_write_block(radio, block_addr, block_size):
cmd = struct.pack(">cHb", 'W', block_addr, BLOCK_SIZE)
data = radio.get_mmap()[block_addr:block_addr + 8]
- if DEBUG:
- print("Writing Data:")
- print util.hexprint(cmd + data)
+ dprint("Writing Data:")
+ dprint(util.hexprint(cmd + data))
try:
serial.write(cmd + data)
@@ -190,9 +186,8 @@ def do_download(radio):
block = _nc630a_read_block(radio, addr, BLOCK_SIZE)
data += block
- if DEBUG:
- print "Address: %04x" % addr
- print util.hexprint(block)
+ dprint("Address: %04x" % addr)
+ dprint(util.hexprint(block))
_nc630a_exit_programming_mode(radio)
@@ -301,9 +296,8 @@ class NC630aRadio(chirp_common.CloneModeRadio):
if mem.tmode == "DTCS":
mem.dtcs_polarity = "%s%s" % (tpol, rpol)
- if os.getenv("CHIRP_DEBUG"):
- print "Got TX %s (%i) RX %s (%i)" % (txmode, _mem.tx_tone,
- rxmode, _mem.rx_tone)
+ dprint("Got TX %s (%i) RX %s (%i)" % (txmode, _mem.tx_tone,
+ rxmode, _mem.rx_tone))
def get_memory(self, number):
bitpos = (1 << ((number - 1) % 8))
@@ -387,9 +381,8 @@ class NC630aRadio(chirp_common.CloneModeRadio):
else:
_mem.rx_tone = 0xFFFF
- if os.getenv("CHIRP_DEBUG"):
- print "Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
- rx_mode, _mem.rx_tone)
+ dprint("Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
+ rx_mode, _mem.rx_tone))
def set_memory(self, mem):
bitpos = (1 << ((mem.number - 1) % 8))
diff --git a/chirp/leixen.py b/chirp/leixen.py
index 1977f0c..285fe84 100644
--- a/chirp/leixen.py
+++ b/chirp/leixen.py
@@ -24,11 +24,6 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueFloat, InvalidValueError, RadioSettings
from textwrap import dedent
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
MEM_FORMAT = """
#seekto 0x0184;
struct {
diff --git a/chirp/puxing.py b/chirp/puxing.py
index 88cbe79..f38b41e 100644
--- a/chirp/puxing.py
+++ b/chirp/puxing.py
@@ -20,11 +20,6 @@ import os
from chirp import util, chirp_common, bitwise, errors, directory
from chirp.wouxun_common import wipe_memory, do_download, do_upload
-if os.getenv("CHIRP_DEBUG"):
- DEBUG = True
-else:
- DEBUG = False
-
def _puxing_prep(radio):
radio.pipe.write("\x02PROGRA")
ack = radio.pipe.read(1)
diff --git a/chirp/th9800.py b/chirp/th9800.py
index 3edc310..50dbd53 100644
--- a/chirp/th9800.py
+++ b/chirp/th9800.py
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from chirp import bitwise, chirp_common, directory, errors, util, memmap
+from chirp import bitwise, chirp_common, directory, errors, util, memmap, dprint
import struct
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
@@ -26,11 +26,6 @@ import os
import time
from datetime import date
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
TH9800_MEM_FORMAT = """
struct mem {
lbcd rx_freq[4];
@@ -323,8 +318,7 @@ class TYTTH9800Base(chirp_common.Radio):
_prev_active = self.get_active("chan_active", mem.number)
self.set_active("chan_active", mem.number, not mem.empty)
if mem.empty or not _prev_active:
- if CHIRP_DEBUG:
- print "initializing memory channel %d" % mem.number
+ dprint("initializing memory channel %d" % mem.number)
_mem.set_raw(BLANK_MEMORY)
if mem.empty:
@@ -390,8 +384,7 @@ class TYTTH9800Base(chirp_common.Radio):
_mem.step = STEPS.index(mem.tuning_step)
for setting in mem.extra:
- if CHIRP_DEBUG:
- print "@set_mem:", setting.get_name(), setting.value
+ dprint("@set_mem:", setting.get_name(), setting.value)
setattr(_mem, setting.get_name(), setting.value)
def get_settings(self):
@@ -559,9 +552,7 @@ class TYTTH9800Base(chirp_common.Radio):
oldval = getattr(_settings, setting)
newval = element.value
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ dprint("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
@@ -666,12 +657,12 @@ def _upload(radio, memsize = 0xF400, blocksize = 0x80):
m = today.month
d = today.day
_info = radio._memobj.info
- if CHIRP_DEBUG:
- ly = _info.prog_yr
- lm = _info.prog_mon
- ld = _info.prog_day
- print "Updating last program date:%d/%d/%d" % (lm,ld,ly)
- print " to today:%d/%d/%d" % (m,d,y)
+
+ ly = _info.prog_yr
+ lm = _info.prog_mon
+ ld = _info.prog_day
+ dprint("Updating last program date:%d/%d/%d" % (lm,ld,ly))
+ dprint(" to today:%d/%d/%d" % (m,d,y))
_info.prog_yr = y
_info.prog_mon = m
@@ -680,8 +671,7 @@ def _upload(radio, memsize = 0xF400, blocksize = 0x80):
offset = 0x0100
for addr in range(offset, memsize, blocksize):
mapaddr = addr + radio._mmap_offset - offset
- if CHIRP_DEBUG:
- print "addr: 0x%04X, mmapaddr: 0x%04X" % (addr, mapaddr)
+ dprint("addr: 0x%04X, mmapaddr: 0x%04X" % (addr, mapaddr))
msg = struct.pack(">cHB", "W", addr, blocksize)
msg += radio._mmap[mapaddr:(mapaddr + blocksize)]
print util.hexprint(msg)
@@ -703,8 +693,7 @@ def _upload(radio, memsize = 0xF400, blocksize = 0x80):
# Checksum?
final_data = radio.pipe.read(3)
- if CHIRP_DEBUG:
- print "final:", util.hexprint(final_data)
+ dprint("final:", util.hexprint(final_data))
@directory.register
class TYTTH9800Radio(TYTTH9800Base, chirp_common.CloneModeRadio,
diff --git a/chirp/th_uv3r.py b/chirp/th_uv3r.py
index 5e3e2c0..3b670fe 100644
--- a/chirp/th_uv3r.py
+++ b/chirp/th_uv3r.py
@@ -19,11 +19,6 @@ import os
from chirp import chirp_common, bitwise, errors, directory
from chirp.wouxun_common import do_download, do_upload
-if os.getenv("CHIRP_DEBUG"):
- DEBUG = True
-else:
- DEBUG = False
-
def tyt_uv3r_prep(radio):
try:
radio.pipe.write("PROGRAMa")
diff --git a/chirp/thd72.py b/chirp/thd72.py
index 0d80adc..926a927 100644
--- a/chirp/thd72.py
+++ b/chirp/thd72.py
@@ -14,11 +14,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from chirp import chirp_common, errors, util, directory
-from chirp import bitwise, memmap
+from chirp import bitwise, memmap, dprint
import time, struct, sys
-DEBUG = True
-
# TH-D72 memory map
# 0x0000..0x0200: startup password and other stuff
# 0x0200..0x0400: current channel and other settings
@@ -452,13 +450,11 @@ class THD72Radio(chirp_common.CloneModeRadio):
start = time.time()
data = ""
- if DEBUG:
- print "PC->D72: %s" % cmd
+ dprint("PC->D72: %s" % cmd)
self.pipe.write(cmd + "\r")
while not data.endswith("\r") and (time.time() - start) < timeout:
data += self.pipe.read(1)
- if DEBUG:
- print "D72->PC: %s" % data.strip()
+ dprint("D72->PC: %s" % data.strip())
return data.strip()
def get_id(self):
diff --git a/chirp/tk8102.py b/chirp/tk8102.py
index 32e8621..9cc661f 100644
--- a/chirp/tk8102.py
+++ b/chirp/tk8102.py
@@ -17,7 +17,7 @@ import struct
import os
from chirp import chirp_common, directory, memmap, errors, util
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSettingGroup, RadioSetting
from chirp.settings import RadioSettingValueBoolean, RadioSettingValueList
from chirp.settings import RadioSettingValueString, RadioSettings
@@ -317,9 +317,8 @@ class KenwoodTKx102Radio(chirp_common.CloneModeRadio):
else:
_mem.rx_tone = 0xFFFF
- if os.getenv("CHIRP_DEBUG"):
- print "Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
- rx_mode, _mem.rx_tone)
+ dprint("Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
+ rx_mode, _mem.rx_tone))
def set_memory(self, mem):
_mem = self._memobj.memory[mem.number - 1]
diff --git a/chirp/tmv71_ll.py b/chirp/tmv71_ll.py
index dac7f36..affe360 100644
--- a/chirp/tmv71_ll.py
+++ b/chirp/tmv71_ll.py
@@ -15,9 +15,7 @@
import struct, time
-from chirp import memmap, chirp_common, errors
-
-DEBUG = True
+from chirp import memmap, chirp_common, errors, dprint
POS_MODE = 5
POS_DUP = 6
@@ -50,13 +48,11 @@ def command(s, cmd, timeout=0.5):
start = time.time()
data = ""
- if DEBUG:
- print "PC->V71: %s" % cmd
+ dprint("PC->V71: %s" % cmd)
s.write(cmd + "\r")
while not data.endswith("\r") and (time.time() - start) < timeout:
data += s.read(1)
- if DEBUG:
- print "V71->PC: %s" % data.strip()
+ dprint("V71->PC: %s" % data.strip())
return data.strip()
def get_id(s):
diff --git a/chirp/uv5r.py b/chirp/uv5r.py
index 6fcbae1..55e0516 100644
--- a/chirp/uv5r.py
+++ b/chirp/uv5r.py
@@ -18,18 +18,13 @@ import time
import os
from chirp import chirp_common, errors, util, directory, memmap
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettingValueFloat, InvalidValueError, RadioSettings
from textwrap import dedent
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
MEM_FORMAT = """
#seekto 0x0008;
struct {
@@ -394,8 +389,7 @@ def _firmware_version_from_image(radio):
version = _firmware_version_from_data(radio.get_mmap(),
radio._fw_ver_file_start,
radio._fw_ver_file_stop)
- if CHIRP_DEBUG:
- print "_firmware_version_from_image: " + util.hexprint(version)
+ dprint("_firmware_version_from_image: " + util.hexprint(version))
return version
def _special_block_from_data(data, special_block_start, special_block_stop):
@@ -404,8 +398,7 @@ def _special_block_from_data(data, special_block_start, special_block_stop):
def _special_block_from_image(radio):
special_block = _special_block_from_data(radio.get_mmap(), 0x0CFA, 0x0D01)
- if CHIRP_DEBUG:
- print "_special_block_from_image: " + util.hexprint(special_block)
+ dprint("_special_block_from_image: " + util.hexprint(special_block))
return special_block
def _do_ident(radio, magic):
@@ -504,19 +497,16 @@ def _do_download(radio):
raise errors.RadioError("Incorrect 'Model' selected.")
# Main block
- if CHIRP_DEBUG:
- print "downloading main block..."
+ dprint("downloading main block...")
for i in range(0, 0x1800, 0x40):
data += _read_block(radio, i, 0x40)
_do_status(radio, i)
- if CHIRP_DEBUG:
- print "done."
- print "downloading aux block..."
+ dprint("done.")
+ dprint("downloading aux block...")
# Auxiliary block starts at 0x1ECO (?)
for i in range(0x1EC0, 0x2000, 0x40):
data += _read_block(radio, i, 0x40)
- if CHIRP_DEBUG:
- print "done."
+ dprint("done.")
return memmap.MemoryMap(data)
def _send_block(radio, addr, data):
@@ -916,8 +906,7 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
def _is_orig(self):
version_tag = _firmware_version_from_image(self)
- if CHIRP_DEBUG:
- print "@_is_orig, version_tag:", util.hexprint(version_tag)
+ dprint("@_is_orig, version_tag:", util.hexprint(version_tag))
try:
if 'BFB' in version_tag:
idx = version_tag.index("BFB") + 3
diff --git a/chirp/vx170.py b/chirp/vx170.py
index 20aac04..eaa7dbc 100644
--- a/chirp/vx170.py
+++ b/chirp/vx170.py
@@ -19,11 +19,6 @@ from textwrap import dedent
import time, os
from chirp import ft7800
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
MEM_FORMAT = """
#seekto 0x018A;
struct {
diff --git a/chirp/vx2.py b/chirp/vx2.py
index 3156806..dadf336 100644
--- a/chirp/vx2.py
+++ b/chirp/vx2.py
@@ -14,18 +14,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from chirp import chirp_common, yaesu_clone, directory, bitwise
+from chirp import chirp_common, yaesu_clone, directory, bitwise, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
import os, traceback, re
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
MEM_FORMAT = """
#seekto 0x7F52;
u8 checksum;
@@ -410,9 +405,8 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
return VX2BankModel(self)
def _decode_chars(self, inarr):
- if CHIRP_DEBUG:
- print "@_decode_chars, type: %s" % type(inarr)
- print inarr
+ dprint("@_decode_chars, type: %s" % type(inarr))
+ dprint(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -421,9 +415,8 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
return outstr.rstrip()
def _encode_chars(self, instr, length = 16):
- if CHIRP_DEBUG:
- print "@_encode_chars, type: %s" % type(instr)
- print instr
+ dprint("@_encode_chars, type: %s" % type(instr))
+ dprint(instr)
outarr = []
instr = str(instr)
for i in range(0, length):
@@ -648,8 +641,7 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
for c in dtmfsetting.digits:
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ dprint(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -676,8 +668,7 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ dprint(newval)
idx = int(setting[-1:]) - 1
_settings = self._memobj.dtmf[idx]
_settings.digits = newval
@@ -698,12 +689,10 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
newval = self._encode_chars(newval)
if setting == "openmsg":
newval = self._encode_chars(newval, 6)
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ dprint("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
raise
-
\ No newline at end of file
+
diff --git a/chirp/vx3.py b/chirp/vx3.py
index 99d0951..dfa6ffe 100644
--- a/chirp/vx3.py
+++ b/chirp/vx3.py
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from chirp import chirp_common, yaesu_clone, directory
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
@@ -29,11 +29,6 @@ import os, re
#0x0409 checksum2?
#0x04C9 checksum2a?
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
-
MEM_FORMAT = """
#seekto 0x7F4A;
u8 checksum;
@@ -499,9 +494,8 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
return VX3BankModel(self)
def _decode_chars(self, inarr):
- if CHIRP_DEBUG:
- print "@_decode_chars, type: %s" % type(inarr)
- print inarr
+ dprint("@_decode_chars, type: %s" % type(inarr))
+ dprint(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -510,9 +504,8 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
return outstr.rstrip()
def _encode_chars(self, instr, length = 16):
- if CHIRP_DEBUG:
- print "@_encode_chars, type: %s" % type(instr)
- print instr
+ dprint("@_encode_chars, type: %s" % type(instr))
+ dprint(instr)
outarr = []
instr = str(instr)
for i in range(length):
@@ -785,8 +778,7 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
for c in dtmfsetting.memory:
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ dprint(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -861,8 +853,7 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ dprint(newval)
idx = int(setting[-1:])
_settings = self._memobj.dtmf[idx]
_settings.memory = newval
@@ -885,11 +876,9 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
newval = self._encode_chars(newval)
if setting == "openmsg":
newval = self._encode_chars(newval, 6)
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ dprint("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
raise
-
\ No newline at end of file
+
diff --git a/chirp/vx8.py b/chirp/vx8.py
index 02490a1..945abbd 100644
--- a/chirp/vx8.py
+++ b/chirp/vx8.py
@@ -17,7 +17,7 @@ import os
import re
from chirp import chirp_common, yaesu_clone, directory
-from chirp import bitwise
+from chirp import bitwise, dprint
from chirp.settings import RadioSettingGroup, RadioSetting, RadioSettings
from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
from chirp.settings import RadioSettingValueList, RadioSettingValueBoolean
@@ -1461,8 +1461,7 @@ class VX8DRadio(VX8Radio):
is_latitude = name.endswith("latitude")
lat_long = setting.value.get_value().strip()
sign, l_d, l_m, l_s = cls._str_to_latlong(lat_long, is_latitude)
- if os.getenv("CHIRP_DEBUG"):
- print "%s: %d %d %d %d" % (name, sign, l_d, l_m, l_s)
+ dprint("%s: %d %d %d %d" % (name, sign, l_d, l_m, l_s))
setattr(obj, "%s_sign" % name, sign)
setattr(obj, "%s_degree" % name, l_d)
setattr(obj, "%s_minute" % name, l_m)
@@ -1499,9 +1498,8 @@ class VX8DRadio(VX8Radio):
try:
old_val = getattr(obj, setting)
- if os.getenv("CHIRP_DEBUG"):
- print "Setting %s(%r) <= %s" % (
- element.get_name(), old_val, element.value)
+ dprint("Setting %s(%r) <= %s" % (
+ element.get_name(), old_val, element.value))
setattr(obj, setting, element.value)
except AttributeError as e:
print "Setting %s is not in the memory map: %s" % (
diff --git a/chirp/wouxun.py b/chirp/wouxun.py
index 6feec42..e63f6ed 100644
--- a/chirp/wouxun.py
+++ b/chirp/wouxun.py
@@ -17,7 +17,7 @@
import time
import os
-from chirp import util, chirp_common, bitwise, memmap, errors, directory
+from chirp import util, chirp_common, bitwise, memmap, errors, directory, dprint
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueList, \
RadioSettingValueInteger, RadioSettingValueString, \
@@ -717,9 +717,8 @@ class KGUVD1PRadio(chirp_common.CloneModeRadio,
# always set it even if no dtcs is used
mem.dtcs_polarity = "%s%s" % (tpol or "N", rpol or "N")
- if os.getenv("CHIRP_DEBUG"):
- print "Got TX %s (%i) RX %s (%i)" % (txmode, _mem.tx_tone,
- rxmode, _mem.rx_tone)
+ dprint("Got TX %s (%i) RX %s (%i)" % (txmode, _mem.tx_tone,
+ rxmode, _mem.rx_tone))
def _is_txinh(self, _mem):
raw_tx = ""
@@ -817,9 +816,8 @@ class KGUVD1PRadio(chirp_common.CloneModeRadio,
else:
_mem.rx_tone = 0xFFFF
- if os.getenv("CHIRP_DEBUG"):
- print "Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
- rx_mode, _mem.rx_tone)
+ dprint("Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone,
+ rx_mode, _mem.rx_tone))
def set_memory(self, mem):
_mem = self._memobj.memory[mem.number - 1]
diff --git a/chirp/wouxun_common.py b/chirp/wouxun_common.py
index 3c78b3a..d384007 100644
--- a/chirp/wouxun_common.py
+++ b/chirp/wouxun_common.py
@@ -18,7 +18,7 @@
import struct
import os
-from chirp import util, chirp_common, memmap
+from chirp import util, chirp_common, memmap, dprint
def wipe_memory(_mem, byte):
"""Cleanup a memory"""
@@ -29,8 +29,7 @@ def do_download(radio, start, end, blocksize):
image = ""
for i in range(start, end, blocksize):
cmd = struct.pack(">cHb", "R", i, blocksize)
- if os.getenv("CHIRP_DEBUG"):
- print util.hexprint(cmd)
+ dprint(util.hexprint(cmd))
radio.pipe.write(cmd)
length = len(cmd) + blocksize
resp = radio.pipe.read(length)
@@ -61,8 +60,7 @@ def do_upload(radio, start, end, blocksize):
chunk = radio.get_mmap()[ptr:ptr+blocksize]
ptr += blocksize
radio.pipe.write(cmd + chunk)
- if os.getenv("CHIRP_DEBUG"):
- print util.hexprint(cmd + chunk)
+ dprint(util.hexprint(cmd + chunk))
ack = radio.pipe.read(1)
if not ack == "\x06":
diff --git a/chirp/yaesu_clone.py b/chirp/yaesu_clone.py
index 57958c3..f27c375 100644
--- a/chirp/yaesu_clone.py
+++ b/chirp/yaesu_clone.py
@@ -15,7 +15,7 @@
CMD_ACK = 0x06
-from chirp import chirp_common, util, memmap, errors
+from chirp import chirp_common, util, memmap, errors, dprint
import time, os
from textwrap import dedent
@@ -49,8 +49,7 @@ def _chunk_read(pipe, count, status_fn):
status.max = count
status.cur = len(data)
status_fn(status)
- if os.getenv("CHIRP_DEBUG"):
- print "Read %i/%i" % (len(data), count)
+ dprint("Read %i/%i" % (len(data), count))
return data
def __clone_in(radio):
@@ -91,8 +90,7 @@ def _chunk_write(pipe, data, status_fn, block):
chunk = data[i:i+block]
pipe.write(chunk)
count += len(chunk)
- if os.getenv("CHIRP_DEBUG"):
- print "@_chunk_write, count: %i, blocksize: %i" % (count,block)
+ dprint("@_chunk_write, count: %i, blocksize: %i" % (count,block))
time.sleep(delay)
status = chirp_common.Status()
@@ -120,8 +118,7 @@ def __clone_out(radio):
for block in radio._block_lengths:
blocks += 1
if blocks != len(radio._block_lengths):
- if os.getenv("CHIRP_DEBUG"):
- print "Sending %i-%i" % (pos, pos+block)
+ dprint("Sending %i-%i" % (pos, pos+block))
pipe.write(radio.get_mmap()[pos:pos+block])
buf = pipe.read(1)
if buf and buf[0] != chr(CMD_ACK):
diff --git a/chirpui/reporting.py b/chirpui/reporting.py
index c48c6bb..23baa88 100644
--- a/chirpui/reporting.py
+++ b/chirpui/reporting.py
@@ -33,7 +33,6 @@ from chirp import CHIRP_VERSION, platform
REPORT_URL = "http://chirp.danplanet.com/report/report.php?do_report"
ENABLED = True
-DEBUG = os.getenv("CHIRP_DEBUG") == "y"
THREAD_SEM = threading.Semaphore(10) # Maximum number of outstanding threads
LAST = 0
LAST_TYPE = None
@@ -45,18 +44,14 @@ try:
except:
ENABLED = False
-def debug(string):
- if DEBUG:
- print string
-
def should_report():
if not ENABLED:
- debug("Not reporting due to recent failure")
+ dprint("Not reporting due to recent failure")
return False
conf = config.get()
if conf.get_bool("no_report"):
- debug("Reporting disabled")
+ dprint("Reporting disabled")
return False
return True
@@ -70,7 +65,7 @@ def _report_model_usage(model, direction, success):
model = "%s_%s" % (model.VENDOR, model.MODEL)
data = "%s,%s,%s" % (model, direction, success)
- debug("Reporting model usage: %s" % data)
+ dprint("Reporting model usage: %s" % data)
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_stats(CHIRP_VERSION,
@@ -84,7 +79,7 @@ def _report_model_usage(model, direction, success):
def _report_exception(stack):
global ENABLED
- debug("Reporting exception")
+ dprint("Reporting exception")
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_exception(CHIRP_VERSION,
@@ -98,7 +93,7 @@ def _report_exception(stack):
def _report_misc_error(module, data):
global ENABLED
- debug("Reporting misc error with %s" % module)
+ dprint("Reporting misc error with %s" % module)
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_misc_error(CHIRP_VERSION,
@@ -109,12 +104,12 @@ def _report_misc_error(module, data):
return id != 0
def _check_for_updates(callback):
- debug("Checking for updates")
+ dprint("Checking for updates")
proxy = xmlrpclib.ServerProxy(REPORT_URL)
ver = proxy.check_for_updates(CHIRP_VERSION,
platform.get_platform().os_version_string())
- debug("Server reports version %s is latest" % ver)
+ dprint("Server reports version %s is latest" % ver)
callback(ver)
return True
@@ -128,7 +123,7 @@ class ReportThread(threading.Thread):
try:
return self.__func(*self.__args)
except Exception, e:
- debug("Failed to report: %s" % e)
+ dprint("Failed to report: %s" % e)
return False
def run(self):
@@ -139,7 +134,7 @@ class ReportThread(threading.Thread):
ENABLED = False
elif (time.time() - start) > 15:
# Reporting took too long
- debug("Time to report was %.2f sec -- Disabling" % \
+ dprint("Time to report was %.2f sec -- Disabling" % \
(time.time()-start))
ENABLED = False
@@ -151,13 +146,13 @@ def dispatch_thread(func, *args):
# If reporting is disabled or failing, bail
if not should_report():
- debug("Reporting is disabled")
+ dprint("Reporting is disabled")
return
# If the time between now and the last report is less than 5 seconds, bail
delta = time.time() - LAST
if delta < 5 and func == LAST_TYPE:
- debug("Throttling...")
+ dprint("Throttling...")
return
LAST = time.time()
@@ -165,7 +160,7 @@ def dispatch_thread(func, *args):
# If there are already too many threads running, bail
if not THREAD_SEM.acquire(False):
- debug("Too many threads already running")
+ dprint("Too many threads already running")
return
t = ReportThread(func, *args)
--
1.9.1
More information about the chirp_devel
mailing list