blob: a637a5550261c95dde3b5e1de8d2d472db381eca [file] [log] [blame]
Brian Silvermand44258e2018-05-14 10:01:18 -07001load("//motors:macros.bzl", "hex_from_elf")
2load("//tools:environments.bzl", "mcu_cpus")
3
4cc_binary(
Brian Silvermand9566392018-06-10 15:02:03 -07005 name = "fet12.elf",
6 srcs = [
James Kuszmaul998d3032018-09-08 15:41:41 -07007 "current_equalization.h",
Brian Silvermand9566392018-06-10 15:02:03 -07008 "fet12.cc",
9 ],
10 restricted_to = mcu_cpus,
11 deps = [
12 ":motor_controls",
13 "//motors:motor",
14 "//motors:util",
15 "//motors/core",
16 "//motors/peripheral:adc",
17 "//motors/peripheral:can",
18 "//motors/usb",
19 "//motors/usb:cdc",
20 ],
21)
22
James Kuszmaul998d3032018-09-08 15:41:41 -070023cc_binary(
24 name = "fet12v2.elf",
25 srcs = [
26 "current_equalization.h",
27 "fet12v2.cc",
28 ],
29 restricted_to = mcu_cpus,
30 deps = [
31 ":motor_controls",
32 "//motors:motor",
33 "//motors:util",
34 "//motors/core",
35 "//motors/peripheral:adc",
James Kuszmaul7c8aad62018-09-08 18:16:18 -070036 "//motors/peripheral:adc_dma",
James Kuszmaul998d3032018-09-08 15:41:41 -070037 "//motors/peripheral:can",
38 "//motors/peripheral:uart",
39 ],
40)
41
Brian Silvermand9566392018-06-10 15:02:03 -070042hex_from_elf(
43 name = "fet12",
44 restricted_to = mcu_cpus,
45)
46
47cc_binary(
Brian Silvermand44258e2018-05-14 10:01:18 -070048 name = "power_wheels.elf",
49 srcs = [
50 "power_wheels.cc",
51 ],
52 restricted_to = mcu_cpus,
53 deps = [
54 "//motors:util",
55 "//motors/core",
56 "//motors/peripheral:adc",
57 "//motors/usb",
58 "//motors/usb:cdc",
59 ],
60)
61
62hex_from_elf(
63 name = "power_wheels",
64 restricted_to = mcu_cpus,
65)
Brian Silvermand9566392018-06-10 15:02:03 -070066
67cc_library(
68 name = "motor_controls",
69 srcs = [
70 "motor_controls.cc",
71 ],
72 hdrs = [
73 "motor_controls.h",
74 ],
75 restricted_to = mcu_cpus,
76 deps = [
77 "//motors:math",
78 "//motors:motor",
79 "//motors/peripheral:configuration",
80 "//third_party/eigen",
81 ],
82)
James Kuszmaul998d3032018-09-08 15:41:41 -070083
James Kuszmaul7c8aad62018-09-08 18:16:18 -070084py_library(
85 name = "calib_sensors",
Brian Silvermanb7fdb692018-09-09 15:50:45 -070086 srcs = [
James Kuszmaul7c8aad62018-09-08 18:16:18 -070087 "calib_sensors.py",
Brian Silvermanb7fdb692018-09-09 15:50:45 -070088 ],
89 data = [
90 "@python_repo//:scipy",
91 ],
92)
93
James Kuszmaul7c8aad62018-09-08 18:16:18 -070094py_binary(
95 name = "current_equalize",
96 srcs = [
97 "current_equalize.py",
98 ],
99 data = [
100 ":calib_sensors",
101 "@python_repo//:scipy",
102 ],
103)
104
James Kuszmaul998d3032018-09-08 15:41:41 -0700105genrule(
106 name = "gen_current_equalization",
James Kuszmaul7c8aad62018-09-08 18:16:18 -0700107 srcs = [
108 "calib_data_6030.csv",
109 "calib_data_60a.csv",
110 "calib_data_60b.csv",
111 "calib_data_60c.csv",
112 ],
James Kuszmaul998d3032018-09-08 15:41:41 -0700113 outs = ["current_equalization.h"],
James Kuszmaul7c8aad62018-09-08 18:16:18 -0700114 cmd = "./$(location current_equalize) $(location calib_data_60a.csv) $(location calib_data_60b.csv) $(location calib_data_60c.csv) $(location calib_data_6030.csv) > \"$@\"",
James Kuszmaul998d3032018-09-08 15:41:41 -0700115 restricted_to = mcu_cpus,
Brian Silvermanb7fdb692018-09-09 15:50:45 -0700116 tools = ["current_equalize"],
James Kuszmaul998d3032018-09-08 15:41:41 -0700117)