From ef94c6ed6c24fe09b94d3e8a4fe7dec87ecdbc03 Mon Sep 17 00:00:00 2001 From: Supernova1114 Date: Sun, 14 May 2023 19:59:26 -0700 Subject: [PATCH] Changed to system deploy structure --- {src/driver => driver}/Makefile | 0 {src/driver => driver}/driver/__init__.py | 0 {src/driver => driver}/driver/buttons.py | 0 {src/driver => driver}/driver/calibrate.py | 0 .../driver/controller_pub.py | 0 .../driver/drive_receiver_sub.py | 0 .../driver => driver}/driver/gamepad_input.py | 0 {src/driver => driver}/driver/gamepads.config | 0 {src/driver => driver}/package.xml | 0 {src/driver => driver}/resource/driver | 0 {src/driver => driver}/setup.cfg | 0 {src/driver => driver}/setup.py | 0 {src/driver => driver}/test/test_copyright.py | 0 {src/driver => driver}/test/test_flake8.py | 0 {src/driver => driver}/test/test_pep257.py | 0 src/local.py | 105 ------------------ 16 files changed, 105 deletions(-) rename {src/driver => driver}/Makefile (100%) rename {src/driver => driver}/driver/__init__.py (100%) rename {src/driver => driver}/driver/buttons.py (100%) rename {src/driver => driver}/driver/calibrate.py (100%) rename {src/driver => driver}/driver/controller_pub.py (100%) rename {src/driver => driver}/driver/drive_receiver_sub.py (100%) rename {src/driver => driver}/driver/gamepad_input.py (100%) rename {src/driver => driver}/driver/gamepads.config (100%) rename {src/driver => driver}/package.xml (100%) rename {src/driver => driver}/resource/driver (100%) rename {src/driver => driver}/setup.cfg (100%) rename {src/driver => driver}/setup.py (100%) rename {src/driver => driver}/test/test_copyright.py (100%) rename {src/driver => driver}/test/test_flake8.py (100%) rename {src/driver => driver}/test/test_pep257.py (100%) delete mode 100644 src/local.py diff --git a/src/driver/Makefile b/driver/Makefile similarity index 100% rename from src/driver/Makefile rename to driver/Makefile diff --git a/src/driver/driver/__init__.py b/driver/driver/__init__.py similarity index 100% rename from src/driver/driver/__init__.py rename to driver/driver/__init__.py diff --git a/src/driver/driver/buttons.py b/driver/driver/buttons.py similarity index 100% rename from src/driver/driver/buttons.py rename to driver/driver/buttons.py diff --git a/src/driver/driver/calibrate.py b/driver/driver/calibrate.py similarity index 100% rename from src/driver/driver/calibrate.py rename to driver/driver/calibrate.py diff --git a/src/driver/driver/controller_pub.py b/driver/driver/controller_pub.py similarity index 100% rename from src/driver/driver/controller_pub.py rename to driver/driver/controller_pub.py diff --git a/src/driver/driver/drive_receiver_sub.py b/driver/driver/drive_receiver_sub.py similarity index 100% rename from src/driver/driver/drive_receiver_sub.py rename to driver/driver/drive_receiver_sub.py diff --git a/src/driver/driver/gamepad_input.py b/driver/driver/gamepad_input.py similarity index 100% rename from src/driver/driver/gamepad_input.py rename to driver/driver/gamepad_input.py diff --git a/src/driver/driver/gamepads.config b/driver/driver/gamepads.config similarity index 100% rename from src/driver/driver/gamepads.config rename to driver/driver/gamepads.config diff --git a/src/driver/package.xml b/driver/package.xml similarity index 100% rename from src/driver/package.xml rename to driver/package.xml diff --git a/src/driver/resource/driver b/driver/resource/driver similarity index 100% rename from src/driver/resource/driver rename to driver/resource/driver diff --git a/src/driver/setup.cfg b/driver/setup.cfg similarity index 100% rename from src/driver/setup.cfg rename to driver/setup.cfg diff --git a/src/driver/setup.py b/driver/setup.py similarity index 100% rename from src/driver/setup.py rename to driver/setup.py diff --git a/src/driver/test/test_copyright.py b/driver/test/test_copyright.py similarity index 100% rename from src/driver/test/test_copyright.py rename to driver/test/test_copyright.py diff --git a/src/driver/test/test_flake8.py b/driver/test/test_flake8.py similarity index 100% rename from src/driver/test/test_flake8.py rename to driver/test/test_flake8.py diff --git a/src/driver/test/test_pep257.py b/driver/test/test_pep257.py similarity index 100% rename from src/driver/test/test_pep257.py rename to driver/test/test_pep257.py diff --git a/src/local.py b/src/local.py deleted file mode 100644 index aa87778..0000000 --- a/src/local.py +++ /dev/null @@ -1,105 +0,0 @@ -from callback_api import * -from src.odrives.calibrate import * -import src.controller.gamepad_input as gmi -import subprocess - - - -AXIS_DEADZONE = 0.3 # Deadzone is 0 to 1 | Note: axis value will be 0 until you move past the deadzone -MIN_SPEED = -20 -MAX_SPEED = 20 -CREMENT = 5 - - - -def eventHandler(odrv_0, odrv_1=None): - buttonDownEvents = [ - north, west, south, east, - share, options, home, - l1, r1, l3, r3] - - buttonUpEvents = [ - northUp, westUp, southUp, eastUp, - shareUp, optionsUp, homeUp, - l1Up, r1Up, l3Up, r3Up] - - hatEvents = [hatNorth, hatSouth, hatWest, hatEast, hatCentered] # Set hat callbacks - connectionEvents = [onGamepadConnect, onGamepadDisconnect] # Set connection callbacks - gmi.run_event_loop(buttonDownEvents, buttonUpEvents, hatEvents, connectionEvents) # Async loop to handle gamepad button events - - speed = 5 - - while True: - odrv0 = odrive.find_any(serial_number=odrv_0) # Get odrive object - if odrv_1: - odrv1 = odrive.find_any(serial_number=odrv_1) # Get odrive object - - gp = gmi.getGamepad(0) # Get gamepad object - - (ls_x, ls_y) = gmi.getLeftStick(gp, AXIS_DEADZONE) # Get left stick - (rs_x, rs_y) = gmi.getRightStick(gp, AXIS_DEADZONE) # Get right stick - (l2, r2) = gmi.getTriggers(gp, AXIS_DEADZONE) # Get triggers - (hat_x, hat_y) = gmi.getHat(gp) # Get hat - - if gmi.getButtonValue(gp, 1): - ... - - velocity = ls_y * speed - ramp = abs(rs_x)/1.5 + 1 - (rampLVel, rampRVel) = (1, 1) - - if rs_x < 0: - rampRVel = ramp - elif rs_x > 0: - rampLVel = ramp - - # Lambda expressions - reqVel = lambda rvel: int(velocity * rvel) # Requested velocity - rndS = lambda x: round(x, 2) # Formatting stick values - - # Left Stick, Forward/Backward Movement - if l2 > 0 and odrv_1: - print("Left Stick:", (rndS(ls_x), rndS(ls_y)), "\tRight Stick:", (rndS(rs_x), rndS(rs_y))) - print("Left Speed:", reqVel(rampLVel), "\t\tRight Speed:", reqVel(rampRVel)) - odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL - odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL - odrv0.axis0.controller.input_vel = reqVel(rampLVel) - odrv0.axis1.controller.input_vel = reqVel(rampLVel) - odrv1.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL - odrv1.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL - odrv1.axis0.controller.input_vel = reqVel(rampRVel) - odrv1.axis1.controller.input_vel = reqVel(rampRVel) - - # Stop all motors if no analog input - if (ls_y == 0 and ls_x == 0) and odrv_1: - odrv0.axis0.requested_state = AXIS_STATE_IDLE - odrv0.axis1.requested_state = AXIS_STATE_IDLE - odrv1.axis0.requested_state = AXIS_STATE_IDLE - odrv1.axis1.requested_state = AXIS_STATE_IDLE - - # Ramp up/down input - if hat_x < 0 and speed != MIN_SPEED: - speed -= CREMENT - print("Current speed: ", speed) - if hat_x > 0 and speed != MAX_SPEED: - speed += CREMENT - print("Current speed: ", speed) - - -# ==================================================================================================== - # TODO: Arm control -# ==================================================================================================== - - - - -if __name__ == "__main__": - odrives = get_all_odrives() - # Odrive 0: 366B385A3030 - # Odrive 1: 365F385E3030 - odrv0 = odrives[0] - odrv1 = odrives[1] - - calibrate_all_motors(odrv0, odrv1) - eventHandler(odrv_0=odrv0, odrv_1=odrv1) - \ No newline at end of file