Skip to content

Commit

Permalink
Added manual shooter mappings
Browse files Browse the repository at this point in the history
  • Loading branch information
amallery committed Feb 5, 2016
1 parent 2d5817f commit 0ea33b5
Show file tree
Hide file tree
Showing 8 changed files with 101 additions and 44 deletions.
3 changes: 3 additions & 0 deletions py/.deploy_cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[auth]
hostname = roborio-192-frc.local

40 changes: 25 additions & 15 deletions py/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@
#from grt.macro.new_turn_macro import NewTurnMacro
from grt.macro.straight_macro import StraightMacro
from grt.mechanism.pickup import Pickup
from grt.mechansim.manual_turntable import ManualTurntable
from grt.mechanism.manual_shooter import ManualShooter

using_vision_server = False

c = Compressor()
c.start()

#from vision.robot_vision_dynamic import Vision

Expand All @@ -40,26 +42,34 @@

#DT Talons and Objects

pickup_achange_motor1 = CANTalon(8)
pickup_achange_motor2 = CANTalon(11)
pickup_roller_motor = CANTalon(11)
pickup_achange_motor1 = CANTalon(11)
pickup_achange_motor2 = CANTalon(7)
pickup_roller_motor = CANTalon(8)

pickup = Pickup(pickup_achange_motor1, pickup_achange_motor2, pickup_roller_motor)

flywheel_motor = CANTalon(10)
shooter_act = Solenoid(1)
turntable_motor = CANTalon(12)

manual_turntable = ManualTurntable(turntable_motor)
manual_shooter = ManualShooter(flywheel_motor, shooter_act, turntable_motor)

dt_right = CANTalon(1)
dt_r2 = CANTalon(2)
dt_left = CANTalon(7)
dt_l2 = CANTalon(8)


dt_r2.changeControlMode(CANTalon.ControlMode.Follower)
dt_l2.changeControlMode(CANTalon.ControlMode.Follower)
dt_r2.set(1)
dt_l2.set(7)
#dt_r2 = CANTalon(2)
#dt_r3 = CANTalon(3)
dt_left = CANTalon(4)
#dt_l2 = CANTalon(5)
#dt_l3 = CANTalon(6)


#dt_r2.changeControlMode(CANTalon.ControlMode.Follower)
#dt_r3.changeControlMode(CANTalon.ControlMode.Follower)
#dt_l2.changeControlMode(CANTalon.ControlMode.Follower)
#dt_l3.changeControlMode(CANTalon.ControlMode.Follower)
#dt_r2.set(1)
#dt_r3.set(1)
#dt_l2.set(4)
#dt_l3.set(4)

dt = DriveTrain(dt_left, dt_right, left_encoder=None, right_encoder=None)

Expand Down Expand Up @@ -113,7 +123,7 @@
# Mech Talons, objects, and controller

# define MechController
mc = MechController(driver_stick, xbox_controller, pickup, manual_turntable)
mc = MechController(driver_stick, xbox_controller, pickup, manual_shooter)

