blob: 915f63d53da23e86c766c3be5e5457f58852c3ec [file] [log] [blame]
package(default_visibility = ['//visibility:public'])
load('//aos/build:queues.bzl', 'queue_library')
cc_binary(
name = 'replay_drivetrain',
srcs = [
'replay_drivetrain.cc',
],
deps = [
':drivetrain_queue',
'//aos/common/controls:replay_control_loop',
'//aos/linux_code:init',
'//frc971/queues:gyro',
],
)
queue_library(
name = 'drivetrain_queue',
srcs = [
'drivetrain.q',
],
deps = [
'//aos/common/controls:control_loop_queues',
'//frc971/control_loops:queues',
],
)
cc_library(
name = 'drivetrain_config',
hdrs = [
'drivetrain_config.h',
],
deps = [
'//frc971/control_loops:state_feedback_loop',
'//frc971:shifter_hall_effect',
],
)
cc_library(
name = 'gear',
hdrs = [
'gear.h',
],
)
cc_library(
name = 'ssdrivetrain',
srcs = [
'ssdrivetrain.cc',
],
hdrs = [
'ssdrivetrain.h',
],
deps = [
':drivetrain_queue',
':drivetrain_config',
':gear',
'//aos/common/controls:control_loop',
'//aos/common/controls:polytope',
'//aos/common/logging:matrix_logging',
'//aos/common/logging:queue_logging',
'//aos/common/messages:robot_state',
'//aos/common/util:log_interval',
'//aos/common/util:trapezoid_profile',
'//aos/common:math',
'//frc971/control_loops:coerce_goal',
'//frc971/control_loops:state_feedback_loop',
'//frc971:shifter_hall_effect',
],
)
cc_library(
name = 'polydrivetrain',
srcs = [
'polydrivetrain.cc',
],
hdrs = [
'polydrivetrain.h',
],
deps = [
':drivetrain_queue',
':drivetrain_config',
':gear',
'//aos/common/controls:polytope',
'//aos/common:math',
'//aos/common/messages:robot_state',
'//frc971/control_loops:state_feedback_loop',
'//frc971/control_loops:coerce_goal',
'//aos/common/util:log_interval',
'//aos/common/logging:queue_logging',
'//aos/common/logging:matrix_logging',
],
)
genrule(
name = 'genrule_down_estimator',
visibility = ['//visibility:private'],
cmd = '$(location //frc971/control_loops/python:down_estimator) $(OUTS)',
tools = [
'//frc971/control_loops/python:down_estimator',
],
outs = [
'down_estimator.h',
'down_estimator.cc',
],
)
cc_library(
name = 'down_estimator',
hdrs = [
'down_estimator.h',
],
srcs = [
'down_estimator.cc',
],
deps = [
'//frc971/control_loops:state_feedback_loop',
],
)
cc_library(
name = 'drivetrain_lib',
srcs = [
'drivetrain.cc',
],
hdrs = [
'drivetrain.h',
],
deps = [
':down_estimator',
':drivetrain_queue',
':gear',
':polydrivetrain',
':ssdrivetrain',
'//aos/common/controls:control_loop',
'//frc971/queues:gyro',
'//frc971/wpilib:imu_queue',
'//aos/common/util:log_interval',
'//aos/common/logging:queue_logging',
'//aos/common/logging:matrix_logging',
],
)
cc_test(
name = 'drivetrain_lib_test',
srcs = [
'drivetrain_lib_test.cc',
],
deps = [
'//aos/testing:googletest',
':drivetrain_queue',
':drivetrain_lib',
':drivetrain_config',
'//aos/common/controls:control_loop_test',
'//frc971/control_loops:state_feedback_loop',
'//frc971/queues:gyro',
'//aos/common:queues',
'//y2016:constants',
'//y2016/control_loops/drivetrain:polydrivetrain_plants',
],
)
genrule(
name = 'genrule_haptic_wheel',
visibility = ['//visibility:private'],
cmd = '$(location //frc971/control_loops/python:haptic_wheel) $(OUTS)',
tools = [
'//frc971/control_loops/python:haptic_wheel',
],
outs = [
'haptic_wheel.h',
'haptic_wheel.cc',
'integral_haptic_wheel.h',
'integral_haptic_wheel.cc',
'haptic_trigger.h',
'haptic_trigger.cc',
'integral_haptic_trigger.h',
'integral_haptic_trigger.cc',
],
restricted_to = ["//tools:k8", "//tools:roborio", "//tools:armhf-debian", "//tools:cortex-m4f"],
)
cc_library(
name = 'haptic_input_uc',
hdrs = [
'haptic_wheel.h',
'integral_haptic_wheel.h',
'haptic_trigger.h',
'integral_haptic_trigger.h',
],
srcs = [
'haptic_wheel.cc',
'integral_haptic_wheel.cc',
'haptic_trigger.cc',
'integral_haptic_trigger.cc',
],
deps = [
'//frc971/control_loops:state_feedback_loop_uc',
],
restricted_to = ["//tools:cortex-m4f"],
)
cc_library(
name = 'haptic_wheel',
hdrs = [
'haptic_wheel.h',
'integral_haptic_wheel.h',
'haptic_trigger.h',
'integral_haptic_trigger.h',
],
srcs = [
'haptic_wheel.cc',
'integral_haptic_wheel.cc',
'haptic_trigger.cc',
'integral_haptic_trigger.cc',
],
deps = [
'//frc971/control_loops:state_feedback_loop',
],
)