From 10bc8b948907dbab8315fad0ddd8633b0841123f Mon Sep 17 00:00:00 2001 From: Dave Date: Sat, 10 Jan 2026 11:11:19 -0600 Subject: [PATCH] Moved pin definitions into pins.py to help support different board form factors --- code.py | 2 ++ duckyinpython.py | 21 +-------------------- pins.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 20 deletions(-) create mode 100644 pins.py diff --git a/code.py b/code.py index 87b21e3..440fa98 100644 --- a/code.py +++ b/code.py @@ -66,6 +66,8 @@ async def run_payload_on_startup(): led_state = False + + async def main_loop(): global led,button1 diff --git a/duckyinpython.py b/duckyinpython.py index b42e66d..01e2cd0 100644 --- a/duckyinpython.py +++ b/duckyinpython.py @@ -18,6 +18,7 @@ import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.consumer_control import ConsumerControl from adafruit_hid.consumer_control_code import ConsumerControlCode +from pins import * # comment out these lines for non_US keyboards from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS as KeyboardLayout @@ -459,26 +460,10 @@ kbd = Keyboard(usb_hid.devices) consumerControl = ConsumerControl(usb_hid.devices) layout = KeyboardLayout(kbd) -#init button -button1_pin = DigitalInOut(GP22) # defaults to input -button1_pin.pull = Pull.UP # turn on internal pull-up resistor -button1 = Debouncer(button1_pin) -#init payload selection switch -payload1Pin = digitalio.DigitalInOut(GP4) -payload1Pin.switch_to_input(pull=digitalio.Pull.UP) -payload2Pin = digitalio.DigitalInOut(GP5) -payload2Pin.switch_to_input(pull=digitalio.Pull.UP) -payload3Pin = digitalio.DigitalInOut(GP10) -payload3Pin.switch_to_input(pull=digitalio.Pull.UP) -payload4Pin = digitalio.DigitalInOut(GP11) -payload4Pin.switch_to_input(pull=digitalio.Pull.UP) def getProgrammingStatus(): - # check GP0 for setup mode # see setup mode for instructions - progStatusPin = digitalio.DigitalInOut(GP0) - progStatusPin.switch_to_input(pull=digitalio.Pull.UP) progStatus = not progStatusPin.value return(progStatus) @@ -520,10 +505,6 @@ def selectPayload(): global payload1Pin, payload2Pin, payload3Pin, payload4Pin payload = "payload.dd" # check switch status - # payload1 = GPIO4 to GND - # payload2 = GPIO5 to GND - # payload3 = GPIO10 to GND - # payload4 = GPIO11 to GND payload1State = not payload1Pin.value payload2State = not payload2Pin.value payload3State = not payload3Pin.value diff --git a/pins.py b/pins.py new file mode 100644 index 0000000..c6f4533 --- /dev/null +++ b/pins.py @@ -0,0 +1,29 @@ +import digitalio +from digitalio import DigitalInOut, Pull +from board import * +from adafruit_debouncer import Debouncer + +#init button +button1_pin = DigitalInOut(GP22) # defaults to input +button1_pin.pull = Pull.UP # turn on internal pull-up resistor +button1 = Debouncer(button1_pin) + + +# payload1 = GPIO4 to GND +# payload2 = GPIO5 to GND +# payload3 = GPIO10 to GND +# payload4 = GPIO11 to GND + +#init payload selection switch +payload1Pin = digitalio.DigitalInOut(GP4) +payload1Pin.switch_to_input(pull=digitalio.Pull.UP) +payload2Pin = digitalio.DigitalInOut(GP5) +payload2Pin.switch_to_input(pull=digitalio.Pull.UP) +payload3Pin = digitalio.DigitalInOut(GP10) +payload3Pin.switch_to_input(pull=digitalio.Pull.UP) +payload4Pin = digitalio.DigitalInOut(GP11) +payload4Pin.switch_to_input(pull=digitalio.Pull.UP) + +# check GP0 for setup mode +progStatusPin = digitalio.DigitalInOut(GP0) +progStatusPin.switch_to_input(pull=digitalio.Pull.UP) \ No newline at end of file