[chirp_devel] [PATCH 02/12] Use new logger module (#2347)
Zach Welch
Fri Feb 27 02:24:39 PST 2015
# HG changeset patch
# User Zach Welch <zach at mandolincreekfarm.com>
# Fake Node ID fb1897f975f805f2c6d5b51e4b790fe1a24c7292
Use new logger module (#2347)
This patch chases down all references to CHIRP_DEBUG, converting the
wrapped print calls to LOG.debug calls. It also eliminates a few plain
DEBUG variables and a couple of other one-off variants.
diff --git a/chirp/anytone.py b/chirp/anytone.py
index 4b9c785..b7d722b 100644
--- a/chirp/anytone.py
+++ b/chirp/anytone.py
@@ -16,6 +16,7 @@
import os
import struct
import time
+import logging
from chirp import bitwise
from chirp import chirp_common
@@ -26,6 +27,8 @@ from chirp import util
from chirp.settings import RadioSettingGroup, RadioSetting, RadioSettings, \
RadioSettingValueList, RadioSettingValueString, RadioSettingValueBoolean
+LOG = logging.getLogger(__name__)
+
_mem_format = """
#seekto 0x0100;
struct {
@@ -164,10 +167,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 +200,7 @@ def _ident(radio):
raise errors.RadioError("Unsupported model")
_echo_write(radio, "\x02")
response = radio.pipe.read(16)
- _debug(util.hexprint(response))
+ LOG.debug(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 +226,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))
+ LOG.debug("Sent:\n%s" % util.hexprint(frame))
if data:
result = radio.pipe.read(1)
if result != "\x06":
@@ -236,7 +235,7 @@ def _send(radio, cmd, addr, length, data=None):
addr)
return
result = _read(radio, length + 6)
- _debug("Got:\n%s" % util.hexprint(result))
+ LOG.debug("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..db0259f 100644
--- a/chirp/ft1d.py
+++ b/chirp/ft1d.py
@@ -17,6 +17,7 @@
import os
import re
import string
+import logging
from chirp import chirp_common, yaesu_clone, directory
from chirp import bitwise
@@ -25,6 +26,8 @@ from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
from chirp.settings import RadioSettingValueList, RadioSettingValueBoolean
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
MEM_FORMAT = """
#seekto 0x049a;
struct {
@@ -1549,8 +1552,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)
+ LOG.debug("%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 +1589,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)
+ LOG.debug("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 +1624,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..feac0ce 100644
--- a/chirp/ft2800.py
+++ b/chirp/ft2800.py
@@ -15,11 +15,12 @@
import time
import os
+import logging
from chirp import util, memmap, chirp_common, bitwise, directory, errors
from chirp.yaesu_clone import YaesuCloneModeRadio
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
+LOG = logging.getLogger(__name__)
CHUNK_SIZE = 16
def _send(s, data):
@@ -41,8 +42,7 @@ def _download(radio):
if data == IDBLOCK:
break
- if DEBUG:
- print "Header:\n%s" % util.hexprint(data)
+ LOG.debug("Header:\n%s" % util.hexprint(data))
if len(data) != 8:
raise Exception("Failed to read header")
@@ -54,8 +54,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))
+ LOG.debug("Got: %i:\n%s" % (len(chunk), util.hexprint(chunk)))
if len(chunk) == 8:
print "END?"
elif len(chunk) != 38:
@@ -79,8 +78,7 @@ def _download(radio):
status.msg = "Cloning from radio"
radio.status_fn(status)
- if DEBUG:
- print "Total: %i" % len(data)
+ LOG.debug("Total: %i" % len(data))
return memmap.MemoryMap(data)
@@ -94,8 +92,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))
+ LOG.debug("Ack was (%i):\n%s" % (len(ack), util.hexprint(ack)))
if ack != ACK:
raise Exception("Radio did not ack ID")
@@ -108,8 +105,7 @@ def _upload(radio):
cs += ord(byte)
data += chr(cs & 0xFF)
- if DEBUG:
- print "Writing block %i:\n%s" % (block, util.hexprint(data))
+ LOG.debug("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..74799ef 100644
--- a/chirp/ft60.py
+++ b/chirp/ft60.py
@@ -13,7 +13,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/>.
-import time, os
+import time, os, logging
from chirp import chirp_common, yaesu_clone, memmap, bitwise, directory
from chirp import errors
from chirp.settings import RadioSetting, RadioSettingGroup, \
@@ -22,6 +22,8 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueFloat, RadioSettings
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
ACK = "\x06"
def _send(pipe, data):
@@ -617,8 +619,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)
+ LOG.debug("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..824bd6d 100644
--- a/chirp/ft7800.py
+++ b/chirp/ft7800.py
@@ -13,7 +13,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/>.
-import time
+import time, logging
from chirp import chirp_common, yaesu_clone, memmap, directory
from chirp import bitwise, errors
from textwrap import dedent
@@ -25,10 +25,7 @@ import os, re
from collections import defaultdict
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
+LOG = logging.getLogger(__name__)
ACK = chr(0x06)
@@ -540,9 +537,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
+ LOG.debug("@_decode_chars, type: %s" % type(inarr))
+ LOG.debug(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -551,9 +547,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
+ LOG.debug("@_encode_chars, type: %s" % type(instr))
+ LOG.debug(instr)
outarr = []
instr = str(instr)
for i in range(length):
@@ -647,8 +642,7 @@ class FT7800Radio(FTx800Radio):
break
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ LOG.debug(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -721,8 +715,7 @@ class FT7800Radio(FTx800Radio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ LOG.debug(newval)
idx = int(setting[-2:])
_settings = self._memobj.dtmf[idx]
_settings.memory = newval
@@ -735,9 +728,7 @@ class FT7800Radio(FTx800Radio):
# normal settings
newval = element.value
oldval = getattr(_settings, setting)
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ LOG.debug("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..c0b42b2 100644
--- a/chirp/ft817.py
+++ b/chirp/ft817.py
@@ -22,9 +22,11 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
-import time, os
+import time, os, logging
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
CMD_ACK = 0x06
@directory.register
@@ -319,8 +321,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)
+ LOG.debug("Read %i" % len(data))
return data
def _clone_in(self):
@@ -382,15 +383,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())))
+ LOG.debug("Block %i - will send from %i to %i byte " % \
+ (blocks, pos, pos + block))
+ LOG.debug(util.hexprint(chr(blocks)))
+ LOG.debug(util.hexprint(self.get_mmap()[pos:pos + block]))
+ LOG.debug(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 +397,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)
+ LOG.debug(util.hexprint(buf))
raise Exception(_("Radio did not ack block %i") % blocks)
pos += block
blocks += 1
@@ -1030,9 +1027,11 @@ 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)
+ try:
+ LOG.debug("Setting %s(%s) <= %s" % (setting,
+ getattr(obj, setting), element.value))
+ except AttributeError:
+ LOG.debug("Setting %s <= %s" % (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..940c62d 100644
--- a/chirp/ft857.py
+++ b/chirp/ft857.py
@@ -21,9 +21,11 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
-import os
+import os, logging
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
@directory.register
class FT857Radio(ft817.FT817Radio):
"""Yaesu FT-857/897"""
@@ -956,9 +958,11 @@ 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)
+ try:
+ LOG.debug("Setting %s(%s) <= %s" % (setting,
+ getattr(obj, setting), element.value))
+ except AttributeError:
+ LOG.debug("Setting %s <= %s" % (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..b638d47 100644
--- a/chirp/ft90.py
+++ b/chirp/ft90.py
@@ -19,13 +19,10 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
-import time, os, traceback, string, re
+import time, os, traceback, string, re, logging
from textwrap import dedent
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG=False
+LOG = logging.getLogger(__name__)
CMD_ACK = chr(0x06)
@@ -289,27 +286,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)
+ LOG.debug("Block %i - will send from %i to %i byte " % \
+ (blocknum, pos, pos + blocksize))
+ LOG.debug(util.hexprint(blocknumbyte))
+ LOG.debug(util.hexprint(payloadbytes))
+ LOG.debug(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)
+ LOG.debug("bytes echoed: ")
+ LOG.debug(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)
+ LOG.debug("ack recd:")
+ LOG.debug(util.hexprint(buf))
if buf != CMD_ACK:
raise Exception("Radio did not ack block %i" % blocknum)
pos += blocksize
@@ -463,12 +457,10 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
def _decode_cwid(self, cwidarr):
cwid = ""
- if CHIRP_DEBUG:
- print "@ +_decode_cwid:"
+ LOG.debug("@ +_decode_cwid:")
for byte in cwidarr.get_value():
char = int(byte)
- if CHIRP_DEBUG:
- print char
+ LOG.debug(char)
# bitwise wraps in quotes! get rid of those
if char < len(FT90_CWID_CHARS):
cwid += FT90_CWID_CHARS[char]
@@ -476,21 +468,17 @@ class FT90Radio(yaesu_clone.YaesuCloneModeRadio):
def _encode_cwid(self, cwidarr):
cwid = ""
- if CHIRP_DEBUG:
- print "@ _encode_cwid:"
+ LOG.debug("@ _encode_cwid:")
for char in cwidarr.get_value():
cwid += chr(FT90_CWID_CHARS.index(char))
- if CHIRP_DEBUG:
- print cwid
+ LOG.debug(cwid)
return cwid
def _bbcd2dtmf(self, bcdarr, strlen = 16):
# doing bbcd, but with support for ABCD*#
- if CHIRP_DEBUG:
- print bcdarr.get_value()
+ LOG.debug(bcdarr.get_value())
string = ''.join("%02X" % b for b in bcdarr)
- if CHIRP_DEBUG:
- print "@_bbcd2dtmf, received: %s" % string
+ LOG.debug("@_bbcd2dtmf, received: %s" % string)
string = string.replace('E','*').replace('F','#')
if strlen <= 16:
string = string[:strlen]
@@ -501,8 +489,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
+ LOG.debug("@_dtmf2bbcd, sending: %s" % bcdarr)
return bcdarr
def get_settings(self):
@@ -644,9 +631,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)
+ LOG.debug("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..e3fcbfe 100644
--- a/chirp/ftm350.py
+++ b/chirp/ftm350.py
@@ -16,12 +16,15 @@
import time
import struct
import os
+import logging
from chirp import chirp_common, yaesu_clone, directory, errors, util
from chirp import bitwise, memmap
from chirp.settings import RadioSettingGroup, RadioSetting, RadioSettings
from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
+LOG = logging.getLogger(__name__)
+
mem_format = """
struct mem {
u8 used:1,
@@ -141,8 +144,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:
+ LOG.debug("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..5ac0351 100644
--- a/chirp/h777.py
+++ b/chirp/h777.py
@@ -18,6 +18,7 @@ import time
import os
import struct
import unittest
+import logging
from chirp import chirp_common, directory, memmap
from chirp import bitwise, errors, util
@@ -25,7 +26,7 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettings
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
+LOG = logging.getLogger(__name__)
MEM_FORMAT = """
#seekto 0x0010;
@@ -139,8 +140,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))
+ LOG.debug("Reading block %04x..." % (block_addr))
try:
serial.write(cmd)
@@ -166,9 +166,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)
+ LOG.debug("Writing Data:")
+ LOG.debug(util.hexprint(cmd + data))
try:
serial.write(cmd + data)
@@ -197,9 +196,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)
+ LOG.debug("Address: %04x" % addr)
+ LOG.debug(util.hexprint(block))
_h777_exit_programming_mode(radio)
diff --git a/chirp/icomciv.py b/chirp/icomciv.py
index 71af300..1d02553 100644
--- a/chirp/icomciv.py
+++ b/chirp/icomciv.py
@@ -1,9 +1,9 @@
-import struct
+import struct, logging
from chirp import chirp_common, icf, util, errors, bitwise, directory
from chirp.memmap import MemoryMap
-DEBUG = True
+LOG = logging.getLogger(__name__)
MEM_FORMAT = """
bbcd number[2];
@@ -80,9 +80,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))
+ LOG.debug("%02x -> %02x (%i):\n%s" % (src, dst,
+ len(raw), util.hexprint(raw)))
serial.write(raw)
if willecho:
@@ -106,8 +105,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))
+ LOG.debug("%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..012bb46 100644
--- a/chirp/idrp.py
+++ b/chirp/idrp.py
@@ -13,12 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import serial
+import serial, logging
-from chirp import chirp_common, errors
-from chirp import util
+from chirp import chirp_common, errors, util
-DEBUG_IDRP = False
+LOG = logging.getLogger(__name__)
def parse_frames(buf):
"""Parse frames from the radio"""
@@ -49,8 +48,7 @@ def send(pipe, buf):
break
data += buf
- if DEBUG_IDRP:
- print "Got: \n%s" % util.hexprint(buf)
+ LOG.debug("Got: \n%s" % util.hexprint(buf))
return parse_frames(data)
@@ -97,8 +95,7 @@ def get_freq(pipe):
ord(els[2]),
ord(els[1]),
ord(els[0])))
- if DEBUG_IDRP:
- print "Freq: %f" % freq
+ LOG.debug("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..6cac1c9 100644
--- a/chirp/kenwood_live.py
+++ b/chirp/kenwood_live.py
@@ -17,6 +17,9 @@ import threading
import os
import sys
import time
+import logging
+
+LOG = logging.getLogger(__name__)
NOCACHE = os.environ.has_key("CHIRP_NOCACHE")
@@ -29,8 +32,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 +50,7 @@ def command(ser, cmd, *args):
LOCK.acquire()
if args:
cmd += " " + " ".join(args)
- if DEBUG:
- print "PC->RADIO: %s" % cmd
+ LOG.debug("PC->RADIO: %s" % cmd)
ser.write(cmd + "\r")
result = ""
@@ -60,8 +60,7 @@ def command(ser, cmd, *args):
print "Timeout waiting for data"
break
- if DEBUG:
- print "D7->PC: %s" % result.strip()
+ LOG.debug("D7->PC: %s" % result.strip())
LOCK.release()
diff --git a/chirp/kguv8d.py b/chirp/kguv8d.py
index 772b04f..d0f779f 100644
--- a/chirp/kguv8d.py
+++ b/chirp/kguv8d.py
@@ -17,16 +17,14 @@
import time
import os
+import logging
from chirp import util, chirp_common, bitwise, memmap, errors, directory
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueList, \
RadioSettingValueInteger, RadioSettingValueString, \
RadioSettings
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
+LOG = logging.getLogger(__name__)
CMD_ID = 128
CMD_END = 129
@@ -304,8 +302,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)
+ LOG.debug("Sent:\n%s" % util.hexprint(_packet))
self.pipe.write(_packet)
def _read_record(self):
@@ -317,9 +314,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
+ LOG.debug("_cs =", _cs)
+ LOG.debug("_rcs=", _rcs)
return (_rcs != _cs, _packet)
# Identify the radio
@@ -350,14 +346,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)
+ LOG.debug("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])
+ LOG.debug("Model %s" % util.hexprint(_resp[0:7]))
if _resp[0:7] == self._model:
return
if len(_resp) == 0:
@@ -407,8 +401,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)
+ LOG.debug("Got:\n%s" % util.hexprint(resp))
image += resp[2:]
if self.status_fn:
status = chirp_common.Status()
@@ -436,11 +429,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)
+ LOG.debug(util.hexprint(req + chunk))
cserr, ack = self._read_record()
- if CHIRP_DEBUG:
- print util.hexprint(ack)
+ LOG.debug(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 +528,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)
+ LOG.debug("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 +539,7 @@ class KGUV8DRadio(chirp_common.CloneModeRadio,
mem.number = number
_valid = self._memobj.valid[mem.number]
- if CHIRP_DEBUG:
- print number, _valid == MEM_VALID
+ LOG.debug("%d %s", number, _valid == MEM_VALID)
if _valid != MEM_VALID:
mem.empty = True
return mem
@@ -618,9 +607,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)
+ LOG.debug("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..e188df9 100644
--- a/chirp/kyd.py
+++ b/chirp/kyd.py
@@ -17,6 +17,7 @@
import time
import os
import struct
+import logging
from chirp import chirp_common, directory, memmap
from chirp import bitwise, errors, util
@@ -24,7 +25,7 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettings
-DEBUG = os.getenv("CHIRP_DEBUG") and True or False
+LOG = logging.getLogger(__name__)
MEM_FORMAT = """
#seekto 0x0010;
@@ -132,8 +133,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))
+ LOG.debug("Reading block %04x..." % (block_addr))
try:
serial.write(cmd)
@@ -159,9 +159,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)
+ LOG.debug("Writing Data:")
+ LOG.debug(util.hexprint(cmd + data))
try:
serial.write(cmd + data)
@@ -190,9 +189,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)
+ LOG.debug("Address: %04x" % addr)
+ LOG.debug(util.hexprint(block))
_nc630a_exit_programming_mode(radio)
@@ -301,9 +299,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)
+ LOG.debug("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 +384,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)
+ LOG.debug("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..d1a1b0b 100644
--- a/chirp/th9800.py
+++ b/chirp/th9800.py
@@ -24,12 +24,10 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
from chirp_common import format_freq
import os
import time
+import logging
from datetime import date
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
+LOG = logging.getLogger(__name__)
TH9800_MEM_FORMAT = """
struct mem {
@@ -323,8 +321,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
+ LOG.debug("initializing memory channel %d" % mem.number)
_mem.set_raw(BLANK_MEMORY)
if mem.empty:
@@ -390,8 +387,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
+ LOG.debug("@set_mem:", setting.get_name(), setting.value)
setattr(_mem, setting.get_name(), setting.value)
def get_settings(self):
@@ -559,9 +555,7 @@ class TYTTH9800Base(chirp_common.Radio):
oldval = getattr(_settings, setting)
newval = element.value
- if CHIRP_DEBUG:
- print "Setting %s(%s) <= %s" % (setting,
- oldval, newval)
+ LOG.debug("Setting %s(%s) <= %s" % (setting, oldval, newval))
setattr(_settings, setting, newval)
except Exception, e:
print element.get_name()
@@ -666,12 +660,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
+ LOG.debug("Updating last program date:%d/%d/%d" % (lm,ld,ly))
+ LOG.debug(" to today:%d/%d/%d" % (m,d,y))
_info.prog_yr = y
_info.prog_mon = m
@@ -680,8 +674,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)
+ LOG.debug("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 +696,7 @@ def _upload(radio, memsize = 0xF400, blocksize = 0x80):
# Checksum?
final_data = radio.pipe.read(3)
- if CHIRP_DEBUG:
- print "final:", util.hexprint(final_data)
+ LOG.debug("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..aa414de 100644
--- a/chirp/thd72.py
+++ b/chirp/thd72.py
@@ -15,9 +15,9 @@
from chirp import chirp_common, errors, util, directory
from chirp import bitwise, memmap
-import time, struct, sys
+import time, struct, sys, logging
-DEBUG = True
+LOG = logging.getLogger(__name__)
# TH-D72 memory map
# 0x0000..0x0200: startup password and other stuff
@@ -452,13 +452,11 @@ class THD72Radio(chirp_common.CloneModeRadio):
start = time.time()
data = ""
- if DEBUG:
- print "PC->D72: %s" % cmd
+ LOG.debug("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()
+ LOG.debug("D72->PC: %s" % data.strip())
return data.strip()
def get_id(self):
diff --git a/chirp/tk8102.py b/chirp/tk8102.py
index 32e8621..4cf291e 100644
--- a/chirp/tk8102.py
+++ b/chirp/tk8102.py
@@ -15,6 +15,7 @@
import struct
import os
+import logging
from chirp import chirp_common, directory, memmap, errors, util
from chirp import bitwise
@@ -22,6 +23,8 @@ from chirp.settings import RadioSettingGroup, RadioSetting
from chirp.settings import RadioSettingValueBoolean, RadioSettingValueList
from chirp.settings import RadioSettingValueString, RadioSettings
+LOG = logging.getLogger(__name__)
+
MEM_FORMAT = """
#seekto 0x0030;
struct {
@@ -317,9 +320,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)
+ LOG.debug("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..201412e 100644
--- a/chirp/tmv71_ll.py
+++ b/chirp/tmv71_ll.py
@@ -13,11 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import struct, time
+import struct, time, logging
from chirp import memmap, chirp_common, errors
-DEBUG = True
+LOG = logging.getLogger(__name__)
POS_MODE = 5
POS_DUP = 6
@@ -50,13 +50,11 @@ def command(s, cmd, timeout=0.5):
start = time.time()
data = ""
- if DEBUG:
- print "PC->V71: %s" % cmd
+ LOG.debug("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()
+ LOG.debug("V71->PC: %s" % data.strip())
return data.strip()
def get_id(s):
diff --git a/chirp/uv5r.py b/chirp/uv5r.py
index 6fcbae1..646d6e2 100644
--- a/chirp/uv5r.py
+++ b/chirp/uv5r.py
@@ -16,6 +16,7 @@
import struct
import time
import os
+import logging
from chirp import chirp_common, errors, util, directory, memmap
from chirp import bitwise
@@ -25,10 +26,7 @@ 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
+LOG = logging.getLogger(__name__)
MEM_FORMAT = """
#seekto 0x0008;
@@ -394,8 +392,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)
+ LOG.debug("_firmware_version_from_image: " + util.hexprint(version))
return version
def _special_block_from_data(data, special_block_start, special_block_stop):
@@ -404,8 +401,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)
+ LOG.debug("_special_block_from_image: " + util.hexprint(special_block))
return special_block
def _do_ident(radio, magic):
@@ -504,19 +500,16 @@ def _do_download(radio):
raise errors.RadioError("Incorrect 'Model' selected.")
# Main block
- if CHIRP_DEBUG:
- print "downloading main block..."
+ LOG.debug("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..."
+ LOG.debug("done.")
+ LOG.debug("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."
+ LOG.debug("done.")
return memmap.MemoryMap(data)
def _send_block(radio, addr, data):
@@ -916,8 +909,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)
+ LOG.debug("@_is_orig, version_tag: %s", 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..6c6b912 100644
--- a/chirp/vx2.py
+++ b/chirp/vx2.py
@@ -19,12 +19,9 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueInteger, RadioSettingValueList, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
-import os, traceback, re
+import os, traceback, re, logging
-if os.getenv("CHIRP_DEBUG"):
- CHIRP_DEBUG = True
-else:
- CHIRP_DEBUG = False
+LOG = logging.getLogger(__name__)
MEM_FORMAT = """
#seekto 0x7F52;
@@ -410,9 +407,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
+ LOG.debug("@_decode_chars, type: %s" % type(inarr))
+ LOG.debug(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -421,9 +417,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
+ LOG.debug("@_encode_chars, type: %s" % type(instr))
+ LOG.debug(instr)
outarr = []
instr = str(instr)
for i in range(0, length):
@@ -648,8 +643,7 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
for c in dtmfsetting.digits:
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ LOG.debug(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -676,8 +670,7 @@ class VX2Radio(yaesu_clone.YaesuCloneModeRadio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ LOG.debug(newval)
idx = int(setting[-1:]) - 1
_settings = self._memobj.dtmf[idx]
_settings.digits = newval
@@ -698,12 +691,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)
+ LOG.debug("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..0575a46 100644
--- a/chirp/vx3.py
+++ b/chirp/vx3.py
@@ -21,7 +21,9 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueString, \
RadioSettings
from textwrap import dedent
-import os, re
+import os, re, logging
+
+LOG = logging.getLogger(__name__)
#interesting offsets which may be checksums needed later
#0x0393 checksum1?
@@ -29,11 +31,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 +496,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
+ LOG.debug("@_decode_chars, type: %s" % type(inarr))
+ LOG.debug(inarr)
outstr = ""
for i in inarr:
if i == 0xFF:
@@ -510,9 +506,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
+ LOG.debug("@_encode_chars, type: %s" % type(instr))
+ LOG.debug(instr)
outarr = []
instr = str(instr)
for i in range(length):
@@ -785,8 +780,7 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
for c in dtmfsetting.memory:
if c < len(DTMFCHARSET):
dtmfstr += DTMFCHARSET[c]
- if CHIRP_DEBUG:
- print dtmfstr
+ LOG.debug(dtmfstr)
dtmfentry = RadioSettingValueString(0, 16, dtmfstr)
dtmfentry.set_charset(DTMFCHARSET + list(" "))
rs = RadioSetting(name, name.upper(), dtmfentry)
@@ -861,8 +855,7 @@ class VX3Radio(yaesu_clone.YaesuCloneModeRadio):
newval.append(DTMFCHARSET.index(dtmfstr[i]))
else:
newval.append(0xFF)
- if CHIRP_DEBUG:
- print newval
+ LOG.debug(newval)
idx = int(setting[-1:])
_settings = self._memobj.dtmf[idx]
_settings.memory = newval
@@ -885,11 +878,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)
+ LOG.debug("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..45fff7a 100644
--- a/chirp/vx8.py
+++ b/chirp/vx8.py
@@ -15,6 +15,7 @@
import os
import re
+import logging
from chirp import chirp_common, yaesu_clone, directory
from chirp import bitwise
@@ -23,6 +24,8 @@ from chirp.settings import RadioSettingValueInteger, RadioSettingValueString
from chirp.settings import RadioSettingValueList, RadioSettingValueBoolean
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
MEM_FORMAT = """
#seekto 0x047f;
struct {
@@ -1461,8 +1464,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)
+ LOG.debug("%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 +1501,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)
+ LOG.debug("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..4a3dd0b 100644
--- a/chirp/wouxun.py
+++ b/chirp/wouxun.py
@@ -17,6 +17,7 @@
import time
import os
+import logging
from chirp import util, chirp_common, bitwise, memmap, errors, directory
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueList, \
@@ -25,6 +26,8 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
from chirp.wouxun_common import wipe_memory, do_download, do_upload
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
FREQ_ENCODE_TABLE = [ 0x7, 0xa, 0x0, 0x9, 0xb, 0x2, 0xe, 0x1, 0x3, 0xf ]
def encode_freq(freq):
@@ -717,9 +720,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)
+ LOG.debug("Got TX %s (%i) RX %s (%i)" % (txmode, _mem.tx_tone,
+ rxmode, _mem.rx_tone))
def _is_txinh(self, _mem):
raw_tx = ""
@@ -817,9 +819,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)
+ LOG.debug("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..5b51e93 100644
--- a/chirp/wouxun_common.py
+++ b/chirp/wouxun_common.py
@@ -18,8 +18,11 @@
import struct
import os
+import logging
from chirp import util, chirp_common, memmap
+LOG = logging.getLogger(__name__)
+
def wipe_memory(_mem, byte):
"""Cleanup a memory"""
_mem.set_raw(byte * (_mem.size() / 8))
@@ -29,8 +32,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)
+ LOG.debug(util.hexprint(cmd))
radio.pipe.write(cmd)
length = len(cmd) + blocksize
resp = radio.pipe.read(length)
@@ -61,8 +63,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)
+ LOG.debug(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..e8ec732 100644
--- a/chirp/yaesu_clone.py
+++ b/chirp/yaesu_clone.py
@@ -16,9 +16,11 @@
CMD_ACK = 0x06
from chirp import chirp_common, util, memmap, errors
-import time, os
+import time, os, logging
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
def _safe_read(pipe, count):
buf = ""
first = True
@@ -49,8 +51,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)
+ LOG.debug("Read %i/%i" % (len(data), count))
return data
def __clone_in(radio):
@@ -91,8 +92,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)
+ LOG.debug("@_chunk_write, count: %i, blocksize: %i" % (count,block))
time.sleep(delay)
status = chirp_common.Status()
@@ -120,8 +120,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)
+ LOG.debug("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..efe18c1 100644
--- a/chirpui/reporting.py
+++ b/chirpui/reporting.py
@@ -28,16 +28,18 @@
import threading
import os
import time
+import logging
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
+LOG = logging.getLogger(__name__)
+
try:
# Don't let failure to import any of these modules cause trouble
from chirpui import config
@@ -45,18 +47,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")
+ LOG.debug("Not reporting due to recent failure")
return False
conf = config.get()
if conf.get_bool("no_report"):
- debug("Reporting disabled")
+ LOG.debug("Reporting disabled")
return False
return True
@@ -70,7 +68,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)
+ LOG.debug("Reporting model usage: %s" % data)
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_stats(CHIRP_VERSION,
@@ -84,7 +82,7 @@ def _report_model_usage(model, direction, success):
def _report_exception(stack):
global ENABLED
- debug("Reporting exception")
+ LOG.debug("Reporting exception")
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_exception(CHIRP_VERSION,
@@ -98,7 +96,7 @@ def _report_exception(stack):
def _report_misc_error(module, data):
global ENABLED
- debug("Reporting misc error with %s" % module)
+ LOG.debug("Reporting misc error with %s" % module)
proxy = xmlrpclib.ServerProxy(REPORT_URL)
id = proxy.report_misc_error(CHIRP_VERSION,
@@ -109,12 +107,12 @@ def _report_misc_error(module, data):
return id != 0
def _check_for_updates(callback):
- debug("Checking for updates")
+ LOG.debug("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)
+ LOG.debug("Server reports version %s is latest" % ver)
callback(ver)
return True
@@ -128,7 +126,7 @@ class ReportThread(threading.Thread):
try:
return self.__func(*self.__args)
except Exception, e:
- debug("Failed to report: %s" % e)
+ LOG.debug("Failed to report: %s" % e)
return False
def run(self):
@@ -139,7 +137,7 @@ class ReportThread(threading.Thread):
ENABLED = False
elif (time.time() - start) > 15:
# Reporting took too long
- debug("Time to report was %.2f sec -- Disabling" % \
+ LOG.debug("Time to report was %.2f sec -- Disabling" % \
(time.time()-start))
ENABLED = False
@@ -151,13 +149,13 @@ def dispatch_thread(func, *args):
# If reporting is disabled or failing, bail
if not should_report():
- debug("Reporting is disabled")
+ LOG.debug("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...")
+ LOG.debug("Throttling...")
return
LAST = time.time()
@@ -165,7 +163,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")
+ LOG.debug("Too many threads already running")
return
t = ReportThread(func, *args)
More information about the chirp_devel
mailing list