# define DriverStation
ds = DriverStation.getInstance()
Expand Down
2 changes: 1 addition & 1 deletion py/grt/mechanism/drivecontroller.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def __init__(self, dt, l_joystick, straight_macro=None, r_joystick=None):
def _joylistener(self, sensor, state_id, datum):
if sensor in (self.l_joystick, self.r_joystick) and state_id in ('x_axis', 'y_axis'):
if not self.straight_macro.enabled:
power = -self.l_joystick.y_axis
power = self.l_joystick.y_axis
turnval = self.l_joystick.x_axis#self.r_joystick.x_axis if self.r_joystick else self.l_joystick.x_axis
# get turn value from r_joystick if it exists, else get it from l_joystick
self.dt.set_dt_output(power + turnval,
Expand Down
17 changes: 17 additions & 0 deletions py/grt/mechanism/manual_shooter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
class ManualShooter:

def __init__(self, flywheel_motor, shooter_act, turntable_motor):
self.flywheel_motor = flywheel_motor
self.shooter_act = shooter_act
self.turntable_motor = turntable_motor

def turn(self, power):
self.turntable_motor.set(power)

def spin_flywheel(self, power):
self.flywheel_motor.set(power)
def shooter_down(self):
self.shooter_act.set(True)
def shooter_up(self):
self.shooter_act.set(False)

8 changes: 0 additions & 8 deletions py/grt/mechanism/manual_turntable.py

This file was deleted.

22 changes: 19 additions & 3 deletions py/grt/mechanism/mechcontroller.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
class MechController:

def __init__(self, driver_joystick, xbox_controller, pickup, manual_turntable): # mechanisms belong in arguments
def __init__(self, driver_joystick, xbox_controller, pickup, manual_shooter): # mechanisms belong in arguments
# define mechanisms here


self.driver_joystick = driver_joystick
self.xbox_controller = xbox_controller

self.pickup = pickup
self.manual_turntable = manual_turntable
self.manual_shooter = manual_shooter
driver_joystick.add_listener(self._driver_joystick_listener)
xbox_controller.add_listener(self._xbox_controller_listener)

Expand Down Expand Up @@ -36,12 +36,28 @@ def _xbox_controller_listener(self, sensor, state_id, datum):
if state_id == "r_shoulder":
if datum:
self.pickup.roll(.8)
else:
self.pickup.stop()
if state_id == "l_shoulder":
if datum:
self.pickup.roll(-.8)
else:
self.pickup.stop()
if state_id == "r_y_axis":
if datum:
self.manual_turntable.turn(datum*.3)
self.manual_shooter.turn(datum*.3)
if state_id == "x_button":
if datum:
self.manual_shooter.spin_flywheel(1.0)
if state_id == "y_button":
if datum:
self.manual_shooter.spin_flywheel(0)
if state_id == "b_button":
if datum:
self.manual_shooter.shooter_down()
else:
self.manual_shooter.shooter_up()




Expand Down
4 changes: 3 additions & 1 deletion py/grt/mechanism/pickup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ def angle_change(self, power):
self.achange_motor_2.set(-power)

def roll(self, power):
self.roller_motor.set(power)
self.roller_motor.set(power)
def stop(self):
self.roller_motor.set(0)
49 changes: 33 additions & 16 deletions py/grt/sensors/navx.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,43 @@
from robotpy_ext.common_drivers.navx.ahrs import AHRS
from grt.core import Sensor


class NavX(Sensor):
def __init__(self):
super().__init__()
try:
from robotpy_ext.common_drivers.navx.ahrs import AHRS
class NavX(Sensor):
def __init__(self):
super().__init__()

self.ahrs = AHRS.create_spi()
self.ahrs = AHRS.create_spi()

self.pitch = None
self.yaw = None
self.roll = None
self.compass_heading = None
self.fused_heading = None
self.pitch = None
self.yaw = None
self.roll = None
self.compass_heading = None
self.fused_heading = None

def poll(self):
self.pitch = self.ahrs.getPitch()
def poll(self):
self.pitch = self.ahrs.getPitch()

self.yaw = self.ahrs.getYaw()
self.yaw = self.ahrs.getYaw()

self.roll = self.ahrs.getRoll()
self.roll = self.ahrs.getRoll()

self.compass_heading = self.ahrs.getCompassHeading()
self.compass_heading = self.ahrs.getCompassHeading()

self.fused_heading = self.ahrs.getFusedHeading()
self.fused_heading = self.ahrs.getFusedHeading()

except ImportError:
class NavX(Sensor):
def __init__(self):
super().__init__()

self.ahrs = None

self.pitch = None
self.yaw = None
self.roll = None
self.compass_heading = None
self.fused_heading = None

def poll(self):
pass

0 comments on commit 0ea33b5

Please sign in to comment.