## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+## along with this program; if not, see <http://www.gnu.org/licenses/>.
##
import sigrokdecode as srd
TX = 1
class Decoder(srd.Decoder):
- api_version = 1
+ api_version = 3
id = 'pan1321'
name = 'PAN1321'
longname = 'Panasonic PAN1321'
license = 'gplv2+'
inputs = ['uart']
outputs = ['pan1321']
- probes = []
- optional_probes = []
- options = {}
- annotations = [
- ['Text (verbose)', 'Human-readable text (verbose)'],
- ['Text', 'Human-readable text'],
- ['Warnings', 'Human-readable warnings'],
- ]
-
- def __init__(self, **kwargs):
+ annotations = (
+ ('text-verbose', 'Human-readable text (verbose)'),
+ ('text', 'Human-readable text'),
+ ('warnings', 'Human-readable warnings'),
+ )
+
+ def __init__(self):
+ self.reset()
+
+ def reset(self):
self.cmd = ['', '']
self.ss_block = None
def start(self):
- # self.out_proto = self.register(srd.OUTPUT_PYTHON)
self.out_ann = self.register(srd.OUTPUT_ANN)
def putx(self, data):
if ptype != 'DATA':
return
+ # We're only interested in the byte value (not individual bits).
+ pdata = pdata[0]
+
# If this is the start of a command/reply, remember the start sample.
if self.cmd[rxtx] == '':
self.ss_block = ss
self.handle_device_reply(rxtx, self.cmd[rxtx][:-2])
elif rxtx == TX:
self.handle_host_command(rxtx, self.cmd[rxtx][:-2])
- else:
- raise Exception('Invalid rxtx value: %d' % rxtx)
self.cmd[rxtx] = ''
-