tx-udp: change control scheme, try to optimize
This commit is contained in:
parent
8075579496
commit
83474b34c7
2 changed files with 42 additions and 27 deletions
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"address": "/dev/ttyUSB1",
|
||||
"address": "/dev/esp-tx",
|
||||
"username": "micro",
|
||||
"password": "python",
|
||||
"sync_folder": "src",
|
||||
|
|
67
src/main.py
67
src/main.py
|
@ -1,7 +1,7 @@
|
|||
# main.py
|
||||
import machine
|
||||
import socket
|
||||
from time import sleep
|
||||
import time
|
||||
from wifi import WifiSTA
|
||||
|
||||
|
||||
|
@ -15,36 +15,38 @@ PIN_B1 = 0 # D2
|
|||
PIN_B2 = 4 # D3
|
||||
## Delay
|
||||
DELAY_CMD = 0.1
|
||||
DELAY_IRQ = 0.1
|
||||
## HOST
|
||||
RX_ADDR = ("192.168.11.220", 80)
|
||||
# RX_ADDR = ("192.168.0.1", 80)
|
||||
|
||||
ts_cmd = 0
|
||||
ts_irq = 0
|
||||
s = None
|
||||
|
||||
def handle_btn_up(pin):
|
||||
send_cmd("fwd")
|
||||
global ts_irq
|
||||
t = time.time()
|
||||
if t > (ts_irq + DELAY_IRQ):
|
||||
ts_irq = t
|
||||
send_cmd("rotate")
|
||||
|
||||
def handle_btn_dn(pin):
|
||||
send_cmd("rev")
|
||||
# def handle_btn_b1(pin):
|
||||
# global ts_irq
|
||||
# t = time.time()
|
||||
# if t > (ts_irq + DELAY_IRQ):
|
||||
# ts_irq = t
|
||||
# send_cmd("b1")
|
||||
|
||||
def handle_btn_le(pin):
|
||||
send_cmd("left")
|
||||
|
||||
def handle_btn_ri(pin):
|
||||
send_cmd("right")
|
||||
|
||||
def handle_btn_b1(pin):
|
||||
send_cmd("b1")
|
||||
|
||||
def handle_btn_b2(pin):
|
||||
send_cmd("b2")
|
||||
# def handle_btn_b2(pin):
|
||||
# global ts_irq
|
||||
# t = time.time()
|
||||
# if t > (ts_irq + DELAY_IRQ):
|
||||
# ts_irq = t
|
||||
# send_cmd("b2")
|
||||
|
||||
def send_cmd(cmd):
|
||||
global s
|
||||
print("cmd: {}".format(cmd))
|
||||
global s, ts_cmd
|
||||
# if time.time() > (ts_cmd + DELAY_CMD):
|
||||
# ts_cmd = time.time()
|
||||
try:
|
||||
s.sendto(cmd.encode(), RX_ADDR)
|
||||
except Exception as ex:
|
||||
|
@ -57,19 +59,32 @@ def main():
|
|||
btn_up = machine.Pin(PIN_UP, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_up.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_up)
|
||||
btn_dn = machine.Pin(PIN_DN, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_dn.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_dn)
|
||||
# btn_dn.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_dn)
|
||||
btn_le = machine.Pin(PIN_LE, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_le.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_le)
|
||||
# btn_le.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_le)
|
||||
btn_ri = machine.Pin(PIN_RI, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_ri.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_ri)
|
||||
# btn_ri.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_ri)
|
||||
btn_b1 = machine.Pin(PIN_B1, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_b1.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_b1)
|
||||
# btn_b1.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_b1)
|
||||
btn_b2 = machine.Pin(PIN_B2, machine.Pin.IN, machine.Pin.PULL_UP)
|
||||
btn_b2.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_b2)
|
||||
# btn_b2.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_btn_b2)
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
|
||||
while True:
|
||||
sleep(0.01)
|
||||
if not btn_le.value():
|
||||
send_cmd("left")
|
||||
elif not btn_ri.value():
|
||||
send_cmd("right")
|
||||
elif not btn_b1.value():
|
||||
send_cmd("accel")
|
||||
elif not btn_b2.value():
|
||||
send_cmd("decel")
|
||||
elif not btn_up.value():
|
||||
send_cmd("rotate")
|
||||
elif not btn_dn.value():
|
||||
send_cmd("stop")
|
||||
|
||||
time.sleep(DELAY_CMD)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
Loading…
Reference in a new issue