[chirp_devel] [PATCH 06/17] Use logging in uv*.py (#2347)
Zachary T Welch
Wed Mar 4 21:15:02 PST 2015
# HG changeset patch
# User Zachary T Welch <zach at mandolincreekfarm.com>
# Fake Node ID 07fe6f3bd0e63cebcdaabbbab4ec120f1480dfa5
Use logging in uv*.py (#2347)
diff --git a/chirp/drivers/uv5r.py b/chirp/drivers/uv5r.py
index 2f6ddad..8ed1c51 100644
--- a/chirp/drivers/uv5r.py
+++ b/chirp/drivers/uv5r.py
@@ -418,7 +418,7 @@ def _do_ident(radio, magic):
serial = radio.pipe
serial.setTimeout(1)
- print "Sending Magic: %s" % util.hexprint(magic)
+ LOG.info("Sending Magic: %s" % util.hexprint(magic))
for byte in magic:
serial.write(byte)
time.sleep(0.01)
@@ -426,13 +426,13 @@ def _do_ident(radio, magic):
if ack != "\x06":
if ack:
- print repr(ack)
+ LOG.debug(repr(ack))
raise errors.RadioError("Radio did not respond")
serial.write("\x02")
ident = serial.read(8)
- print "Ident:\n%s" % util.hexprint(ident)
+ LOG.info("Ident: %s" % util.hexprint(ident))
serial.write("\x06")
ack = serial.read(1)
@@ -452,15 +452,15 @@ def _read_block(radio, start, size):
cmd, addr, length = struct.unpack(">BHB", answer)
if cmd != ord("X") or addr != start or length != size:
- print "Invalid answer for block 0x%04x:" % start
- print "CMD: %s ADDR: %04x SIZE: %02x" % (cmd, addr, length)
+ LOG.error("Invalid answer for block 0x%04x:" % start)
+ LOG.debug("CMD: %s ADDR: %04x SIZE: %02x" % (cmd, addr, length))
raise errors.RadioError("Unknown response from radio")
chunk = radio.pipe.read(0x40)
if not chunk:
raise errors.RadioError("Radio did not send block 0x%04x" % start)
elif len(chunk) != size:
- print "Chunk length was 0x%04i" % len(chunk)
+ LOG.error("Chunk length was 0x%04i" % len(chunk))
raise errors.RadioError("Radio sent incomplete block 0x%04x" % start)
radio.pipe.write("\x06")
@@ -497,7 +497,7 @@ def _ident_radio(radio):
data = _do_ident(radio, magic)
return data
except errors.RadioError, e:
- print e
+ LOG.error(e)
error = e
time.sleep(2)
if error:
@@ -509,7 +509,7 @@ def _do_download(radio):
data = _ident_radio(radio)
radio_version = _get_radio_firmware_version(radio)
- print "Radio Version is %s" % repr(radio_version)
+ LOG.info("Radio Version is %s" % repr(radio_version))
if not any(type in radio_version for type in radio._basetype):
raise errors.RadioError("Incorrect 'Model' selected.")
@@ -548,8 +548,8 @@ def _do_upload(radio):
image_version = _firmware_version_from_image(radio)
radio_version = _get_radio_firmware_version(radio)
- print "Image Version is %s" % repr(image_version)
- print "Radio Version is %s" % repr(radio_version)
+ LOG.info("Image Version is %s" % repr(image_version))
+ LOG.info("Radio Version is %s" % repr(radio_version))
if not any(type in radio_version for type in BASETYPE_LIST):
raise errors.RadioError("Unsupported firmware version: `%s'" %
@@ -557,8 +557,8 @@ def _do_upload(radio):
image_special_block = _special_block_from_image(radio)
radio_special_block = _get_radio_special_block(radio)
- print "Image Special Block is " + util.hexprint(image_special_block)
- print "Radio Special Block is " + util.hexprint(radio_special_block)
+ LOG.debug("Image Special Block is " + util.hexprint(image_special_block))
+ LOG.debug("Radio Special Block is " + util.hexprint(radio_special_block))
if image_special_block != radio_special_block:
raise errors.RadioError("Image not supported by radio: `%s'" %
@@ -570,7 +570,7 @@ def _do_upload(radio):
_do_status(radio, i)
if len(radio.get_mmap().get_packed()) == 0x1808:
- print "Old image, not writing aux block"
+ LOG.info("Old image, not writing aux block")
return # Old image, no aux block
if image_version != radio_version:
@@ -776,7 +776,7 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
index = _mem.txtone - 1
mem.dtcs = UV5R_DTCS[index]
else:
- print "Bug: txtone is %04x" % _mem.txtone
+ LOG.warn("Bug: txtone is %04x" % _mem.txtone)
if _mem.rxtone in [0, 0xFFFF]:
rxmode = ""
@@ -792,7 +792,7 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
index = _mem.rxtone - 1
mem.rx_dtcs = UV5R_DTCS[index]
else:
- print "Bug: rxtone is %04x" % _mem.rxtone
+ LOG.warn("Bug: rxtone is %04x" % _mem.rxtone)
if txmode == "Tone" and not rxmode:
mem.tmode = "Tone"
@@ -816,8 +816,8 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
try:
mem.power = levels[_mem.lowpower]
except IndexError:
- print "Radio reported invalid power level %s (in %s)" % \
- (_mem.power, levels)
+ LOG.error("Radio reported invalid power level %s (in %s)" %
+ (_mem.power, levels))
mem.power = levels[0]
mem.mode = _mem.wide and "FM" or "NFM"
@@ -1551,8 +1551,7 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
return self._get_settings()
except:
import traceback
- print "Failed to parse settings:"
- traceback.print_exc()
+ LOG.error("Failed to parse settings: %s", traceback.format_exc())
return None
def set_settings(self, settings):
@@ -1583,13 +1582,13 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
setting = element.get_name()
if element.has_apply_callback():
- print "Using apply callback"
+ LOG.debug("Using apply callback")
element.run_apply_callback()
else:
- print "Setting %s = %s" % (setting, element.value)
+ LOG.debug("Setting %s = %s" % (setting, element.value))
setattr(obj, setting, element.value)
except Exception, e:
- print element.get_name()
+ LOG.debug(element.get_name())
raise
def _set_fm_preset(self, settings):
@@ -1597,10 +1596,10 @@ class BaofengUV5R(chirp_common.CloneModeRadio,
try:
val = element.value
value = int(val.get_value() * 10 - 650)
- print "Setting fm_presets = %s" % (value)
+ LOG.debug("Setting fm_presets = %s" % (value))
self._memobj.fm_presets = value
except Exception, e:
- print element.get_name()
+ LOG.debug(element.get_name())
raise
diff --git a/chirp/drivers/uvb5.py b/chirp/drivers/uvb5.py
index d336a06..8f997b2 100644
--- a/chirp/drivers/uvb5.py
+++ b/chirp/drivers/uvb5.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import struct
+import logging
from chirp import chirp_common, directory, bitwise, memmap, errors, util
from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueBoolean, RadioSettingValueList, \
@@ -21,6 +22,8 @@ from chirp.settings import RadioSetting, RadioSettingGroup, \
RadioSettingValueFloat, RadioSettings
from textwrap import dedent
+LOG = logging.getLogger(__name__)
+
mem_format = """
struct memory {
lbcd freq[4];
@@ -178,7 +181,7 @@ def do_ident(radio):
raise errors.RadioError("Radio did not ack programming mode")
radio.pipe.write("\x02")
ident = radio.pipe.read(8)
- print util.hexprint(ident)
+ LOG.debug(util.hexprint(ident))
if not ident.startswith('HKT511'):
raise errors.RadioError("Unsupported model")
radio.pipe.write("\x06")
@@ -205,7 +208,7 @@ def do_download(radio):
radio.pipe.write(frame)
result = radio.pipe.read(20)
if frame[1:4] != result[1:4]:
- print util.hexprint(result)
+ LOG.debug(util.hexprint(result))
raise errors.RadioError("Invalid response for address 0x%04x" % i)
radio.pipe.write("\x06")
ack = radio.pipe.read(1)
@@ -213,8 +216,8 @@ def do_download(radio):
firstack = ack
else:
if not ack == firstack:
- print "first ack:", util.hexprint(firstack), \
- "ack received:", util.hexprint(ack)
+ LOG.debug("first ack: %s ack received: %s",
+ util.hexprint(firstack), util.hexprint(ack))
raise errors.RadioError("Unexpected response")
data += result[4:]
do_status(radio, "from", i)
@@ -755,17 +758,17 @@ class BaofengUVB5(chirp_common.CloneModeRadio,
setting = element.get_name()
if element.has_apply_callback():
- print "Using apply callback"
+ LOG.debug("Using apply callback")
element.run_apply_callback()
elif setting == "beep_tone_disabled":
setattr(obj, setting, not int(element.value))
elif setting == "ste_disabled":
setattr(obj, setting, not int(element.value))
else:
- print "Setting %s = %s" % (setting, element.value)
+ LOG.debug("Setting %s = %s" % (setting, element.value))
setattr(obj, setting, element.value)
except Exception, e:
- print element.get_name()
+ LOG.debug(element.get_name())
raise
def _set_fm_preset(self, settings):
@@ -777,11 +780,11 @@ class BaofengUVB5(chirp_common.CloneModeRadio,
value = int(val[1].get_value() * 10 - 650)
else:
value = 0x01AF
- print "Setting fm_presets[%1i] = %s" % (index, value)
+ LOG.debug("Setting fm_presets[%1i] = %s" % (index, value))
setting = self._memobj.fm_presets
setting[index] = value
except Exception, e:
- print element.get_name()
+ LOG.debug(element.get_name())
raise
@classmethod
More information about the chirp_devel
mailing list