From 78e70803d7b525c0a895ccec48d0b1bd2430a076 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 7 Dec 2020 13:13:27 +0800 Subject: [PATCH] add crude GPIO read support bin/run.sh --dest \!2462abf84098 --gpiord 16 --- meshtastic/__main__.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/meshtastic/__main__.py b/meshtastic/__main__.py index 303238b..063f268 100644 --- a/meshtastic/__main__.py +++ b/meshtastic/__main__.py @@ -142,15 +142,22 @@ def onConnected(interface): interface.sendText(args.sendtext, args.destOrAll, wantAck=True, wantResponse=True) - if args.gpiowrb: - bitmask = 0 - bitval = 0 - for wrpair in (args.gpiowrb or []): - bitmask |= 1 << int(wrpair[0]) - bitval |= int(wrpair[1]) << int(wrpair[0]) - print(f"Writing GPIO mask 0x{bitmask:x} with value 0x{bitval:x} to {args.dest}") + if args.gpiowrb or args.gpiord: rhc = remote_hardware.RemoteHardwareClient(interface) - rhc.writeGPIOs(args.dest, bitmask, bitval) + + if args.gpiowrb: + bitmask = 0 + bitval = 0 + for wrpair in (args.gpiowrb or []): + bitmask |= 1 << int(wrpair[0]) + bitval |= int(wrpair[1]) << int(wrpair[0]) + print(f"Writing GPIO mask 0x{bitmask:x} with value 0x{bitval:x} to {args.dest}") + rhc.writeGPIOs(args.dest, bitmask, bitval) + + if args.gpiord: + bitmask = int(args.gpiord) + print(f"Reading GPIO mask 0x{bitmask:x} from {args.dest}") + rhc.readGPIOs(args.dest, bitmask) if args.set or args.setstr or args.setchan or args.seturl or args.router != None: closeNow = True @@ -282,6 +289,9 @@ def main(): parser.add_argument( "--gpiowrb", nargs=2, help="Set a particlar GPIO # to 1 or 0", action='append') + parser.add_argument( + "--gpiord", help="Read from a GPIO mask") + parser.add_argument( "--settime", help="Set the real time clock on the device", action="store_true")