Skip to content

Commit

Permalink
drivers/onewire: Fix undefined variable errors.
Browse files Browse the repository at this point in the history
On CPython, and with pylint, the variables MATCH_ROM and SEARCH_ROM are
undefined.  This code works in MicroPython because these variables are
constants and the MicroPython parser/compiler optimises them out.  But it
is not valid Python because they are technically undefined within the scope
they are used.

This commit makes the code valid Python code.  The const part is removed
completely because these constants are part of the public API and so cannot
be moved to the global scope (where they could still use the MicroPython
const optimisation).
  • Loading branch information
amotl authored and dpgeorge committed Mar 24, 2020
1 parent 2f7d2bb commit fbfea3b
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions drivers/onewire/onewire.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# 1-Wire driver for MicroPython
# MIT license; Copyright (c) 2016 Damien P. George

from micropython import const
import _onewire as _ow


Expand All @@ -10,9 +9,9 @@ class OneWireError(Exception):


class OneWire:
SEARCH_ROM = const(0xF0)
MATCH_ROM = const(0x55)
SKIP_ROM = const(0xCC)
SEARCH_ROM = 0xF0
MATCH_ROM = 0x55
SKIP_ROM = 0xCC

def __init__(self, pin):
self.pin = pin
Expand Down Expand Up @@ -46,7 +45,7 @@ def write(self, buf):

def select_rom(self, rom):
self.reset()
self.writebyte(MATCH_ROM)
self.writebyte(self.MATCH_ROM)
self.write(rom)

def scan(self):
Expand All @@ -64,7 +63,7 @@ def scan(self):
def _search_rom(self, l_rom, diff):
if not self.reset():
return None, 0
self.writebyte(SEARCH_ROM)
self.writebyte(self.SEARCH_ROM)
if not l_rom:
l_rom = bytearray(8)
rom = bytearray(8)
Expand Down

0 comments on commit fbfea3b

Please sign in to comment.