Updates to motor controller code
This includes new calibration numbers, and various updates made to
enable gathering those. Also includes updates to the PWM generator.
Change-Id: I2712c04b8427419c318174b6934587a1ea7ff997
diff --git a/motors/fet12/BUILD b/motors/fet12/BUILD
index 625c149..673e1a7 100644
--- a/motors/fet12/BUILD
+++ b/motors/fet12/BUILD
@@ -34,7 +34,7 @@
"//motors/peripheral:adc",
"//motors/peripheral:adc_dma",
"//motors/peripheral:can",
- "//motors/print:uart",
+ "//motors/print:itm",
],
)
@@ -104,13 +104,24 @@
genrule(
name = "gen_current_equalization",
srcs = [
- "calib_data_6030.csv",
"calib_data_60a.csv",
"calib_data_60b.csv",
"calib_data_60c.csv",
+ "calib_data_6030a.csv",
+ "calib_data_6030b.csv",
+ "calib_data_6030c.csv",
],
outs = ["current_equalization.h"],
- cmd = "./$(location current_equalize) $(location calib_data_60a.csv) $(location calib_data_60b.csv) $(location calib_data_60c.csv) $(location calib_data_6030.csv) > \"$@\"",
+ cmd = " ".join([
+ "$(location current_equalize)",
+ "$(location calib_data_60a.csv)",
+ "$(location calib_data_60b.csv)",
+ "$(location calib_data_60c.csv)",
+ "$(location calib_data_6030a.csv)",
+ "$(location calib_data_6030b.csv)",
+ "$(location calib_data_6030c.csv)",
+ "> \"$@\"",
+ ]),
restricted_to = mcu_cpus,
tools = ["current_equalize"],
)
diff --git a/motors/fet12/calib_data_6030.csv b/motors/fet12/calib_data_6030.csv
deleted file mode 100644
index eb6105e..0000000
--- a/motors/fet12/calib_data_6030.csv
+++ /dev/null
@@ -1,124 +0,0 @@
-60,30,0, 75,73,-80, -154,-80,-151
-60,30,0, 74,72,-88, -160,-88,-156
-60,30,0, 67,64,-93, -157,-96,-156
-60,30,0, 72,68,-84, -154,-86,-150
-60,30,0, 70,69,-89, -156,-88,-153
-60,30,0, 90,94,-65, -155,-64,-153
-60,30,0, 81,79,-80, -157,-78,-156
-60,30,0, 66,65,-94, -156,-93,-159
-60,30,0, 70,73,-81, -154,-83,-151
-60,30,0, 75,77,-87, -157,-85,-159
-60,30,0, 83,81,-75, -156,-77,-157
-60,30,0, 71,72,-89, -155,-89,-154
-60,30,0, 88,91,-72, -155,-68,-161
-60,30,0, 71,67,-90, -158,-91,-155
-60,30,0, 71,74,-84, -153,-81,-151
-60,30,0, 85,84,-81, -158,-76,-161
-60,30,0, 88,88,-68, -153,-68,-154
-60,30,0, 74,75,-83, -152,-78,-153
-60,30,0, 87,89,-74, -162,-75,-159
-60,30,0, 77,77,-81, -159,-81,-155
-60,30,0, 65,69,-84, -154,-86,-154
-60,30,0, 75,78,-78, -151,-76,-151
-60,30,0, 69,68,-89, -153,-86,-156
-60,30,0, 94,97,-66, -161,-66,-161
-60,30,0, 82,81,-75, -157,-78,-153
-60,30,0, 82,84,-79, -156,-76,-162
-60,30,0, 78,73,-87, -161,-88,-154
-60,30,0, 69,68,-90, -153,-90,-151
-60,30,0, 76,73,-83, -154,-79,-154
-60,30,0, 73,74,-79, -149,-81,-151
-60,30,0, 83,83,-75, -155,-77,-157
-60,30,0, 82,84,-75, -161,-79,-155
-60,30,0, 80,83,-78, -156,-79,-157
-60,30,0, 66,65,-91, -159,-94,-155
-60,30,0, 78,78,-82, -157,-82,-154
-60,30,0, 84,84,-76, -161,-79,-154
-60,30,0, 94,96,-65, -154,-63,-154
-60,30,0, 73,76,-79, -157,-83,-155
-60,30,0, 79,79,-82, -156,-81,-156
-60,30,0, 67,67,-86, -154,-86,-151
-60,30,0, 72,72,-86, -150,-84,-154
-60,30,0, 75,79,-80, -154,-81,-154
-60,30,0, 66,66,-88, -152,-89,-152
-60,30,0, 76,74,-85, -157,-85,-156
-60,30,0, 78,81,-78, -158,-81,-157
-60,30,0, 83,82,-71, -151,-69,-151
-60,30,0, 69,72,-83, -151,-82,-156
-60,30,0, 64,71,-82, -146,-82,-148
-60,30,0, 82,80,-78, -154,-77,-156
- 0,60,30, -127,-129,-58, 78,-54,76
- 0,60,30, -112,-112,-45, 69,-42,74
- 0,60,30, -120,-120,-47, 75,-45,76
- 0,60,30, -112,-115,-47, 74,-42,74
- 0,60,30, -127,-126,-51, 77,-50,77
- 0,60,30, -121,-120,-46, 75,-46,77
- 0,60,30, -128,-128,-55, 76,-52,78
- 0,60,30, -119,-122,-53, 71,-48,75
- 0,60,30, -124,-121,-52, 74,-49,74
- 0,60,30, -122,-120,-52, 75,-47,74
- 0,60,30, -127,-126,-54, 73,-54,77
- 0,60,30, -123,-122,-56, 74,-52,70
- 0,60,30, -121,-121,-50, 72,-49,75
- 0,60,30, -121,-122,-56, 72,-51,69
- 0,60,30, -120,-115,-48, 73,-46,71
- 0,60,30, -115,-113,-37, 76,-40,77
- 0,60,30, -118,-115,-53, 73,-45,70
- 0,60,30, -129,-126,-48, 83,-46,80
- 0,60,30, -129,-129,-55, 76,-52,76
- 0,60,30, -123,-119,-52, 82,-45,71
- 0,60,30, -119,-120,-50, 76,-45,78
- 0,60,30, -120,-118,-46, 77,-42,76
- 0,60,30, -104,-105,-30, 77,-28,79
- 0,60,30, -114,-112,-44, 76,-40,73
- 0,60,30, -127,-128,-57, 76,-54,80
- 0,60,30, -119,-118,-51, 71,-48,74
- 0,60,30, -113,-113,-36, 79,-34,80
- 0,60,30, -130,-126,-54, 79,-49,80
- 0,60,30, -125,-120,-56, 78,-50,71
- 0,60,30, -134,-136,-60, 76,-60,81
- 0,60,30, -122,-121,-51, 74,-49,73
- 0,60,30, -104,-106,-32, 77,-29,77
- 0,60,30, -118,-117,-46, 72,-47,76
- 0,60,30, -128,-128,-59, 77,-53,70
- 0,60,30, -125,-126,-55, 75,-50,76
- 0,60,30, -127,-126,-47, 78,-47,84
- 0,60,30, -126,-126,-56, 72,-55,76
- 0,60,30, -119,-118,-49, 75,-44,74
- 0,60,30, -121,-119,-49, 76,-43,74
- 0,60,30, -130,-131,-61, 79,-56,77
- 0,60,30, -122,-120,-55, 70,-52,73
- 0,60,30, -121,-121,-50, 77,-46,77
- 0,60,30, -124,-125,-52, 74,-50,75
- 0,60,30, -126,-125,-55, 77,-51,75
- 0,60,30, -113,-113,-40, 77,-37,78
- 0,60,30, -127,-126,-52, 78,-51,78
- 0,60,30, -120,-116,-44, 78,-43,77
- 0,60,30, -127,-126,-54, 74,-53,73
- 0,60,30, -127,-126,-56, 75,-52,77
- 0,60,30, -120,-118,-50, 72,-48,71
- 0,60,30, -129,-128,-54, 76,-52,79
- 0,60,30, -122,-117,-48, 77,-44,73
- 30,0,60, 64,65,139, 80,140,75
- 30,0,60, 50,50,126, 78,127,77
- 30,0,60, 69,68,136, 79,143,72
- 30,0,60, 65,64,133, 74,135,76
- 30,0,60, 69,69,135, 70,137,68
- 30,0,60, 60,59,132, 78,132,74
- 30,0,60, 57,58,136, 76,136,77
- 30,0,60, 58,60,135, 78,134,75
- 30,0,60, 68,65,135, 73,135,74
- 30,0,60, 67,68,141, 76,141,75
- 30,0,60, 69,68,142, 77,144,75
- 30,0,60, 56,62,129, 79,131,70
- 30,0,60, 62,65,135, 75,135,73
- 30,0,60, 72,71,145, 73,144,78
- 30,0,60, 65,64,136, 74,135,73
- 30,0,60, 62,59,136, 74,137,77
- 30,0,60, 64,65,137, 76,140,78
- 30,0,60, 64,62,141, 76,138,79
- 30,0,60, 67,70,135, 72,137,71
- 30,0,60, 74,74,147, 73,146,77
- 30,0,60, 68,67,142, 75,144,78
- 30,0,60, 59,59,126, 75,128,68
-
diff --git a/motors/fet12/calib_data_6030a.csv b/motors/fet12/calib_data_6030a.csv
new file mode 100644
index 0000000..9bedb19
--- /dev/null
+++ b/motors/fet12/calib_data_6030a.csv
@@ -0,0 +1,512 @@
+60,30,0,51,-45,-97
+60,30,0,54,-45,-97
+60,30,0,56,-48,-101
+60,30,0,53,-52,-102
+60,30,0,47,-54,-99
+60,30,0,53,-46,-97
+60,30,0,47,-53,-96
+60,30,0,49,-48,-95
+60,30,0,49,-49,-97
+60,30,0,48,-52,-99
+60,30,0,47,-49,-97
+60,30,0,46,-55,-97
+60,30,0,51,-48,-94
+60,30,0,51,-45,-97
+60,30,0,55,-47,-99
+60,30,0,56,-49,-105
+60,30,0,58,-49,-103
+60,30,0,55,-50,-101
+60,30,0,48,-49,-95
+60,30,0,57,-45,-100
+60,30,0,49,-48,-97
+60,30,0,49,-53,-102
+60,30,0,54,-52,-105
+60,30,0,51,-51,-99
+60,30,0,51,-48,-99
+60,30,0,50,-49,-98
+60,30,0,52,-51,-99
+60,30,0,51,-51,-102
+60,30,0,56,-47,-101
+60,30,0,50,-54,-101
+60,30,0,50,-46,-98
+60,30,0,49,-51,-100
+60,30,0,50,-52,-97
+60,30,0,50,-49,-98
+60,30,0,48,-57,-100
+60,30,0,45,-51,-91
+60,30,0,54,-51,-101
+60,30,0,51,-53,-100
+60,30,0,52,-50,-97
+60,30,0,56,-45,-99
+60,30,0,49,-51,-98
+60,30,0,55,-56,-105
+60,30,0,52,-49,-100
+60,30,0,50,-51,-98
+60,30,0,47,-53,-95
+60,30,0,43,-50,-95
+60,30,0,49,-49,-95
+60,30,0,53,-47,-99
+60,30,0,49,-52,-97
+60,30,0,53,-50,-101
+60,30,0,57,-47,-103
+60,30,0,57,-44,-100
+60,30,0,55,-50,-101
+60,30,0,54,-49,-100
+60,30,0,48,-54,-99
+60,30,0,53,-45,-94
+60,30,0,54,-48,-99
+60,30,0,44,-56,-96
+60,30,0,48,-52,-99
+60,30,0,48,-52,-98
+60,30,0,52,-48,-97
+60,30,0,48,-48,-96
+60,30,0,54,-53,-103
+60,30,0,48,-54,-98
+60,30,0,52,-54,-102
+60,30,0,45,-55,-100
+60,30,0,49,-50,-97
+60,30,0,50,-53,-100
+60,30,0,46,-55,-96
+60,30,0,49,-47,-96
+60,30,0,50,-49,-96
+60,30,0,49,-54,-97
+60,30,0,45,-48,-92
+60,30,0,44,-51,-93
+60,30,0,49,-51,-98
+60,30,0,51,-53,-100
+60,30,0,46,-51,-96
+60,30,0,51,-50,-99
+60,30,0,50,-49,-98
+60,30,0,54,-47,-98
+60,30,0,49,-51,-98
+60,30,0,48,-49,-94
+60,30,0,51,-52,-101
+60,30,0,46,-54,-96
+60,30,0,49,-57,-105
+60,30,0,57,-50,-103
+60,30,0,53,-50,-100
+60,30,0,51,-52,-102
+60,30,0,44,-55,-96
+60,30,0,46,-52,-97
+60,30,0,51,-56,-103
+60,30,0,52,-51,-100
+60,30,0,44,-55,-98
+60,30,0,45,-49,-95
+60,30,0,51,-48,-96
+60,30,0,46,-51,-96
+60,30,0,49,-46,-94
+60,30,0,51,-51,-99
+60,30,0,49,-49,-96
+60,30,0,51,-50,-100
+60,30,0,49,-50,-97
+60,30,0,42,-50,-91
+60,30,0,53,-45,-95
+60,30,0,53,-50,-100
+60,30,0,52,-52,-101
+60,30,0,56,-44,-96
+60,30,0,53,-45,-97
+60,30,0,53,-52,-102
+60,30,0,52,-50,-100
+60,30,0,55,-49,-100
+60,30,0,45,-51,-94
+60,30,0,52,-49,-98
+60,30,0,51,-47,-96
+60,30,0,54,-45,-97
+60,30,0,49,-52,-96
+60,30,0,52,-51,-100
+60,30,0,52,-53,-102
+60,30,0,48,-51,-97
+60,30,0,53,-47,-97
+60,30,0,50,-54,-100
+60,30,0,50,-50,-98
+60,30,0,46,-55,-99
+60,30,0,52,-49,-99
+60,30,0,56,-47,-101
+60,30,0,52,-52,-100
+60,30,0,57,-45,-96
+60,30,0,53,-48,-99
+60,30,0,55,-48,-100
+60,30,0,51,-49,-99
+60,30,0,45,-56,-98
+60,30,0,51,-48,-99
+60,30,0,52,-48,-96
+60,30,0,52,-51,-100
+60,30,0,49,-50,-96
+60,30,0,46,-50,-94
+60,30,0,52,-47,-94
+60,30,0,47,-52,-96
+60,30,0,53,-47,-97
+60,30,0,49,-53,-98
+60,30,0,48,-53,-97
+60,30,0,55,-46,-100
+60,30,0,53,-45,-97
+60,30,0,53,-51,-102
+60,30,0,54,-41,-93
+60,30,0,52,-53,-101
+60,30,0,54,-49,-99
+60,30,0,50,-49,-99
+60,30,0,52,-48,-98
+60,30,0,51,-48,-98
+60,30,0,53,-50,-103
+60,30,0,51,-45,-93
+60,30,0,55,-45,-99
+60,30,0,49,-48,-96
+60,30,0,48,-51,-97
+60,30,0,49,-54,-102
+60,30,0,52,-47,-97
+60,30,0,51,-50,-98
+60,30,0,52,-48,-99
+60,30,0,50,-52,-100
+60,30,0,49,-49,-97
+60,30,0,47,-53,-96
+60,30,0,46,-56,-95
+60,30,0,47,-51,-96
+60,30,0,51,-50,-97
+60,30,0,47,-55,-99
+60,30,0,51,-45,-94
+60,30,0,53,-44,-95
+60,30,0,54,-48,-97
+60,30,0,55,-47,-98
+60,30,0,55,-50,-101
+60,30,0,45,-52,-94
+60,30,0,51,-50,-100
+60,30,0,52,-55,-102
+60,30,0,56,-46,-99
+60,30,0,55,-45,-96
+60,30,0,50,-49,-96
+60,30,0,49,-44,-93
+60,30,0,49,-48,-96
+60,30,0,50,-54,-102
+60,30,0,51,-48,-94
+60,30,0,44,-52,-93
+60,30,0,50,-53,-98
+60,30,0,48,-51,-98
+60,30,0,47,-49,-92
+60,30,0,42,-56,-98
+60,30,0,51,-50,-101
+60,30,0,47,-52,-97
+60,30,0,50,-50,-100
+60,30,0,53,-49,-99
+60,30,0,48,-52,-101
+60,30,0,50,-55,-104
+60,30,0,53,-50,-100
+60,30,0,52,-49,-96
+60,30,0,51,-49,-98
+60,30,0,52,-46,-97
+60,30,0,49,-51,-95
+60,30,0,50,-51,-96
+60,30,0,47,-53,-96
+60,30,0,46,-56,-95
+60,30,0,51,-49,-98
+60,30,0,51,-52,-101
+60,30,0,49,-57,-102
+60,30,0,44,-50,-94
+60,30,0,52,-47,-97
+60,30,0,51,-48,-96
+60,30,0,48,-55,-103
+60,30,0,52,-52,-100
+60,30,0,49,-51,-99
+60,30,0,50,-47,-95
+60,30,0,48,-52,-99
+60,30,0,45,-54,-97
+60,30,0,50,-50,-97
+60,30,0,46,-47,-92
+60,30,0,50,-48,-94
+60,30,0,50,-46,-93
+60,30,0,49,-51,-98
+60,30,0,50,-49,-97
+60,30,0,52,-51,-99
+60,30,0,51,-47,-94
+60,30,0,51,-51,-98
+60,30,0,53,-54,-105
+60,30,0,51,-47,-98
+60,30,0,52,-50,-99
+60,30,0,53,-50,-100
+60,30,0,46,-48,-93
+60,30,0,47,-45,-91
+60,30,0,51,-48,-97
+60,30,0,48,-53,-96
+60,30,0,47,-53,-95
+60,30,0,50,-46,-96
+60,30,0,54,-48,-100
+60,30,0,46,-55,-98
+60,30,0,45,-57,-102
+60,30,0,51,-47,-97
+60,30,0,51,-52,-97
+60,30,0,52,-48,-100
+60,30,0,53,-49,-101
+60,30,0,52,-48,-99
+60,30,0,53,-47,-95
+60,30,0,48,-51,-94
+60,30,0,48,-53,-96
+60,30,0,50,-46,-94
+60,30,0,48,-49,-95
+60,30,0,44,-49,-92
+60,30,0,45,-49,-92
+60,30,0,46,-48,-95
+60,30,0,49,-47,-95
+60,30,0,50,-45,-91
+60,30,0,54,-44,-96
+60,30,0,53,-45,-94
+60,30,0,47,-52,-99
+60,30,0,53,-50,-100
+60,30,0,52,-50,-99
+60,30,0,51,-54,-103
+60,30,0,51,-49,-95
+60,30,0,52,-45,-94
+60,30,0,47,-48,-95
+60,30,0,50,-50,-96
+60,30,0,45,-48,-89
+60,30,0,48,-52,-98
+60,30,0,53,-48,-97
+60,30,0,50,-48,-97
+60,30,0,49,-51,-98
+60,30,0,50,-46,-93
+60,30,0,52,-44,-92
+60,30,0,52,-53,-101
+60,30,0,50,-46,-95
+60,30,0,50,-45,-95
+60,30,0,53,-43,-91
+60,30,0,53,-43,-96
+60,30,0,51,-51,-99
+60,30,0,50,-51,-98
+60,30,0,53,-45,-96
+60,30,0,50,-47,-96
+60,30,0,50,-51,-97
+60,30,0,50,-54,-97
+60,30,0,53,-48,-99
+60,30,0,53,-49,-98
+60,30,0,54,-45,-96
+60,30,0,51,-52,-100
+60,30,0,52,-46,-98
+60,30,0,47,-51,-95
+60,30,0,51,-50,-100
+60,30,0,45,-54,-95
+60,30,0,50,-46,-94
+60,30,0,50,-51,-98
+60,30,0,52,-51,-102
+60,30,0,53,-48,-99
+60,30,0,50,-52,-101
+60,30,0,50,-52,-95
+60,30,0,48,-53,-98
+60,30,0,49,-49,-96
+60,30,0,47,-53,-96
+60,30,0,51,-48,-95
+60,30,0,53,-45,-96
+60,30,0,54,-50,-102
+60,30,0,49,-49,-94
+60,30,0,48,-52,-97
+60,30,0,52,-46,-94
+60,30,0,49,-54,-101
+60,30,0,53,-48,-100
+60,30,0,48,-49,-96
+60,30,0,50,-50,-96
+60,30,0,49,-49,-97
+60,30,0,55,-51,-101
+60,30,0,51,-44,-96
+60,30,0,52,-48,-97
+60,30,0,51,-54,-99
+60,30,0,44,-52,-96
+60,30,0,49,-57,-101
+60,30,0,54,-48,-98
+60,30,0,54,-50,-99
+60,30,0,51,-50,-101
+60,30,0,51,-52,-100
+60,30,0,48,-51,-99
+60,30,0,53,-43,-94
+60,30,0,47,-54,-97
+60,30,0,52,-49,-100
+60,30,0,54,-46,-97
+60,30,0,55,-45,-95
+60,30,0,51,-50,-99
+60,30,0,52,-46,-96
+60,30,0,46,-49,-92
+60,30,0,47,-48,-91
+60,30,0,46,-48,-92
+60,30,0,51,-48,-98
+60,30,0,51,-50,-97
+60,30,0,52,-48,-98
+60,30,0,52,-51,-98
+60,30,0,52,-51,-99
+60,30,0,54,-51,-101
+60,30,0,49,-53,-100
+60,30,0,49,-44,-92
+60,30,0,49,-52,-97
+60,30,0,52,-50,-100
+60,30,0,50,-54,-103
+60,30,0,51,-50,-96
+60,30,0,49,-56,-100
+60,30,0,56,-46,-96
+60,30,0,52,-49,-99
+60,30,0,47,-53,-100
+60,30,0,51,-51,-98
+60,30,0,55,-50,-98
+60,30,0,50,-51,-98
+60,30,0,47,-51,-96
+60,30,0,46,-54,-96
+60,30,0,50,-49,-98
+60,30,0,50,-50,-97
+60,30,0,51,-51,-99
+60,30,0,49,-52,-100
+60,30,0,52,-49,-98
+60,30,0,45,-56,-99
+60,30,0,49,-53,-97
+60,30,0,52,-53,-103
+60,30,0,52,-51,-101
+60,30,0,50,-50,-99
+60,30,0,49,-49,-93
+60,30,0,46,-48,-94
+60,30,0,48,-50,-96
+60,30,0,51,-50,-99
+60,30,0,51,-50,-98
+60,30,0,51,-50,-96
+60,30,0,51,-48,-96
+60,30,0,48,-49,-94
+60,30,0,55,-43,-98
+60,30,0,49,-51,-97
+60,30,0,50,-48,-98
+60,30,0,51,-47,-95
+60,30,0,53,-45,-95
+60,30,0,52,-51,-99
+60,30,0,52,-50,-98
+60,30,0,44,-53,-96
+60,30,0,48,-50,-96
+60,30,0,50,-49,-97
+60,30,0,48,-52,-97
+60,30,0,52,-43,-93
+60,30,0,49,-48,-96
+60,30,0,50,-48,-95
+60,30,0,45,-48,-92
+60,30,0,46,-46,-92
+60,30,0,53,-46,-96
+60,30,0,49,-51,-99
+60,30,0,50,-50,-98
+60,30,0,45,-55,-97
+60,30,0,45,-48,-91
+60,30,0,47,-52,-96
+60,30,0,49,-53,-98
+60,30,0,50,-54,-100
+60,30,0,47,-51,-96
+60,30,0,51,-52,-102
+60,30,0,49,-50,-98
+60,30,0,47,-49,-95
+60,30,0,49,-50,-96
+60,30,0,53,-50,-100
+60,30,0,48,-50,-95
+60,30,0,52,-46,-97
+60,30,0,49,-54,-97
+60,30,0,48,-52,-96
+60,30,0,52,-50,-99
+60,30,0,46,-51,-94
+60,30,0,44,-50,-92
+60,30,0,50,-51,-98
+60,30,0,49,-49,-96
+60,30,0,54,-44,-96
+60,30,0,48,-50,-95
+60,30,0,46,-53,-95
+60,30,0,51,-50,-98
+60,30,0,51,-51,-99
+60,30,0,52,-48,-99
+60,30,0,51,-48,-96
+60,30,0,52,-50,-100
+60,30,0,46,-51,-93
+60,30,0,50,-46,-93
+60,30,0,50,-50,-97
+60,30,0,51,-50,-98
+60,30,0,54,-43,-93
+60,30,0,52,-49,-96
+60,30,0,52,-51,-101
+60,30,0,45,-48,-91
+60,30,0,52,-44,-94
+60,30,0,49,-47,-97
+60,30,0,49,-48,-95
+60,30,0,47,-49,-95
+60,30,0,53,-49,-100
+60,30,0,50,-46,-92
+60,30,0,52,-45,-95
+60,30,0,52,-45,-93
+60,30,0,52,-47,-96
+60,30,0,50,-50,-98
+60,30,0,53,-49,-100
+60,30,0,49,-50,-99
+60,30,0,52,-47,-98
+60,30,0,48,-44,-90
+60,30,0,44,-49,-93
+60,30,0,53,-45,-96
+60,30,0,45,-52,-95
+60,30,0,52,-50,-100
+60,30,0,53,-44,-97
+60,30,0,49,-48,-95
+60,30,0,57,-44,-97
+60,30,0,47,-48,-96
+60,30,0,49,-52,-97
+60,30,0,51,-52,-98
+60,30,0,48,-47,-90
+60,30,0,52,-49,-98
+60,30,0,49,-51,-98
+60,30,0,47,-52,-95
+60,30,0,47,-50,-95
+60,30,0,46,-49,-96
+60,30,0,50,-48,-96
+60,30,0,49,-51,-96
+60,30,0,53,-46,-96
+60,30,0,53,-49,-101
+60,30,0,46,-48,-93
+60,30,0,47,-48,-94
+60,30,0,42,-52,-91
+60,30,0,44,-50,-94
+60,30,0,49,-51,-99
+60,30,0,49,-55,-101
+60,30,0,49,-51,-99
+60,30,0,49,-50,-99
+60,30,0,45,-56,-96
+60,30,0,48,-48,-98
+60,30,0,50,-48,-94
+60,30,0,45,-54,-96
+60,30,0,52,-47,-97
+60,30,0,50,-52,-98
+60,30,0,50,-50,-98
+60,30,0,48,-47,-95
+60,30,0,50,-54,-103
+60,30,0,53,-47,-97
+60,30,0,53,-47,-96
+60,30,0,57,-50,-102
+60,30,0,51,-44,-94
+60,30,0,49,-49,-96
+60,30,0,51,-44,-92
+60,30,0,52,-52,-100
+60,30,0,51,-49,-99
+60,30,0,48,-52,-97
+60,30,0,49,-51,-97
+60,30,0,49,-50,-98
+60,30,0,46,-49,-97
+60,30,0,48,-50,-95
+60,30,0,48,-53,-100
+60,30,0,57,-43,-98
+60,30,0,51,-48,-97
+60,30,0,49,-53,-99
+60,30,0,47,-52,-96
+60,30,0,53,-46,-98
+60,30,0,46,-54,-96
+60,30,0,52,-48,-98
+60,30,0,56,-45,-100
+60,30,0,51,-46,-96
+60,30,0,52,-52,-100
+60,30,0,53,-47,-97
+60,30,0,47,-44,-92
+60,30,0,46,-49,-95
+60,30,0,47,-55,-99
+60,30,0,50,-47,-95
+60,30,0,48,-47,-92
+60,30,0,48,-51,-96
+60,30,0,51,-49,-98
+60,30,0,51,-46,-95
+60,30,0,48,-49,-96
+60,30,0,48,-51,-101
+60,30,0,52,-54,-100
+60,30,0,51,-50,-98
+60,30,0,47,-45,-89
+60,30,0,45,-55,-97
+60,30,0,54,-45,-96
+60,30,0,46,-46,-92
+60,30,0,45,-52,-95
diff --git a/motors/fet12/calib_data_6030b.csv b/motors/fet12/calib_data_6030b.csv
new file mode 100644
index 0000000..e883e33
--- /dev/null
+++ b/motors/fet12/calib_data_6030b.csv
@@ -0,0 +1,512 @@
+0,60,30,-89,-37,54
+0,60,30,-92,-41,55
+0,60,30,-91,-36,57
+0,60,30,-95,-39,56
+0,60,30,-89,-34,58
+0,60,30,-87,-31,58
+0,60,30,-89,-37,55
+0,60,30,-95,-36,63
+0,60,30,-86,-30,59
+0,60,30,-86,-35,53
+0,60,30,-88,-39,52
+0,60,30,-88,-32,60
+0,60,30,-93,-35,58
+0,60,30,-85,-33,55
+0,60,30,-90,-34,59
+0,60,30,-92,-35,58
+0,60,30,-93,-37,57
+0,60,30,-88,-35,54
+0,60,30,-90,-39,51
+0,60,30,-87,-35,54
+0,60,30,-92,-34,61
+0,60,30,-90,-36,54
+0,60,30,-92,-43,51
+0,60,30,-93,-36,60
+0,60,30,-90,-33,58
+0,60,30,-91,-33,60
+0,60,30,-88,-34,56
+0,60,30,-91,-37,54
+0,60,30,-91,-37,57
+0,60,30,-93,-36,58
+0,60,30,-88,-32,59
+0,60,30,-93,-37,56
+0,60,30,-95,-36,61
+0,60,30,-88,-31,59
+0,60,30,-92,-36,61
+0,60,30,-90,-32,61
+0,60,30,-86,-34,54
+0,60,30,-93,-37,55
+0,60,30,-90,-37,57
+0,60,30,-88,-36,55
+0,60,30,-91,-34,60
+0,60,30,-90,-33,58
+0,60,30,-92,-39,55
+0,60,30,-91,-36,57
+0,60,30,-91,-34,58
+0,60,30,-91,-35,58
+0,60,30,-91,-36,59
+0,60,30,-89,-35,57
+0,60,30,-88,-38,55
+0,60,30,-85,-33,55
+0,60,30,-92,-38,56
+0,60,30,-87,-35,54
+0,60,30,-87,-37,55
+0,60,30,-92,-41,53
+0,60,30,-88,-33,55
+0,60,30,-93,-37,60
+0,60,30,-88,-32,59
+0,60,30,-86,-36,55
+0,60,30,-87,-40,49
+0,60,30,-92,-37,58
+0,60,30,-85,-34,55
+0,60,30,-93,-41,56
+0,60,30,-90,-32,58
+0,60,30,-86,-38,52
+0,60,30,-91,-37,56
+0,60,30,-87,-29,58
+0,60,30,-89,-34,55
+0,60,30,-90,-40,54
+0,60,30,-90,-36,54
+0,60,30,-91,-34,61
+0,60,30,-85,-32,55
+0,60,30,-91,-36,55
+0,60,30,-93,-35,61
+0,60,30,-89,-39,53
+0,60,30,-86,-33,54
+0,60,30,-86,-38,52
+0,60,30,-92,-35,58
+0,60,30,-92,-35,58
+0,60,30,-87,-32,58
+0,60,30,-85,-36,49
+0,60,30,-92,-38,56
+0,60,30,-91,-34,57
+0,60,30,-92,-37,57
+0,60,30,-88,-31,58
+0,60,30,-87,-33,57
+0,60,30,-88,-33,58
+0,60,30,-92,-39,56
+0,60,30,-93,-41,54
+0,60,30,-93,-35,58
+0,60,30,-89,-32,59
+0,60,30,-85,-32,55
+0,60,30,-92,-36,54
+0,60,30,-89,-38,54
+0,60,30,-88,-34,55
+0,60,30,-93,-38,54
+0,60,30,-90,-39,55
+0,60,30,-86,-34,55
+0,60,30,-94,-36,61
+0,60,30,-91,-33,59
+0,60,30,-84,-35,52
+0,60,30,-90,-38,55
+0,60,30,-90,-36,56
+0,60,30,-93,-38,58
+0,60,30,-88,-38,54
+0,60,30,-92,-40,52
+0,60,30,-87,-37,50
+0,60,30,-96,-34,61
+0,60,30,-94,-34,58
+0,60,30,-86,-36,51
+0,60,30,-89,-38,53
+0,60,30,-89,-34,56
+0,60,30,-88,-33,54
+0,60,30,-94,-35,58
+0,60,30,-93,-35,61
+0,60,30,-87,-35,54
+0,60,30,-87,-33,55
+0,60,30,-91,-39,52
+0,60,30,-91,-35,54
+0,60,30,-91,-39,52
+0,60,30,-87,-38,54
+0,60,30,-86,-35,55
+0,60,30,-91,-36,57
+0,60,30,-88,-32,56
+0,60,30,-89,-38,56
+0,60,30,-95,-37,62
+0,60,30,-89,-33,56
+0,60,30,-91,-38,54
+0,60,30,-86,-36,53
+0,60,30,-84,-33,54
+0,60,30,-92,-32,58
+0,60,30,-86,-33,58
+0,60,30,-92,-39,57
+0,60,30,-92,-37,58
+0,60,30,-92,-38,57
+0,60,30,-95,-37,58
+0,60,30,-86,-35,55
+0,60,30,-87,-34,56
+0,60,30,-84,-33,51
+0,60,30,-88,-33,59
+0,60,30,-89,-35,55
+0,60,30,-87,-33,57
+0,60,30,-89,-38,56
+0,60,30,-93,-37,59
+0,60,30,-86,-33,57
+0,60,30,-93,-34,59
+0,60,30,-91,-41,52
+0,60,30,-88,-37,53
+0,60,30,-90,-36,54
+0,60,30,-81,-32,53
+0,60,30,-87,-33,56
+0,60,30,-92,-37,58
+0,60,30,-89,-35,57
+0,60,30,-89,-34,59
+0,60,30,-89,-35,57
+0,60,30,-84,-33,51
+0,60,30,-85,-36,53
+0,60,30,-90,-35,56
+0,60,30,-88,-35,55
+0,60,30,-85,-32,53
+0,60,30,-91,-34,56
+0,60,30,-88,-33,58
+0,60,30,-91,-36,55
+0,60,30,-85,-34,54
+0,60,30,-90,-34,54
+0,60,30,-87,-35,53
+0,60,30,-87,-32,57
+0,60,30,-86,-32,57
+0,60,30,-85,-31,55
+0,60,30,-92,-34,60
+0,60,30,-89,-38,53
+0,60,30,-87,-32,57
+0,60,30,-89,-39,54
+0,60,30,-87,-32,55
+0,60,30,-91,-37,54
+0,60,30,-89,-36,53
+0,60,30,-88,-29,62
+0,60,30,-93,-35,59
+0,60,30,-89,-34,58
+0,60,30,-85,-32,56
+0,60,30,-90,-34,57
+0,60,30,-87,-33,55
+0,60,30,-89,-36,56
+0,60,30,-92,-37,57
+0,60,30,-91,-37,56
+0,60,30,-86,-37,53
+0,60,30,-93,-35,58
+0,60,30,-90,-33,58
+0,60,30,-90,-32,59
+0,60,30,-91,-34,56
+0,60,30,-92,-37,57
+0,60,30,-88,-32,55
+0,60,30,-90,-37,57
+0,60,30,-88,-34,55
+0,60,30,-94,-40,56
+0,60,30,-88,-40,51
+0,60,30,-88,-35,57
+0,60,30,-85,-34,52
+0,60,30,-87,-37,56
+0,60,30,-94,-37,59
+0,60,30,-99,-44,56
+0,60,30,-92,-38,57
+0,60,30,-93,-34,59
+0,60,30,-96,-34,61
+0,60,30,-88,-28,58
+0,60,30,-86,-35,55
+0,60,30,-89,-38,53
+0,60,30,-87,-31,58
+0,60,30,-92,-34,56
+0,60,30,-90,-30,59
+0,60,30,-88,-38,50
+0,60,30,-93,-33,62
+0,60,30,-88,-33,55
+0,60,30,-91,-33,58
+0,60,30,-90,-37,54
+0,60,30,-88,-34,55
+0,60,30,-87,-30,58
+0,60,30,-88,-35,55
+0,60,30,-87,-37,53
+0,60,30,-91,-35,59
+0,60,30,-91,-37,54
+0,60,30,-91,-40,54
+0,60,30,-88,-34,55
+0,60,30,-86,-28,61
+0,60,30,-87,-34,54
+0,60,30,-92,-34,60
+0,60,30,-92,-32,59
+0,60,30,-89,-35,56
+0,60,30,-83,-35,50
+0,60,30,-91,-35,56
+0,60,30,-86,-36,53
+0,60,30,-89,-35,57
+0,60,30,-94,-34,61
+0,60,30,-92,-37,57
+0,60,30,-88,-34,56
+0,60,30,-85,-33,53
+0,60,30,-90,-34,59
+0,60,30,-84,-29,57
+0,60,30,-87,-32,55
+0,60,30,-92,-38,57
+0,60,30,-93,-37,59
+0,60,30,-93,-39,57
+0,60,30,-85,-36,50
+0,60,30,-90,-34,58
+0,60,30,-85,-32,56
+0,60,30,-87,-34,56
+0,60,30,-83,-29,53
+0,60,30,-87,-37,53
+0,60,30,-87,-30,58
+0,60,30,-94,-34,62
+0,60,30,-88,-33,58
+0,60,30,-92,-35,56
+0,60,30,-91,-36,57
+0,60,30,-87,-29,58
+0,60,30,-90,-33,56
+0,60,30,-91,-34,59
+0,60,30,-85,-39,50
+0,60,30,-87,-34,57
+0,60,30,-95,-38,58
+0,60,30,-92,-37,57
+0,60,30,-87,-36,55
+0,60,30,-90,-35,57
+0,60,30,-93,-41,55
+0,60,30,-88,-32,57
+0,60,30,-85,-34,54
+0,60,30,-85,-36,53
+0,60,30,-82,-35,49
+0,60,30,-84,-34,52
+0,60,30,-89,-37,55
+0,60,30,-88,-34,57
+0,60,30,-88,-33,55
+0,60,30,-87,-33,58
+0,60,30,-90,-34,57
+0,60,30,-87,-34,55
+0,60,30,-90,-32,57
+0,60,30,-89,-35,56
+0,60,30,-89,-33,57
+0,60,30,-90,-33,58
+0,60,30,-85,-32,58
+0,60,30,-90,-36,57
+0,60,30,-88,-33,58
+0,60,30,-89,-30,60
+0,60,30,-87,-36,55
+0,60,30,-80,-31,50
+0,60,30,-85,-33,55
+0,60,30,-92,-36,57
+0,60,30,-89,-35,57
+0,60,30,-89,-35,55
+0,60,30,-95,-40,58
+0,60,30,-87,-28,59
+0,60,30,-85,-28,58
+0,60,30,-88,-32,56
+0,60,30,-87,-33,56
+0,60,30,-94,-36,60
+0,60,30,-87,-36,54
+0,60,30,-88,-34,57
+0,60,30,-88,-32,57
+0,60,30,-86,-34,56
+0,60,30,-89,-33,56
+0,60,30,-94,-36,60
+0,60,30,-90,-36,58
+0,60,30,-94,-37,59
+0,60,30,-85,-33,53
+0,60,30,-87,-31,56
+0,60,30,-79,-29,54
+0,60,30,-85,-33,56
+0,60,30,-89,-40,55
+0,60,30,-87,-36,56
+0,60,30,-92,-37,58
+0,60,30,-89,-34,57
+0,60,30,-90,-37,54
+0,60,30,-91,-41,51
+0,60,30,-83,-35,53
+0,60,30,-88,-34,53
+0,60,30,-91,-38,56
+0,60,30,-92,-35,60
+0,60,30,-86,-32,57
+0,60,30,-92,-37,56
+0,60,30,-93,-37,58
+0,60,30,-90,-37,55
+0,60,30,-92,-41,51
+0,60,30,-82,-34,49
+0,60,30,-86,-35,56
+0,60,30,-85,-33,52
+0,60,30,-89,-34,58
+0,60,30,-91,-35,57
+0,60,30,-93,-36,58
+0,60,30,-95,-43,54
+0,60,30,-93,-33,61
+0,60,30,-86,-35,56
+0,60,30,-88,-33,55
+0,60,30,-85,-34,55
+0,60,30,-86,-35,54
+0,60,30,-85,-31,56
+0,60,30,-89,-34,56
+0,60,30,-93,-39,57
+0,60,30,-88,-37,55
+0,60,30,-89,-34,56
+0,60,30,-91,-38,58
+0,60,30,-88,-36,54
+0,60,30,-89,-40,51
+0,60,30,-86,-33,56
+0,60,30,-88,-40,51
+0,60,30,-87,-28,62
+0,60,30,-85,-34,52
+0,60,30,-88,-36,55
+0,60,30,-93,-37,56
+0,60,30,-92,-36,59
+0,60,30,-88,-37,53
+0,60,30,-87,-38,50
+0,60,30,-85,-30,58
+0,60,30,-88,-39,52
+0,60,30,-86,-37,50
+0,60,30,-88,-36,56
+0,60,30,-88,-36,54
+0,60,30,-89,-34,57
+0,60,30,-89,-35,56
+0,60,30,-85,-31,56
+0,60,30,-90,-36,56
+0,60,30,-88,-33,56
+0,60,30,-86,-33,54
+0,60,30,-88,-33,55
+0,60,30,-89,-35,54
+0,60,30,-91,-34,58
+0,60,30,-88,-41,52
+0,60,30,-93,-40,55
+0,60,30,-90,-37,57
+0,60,30,-92,-34,59
+0,60,30,-92,-37,57
+0,60,30,-92,-39,55
+0,60,30,-92,-37,55
+0,60,30,-84,-33,54
+0,60,30,-92,-39,55
+0,60,30,-90,-39,54
+0,60,30,-87,-39,50
+0,60,30,-92,-37,58
+0,60,30,-88,-34,55
+0,60,30,-93,-32,62
+0,60,30,-92,-35,59
+0,60,30,-88,-38,52
+0,60,30,-88,-40,53
+0,60,30,-89,-33,58
+0,60,30,-94,-39,57
+0,60,30,-93,-39,58
+0,60,30,-91,-33,58
+0,60,30,-91,-33,60
+0,60,30,-91,-34,60
+0,60,30,-85,-38,53
+0,60,30,-89,-39,53
+0,60,30,-87,-34,53
+0,60,30,-86,-36,53
+0,60,30,-91,-33,58
+0,60,30,-88,-35,57
+0,60,30,-89,-34,59
+0,60,30,-93,-37,58
+0,60,30,-87,-35,55
+0,60,30,-88,-35,56
+0,60,30,-91,-33,58
+0,60,30,-89,-38,56
+0,60,30,-93,-36,59
+0,60,30,-88,-36,55
+0,60,30,-88,-33,56
+0,60,30,-87,-37,54
+0,60,30,-90,-37,57
+0,60,30,-87,-33,54
+0,60,30,-88,-36,55
+0,60,30,-94,-36,60
+0,60,30,-89,-34,59
+0,60,30,-91,-33,57
+0,60,30,-89,-33,55
+0,60,30,-93,-41,56
+0,60,30,-87,-40,50
+0,60,30,-93,-40,53
+0,60,30,-91,-38,53
+0,60,30,-91,-36,54
+0,60,30,-85,-32,53
+0,60,30,-88,-36,54
+0,60,30,-89,-36,54
+0,60,30,-90,-35,58
+0,60,30,-87,-35,52
+0,60,30,-88,-33,59
+0,60,30,-88,-33,58
+0,60,30,-89,-36,57
+0,60,30,-90,-33,59
+0,60,30,-88,-33,57
+0,60,30,-90,-35,57
+0,60,30,-86,-34,56
+0,60,30,-87,-40,50
+0,60,30,-88,-34,55
+0,60,30,-89,-35,58
+0,60,30,-94,-37,60
+0,60,30,-89,-40,50
+0,60,30,-87,-34,55
+0,60,30,-93,-35,56
+0,60,30,-92,-35,58
+0,60,30,-94,-37,60
+0,60,30,-91,-38,53
+0,60,30,-90,-37,55
+0,60,30,-85,-33,53
+0,60,30,-87,-39,50
+0,60,30,-90,-40,51
+0,60,30,-90,-38,56
+0,60,30,-88,-35,56
+0,60,30,-87,-32,59
+0,60,30,-92,-32,60
+0,60,30,-86,-33,56
+0,60,30,-92,-36,56
+0,60,30,-91,-40,53
+0,60,30,-92,-35,57
+0,60,30,-87,-31,61
+0,60,30,-85,-33,54
+0,60,30,-87,-35,55
+0,60,30,-88,-35,56
+0,60,30,-94,-34,62
+0,60,30,-90,-35,58
+0,60,30,-93,-41,57
+0,60,30,-90,-36,57
+0,60,30,-87,-32,57
+0,60,30,-87,-34,56
+0,60,30,-89,-34,56
+0,60,30,-90,-39,56
+0,60,30,-85,-35,53
+0,60,30,-91,-37,59
+0,60,30,-89,-39,53
+0,60,30,-87,-33,55
+0,60,30,-92,-34,60
+0,60,30,-87,-36,54
+0,60,30,-89,-34,55
+0,60,30,-88,-34,56
+0,60,30,-88,-34,56
+0,60,30,-87,-38,52
+0,60,30,-93,-35,59
+0,60,30,-91,-34,60
+0,60,30,-92,-36,58
+0,60,30,-91,-35,59
+0,60,30,-89,-32,57
+0,60,30,-86,-35,54
+0,60,30,-83,-34,52
+0,60,30,-93,-36,57
+0,60,30,-91,-33,59
+0,60,30,-90,-32,58
+0,60,30,-87,-32,56
+0,60,30,-87,-39,54
+0,60,30,-88,-37,56
+0,60,30,-95,-40,58
+0,60,30,-89,-40,52
+0,60,30,-88,-36,53
+0,60,30,-92,-40,54
+0,60,30,-93,-35,58
+0,60,30,-86,-34,54
+0,60,30,-92,-35,58
+0,60,30,-90,-35,59
+0,60,30,-89,-35,59
+0,60,30,-89,-36,56
+0,60,30,-84,-35,53
+0,60,30,-86,-32,54
+0,60,30,-91,-34,56
+0,60,30,-91,-37,54
+0,60,30,-89,-36,56
+0,60,30,-91,-33,58
+0,60,30,-84,-28,59
+0,60,30,-89,-35,55
+0,60,30,-91,-32,58
+0,60,30,-93,-35,58
+0,60,30,-91,-33,57
+0,60,30,-92,-36,56
+0,60,30,-84,-33,54
+0,60,30,-90,-34,59
+0,60,30,-95,-42,54
+0,60,30,-90,-32,56
+0,60,30,-87,-37,53
+0,60,30,-90,-33,58
+0,60,30,-88,-33,54
diff --git a/motors/fet12/calib_data_6030c.csv b/motors/fet12/calib_data_6030c.csv
new file mode 100644
index 0000000..975cd27
--- /dev/null
+++ b/motors/fet12/calib_data_6030c.csv
@@ -0,0 +1,512 @@
+30,0,60,51,92,42
+30,0,60,50,86,40
+30,0,60,53,87,36
+30,0,60,52,89,41
+30,0,60,53,89,40
+30,0,60,46,93,46
+30,0,60,43,88,46
+30,0,60,49,93,46
+30,0,60,47,92,47
+30,0,60,43,86,47
+30,0,60,45,91,47
+30,0,60,40,85,46
+30,0,60,38,87,51
+30,0,60,41,92,52
+30,0,60,42,88,51
+30,0,60,46,94,52
+30,0,60,41,87,52
+30,0,60,49,97,50
+30,0,60,44,88,50
+30,0,60,41,87,49
+30,0,60,43,90,49
+30,0,60,44,92,47
+30,0,60,45,87,44
+30,0,60,44,89,47
+30,0,60,47,91,47
+30,0,60,44,87,43
+30,0,60,48,91,45
+30,0,60,50,87,41
+30,0,60,47,88,43
+30,0,60,52,96,45
+30,0,60,53,94,45
+30,0,60,48,92,45
+30,0,60,47,86,45
+30,0,60,46,91,47
+30,0,60,48,85,42
+30,0,60,50,90,44
+30,0,60,50,91,42
+30,0,60,47,86,44
+30,0,60,47,87,43
+30,0,60,47,92,46
+30,0,60,47,88,44
+30,0,60,39,82,47
+30,0,60,46,92,50
+30,0,60,46,91,46
+30,0,60,45,88,47
+30,0,60,41,86,47
+30,0,60,44,85,48
+30,0,60,42,89,51
+30,0,60,39,86,50
+30,0,60,45,94,47
+30,0,60,44,89,47
+30,0,60,47,95,50
+30,0,60,45,90,49
+30,0,60,50,91,45
+30,0,60,46,92,48
+30,0,60,50,85,38
+30,0,60,49,90,42
+30,0,60,50,93,45
+30,0,60,50,87,42
+30,0,60,51,90,42
+30,0,60,46,88,42
+30,0,60,54,94,43
+30,0,60,49,88,40
+30,0,60,51,92,43
+30,0,60,51,92,44
+30,0,60,52,92,46
+30,0,60,46,88,45
+30,0,60,45,85,43
+30,0,60,45,91,46
+30,0,60,46,90,43
+30,0,60,44,91,49
+30,0,60,46,91,45
+30,0,60,44,91,51
+30,0,60,45,92,49
+30,0,60,50,91,46
+30,0,60,46,87,46
+30,0,60,44,83,46
+30,0,60,41,90,49
+30,0,60,45,89,48
+30,0,60,41,90,49
+30,0,60,39,85,48
+30,0,60,43,86,45
+30,0,60,42,87,45
+30,0,60,44,85,45
+30,0,60,45,90,48
+30,0,60,46,86,42
+30,0,60,46,88,46
+30,0,60,48,92,45
+30,0,60,48,88,46
+30,0,60,49,89,42
+30,0,60,49,88,38
+30,0,60,52,89,41
+30,0,60,47,86,38
+30,0,60,51,87,39
+30,0,60,51,85,38
+30,0,60,54,89,39
+30,0,60,48,91,43
+30,0,60,47,87,41
+30,0,60,56,96,43
+30,0,60,55,91,38
+30,0,60,52,87,40
+30,0,60,49,91,45
+30,0,60,49,87,42
+30,0,60,44,89,48
+30,0,60,48,86,41
+30,0,60,48,94,47
+30,0,60,46,90,49
+30,0,60,47,89,46
+30,0,60,44,89,50
+30,0,60,45,91,49
+30,0,60,46,92,49
+30,0,60,43,91,50
+30,0,60,41,87,48
+30,0,60,43,87,47
+30,0,60,43,86,46
+30,0,60,42,87,48
+30,0,60,46,91,47
+30,0,60,47,89,45
+30,0,60,46,90,47
+30,0,60,48,90,42
+30,0,60,47,88,42
+30,0,60,50,93,43
+30,0,60,53,93,43
+30,0,60,51,88,42
+30,0,60,52,90,41
+30,0,60,51,89,42
+30,0,60,52,90,42
+30,0,60,51,92,43
+30,0,60,54,91,38
+30,0,60,52,88,41
+30,0,60,55,91,39
+30,0,60,51,90,42
+30,0,60,51,87,39
+30,0,60,53,90,44
+30,0,60,53,88,40
+30,0,60,54,90,38
+30,0,60,51,87,38
+30,0,60,53,88,40
+30,0,60,55,87,37
+30,0,60,62,94,37
+30,0,60,56,90,36
+30,0,60,55,85,34
+30,0,60,52,93,43
+30,0,60,50,86,38
+30,0,60,54,89,37
+30,0,60,47,88,44
+30,0,60,50,86,40
+30,0,60,47,88,44
+30,0,60,51,86,37
+30,0,60,50,90,43
+30,0,60,51,90,43
+30,0,60,53,93,43
+30,0,60,50,85,38
+30,0,60,54,95,40
+30,0,60,51,94,45
+30,0,60,51,90,42
+30,0,60,51,94,46
+30,0,60,58,98,43
+30,0,60,48,84,40
+30,0,60,49,88,43
+30,0,60,49,85,40
+30,0,60,42,88,48
+30,0,60,50,93,48
+30,0,60,48,89,44
+30,0,60,45,89,47
+30,0,60,45,90,46
+30,0,60,42,86,47
+30,0,60,48,92,47
+30,0,60,45,94,54
+30,0,60,41,86,48
+30,0,60,47,86,45
+30,0,60,44,85,44
+30,0,60,44,87,48
+30,0,60,40,90,51
+30,0,60,44,86,46
+30,0,60,41,91,53
+30,0,60,44,90,49
+30,0,60,48,90,46
+30,0,60,43,87,46
+30,0,60,45,88,44
+30,0,60,47,89,44
+30,0,60,45,88,46
+30,0,60,46,90,45
+30,0,60,45,91,49
+30,0,60,47,89,45
+30,0,60,47,88,45
+30,0,60,46,90,46
+30,0,60,47,94,47
+30,0,60,48,90,46
+30,0,60,41,86,47
+30,0,60,47,93,49
+30,0,60,42,91,51
+30,0,60,45,92,50
+30,0,60,42,86,49
+30,0,60,44,89,51
+30,0,60,40,85,47
+30,0,60,42,87,47
+30,0,60,42,89,49
+30,0,60,45,87,45
+30,0,60,45,90,48
+30,0,60,50,92,46
+30,0,60,49,94,48
+30,0,60,46,91,47
+30,0,60,46,92,51
+30,0,60,48,91,46
+30,0,60,46,87,42
+30,0,60,46,85,41
+30,0,60,46,90,44
+30,0,60,49,91,43
+30,0,60,53,90,40
+30,0,60,52,85,37
+30,0,60,48,85,39
+30,0,60,50,90,43
+30,0,60,44,85,43
+30,0,60,46,88,45
+30,0,60,42,86,47
+30,0,60,47,83,44
+30,0,60,42,85,45
+30,0,60,45,88,44
+30,0,60,41,87,48
+30,0,60,43,89,49
+30,0,60,50,90,43
+30,0,60,44,88,45
+30,0,60,43,88,47
+30,0,60,45,89,46
+30,0,60,45,89,48
+30,0,60,45,86,43
+30,0,60,52,91,44
+30,0,60,53,87,43
+30,0,60,44,85,43
+30,0,60,47,91,44
+30,0,60,49,88,40
+30,0,60,52,85,39
+30,0,60,47,84,40
+30,0,60,49,84,38
+30,0,60,47,88,43
+30,0,60,44,87,47
+30,0,60,49,90,41
+30,0,60,50,99,50
+30,0,60,52,90,42
+30,0,60,46,88,44
+30,0,60,49,90,45
+30,0,60,45,92,48
+30,0,60,45,89,48
+30,0,60,43,87,50
+30,0,60,42,86,50
+30,0,60,43,90,49
+30,0,60,41,91,50
+30,0,60,36,85,50
+30,0,60,39,88,51
+30,0,60,43,88,49
+30,0,60,41,88,51
+30,0,60,42,83,48
+30,0,60,39,93,57
+30,0,60,41,91,50
+30,0,60,38,90,53
+30,0,60,41,90,53
+30,0,60,40,90,53
+30,0,60,38,83,50
+30,0,60,44,87,46
+30,0,60,43,88,47
+30,0,60,42,88,47
+30,0,60,36,85,51
+30,0,60,43,87,48
+30,0,60,42,88,49
+30,0,60,44,85,45
+30,0,60,48,89,45
+30,0,60,47,87,42
+30,0,60,47,93,47
+30,0,60,46,91,47
+30,0,60,46,89,47
+30,0,60,50,93,46
+30,0,60,50,93,45
+30,0,60,44,84,44
+30,0,60,45,84,43
+30,0,60,52,89,41
+30,0,60,48,90,41
+30,0,60,49,89,40
+30,0,60,45,82,41
+30,0,60,50,90,43
+30,0,60,53,90,41
+30,0,60,56,92,42
+30,0,60,48,89,42
+30,0,60,53,94,39
+30,0,60,53,92,43
+30,0,60,51,97,45
+30,0,60,53,91,43
+30,0,60,50,88,44
+30,0,60,45,86,44
+30,0,60,45,85,42
+30,0,60,42,85,45
+30,0,60,43,88,48
+30,0,60,37,88,54
+30,0,60,44,95,54
+30,0,60,43,89,49
+30,0,60,45,91,49
+30,0,60,43,88,48
+30,0,60,40,90,51
+30,0,60,41,90,49
+30,0,60,45,86,46
+30,0,60,42,86,47
+30,0,60,50,90,43
+30,0,60,51,92,44
+30,0,60,46,89,46
+30,0,60,51,93,44
+30,0,60,48,89,42
+30,0,60,51,87,40
+30,0,60,46,85,42
+30,0,60,47,90,42
+30,0,60,49,93,45
+30,0,60,49,89,45
+30,0,60,48,90,44
+30,0,60,45,88,46
+30,0,60,45,88,46
+30,0,60,45,94,50
+30,0,60,46,89,46
+30,0,60,43,88,48
+30,0,60,43,90,49
+30,0,60,42,88,50
+30,0,60,41,88,48
+30,0,60,38,87,52
+30,0,60,39,86,49
+30,0,60,42,85,46
+30,0,60,39,88,52
+30,0,60,41,90,49
+30,0,60,41,87,48
+30,0,60,44,90,50
+30,0,60,44,88,47
+30,0,60,45,83,41
+30,0,60,41,82,47
+30,0,60,43,87,47
+30,0,60,44,91,50
+30,0,60,44,86,45
+30,0,60,44,87,47
+30,0,60,48,90,44
+30,0,60,51,90,45
+30,0,60,46,87,45
+30,0,60,49,90,43
+30,0,60,49,92,44
+30,0,60,46,90,47
+30,0,60,47,87,45
+30,0,60,42,87,48
+30,0,60,44,87,47
+30,0,60,45,89,46
+30,0,60,39,85,51
+30,0,60,40,84,47
+30,0,60,43,94,53
+30,0,60,40,88,49
+30,0,60,42,90,52
+30,0,60,44,91,52
+30,0,60,44,92,51
+30,0,60,44,87,46
+30,0,60,45,92,47
+30,0,60,45,86,44
+30,0,60,48,89,45
+30,0,60,43,88,45
+30,0,60,51,92,43
+30,0,60,49,90,44
+30,0,60,52,93,45
+30,0,60,53,90,40
+30,0,60,50,91,45
+30,0,60,48,86,43
+30,0,60,44,84,41
+30,0,60,53,87,39
+30,0,60,48,86,42
+30,0,60,47,83,38
+30,0,60,49,86,40
+30,0,60,50,87,40
+30,0,60,47,91,47
+30,0,60,53,94,43
+30,0,60,51,92,44
+30,0,60,49,93,46
+30,0,60,46,86,41
+30,0,60,45,87,43
+30,0,60,46,89,48
+30,0,60,44,87,44
+30,0,60,46,85,43
+30,0,60,38,84,50
+30,0,60,39,88,52
+30,0,60,38,87,53
+30,0,60,39,83,47
+30,0,60,37,83,49
+30,0,60,37,87,52
+30,0,60,43,86,48
+30,0,60,35,85,50
+30,0,60,44,94,55
+30,0,60,37,87,52
+30,0,60,40,87,51
+30,0,60,43,88,47
+30,0,60,42,86,48
+30,0,60,39,93,55
+30,0,60,39,86,51
+30,0,60,40,95,56
+30,0,60,36,86,52
+30,0,60,41,92,52
+30,0,60,37,86,53
+30,0,60,33,93,60
+30,0,60,41,89,51
+30,0,60,37,92,57
+30,0,60,35,86,55
+30,0,60,40,88,54
+30,0,60,37,88,52
+30,0,60,48,93,49
+30,0,60,43,96,54
+30,0,60,40,89,49
+30,0,60,44,94,51
+30,0,60,48,91,45
+30,0,60,43,89,49
+30,0,60,46,93,49
+30,0,60,41,89,49
+30,0,60,44,86,45
+30,0,60,45,86,44
+30,0,60,50,90,42
+30,0,60,52,93,44
+30,0,60,55,93,42
+30,0,60,49,90,42
+30,0,60,53,93,45
+30,0,60,51,88,41
+30,0,60,52,88,39
+30,0,60,53,89,40
+30,0,60,44,89,46
+30,0,60,48,86,43
+30,0,60,46,89,43
+30,0,60,46,90,48
+30,0,60,51,88,41
+30,0,60,51,89,41
+30,0,60,51,87,41
+30,0,60,52,92,45
+30,0,60,49,88,43
+30,0,60,51,90,43
+30,0,60,53,91,42
+30,0,60,47,88,42
+30,0,60,46,87,45
+30,0,60,41,86,46
+30,0,60,45,89,46
+30,0,60,45,87,47
+30,0,60,44,87,48
+30,0,60,44,89,48
+30,0,60,42,92,51
+30,0,60,46,91,45
+30,0,60,41,87,47
+30,0,60,45,89,47
+30,0,60,41,89,52
+30,0,60,41,88,49
+30,0,60,46,87,42
+30,0,60,40,86,47
+30,0,60,47,90,49
+30,0,60,45,89,46
+30,0,60,51,91,44
+30,0,60,46,93,48
+30,0,60,49,89,46
+30,0,60,47,89,46
+30,0,60,42,84,44
+30,0,60,43,86,45
+30,0,60,46,88,46
+30,0,60,43,85,45
+30,0,60,43,89,48
+30,0,60,45,86,46
+30,0,60,43,87,47
+30,0,60,50,94,47
+30,0,60,50,92,47
+30,0,60,42,84,45
+30,0,60,43,87,46
+30,0,60,50,90,42
+30,0,60,44,86,46
+30,0,60,46,91,46
+30,0,60,51,96,47
+30,0,60,51,91,43
+30,0,60,47,88,43
+30,0,60,50,90,43
+30,0,60,45,88,46
+30,0,60,42,85,44
+30,0,60,42,85,45
+30,0,60,41,88,49
+30,0,60,41,89,50
+30,0,60,38,87,49
+30,0,60,42,90,49
+30,0,60,42,91,49
+30,0,60,41,90,52
+30,0,60,42,88,46
+30,0,60,42,90,49
+30,0,60,46,93,50
+30,0,60,44,91,49
+30,0,60,45,90,49
+30,0,60,39,82,48
+30,0,60,41,88,48
+30,0,60,44,84,44
+30,0,60,45,84,43
+30,0,60,46,91,47
+30,0,60,45,86,44
+30,0,60,46,86,43
+30,0,60,47,93,48
+30,0,60,46,90,46
+30,0,60,46,86,41
+30,0,60,40,79,40
+30,0,60,45,86,45
+30,0,60,50,90,45
+30,0,60,41,86,44
+30,0,60,39,83,44
+30,0,60,40,88,51
+30,0,60,45,89,48
+30,0,60,44,86,48
+30,0,60,44,91,51
+30,0,60,44,89,46
+30,0,60,44,90,47
+30,0,60,46,89,47
+30,0,60,47,91,49
+30,0,60,44,85,45
+30,0,60,44,88,46
+30,0,60,47,88,41
+30,0,60,54,94,43
+30,0,60,52,92,44
diff --git a/motors/fet12/calib_data_60a.csv b/motors/fet12/calib_data_60a.csv
index 3ef66cf..f525fed 100644
--- a/motors/fet12/calib_data_60a.csv
+++ b/motors/fet12/calib_data_60a.csv
@@ -1,94 +1,512 @@
-60,0,0, 139,140,-16, -153,-13,-153
-60,0,0, 141,147,-12, -152,-11,-157
-60,0,0, 145,148,-8, -152,-8,-150
-60,0,0, 137,141,-17, -154,-18,-157
-60,0,0, 146,143,-14, -158,-15,-155
-60,0,0, 141,147,-14, -156,-16,-161
-60,0,0, 143,145,-15, -154,-15,-161
-60,0,0, 141,147,-13, -153,-12,-158
-60,0,0, 141,145,-17, -156,-18,-162
-60,0,0, 144,151,-10, -156,-11,-160
-60,0,0, 142,146,-14, -156,-16,-159
-60,0,0, 149,152,-11, -156,-10,-161
-60,0,0, 137,144,-11, -152,-13,-157
-60,0,0, 135,141,-17, -151,-12,-155
-60,0,0, 136,142,-16, -152,-13,-156
-60,0,0, 144,147,-6, -151,-9,-151
-60,0,0, 143,149,-11, -155,-10,-158
-60,0,0, 139,143,-14, -151,-11,-154
-60,0,0, 140,150,-6, -151,-8,-154
-60,0,0, 143,147,-12, -150,-7,-153
-60,0,0, 139,145,-7, -145,-8,-155
-60,0,0, 139,142,-16, -152,-14,-158
-60,0,0, 142,147,-12, -154,-11,-157
-60,0,0, 137,139,-22, -154,-18,-159
-60,0,0, 138,140,-12, -152,-15,-150
-60,0,0, 138,146,-8, -147,-6,-152
-60,0,0, 144,148,-14, -155,-15,-160
-60,0,0, 141,141,-15, -151,-12,-156
-60,0,0, 141,144,-19, -154,-18,-163
-60,0,0, 135,140,-15, -150,-16,-153
-60,0,0, 140,142,-13, -149,-12,-157
-60,0,0, 150,157,-8, -154,-3,-160
-60,0,0, 141,145,-12, -153,-11,-154
-60,0,0, 147,146,-14, -156,-15,-158
-60,0,0, 140,142,-15, -150,-13,-155
-60,0,0, 136,139,-18, -147,-16,-153
-60,0,0, 136,139,-17, -152,-18,-153
-60,0,0, 146,147,-6, -149,-2,-150
-60,0,0, 140,143,-19, -155,-18,-159
-60,0,0, 142,141,-16, -152,-11,-154
-60,0,0, 137,142,-13, -148,-9,-154
-60,0,0, 143,149,-18, -153,-14,-163
-60,0,0, 145,153,-5, -152,-6,-158
-60,0,0, 130,135,-27, -154,-25,-158
-60,0,0, 146,151,-6, -155,-7,-154
-60,0,0, 146,151,-11, -154,-7,-158
-60,0,0, 137,142,-16, -151,-12,-157
-60,0,0, 142,145,-12, -152,-11,-155
-60,0,0, 143,144,-17, -156,-15,-161
-60,0,0, 138,139,-13, -148,-13,-149
-60,0,0, 139,141,-15, -148,-11,-152
-60,0,0, 142,144,-13, -148,-12,-155
-60,0,0, 137,140,-20, -152,-18,-157
-60,0,0, 141,141,-13, -154,-15,-153
-60,0,0, 145,146,-13, -151,-8,-154
-60,0,0, 139,143,-15, -148,-12,-156
-60,0,0, 138,140,-16, -151,-14,-150
-60,0,0, 140,143,-14, -150,-12,-155
-60,0,0, 138,140,-12, -152,-13,-153
-60,0,0, 139,144,-9, -147,-9,-155
-60,0,0, 141,142,-18, -154,-17,-160
-60,0,0, 142,142,-13, -154,-15,-152
-60,0,0, 133,135,-18, -148,-19,-154
-60,0,0, 138,134,-19, -155,-21,-152
-60,0,0, 145,147,-12, -156,-13,-159
-60,0,0, 148,149,-5, -155,-6,-153
-60,0,0, 143,142,-14, -157,-16,-156
-60,0,0, 135,139,-21, -152,-18,-158
-60,0,0, 143,147,-6, -150,-8,-151
-60,0,0, 137,143,-19, -154,-20,-163
-60,0,0, 136,140,-16, -150,-17,-156
-60,0,0, 146,147,-8, -156,-12,-154
-60,0,0, 145,145,-13, -152,-9,-153
-60,0,0, 137,140,-18, -151,-14,-157
-60,0,0, 137,142,-18, -153,-17,-158
-60,0,0, 143,146,-14, -154,-11,-159
-60,0,0, 141,143,-10, -149,-11,-156
-60,0,0, 139,138,-13, -151,-14,-156
-60,0,0, 135,138,-12, -148,-15,-153
-60,0,0, 132,140,-13, -148,-15,-153
-60,0,0, 141,147,-12, -154,-12,-158
-60,0,0, 143,146,-7, -150,-8,-152
-60,0,0, 137,140,-17, -152,-14,-158
-60,0,0, 137,139,-12, -149,-13,-152
-60,0,0, 145,150,-7, -152,-5,-158
-60,0,0, 140,142,-9, -148,-10,-152
-60,0,0, 144,151,-4, -145,-3,-155
-60,0,0, 134,136,-15, -147,-14,-154
-60,0,0, 139,140,-10, -148,-10,-147
-60,0,0, 142,146,-10, -152,-7,-153
-60,0,0, 154,153,6, -145,7,-149
-60,0,0, 140,137,-14, -150,-14,-152
-60,0,0, 138,143,-17, -151,-13,-155
-60,0,0, 149,151,-2, -151,0,-154
+60,0,0,99,0,-98
+60,0,0,98,0,-96
+60,0,0,98,0,-96
+60,0,0,98,-2,-97
+60,0,0,96,-2,-97
+60,0,0,96,-1,-92
+60,0,0,92,-4,-93
+60,0,0,92,-4,-94
+60,0,0,95,0,-97
+60,0,0,103,2,-96
+60,0,0,100,-4,-100
+60,0,0,93,0,-92
+60,0,0,102,1,-96
+60,0,0,89,-10,-95
+60,0,0,93,-9,-99
+60,0,0,94,-5,-96
+60,0,0,94,-4,-98
+60,0,0,96,-4,-99
+60,0,0,98,0,-95
+60,0,0,98,3,-94
+60,0,0,96,-4,-96
+60,0,0,95,0,-95
+60,0,0,91,-4,-93
+60,0,0,94,-3,-93
+60,0,0,97,-4,-100
+60,0,0,96,-5,-96
+60,0,0,98,-3,-99
+60,0,0,92,-5,-95
+60,0,0,97,-2,-97
+60,0,0,96,-3,-95
+60,0,0,96,-8,-102
+60,0,0,94,1,-92
+60,0,0,98,-2,-96
+60,0,0,97,-1,-96
+60,0,0,95,-2,-95
+60,0,0,95,0,-94
+60,0,0,95,-5,-98
+60,0,0,100,-3,-101
+60,0,0,95,-5,-98
+60,0,0,97,-5,-97
+60,0,0,98,-2,-96
+60,0,0,101,2,-95
+60,0,0,100,-1,-99
+60,0,0,96,-1,-95
+60,0,0,98,-4,-97
+60,0,0,101,0,-97
+60,0,0,96,1,-94
+60,0,0,105,1,-98
+60,0,0,100,-2,-100
+60,0,0,95,-1,-96
+60,0,0,102,-2,-102
+60,0,0,100,2,-95
+60,0,0,99,2,-95
+60,0,0,95,-3,-97
+60,0,0,92,-6,-94
+60,0,0,98,-2,-94
+60,0,0,93,-2,-93
+60,0,0,99,0,-99
+60,0,0,98,1,-94
+60,0,0,96,-8,-102
+60,0,0,94,-1,-91
+60,0,0,98,0,-96
+60,0,0,91,-2,-90
+60,0,0,98,0,-95
+60,0,0,100,4,-95
+60,0,0,97,0,-97
+60,0,0,98,2,-93
+60,0,0,95,0,-95
+60,0,0,97,0,-95
+60,0,0,96,1,-91
+60,0,0,95,2,-94
+60,0,0,97,1,-95
+60,0,0,96,0,-92
+60,0,0,95,2,-90
+60,0,0,100,1,-93
+60,0,0,98,0,-91
+60,0,0,92,0,-90
+60,0,0,100,-1,-98
+60,0,0,92,0,-91
+60,0,0,97,0,-95
+60,0,0,99,3,-93
+60,0,0,97,-2,-98
+60,0,0,94,-5,-93
+60,0,0,97,-3,-96
+60,0,0,95,0,-92
+60,0,0,97,1,-96
+60,0,0,93,-3,-94
+60,0,0,97,-5,-98
+60,0,0,97,3,-92
+60,0,0,94,-4,-97
+60,0,0,96,1,-93
+60,0,0,96,3,-93
+60,0,0,94,0,-92
+60,0,0,94,3,-88
+60,0,0,94,-2,-93
+60,0,0,92,-6,-95
+60,0,0,93,-1,-93
+60,0,0,94,-3,-94
+60,0,0,97,-6,-98
+60,0,0,94,-6,-97
+60,0,0,95,-3,-95
+60,0,0,93,-3,-95
+60,0,0,89,-8,-94
+60,0,0,93,0,-90
+60,0,0,94,-2,-92
+60,0,0,94,-1,-93
+60,0,0,93,-2,-93
+60,0,0,95,-2,-93
+60,0,0,96,-6,-99
+60,0,0,97,-7,-100
+60,0,0,97,0,-95
+60,0,0,99,0,-97
+60,0,0,95,-5,-95
+60,0,0,95,0,-97
+60,0,0,96,-6,-99
+60,0,0,91,-2,-92
+60,0,0,99,0,-95
+60,0,0,95,-1,-94
+60,0,0,94,1,-92
+60,0,0,92,-4,-93
+60,0,0,103,-1,-102
+60,0,0,98,0,-94
+60,0,0,100,-2,-98
+60,0,0,94,-2,-95
+60,0,0,98,0,-95
+60,0,0,99,-2,-98
+60,0,0,99,0,-96
+60,0,0,92,-5,-94
+60,0,0,92,-5,-93
+60,0,0,97,-4,-97
+60,0,0,97,0,-95
+60,0,0,95,1,-94
+60,0,0,97,0,-96
+60,0,0,99,-1,-95
+60,0,0,98,0,-96
+60,0,0,97,0,-95
+60,0,0,98,-4,-97
+60,0,0,94,-9,-101
+60,0,0,95,-8,-98
+60,0,0,98,0,-96
+60,0,0,98,-6,-102
+60,0,0,96,-1,-96
+60,0,0,101,-2,-99
+60,0,0,101,1,-96
+60,0,0,97,-6,-102
+60,0,0,95,-1,-93
+60,0,0,94,0,-94
+60,0,0,93,-1,-92
+60,0,0,95,0,-92
+60,0,0,95,-6,-95
+60,0,0,99,-3,-98
+60,0,0,93,-7,-96
+60,0,0,98,0,-95
+60,0,0,100,-3,-99
+60,0,0,97,-2,-97
+60,0,0,99,-7,-103
+60,0,0,97,-4,-100
+60,0,0,92,-3,-94
+60,0,0,99,0,-97
+60,0,0,98,-2,-96
+60,0,0,95,4,-89
+60,0,0,93,-1,-91
+60,0,0,93,-3,-93
+60,0,0,91,3,-87
+60,0,0,94,-1,-93
+60,0,0,98,-2,-95
+60,0,0,92,-3,-94
+60,0,0,95,1,-90
+60,0,0,96,1,-91
+60,0,0,96,7,-87
+60,0,0,94,2,-89
+60,0,0,89,0,-86
+60,0,0,93,-6,-94
+60,0,0,93,0,-90
+60,0,0,90,-5,-94
+60,0,0,90,-2,-88
+60,0,0,89,-5,-93
+60,0,0,91,-8,-97
+60,0,0,98,0,-96
+60,0,0,97,-1,-93
+60,0,0,94,-5,-96
+60,0,0,97,0,-96
+60,0,0,98,0,-94
+60,0,0,100,1,-97
+60,0,0,101,-2,-102
+60,0,0,93,1,-90
+60,0,0,91,-6,-96
+60,0,0,92,-6,-96
+60,0,0,95,-2,-93
+60,0,0,91,-8,-98
+60,0,0,95,2,-93
+60,0,0,92,-5,-94
+60,0,0,93,-3,-95
+60,0,0,97,1,-93
+60,0,0,92,-3,-92
+60,0,0,93,-5,-95
+60,0,0,91,-5,-94
+60,0,0,93,-1,-92
+60,0,0,89,-8,-95
+60,0,0,92,-5,-97
+60,0,0,100,1,-94
+60,0,0,100,3,-97
+60,0,0,100,1,-96
+60,0,0,100,-3,-99
+60,0,0,98,0,-95
+60,0,0,94,-5,-93
+60,0,0,99,-3,-98
+60,0,0,93,-3,-96
+60,0,0,96,-3,-98
+60,0,0,99,0,-96
+60,0,0,95,-3,-95
+60,0,0,98,0,-95
+60,0,0,97,3,-92
+60,0,0,98,-1,-94
+60,0,0,95,-4,-96
+60,0,0,97,-2,-96
+60,0,0,95,-4,-96
+60,0,0,91,-11,-99
+60,0,0,99,-2,-97
+60,0,0,98,0,-97
+60,0,0,100,0,-99
+60,0,0,98,-2,-99
+60,0,0,93,-7,-96
+60,0,0,95,-2,-97
+60,0,0,98,-8,-104
+60,0,0,94,-6,-96
+60,0,0,100,0,-99
+60,0,0,92,-3,-95
+60,0,0,93,-3,-94
+60,0,0,91,-8,-98
+60,0,0,91,-6,-95
+60,0,0,94,-8,-96
+60,0,0,96,-4,-98
+60,0,0,98,-4,-100
+60,0,0,94,-5,-98
+60,0,0,95,-1,-93
+60,0,0,98,0,-94
+60,0,0,98,0,-94
+60,0,0,98,-1,-94
+60,0,0,97,3,-91
+60,0,0,91,-3,-92
+60,0,0,93,-5,-96
+60,0,0,99,0,-95
+60,0,0,92,0,-92
+60,0,0,92,1,-91
+60,0,0,94,-3,-99
+60,0,0,99,-3,-99
+60,0,0,94,-6,-98
+60,0,0,92,-6,-96
+60,0,0,94,-7,-97
+60,0,0,94,-4,-97
+60,0,0,92,-5,-97
+60,0,0,97,-2,-96
+60,0,0,93,-3,-94
+60,0,0,96,-2,-96
+60,0,0,93,-3,-92
+60,0,0,93,-2,-91
+60,0,0,95,-5,-96
+60,0,0,97,-5,-99
+60,0,0,98,-4,-99
+60,0,0,98,0,-96
+60,0,0,98,-2,-97
+60,0,0,95,-1,-96
+60,0,0,90,-8,-95
+60,0,0,92,-1,-92
+60,0,0,98,-2,-98
+60,0,0,101,0,-99
+60,0,0,95,-2,-96
+60,0,0,99,0,-96
+60,0,0,92,-3,-90
+60,0,0,93,-1,-95
+60,0,0,97,-4,-97
+60,0,0,92,-5,-95
+60,0,0,94,-5,-97
+60,0,0,100,0,-96
+60,0,0,94,-1,-93
+60,0,0,93,-5,-95
+60,0,0,98,0,-97
+60,0,0,99,-1,-96
+60,0,0,94,0,-93
+60,0,0,91,0,-89
+60,0,0,94,-3,-95
+60,0,0,93,-6,-97
+60,0,0,100,1,-97
+60,0,0,99,-1,-94
+60,0,0,94,-3,-97
+60,0,0,99,-5,-102
+60,0,0,98,0,-97
+60,0,0,101,-4,-99
+60,0,0,99,-5,-100
+60,0,0,100,-3,-99
+60,0,0,98,-7,-101
+60,0,0,90,-9,-99
+60,0,0,92,-6,-96
+60,0,0,90,-1,-92
+60,0,0,87,-5,-93
+60,0,0,91,-2,-92
+60,0,0,96,4,-93
+60,0,0,94,1,-90
+60,0,0,94,0,-94
+60,0,0,94,-4,-94
+60,0,0,89,-8,-95
+60,0,0,91,-5,-96
+60,0,0,96,-2,-96
+60,0,0,100,1,-100
+60,0,0,92,-5,-95
+60,0,0,95,-4,-96
+60,0,0,93,-5,-96
+60,0,0,92,-7,-96
+60,0,0,98,-2,-99
+60,0,0,104,-1,-102
+60,0,0,100,0,-98
+60,0,0,95,-2,-95
+60,0,0,95,-4,-96
+60,0,0,93,0,-90
+60,0,0,94,-6,-97
+60,0,0,91,-6,-94
+60,0,0,92,-7,-97
+60,0,0,88,-10,-94
+60,0,0,91,-9,-97
+60,0,0,94,-6,-96
+60,0,0,100,2,-95
+60,0,0,99,1,-98
+60,0,0,99,0,-96
+60,0,0,97,-1,-96
+60,0,0,98,2,-92
+60,0,0,99,4,-94
+60,0,0,96,1,-95
+60,0,0,95,3,-93
+60,0,0,97,0,-97
+60,0,0,97,-8,-102
+60,0,0,96,-2,-97
+60,0,0,98,-3,-98
+60,0,0,98,1,-94
+60,0,0,95,-2,-93
+60,0,0,92,-3,-92
+60,0,0,92,-5,-93
+60,0,0,92,-2,-92
+60,0,0,93,-5,-97
+60,0,0,90,-1,-89
+60,0,0,94,1,-90
+60,0,0,98,-7,-101
+60,0,0,94,-3,-93
+60,0,0,99,0,-98
+60,0,0,95,-3,-96
+60,0,0,94,-2,-95
+60,0,0,98,-4,-100
+60,0,0,100,-7,-104
+60,0,0,100,-2,-95
+60,0,0,96,-5,-99
+60,0,0,99,-4,-100
+60,0,0,92,-8,-95
+60,0,0,93,-7,-98
+60,0,0,97,-4,-99
+60,0,0,98,-1,-98
+60,0,0,98,-3,-99
+60,0,0,93,2,-90
+60,0,0,95,-3,-97
+60,0,0,98,-4,-99
+60,0,0,94,0,-92
+60,0,0,92,2,-89
+60,0,0,89,-1,-92
+60,0,0,97,0,-93
+60,0,0,97,0,-95
+60,0,0,96,0,-94
+60,0,0,97,-3,-98
+60,0,0,101,0,-96
+60,0,0,99,1,-94
+60,0,0,95,-6,-97
+60,0,0,98,0,-99
+60,0,0,95,-5,-97
+60,0,0,94,-3,-95
+60,0,0,98,2,-95
+60,0,0,95,-3,-94
+60,0,0,96,-2,-94
+60,0,0,94,0,-90
+60,0,0,92,-2,-94
+60,0,0,97,-2,-95
+60,0,0,94,0,-92
+60,0,0,94,0,-91
+60,0,0,94,-4,-95
+60,0,0,92,-4,-94
+60,0,0,98,0,-97
+60,0,0,95,-6,-97
+60,0,0,97,-5,-99
+60,0,0,97,-2,-98
+60,0,0,98,-1,-99
+60,0,0,94,0,-92
+60,0,0,93,4,-85
+60,0,0,93,-4,-93
+60,0,0,92,-4,-95
+60,0,0,98,-1,-97
+60,0,0,92,-1,-92
+60,0,0,94,-2,-93
+60,0,0,95,-2,-96
+60,0,0,99,-1,-96
+60,0,0,93,-6,-95
+60,0,0,94,-3,-92
+60,0,0,93,-6,-98
+60,0,0,96,0,-93
+60,0,0,97,0,-93
+60,0,0,96,-4,-98
+60,0,0,95,-3,-97
+60,0,0,96,-3,-96
+60,0,0,95,-1,-95
+60,0,0,90,-6,-94
+60,0,0,95,-3,-95
+60,0,0,96,-1,-93
+60,0,0,92,-7,-96
+60,0,0,95,-2,-93
+60,0,0,97,-5,-98
+60,0,0,97,1,-94
+60,0,0,100,-1,-98
+60,0,0,93,-3,-93
+60,0,0,96,0,-91
+60,0,0,90,-3,-91
+60,0,0,97,0,-95
+60,0,0,93,0,-93
+60,0,0,101,1,-96
+60,0,0,99,7,-91
+60,0,0,98,2,-95
+60,0,0,99,-3,-99
+60,0,0,96,-4,-100
+60,0,0,97,-2,-96
+60,0,0,94,-7,-99
+60,0,0,98,2,-94
+60,0,0,95,1,-93
+60,0,0,93,-4,-95
+60,0,0,92,-1,-90
+60,0,0,94,-4,-95
+60,0,0,94,0,-93
+60,0,0,93,-2,-94
+60,0,0,92,-4,-90
+60,0,0,98,-1,-98
+60,0,0,99,2,-96
+60,0,0,93,-5,-97
+60,0,0,100,-2,-99
+60,0,0,93,-6,-96
+60,0,0,97,-3,-96
+60,0,0,91,-3,-94
+60,0,0,98,0,-97
+60,0,0,91,-4,-94
+60,0,0,93,-3,-93
+60,0,0,94,-6,-93
+60,0,0,93,0,-90
+60,0,0,91,-7,-96
+60,0,0,95,-4,-97
+60,0,0,98,-3,-96
+60,0,0,94,0,-96
+60,0,0,93,-9,-100
+60,0,0,93,-6,-99
+60,0,0,96,-4,-98
+60,0,0,94,-10,-101
+60,0,0,98,0,-96
+60,0,0,100,4,-96
+60,0,0,101,-7,-106
+60,0,0,96,-3,-97
+60,0,0,96,-4,-96
+60,0,0,96,-4,-96
+60,0,0,92,-1,-90
+60,0,0,94,-4,-95
+60,0,0,98,-4,-100
+60,0,0,93,-6,-98
+60,0,0,93,-3,-94
+60,0,0,94,-4,-96
+60,0,0,92,0,-92
+60,0,0,98,-2,-97
+60,0,0,99,-6,-102
+60,0,0,91,-4,-94
+60,0,0,97,-4,-102
+60,0,0,100,-2,-99
+60,0,0,96,-3,-99
+60,0,0,98,-2,-98
+60,0,0,93,0,-92
+60,0,0,102,-1,-97
+60,0,0,97,-4,-100
+60,0,0,93,-2,-92
+60,0,0,94,-3,-91
+60,0,0,92,-5,-95
+60,0,0,89,-9,-96
+60,0,0,93,-3,-94
+60,0,0,99,0,-97
+60,0,0,97,0,-96
+60,0,0,95,2,-92
+60,0,0,97,-1,-95
+60,0,0,98,-5,-99
+60,0,0,96,-3,-96
+60,0,0,95,-3,-95
+60,0,0,99,0,-99
+60,0,0,93,-5,-96
+60,0,0,98,-1,-98
+60,0,0,91,-5,-95
+60,0,0,94,-2,-93
+60,0,0,91,-7,-95
+60,0,0,92,-7,-96
+60,0,0,97,-2,-95
+60,0,0,93,-7,-96
+60,0,0,90,-7,-96
+60,0,0,94,-3,-92
+60,0,0,94,-3,-94
+60,0,0,97,-3,-96
+60,0,0,101,0,-100
+60,0,0,101,-3,-101
+60,0,0,98,-5,-99
+60,0,0,98,0,-96
+60,0,0,93,-6,-97
+60,0,0,95,-3,-95
+60,0,0,92,-2,-92
+60,0,0,92,-3,-94
+60,0,0,96,-5,-97
+60,0,0,92,-2,-93
+60,0,0,92,-1,-91
diff --git a/motors/fet12/calib_data_60b.csv b/motors/fet12/calib_data_60b.csv
index e44b7ff..8928b2c 100644
--- a/motors/fet12/calib_data_60b.csv
+++ b/motors/fet12/calib_data_60b.csv
@@ -1,61 +1,512 @@
- 0,60,0, -118,-115,-130, -10,-126,-12
- 0,60,0, -108,-106,-120, -9,-116,-10
- 0,60,0, -114,-113,-133, -12,-125,-17
- 0,60,0, -116,-114,-131, -11,-128,-14
- 0,60,0, -112,-109,-124, -12,-120,-10
- 0,60,0, -111,-109,-120, -7,-115,-10
- 0,60,0, -112,-111,-130, -15,-124,-12
- 0,60,0, -100,-98,-110, -4,-108,-6
- 0,60,0, -114,-110,-117, -1,-116,-4
- 0,60,0, -116,-115,-122, -7,-121,-4
- 0,60,0, -123,-118,-132, -7,-130,-12
- 0,60,0, -106,-103,-119, -8,-115,-11
- 0,60,0, -120,-119,-130, -11,-128,-9
- 0,60,0, -116,-116,-130, -6,-122,-9
- 0,60,0, -117,-115,-126, -5,-124,-9
- 0,60,0, -107,-104,-117, -6,-112,-9
- 0,60,0, -103,-106,-120, -11,-120,-13
- 0,60,0, -114,-114,-129, -9,-123,-15
- 0,60,0, -102,-100,-111, -9,-109,-12
- 0,60,0, -114,-110,-124, -8,-120,-11
- 0,60,0, -115,-113,-124, -6,-121,-6
- 0,60,0, -118,-118,-128, -6,-125,-6
- 0,60,0, -115,-111,-127, -11,-127,-15
- 0,60,0, -112,-109,-129, -11,-123,-13
- 0,60,0, -115,-111,-129, -11,-125,-14
- 0,60,0, -117,-115,-128, -12,-128,-13
- 0,60,0, -114,-110,-126, -10,-124,-15
- 0,60,0, -115,-111,-129, -11,-126,-14
- 0,60,0, -115,-116,-129, -9,-124,-11
- 0,60,0, -116,-112,-130, -11,-127,-10
- 0,60,0, -116,-113,-119, -4,-120,-5
- 0,60,0, -109,-108,-126, -14,-123,-16
- 0,60,0, -113,-115,-130, -11,-127,-12
- 0,60,0, -119,-118,-138, -11,-131,-22
- 0,60,0, -104,-104,-120, -10,-117,-12
- 0,60,0, -113,-108,-115, -3,-116,-7
- 0,60,0, -108,-106,-122, -6,-119,-14
- 0,60,0, -110,-107,-113, -6,-114,-5
- 0,60,0, -104,-102,-113, -7,-110,-8
- 0,60,0, -118,-118,-132, -8,-127,-11
- 0,60,0, -117,-113,-127, -7,-123,-14
- 0,60,0, -118,-115,-128, -9,-125,-10
- 0,60,0, -109,-108,-128, -12,-122,-13
- 0,60,0, -103,-104,-113, -8,-113,-10
- 0,60,0, -112,-110,-130, -11,-125,-12
- 0,60,0, -115,-112,-126, -7,-122,-12
- 0,60,0, -115,-112,-127, -6,-122,-12
- 0,60,0, -113,-112,-127, -10,-123,-13
- 0,60,0, -112,-112,-128, -11,-123,-15
- 0,60,0, -115,-108,-121, -4,-121,-12
- 0,60,0, -111,-109,-126, -7,-121,-14
- 0,60,0, -112,-111,-128, -7,-122,-12
- 0,60,0, -104,-101,-114, -7,-109,-12
- 0,60,0, -117,-120,-135, -4,-129,-9
- 0,60,0, -119,-117,-128, -7,-124,-11
- 0,60,0, -111,-112,-122, -7,-118,-6
- 0,60,0, -119,-116,-125, -4,-122,-9
- 0,60,0, -112,-109,-121, -9,-120,-7
- 0,60,0, -116,-115,-130, -6,-124,-14
- 0,60,0, -116,-115,-127, -8,-123,-9
- 0,60,0, -104,-105,-118, -10,-114,-12
+0,60,0,-81,-82,2
+0,60,0,-86,-83,7
+0,60,0,-87,-84,7
+0,60,0,-87,-79,9
+0,60,0,-83,-82,2
+0,60,0,-88,-89,6
+0,60,0,-87,-82,6
+0,60,0,-87,-87,2
+0,60,0,-84,-83,2
+0,60,0,-82,-83,0
+0,60,0,-88,-84,3
+0,60,0,-84,-84,4
+0,60,0,-84,-87,0
+0,60,0,-86,-86,3
+0,60,0,-85,-82,5
+0,60,0,-87,-83,7
+0,60,0,-92,-85,10
+0,60,0,-90,-92,3
+0,60,0,-89,-83,6
+0,60,0,-92,-82,9
+0,60,0,-86,-83,6
+0,60,0,-85,-81,3
+0,60,0,-81,-77,6
+0,60,0,-87,-86,3
+0,60,0,-87,-83,2
+0,60,0,-85,-87,2
+0,60,0,-86,-85,2
+0,60,0,-82,-87,-1
+0,60,0,-89,-82,9
+0,60,0,-86,-82,8
+0,60,0,-86,-84,4
+0,60,0,-84,-83,1
+0,60,0,-87,-80,6
+0,60,0,-87,-83,6
+0,60,0,-82,-84,0
+0,60,0,-84,-81,7
+0,60,0,-88,-85,3
+0,60,0,-85,-83,3
+0,60,0,-87,-83,5
+0,60,0,-84,-87,-3
+0,60,0,-84,-84,1
+0,60,0,-84,-87,3
+0,60,0,-84,-83,2
+0,60,0,-85,-84,5
+0,60,0,-84,-74,8
+0,60,0,-85,-84,5
+0,60,0,-89,-83,6
+0,60,0,-85,-89,-3
+0,60,0,-82,-84,2
+0,60,0,-85,-84,4
+0,60,0,-81,-83,1
+0,60,0,-77,-80,1
+0,60,0,-87,-87,1
+0,60,0,-87,-89,-1
+0,60,0,-86,-83,6
+0,60,0,-85,-84,3
+0,60,0,-88,-85,5
+0,60,0,-87,-81,8
+0,60,0,-85,-84,4
+0,60,0,-86,-88,1
+0,60,0,-87,-85,5
+0,60,0,-82,-81,2
+0,60,0,-86,-87,0
+0,60,0,-80,-84,-1
+0,60,0,-83,-85,0
+0,60,0,-87,-82,3
+0,60,0,-89,-86,3
+0,60,0,-86,-86,2
+0,60,0,-90,-84,7
+0,60,0,-84,-82,4
+0,60,0,-87,-84,3
+0,60,0,-84,-84,2
+0,60,0,-90,-89,2
+0,60,0,-85,-88,-1
+0,60,0,-82,-88,-2
+0,60,0,-84,-84,2
+0,60,0,-83,-82,1
+0,60,0,-85,-85,3
+0,60,0,-82,-83,0
+0,60,0,-84,-83,2
+0,60,0,-85,-84,5
+0,60,0,-88,-89,3
+0,60,0,-86,-84,3
+0,60,0,-89,-87,3
+0,60,0,-87,-84,7
+0,60,0,-85,-82,4
+0,60,0,-84,-87,1
+0,60,0,-83,-77,6
+0,60,0,-80,-82,3
+0,60,0,-85,-87,3
+0,60,0,-78,-83,-1
+0,60,0,-86,-81,7
+0,60,0,-80,-80,3
+0,60,0,-86,-87,2
+0,60,0,-93,-88,9
+0,60,0,-87,-84,6
+0,60,0,-91,-82,10
+0,60,0,-84,-82,6
+0,60,0,-91,-88,3
+0,60,0,-82,-81,3
+0,60,0,-84,-83,3
+0,60,0,-82,-85,0
+0,60,0,-80,-84,0
+0,60,0,-84,-83,4
+0,60,0,-81,-86,0
+0,60,0,-83,-84,1
+0,60,0,-86,-89,2
+0,60,0,-85,-89,-4
+0,60,0,-84,-86,0
+0,60,0,-80,-83,1
+0,60,0,-84,-83,5
+0,60,0,-85,-87,4
+0,60,0,-83,-83,2
+0,60,0,-84,-81,6
+0,60,0,-84,-80,4
+0,60,0,-86,-84,4
+0,60,0,-89,-88,1
+0,60,0,-86,-83,4
+0,60,0,-78,-84,-1
+0,60,0,-87,-84,3
+0,60,0,-88,-89,3
+0,60,0,-85,-87,-2
+0,60,0,-81,-82,3
+0,60,0,-87,-85,5
+0,60,0,-78,-81,1
+0,60,0,-82,-80,4
+0,60,0,-80,-79,4
+0,60,0,-82,-80,6
+0,60,0,-88,-81,9
+0,60,0,-84,-83,2
+0,60,0,-89,-82,9
+0,60,0,-89,-82,8
+0,60,0,-91,-79,12
+0,60,0,-86,-82,6
+0,60,0,-87,-84,6
+0,60,0,-88,-85,3
+0,60,0,-85,-83,5
+0,60,0,-83,-84,0
+0,60,0,-78,-80,1
+0,60,0,-81,-82,1
+0,60,0,-87,-90,2
+0,60,0,-83,-82,1
+0,60,0,-86,-82,7
+0,60,0,-85,-82,7
+0,60,0,-88,-83,8
+0,60,0,-82,-77,10
+0,60,0,-87,-84,4
+0,60,0,-86,-86,6
+0,60,0,-79,-84,0
+0,60,0,-86,-84,5
+0,60,0,-89,-85,5
+0,60,0,-88,-83,6
+0,60,0,-86,-83,5
+0,60,0,-85,-81,6
+0,60,0,-89,-84,5
+0,60,0,-87,-89,0
+0,60,0,-87,-82,5
+0,60,0,-86,-85,4
+0,60,0,-88,-84,7
+0,60,0,-83,-80,4
+0,60,0,-92,-83,10
+0,60,0,-80,-82,0
+0,60,0,-84,-90,-3
+0,60,0,-83,-83,4
+0,60,0,-84,-80,3
+0,60,0,-83,-79,4
+0,60,0,-86,-89,1
+0,60,0,-86,-82,4
+0,60,0,-85,-88,0
+0,60,0,-89,-83,7
+0,60,0,-88,-83,7
+0,60,0,-88,-88,4
+0,60,0,-83,-81,4
+0,60,0,-85,-84,4
+0,60,0,-86,-82,5
+0,60,0,-87,-84,5
+0,60,0,-87,-84,5
+0,60,0,-86,-83,4
+0,60,0,-86,-83,4
+0,60,0,-85,-84,2
+0,60,0,-88,-87,3
+0,60,0,-83,-80,6
+0,60,0,-89,-84,6
+0,60,0,-84,-83,3
+0,60,0,-86,-79,6
+0,60,0,-87,-87,3
+0,60,0,-90,-85,5
+0,60,0,-86,-87,1
+0,60,0,-87,-84,6
+0,60,0,-84,-83,4
+0,60,0,-83,-82,3
+0,60,0,-92,-87,3
+0,60,0,-84,-80,7
+0,60,0,-81,-80,5
+0,60,0,-88,-82,5
+0,60,0,-84,-86,0
+0,60,0,-88,-87,3
+0,60,0,-85,-83,2
+0,60,0,-83,-84,2
+0,60,0,-86,-86,3
+0,60,0,-81,-83,3
+0,60,0,-91,-82,9
+0,60,0,-85,-84,6
+0,60,0,-83,-82,3
+0,60,0,-81,-83,1
+0,60,0,-83,-82,3
+0,60,0,-82,-81,3
+0,60,0,-79,-83,-1
+0,60,0,-81,-84,1
+0,60,0,-82,-78,3
+0,60,0,-82,-87,-2
+0,60,0,-85,-81,5
+0,60,0,-84,-80,5
+0,60,0,-90,-90,0
+0,60,0,-90,-85,5
+0,60,0,-86,-83,3
+0,60,0,-84,-86,0
+0,60,0,-84,-84,2
+0,60,0,-86,-83,5
+0,60,0,-86,-86,3
+0,60,0,-80,-80,1
+0,60,0,-82,-83,0
+0,60,0,-84,-83,3
+0,60,0,-84,-85,-1
+0,60,0,-91,-82,7
+0,60,0,-87,-81,7
+0,60,0,-82,-86,1
+0,60,0,-79,-79,3
+0,60,0,-81,-80,4
+0,60,0,-85,-84,1
+0,60,0,-83,-81,3
+0,60,0,-87,-85,2
+0,60,0,-85,-84,2
+0,60,0,-87,-84,5
+0,60,0,-79,-77,5
+0,60,0,-86,-81,7
+0,60,0,-86,-81,7
+0,60,0,-87,-85,7
+0,60,0,-85,-82,5
+0,60,0,-89,-86,7
+0,60,0,-85,-81,5
+0,60,0,-86,-86,3
+0,60,0,-91,-83,9
+0,60,0,-88,-81,7
+0,60,0,-88,-81,11
+0,60,0,-86,-87,3
+0,60,0,-84,-83,3
+0,60,0,-87,-83,6
+0,60,0,-84,-80,3
+0,60,0,-83,-78,6
+0,60,0,-79,-82,0
+0,60,0,-84,-87,0
+0,60,0,-86,-87,3
+0,60,0,-92,-83,7
+0,60,0,-87,-81,7
+0,60,0,-86,-84,3
+0,60,0,-87,-82,8
+0,60,0,-88,-87,4
+0,60,0,-79,-83,0
+0,60,0,-84,-86,2
+0,60,0,-85,-79,5
+0,60,0,-86,-83,6
+0,60,0,-85,-79,7
+0,60,0,-82,-82,1
+0,60,0,-87,-86,5
+0,60,0,-82,-83,-1
+0,60,0,-86,-86,3
+0,60,0,-84,-81,6
+0,60,0,-83,-80,5
+0,60,0,-83,-79,6
+0,60,0,-83,-81,1
+0,60,0,-83,-77,6
+0,60,0,-85,-83,8
+0,60,0,-88,-83,7
+0,60,0,-88,-80,7
+0,60,0,-81,-82,1
+0,60,0,-83,-83,2
+0,60,0,-84,-81,3
+0,60,0,-85,-85,4
+0,60,0,-86,-85,0
+0,60,0,-85,-86,1
+0,60,0,-82,-78,5
+0,60,0,-82,-73,8
+0,60,0,-86,-83,5
+0,60,0,-83,-85,1
+0,60,0,-87,-88,1
+0,60,0,-86,-84,2
+0,60,0,-85,-87,2
+0,60,0,-86,-82,5
+0,60,0,-82,-82,0
+0,60,0,-88,-80,11
+0,60,0,-87,-85,0
+0,60,0,-86,-83,5
+0,60,0,-85,-85,0
+0,60,0,-87,-86,2
+0,60,0,-86,-83,3
+0,60,0,-85,-81,5
+0,60,0,-89,-80,7
+0,60,0,-86,-84,6
+0,60,0,-87,-83,8
+0,60,0,-87,-82,6
+0,60,0,-85,-86,0
+0,60,0,-89,-79,10
+0,60,0,-80,-77,5
+0,60,0,-84,-79,7
+0,60,0,-86,-81,6
+0,60,0,-81,-84,1
+0,60,0,-86,-88,1
+0,60,0,-82,-78,8
+0,60,0,-87,-82,6
+0,60,0,-82,-78,3
+0,60,0,-90,-83,6
+0,60,0,-86,-81,8
+0,60,0,-87,-84,7
+0,60,0,-81,-81,2
+0,60,0,-82,-80,2
+0,60,0,-86,-84,3
+0,60,0,-83,-84,1
+0,60,0,-81,-81,0
+0,60,0,-87,-83,8
+0,60,0,-85,-83,5
+0,60,0,-79,-82,0
+0,60,0,-84,-82,2
+0,60,0,-87,-79,8
+0,60,0,-83,-87,-3
+0,60,0,-84,-83,3
+0,60,0,-80,-81,3
+0,60,0,-85,-84,3
+0,60,0,-83,-80,3
+0,60,0,-79,-80,3
+0,60,0,-89,-82,7
+0,60,0,-91,-88,4
+0,60,0,-87,-86,5
+0,60,0,-82,-81,1
+0,60,0,-89,-84,7
+0,60,0,-85,-85,3
+0,60,0,-78,-81,2
+0,60,0,-87,-87,3
+0,60,0,-85,-88,1
+0,60,0,-82,-81,2
+0,60,0,-85,-76,10
+0,60,0,-86,-81,7
+0,60,0,-86,-80,6
+0,60,0,-89,-82,5
+0,60,0,-82,-83,1
+0,60,0,-85,-85,2
+0,60,0,-79,-78,3
+0,60,0,-85,-85,1
+0,60,0,-85,-81,5
+0,60,0,-80,-82,3
+0,60,0,-86,-83,3
+0,60,0,-83,-82,4
+0,60,0,-87,-78,8
+0,60,0,-88,-80,8
+0,60,0,-86,-88,1
+0,60,0,-84,-84,-1
+0,60,0,-83,-84,1
+0,60,0,-87,-82,7
+0,60,0,-80,-83,3
+0,60,0,-88,-83,5
+0,60,0,-87,-86,4
+0,60,0,-83,-79,3
+0,60,0,-82,-80,4
+0,60,0,-86,-82,6
+0,60,0,-81,-85,2
+0,60,0,-83,-83,3
+0,60,0,-86,-85,2
+0,60,0,-82,-83,0
+0,60,0,-84,-87,0
+0,60,0,-83,-83,1
+0,60,0,-81,-77,5
+0,60,0,-85,-88,-1
+0,60,0,-80,-82,2
+0,60,0,-85,-85,2
+0,60,0,-87,-82,5
+0,60,0,-85,-80,8
+0,60,0,-84,-87,-1
+0,60,0,-80,-89,-5
+0,60,0,-87,-83,5
+0,60,0,-88,-84,5
+0,60,0,-84,-78,7
+0,60,0,-86,-83,4
+0,60,0,-85,-78,5
+0,60,0,-83,-75,8
+0,60,0,-91,-88,5
+0,60,0,-87,-82,7
+0,60,0,-86,-86,2
+0,60,0,-81,-83,2
+0,60,0,-82,-82,2
+0,60,0,-82,-81,4
+0,60,0,-84,-86,0
+0,60,0,-83,-83,2
+0,60,0,-90,-86,4
+0,60,0,-87,-81,6
+0,60,0,-83,-79,6
+0,60,0,-90,-85,6
+0,60,0,-86,-80,9
+0,60,0,-85,-84,5
+0,60,0,-84,-85,2
+0,60,0,-79,-83,0
+0,60,0,-84,-83,1
+0,60,0,-89,-88,3
+0,60,0,-87,-81,9
+0,60,0,-81,-82,3
+0,60,0,-87,-83,6
+0,60,0,-84,-83,2
+0,60,0,-83,-85,2
+0,60,0,-83,-82,2
+0,60,0,-79,-83,2
+0,60,0,-80,-83,1
+0,60,0,-87,-83,4
+0,60,0,-81,-82,2
+0,60,0,-86,-86,3
+0,60,0,-84,-86,1
+0,60,0,-85,-85,2
+0,60,0,-88,-84,5
+0,60,0,-86,-82,5
+0,60,0,-83,-84,-1
+0,60,0,-86,-86,1
+0,60,0,-85,-82,3
+0,60,0,-85,-82,4
+0,60,0,-83,-80,3
+0,60,0,-88,-85,6
+0,60,0,-89,-83,7
+0,60,0,-85,-84,4
+0,60,0,-81,-85,0
+0,60,0,-86,-80,9
+0,60,0,-85,-84,4
+0,60,0,-84,-81,4
+0,60,0,-88,-86,2
+0,60,0,-84,-83,1
+0,60,0,-87,-83,4
+0,60,0,-88,-81,9
+0,60,0,-82,-80,6
+0,60,0,-90,-86,3
+0,60,0,-79,-84,-1
+0,60,0,-85,-84,4
+0,60,0,-84,-87,2
+0,60,0,-79,-80,0
+0,60,0,-81,-82,0
+0,60,0,-86,-86,3
+0,60,0,-91,-79,12
+0,60,0,-87,-83,5
+0,60,0,-86,-89,0
+0,60,0,-83,-81,4
+0,60,0,-88,-86,5
+0,60,0,-86,-85,1
+0,60,0,-79,-80,0
+0,60,0,-83,-83,0
+0,60,0,-85,-89,0
+0,60,0,-84,-82,3
+0,60,0,-90,-84,8
+0,60,0,-88,-79,9
+0,60,0,-83,-80,3
+0,60,0,-87,-81,6
+0,60,0,-89,-83,10
+0,60,0,-88,-87,4
+0,60,0,-85,-87,0
+0,60,0,-85,-88,-1
+0,60,0,-87,-86,3
+0,60,0,-85,-83,1
+0,60,0,-83,-82,3
+0,60,0,-87,-88,2
+0,60,0,-84,-87,-1
+0,60,0,-87,-87,2
+0,60,0,-83,-81,6
+0,60,0,-84,-82,4
+0,60,0,-80,-85,-1
+0,60,0,-83,-84,1
+0,60,0,-79,-85,-2
+0,60,0,-79,-83,0
+0,60,0,-86,-84,2
+0,60,0,-81,-79,5
+0,60,0,-87,-85,4
+0,60,0,-94,-91,6
+0,60,0,-88,-86,4
+0,60,0,-86,-88,2
+0,60,0,-86,-81,6
+0,60,0,-85,-81,5
+0,60,0,-80,-82,0
+0,60,0,-82,-80,2
+0,60,0,-81,-81,1
+0,60,0,-83,-82,1
+0,60,0,-81,-80,3
+0,60,0,-81,-79,2
+0,60,0,-83,-82,3
+0,60,0,-88,-84,7
+0,60,0,-85,-81,4
+0,60,0,-83,-83,3
+0,60,0,-82,-81,5
+0,60,0,-87,-89,2
+0,60,0,-89,-81,8
+0,60,0,-84,-82,5
+0,60,0,-85,-84,2
+0,60,0,-81,-85,-1
+0,60,0,-79,-79,3
+0,60,0,-79,-81,2
+0,60,0,-86,-87,2
+0,60,0,-85,-85,1
+0,60,0,-81,-83,0
+0,60,0,-81,-85,-3
+0,60,0,-87,-88,2
+0,60,0,-79,-84,2
+0,60,0,-85,-75,10
+0,60,0,-88,-85,7
+0,60,0,-86,-80,7
+0,60,0,-86,-86,0
+0,60,0,-87,-82,8
+0,60,0,-82,-83,2
+0,60,0,-84,-80,4
+0,60,0,-83,-82,1
+0,60,0,-85,-88,-1
diff --git a/motors/fet12/calib_data_60c.csv b/motors/fet12/calib_data_60c.csv
index eb1bc52..2c6df0e 100644
--- a/motors/fet12/calib_data_60c.csv
+++ b/motors/fet12/calib_data_60c.csv
@@ -1,49 +1,512 @@
- 0,0,60, -14,-18,135, 151,135,156
- 0,0,60, -11,-8,139, 155,142,148
- 0,0,60, -1,2,156, 156,155,155
- 0,0,60, -14,-15,140, 155,138,158
- 0,0,60, -6,-7,143, 155,148,157
- 0,0,60, -16,-15,133, 158,136,156
- 0,0,60, -17,-20,135, 155,134,155
- 0,0,60, -14,-11,138, 149,139,156
- 0,0,60, -19,-15,135, 157,135,152
- 0,0,60, -18,-17,140, 162,141,161
- 0,0,60, -8,-6,149, 157,147,156
- 0,0,60, -3,-6,142, 149,144,155
- 0,0,60, -6,-2,144, 150,145,152
- 0,0,60, -17,-15,138, 155,138,156
- 0,0,60, -11,-8,145, 151,142,156
- 0,0,60, -15,-15,140, 150,136,158
- 0,0,60, -16,-12,145, 156,141,156
- 0,0,60, -20,-17,135, 156,134,159
- 0,0,60, -6,0,151, 149,148,155
- 0,0,60, -17,-14,140, 156,141,156
- 0,0,60, -16,-13,141, 161,146,157
- 0,0,60, -9,-9,150, 159,146,162
- 0,0,60, -16,-13,136, 150,132,150
- 0,0,60, -22,-19,140, 159,140,163
- 0,0,60, -14,-13,140, 155,138,156
- 0,0,60, -14,-15,139, 158,139,158
- 0,0,60, -8,-6,150, 157,150,159
- 0,0,60, -4,0,153, 158,154,156
- 0,0,60, -16,-11,138, 158,140,152
- 0,0,60, -14,-15,138, 156,140,158
- 0,0,60, 6,7,157, 156,158,155
- 0,0,60, -2,-4,150, 151,146,157
- 0,0,60, -15,-14,139, 153,135,154
- 0,0,60, -7,-6,143, 155,146,157
- 0,0,60, -7,-9,144, 156,146,155
- 0,0,60, -10,-8,150, 156,150,162
- 0,0,60, -7,-4,144, 155,147,152
- 0,0,60, -18,-14,143, 158,142,160
- 0,0,60, -10,-10,140, 155,141,154
- 0,0,60, -19,-19,135, 156,135,156
- 0,0,60, -7,-11,140, 151,140,153
- 0,0,60, -3,-6,151, 157,150,158
- 0,0,60, -12,-10,143, 156,141,153
- 0,0,60, -10,-4,148, 155,146,156
- 0,0,60, -12,-9,140, 153,141,151
- 0,0,60, -7,-9,146, 154,148,156
- 0,0,60, -21,-19,137, 160,136,157
- 0,0,60, -20,-21,131, 158,135,154
- 0,0,60, -14,-12,141, 157,141,155
+0,0,60,-7,90,100
+0,0,60,-8,90,102
+0,0,60,-9,88,101
+0,0,60,-7,86,97
+0,0,60,-5,94,102
+0,0,60,3,94,95
+0,0,60,-9,87,99
+0,0,60,-5,91,96
+0,0,60,-3,95,102
+0,0,60,-4,95,103
+0,0,60,-2,87,94
+0,0,60,-6,90,102
+0,0,60,-8,87,100
+0,0,60,-6,86,99
+0,0,60,0,92,96
+0,0,60,-6,89,97
+0,0,60,-6,85,97
+0,0,60,-2,95,98
+0,0,60,-9,91,101
+0,0,60,-8,91,103
+0,0,60,-10,86,97
+0,0,60,-6,92,103
+0,0,60,-7,92,103
+0,0,60,-3,96,101
+0,0,60,-7,87,98
+0,0,60,-6,85,93
+0,0,60,0,94,98
+0,0,60,-7,92,102
+0,0,60,-1,96,99
+0,0,60,-7,87,101
+0,0,60,-6,93,104
+0,0,60,-8,88,98
+0,0,60,-5,93,98
+0,0,60,-8,91,100
+0,0,60,-4,88,97
+0,0,60,-4,89,96
+0,0,60,-1,92,97
+0,0,60,-11,87,98
+0,0,60,-7,92,102
+0,0,60,-8,88,100
+0,0,60,-6,95,102
+0,0,60,-7,88,99
+0,0,60,-9,88,100
+0,0,60,-7,95,105
+0,0,60,-7,95,103
+0,0,60,-5,88,96
+0,0,60,-6,95,106
+0,0,60,-7,93,103
+0,0,60,-2,91,95
+0,0,60,-7,93,103
+0,0,60,-6,91,101
+0,0,60,-6,89,100
+0,0,60,-9,94,104
+0,0,60,-2,93,100
+0,0,60,0,97,101
+0,0,60,-6,85,95
+0,0,60,-7,90,97
+0,0,60,-2,95,103
+0,0,60,-4,96,105
+0,0,60,-6,93,102
+0,0,60,-9,89,102
+0,0,60,-12,88,99
+0,0,60,-8,93,105
+0,0,60,-2,91,95
+0,0,60,-6,92,100
+0,0,60,-3,91,96
+0,0,60,-8,85,97
+0,0,60,-5,90,97
+0,0,60,-5,95,101
+0,0,60,-4,94,102
+0,0,60,-7,89,98
+0,0,60,-5,91,100
+0,0,60,-8,89,96
+0,0,60,-6,91,100
+0,0,60,0,95,99
+0,0,60,-6,90,100
+0,0,60,-5,91,100
+0,0,60,-8,86,98
+0,0,60,-8,90,101
+0,0,60,-7,90,101
+0,0,60,-9,84,94
+0,0,60,-7,89,97
+0,0,60,-6,93,101
+0,0,60,-7,87,98
+0,0,60,-4,92,100
+0,0,60,-2,90,97
+0,0,60,-7,91,100
+0,0,60,-1,98,102
+0,0,60,-3,96,104
+0,0,60,-9,84,98
+0,0,60,-5,90,99
+0,0,60,-7,88,98
+0,0,60,-10,88,103
+0,0,60,-4,90,99
+0,0,60,-8,90,103
+0,0,60,-7,90,100
+0,0,60,-8,96,105
+0,0,60,-13,90,105
+0,0,60,-5,95,104
+0,0,60,-4,86,93
+0,0,60,-9,85,99
+0,0,60,-7,91,99
+0,0,60,2,96,97
+0,0,60,-2,92,98
+0,0,60,-9,93,100
+0,0,60,-9,90,103
+0,0,60,-9,90,102
+0,0,60,-9,88,102
+0,0,60,-7,92,105
+0,0,60,-8,91,101
+0,0,60,-6,96,105
+0,0,60,-6,89,99
+0,0,60,-7,89,96
+0,0,60,-11,80,95
+0,0,60,-4,85,96
+0,0,60,-5,87,98
+0,0,60,-2,90,97
+0,0,60,-5,92,102
+0,0,60,-11,91,100
+0,0,60,-12,90,105
+0,0,60,-9,91,104
+0,0,60,-11,90,104
+0,0,60,-8,89,101
+0,0,60,-5,91,101
+0,0,60,-11,95,104
+0,0,60,-1,95,98
+0,0,60,-6,89,99
+0,0,60,-9,89,100
+0,0,60,-8,90,102
+0,0,60,-8,86,99
+0,0,60,-7,88,99
+0,0,60,-5,91,100
+0,0,60,-6,92,103
+0,0,60,-5,88,98
+0,0,60,-11,84,98
+0,0,60,-4,92,97
+0,0,60,-3,90,97
+0,0,60,0,93,97
+0,0,60,0,90,94
+0,0,60,-12,89,103
+0,0,60,-8,86,96
+0,0,60,-6,88,97
+0,0,60,-8,94,102
+0,0,60,0,99,100
+0,0,60,-4,92,100
+0,0,60,-5,87,95
+0,0,60,-4,92,99
+0,0,60,-8,86,99
+0,0,60,-9,93,105
+0,0,60,-5,89,97
+0,0,60,-6,93,102
+0,0,60,-6,89,98
+0,0,60,-4,93,103
+0,0,60,-7,89,101
+0,0,60,-4,93,102
+0,0,60,-6,92,100
+0,0,60,-8,88,100
+0,0,60,-7,96,107
+0,0,60,-10,87,101
+0,0,60,-8,86,97
+0,0,60,-4,90,98
+0,0,60,-7,91,100
+0,0,60,-1,91,97
+0,0,60,-4,86,97
+0,0,60,-2,95,102
+0,0,60,-2,90,96
+0,0,60,-6,88,98
+0,0,60,-7,94,103
+0,0,60,-9,87,100
+0,0,60,-7,90,99
+0,0,60,-7,94,104
+0,0,60,-5,91,101
+0,0,60,-5,92,99
+0,0,60,-4,89,97
+0,0,60,-3,94,98
+0,0,60,-7,89,100
+0,0,60,-2,92,96
+0,0,60,1,91,95
+0,0,60,-8,91,100
+0,0,60,-3,90,95
+0,0,60,-1,90,95
+0,0,60,-8,90,99
+0,0,60,-10,93,106
+0,0,60,-5,90,96
+0,0,60,-5,92,100
+0,0,60,-6,88,99
+0,0,60,-8,87,97
+0,0,60,-9,89,100
+0,0,60,-10,86,99
+0,0,60,-6,92,101
+0,0,60,-6,92,101
+0,0,60,-6,91,100
+0,0,60,-9,90,104
+0,0,60,-2,91,98
+0,0,60,-8,89,101
+0,0,60,-7,91,101
+0,0,60,-7,90,102
+0,0,60,-6,88,98
+0,0,60,-5,90,100
+0,0,60,1,96,97
+0,0,60,-5,95,102
+0,0,60,-5,94,101
+0,0,60,-6,92,100
+0,0,60,-4,88,98
+0,0,60,-8,93,103
+0,0,60,-7,90,95
+0,0,60,-5,92,101
+0,0,60,-4,91,99
+0,0,60,-10,85,97
+0,0,60,-6,96,103
+0,0,60,-5,96,102
+0,0,60,-7,93,101
+0,0,60,-4,87,96
+0,0,60,-7,90,97
+0,0,60,-6,87,95
+0,0,60,0,92,96
+0,0,60,-8,86,98
+0,0,60,-6,88,98
+0,0,60,-6,89,98
+0,0,60,-8,88,98
+0,0,60,-6,91,99
+0,0,60,0,88,94
+0,0,60,-5,85,95
+0,0,60,-6,85,96
+0,0,60,-4,93,99
+0,0,60,-9,86,97
+0,0,60,-6,90,97
+0,0,60,0,92,94
+0,0,60,-2,96,102
+0,0,60,-3,92,98
+0,0,60,-8,89,97
+0,0,60,-7,89,100
+0,0,60,-8,90,103
+0,0,60,-11,91,102
+0,0,60,-5,93,101
+0,0,60,-2,92,98
+0,0,60,-5,91,98
+0,0,60,-3,93,100
+0,0,60,-3,91,95
+0,0,60,-6,86,96
+0,0,60,-5,86,94
+0,0,60,-9,87,98
+0,0,60,-7,93,103
+0,0,60,-7,91,100
+0,0,60,-8,88,97
+0,0,60,-7,89,100
+0,0,60,-8,89,100
+0,0,60,-7,91,102
+0,0,60,-5,92,99
+0,0,60,-5,90,99
+0,0,60,-7,93,102
+0,0,60,-10,87,98
+0,0,60,-1,91,99
+0,0,60,-1,97,101
+0,0,60,-2,92,98
+0,0,60,-7,90,101
+0,0,60,-3,97,105
+0,0,60,-8,90,100
+0,0,60,-5,92,101
+0,0,60,-12,91,105
+0,0,60,-4,89,96
+0,0,60,-2,96,98
+0,0,60,-3,88,94
+0,0,60,-2,90,97
+0,0,60,-6,93,101
+0,0,60,-7,88,101
+0,0,60,-9,98,107
+0,0,60,-5,87,97
+0,0,60,-7,88,99
+0,0,60,-4,93,99
+0,0,60,-7,87,98
+0,0,60,-9,90,101
+0,0,60,-5,89,96
+0,0,60,1,94,94
+0,0,60,1,99,101
+0,0,60,0,97,99
+0,0,60,-7,93,103
+0,0,60,-6,92,99
+0,0,60,-5,88,95
+0,0,60,-2,93,96
+0,0,60,-3,95,100
+0,0,60,-6,94,102
+0,0,60,-3,87,95
+0,0,60,-4,92,100
+0,0,60,-5,92,102
+0,0,60,-11,88,103
+0,0,60,-8,90,101
+0,0,60,-6,86,96
+0,0,60,-7,94,102
+0,0,60,0,93,96
+0,0,60,-5,91,99
+0,0,60,-6,89,97
+0,0,60,-7,89,98
+0,0,60,-7,88,100
+0,0,60,-10,89,103
+0,0,60,-5,93,99
+0,0,60,-4,96,102
+0,0,60,-4,90,96
+0,0,60,-3,93,102
+0,0,60,-6,94,102
+0,0,60,-8,88,98
+0,0,60,-4,90,97
+0,0,60,-2,91,97
+0,0,60,-4,96,99
+0,0,60,-2,94,98
+0,0,60,-4,93,101
+0,0,60,-6,90,98
+0,0,60,-8,91,98
+0,0,60,-6,92,101
+0,0,60,1,93,96
+0,0,60,-2,92,95
+0,0,60,0,93,98
+0,0,60,-4,92,99
+0,0,60,-7,94,103
+0,0,60,-5,95,101
+0,0,60,-4,96,101
+0,0,60,-7,90,103
+0,0,60,-7,94,102
+0,0,60,-1,91,97
+0,0,60,-7,88,100
+0,0,60,-1,88,94
+0,0,60,-5,95,101
+0,0,60,-2,94,97
+0,0,60,-7,89,99
+0,0,60,-7,88,100
+0,0,60,-12,85,101
+0,0,60,-3,93,99
+0,0,60,-5,87,97
+0,0,60,-7,90,100
+0,0,60,-9,89,100
+0,0,60,1,97,99
+0,0,60,-9,89,99
+0,0,60,-5,92,102
+0,0,60,-6,93,100
+0,0,60,-9,89,100
+0,0,60,-5,90,100
+0,0,60,-3,91,97
+0,0,60,0,95,97
+0,0,60,0,94,99
+0,0,60,-6,94,103
+0,0,60,-6,89,100
+0,0,60,-7,87,97
+0,0,60,-8,90,102
+0,0,60,-8,90,101
+0,0,60,-5,92,100
+0,0,60,0,93,97
+0,0,60,-7,88,97
+0,0,60,-7,95,105
+0,0,60,-7,91,102
+0,0,60,-5,91,98
+0,0,60,-8,92,102
+0,0,60,-3,95,103
+0,0,60,-7,90,98
+0,0,60,-12,87,99
+0,0,60,-6,86,99
+0,0,60,-5,91,100
+0,0,60,-6,87,96
+0,0,60,-7,93,103
+0,0,60,-7,87,97
+0,0,60,-8,88,100
+0,0,60,-7,87,97
+0,0,60,-7,88,99
+0,0,60,-8,88,98
+0,0,60,-8,93,101
+0,0,60,-5,87,97
+0,0,60,-6,86,96
+0,0,60,-14,81,102
+0,0,60,-8,91,102
+0,0,60,-7,91,101
+0,0,60,-9,90,101
+0,0,60,-8,87,101
+0,0,60,-9,88,100
+0,0,60,-6,89,99
+0,0,60,-6,88,95
+0,0,60,-6,86,96
+0,0,60,-7,86,97
+0,0,60,-3,93,98
+0,0,60,-7,88,99
+0,0,60,-6,92,100
+0,0,60,-9,91,102
+0,0,60,-8,93,105
+0,0,60,-3,91,99
+0,0,60,-4,93,100
+0,0,60,-7,93,101
+0,0,60,-2,91,99
+0,0,60,-8,92,102
+0,0,60,-5,92,101
+0,0,60,-2,96,98
+0,0,60,-6,90,100
+0,0,60,-2,94,100
+0,0,60,-8,90,103
+0,0,60,-4,95,105
+0,0,60,-6,91,100
+0,0,60,-8,86,100
+0,0,60,-10,91,104
+0,0,60,0,89,92
+0,0,60,0,98,99
+0,0,60,-4,91,97
+0,0,60,-3,98,102
+0,0,60,-8,91,99
+0,0,60,-9,90,101
+0,0,60,-11,86,100
+0,0,60,-10,91,104
+0,0,60,-3,95,101
+0,0,60,2,90,94
+0,0,60,-4,90,98
+0,0,60,2,90,93
+0,0,60,-5,92,100
+0,0,60,-5,88,96
+0,0,60,-7,91,102
+0,0,60,-6,88,101
+0,0,60,-9,86,99
+0,0,60,-6,93,104
+0,0,60,-7,93,100
+0,0,60,-11,88,100
+0,0,60,-5,91,99
+0,0,60,-7,87,100
+0,0,60,-1,91,97
+0,0,60,1,94,96
+0,0,60,-2,90,97
+0,0,60,-8,90,101
+0,0,60,-7,93,103
+0,0,60,-5,89,97
+0,0,60,-5,92,102
+0,0,60,-3,94,97
+0,0,60,-2,90,94
+0,0,60,-5,92,100
+0,0,60,-4,98,104
+0,0,60,-6,95,103
+0,0,60,-2,93,97
+0,0,60,-4,86,93
+0,0,60,-6,96,104
+0,0,60,-1,94,97
+0,0,60,-7,93,103
+0,0,60,-2,88,96
+0,0,60,-11,89,102
+0,0,60,-7,87,98
+0,0,60,-6,89,97
+0,0,60,-8,94,104
+0,0,60,0,98,100
+0,0,60,0,91,97
+0,0,60,-5,90,98
+0,0,60,-3,94,99
+0,0,60,-1,91,97
+0,0,60,-9,94,106
+0,0,60,-5,95,105
+0,0,60,-6,90,100
+0,0,60,-13,88,102
+0,0,60,-8,90,101
+0,0,60,-8,90,101
+0,0,60,-4,92,100
+0,0,60,-6,94,103
+0,0,60,-6,92,98
+0,0,60,0,91,94
+0,0,60,-5,90,97
+0,0,60,-2,95,100
+0,0,60,-4,90,98
+0,0,60,-4,93,101
+0,0,60,-4,90,100
+0,0,60,-6,95,104
+0,0,60,-13,89,101
+0,0,60,-9,89,101
+0,0,60,-6,93,103
+0,0,60,-7,89,101
+0,0,60,-7,90,100
+0,0,60,-11,88,103
+0,0,60,-7,89,98
+0,0,60,-12,86,103
+0,0,60,-7,88,99
+0,0,60,-6,87,96
+0,0,60,-12,86,102
+0,0,60,-7,92,99
+0,0,60,-5,90,97
+0,0,60,-2,93,101
+0,0,60,-8,93,103
+0,0,60,-5,91,102
+0,0,60,-3,91,96
+0,0,60,-1,94,99
+0,0,60,-2,93,98
+0,0,60,-3,97,104
+0,0,60,-5,93,102
+0,0,60,-4,90,99
+0,0,60,-8,94,102
+0,0,60,-4,87,96
+0,0,60,-7,91,101
+0,0,60,-3,93,99
+0,0,60,0,95,96
+0,0,60,-4,92,102
+0,0,60,-5,89,99
+0,0,60,-5,93,99
+0,0,60,-8,87,96
+0,0,60,-5,92,98
+0,0,60,-5,93,103
+0,0,60,-7,93,102
+0,0,60,-9,90,101
+0,0,60,-7,89,98
+0,0,60,-10,90,100
+0,0,60,-2,93,99
+0,0,60,-3,92,99
+0,0,60,-5,87,96
+0,0,60,-3,90,97
+0,0,60,-3,93,97
+0,0,60,-2,92,98
+0,0,60,-3,100,105
+0,0,60,1,94,96
+0,0,60,-4,90,97
+0,0,60,-4,94,99
+0,0,60,-5,90,101
+0,0,60,-7,90,99
+0,0,60,-6,88,96
+0,0,60,-5,82,92
+0,0,60,-6,85,95
diff --git a/motors/fet12/calib_sensors.py b/motors/fet12/calib_sensors.py
index 777ea37..7d882de 100755
--- a/motors/fet12/calib_sensors.py
+++ b/motors/fet12/calib_sensors.py
@@ -4,34 +4,31 @@
# Note on associated data files:
# calib_data_60*.csv has each output channel set at a constant value of 60.
-# calib_data_6030.csv actuates two channels.
+# calib_data_6030*.csv actuates two channels.
def calibrate(fnames):
"""Do fitting to calibrate ADC data given csv files.
CSVs should be of format:
- command_a, command_b, command_c, adc0, adc0, adc1, adc2, adc1, adc2
- Where The adc columns in this case are the 6 samples taken from the
- ADC where each pair of columns with the same name correspond with
- the same measurement (we average samples that are of the same value
- because otherwise the solution matrix can't be solved for in a stable
- manner).
+ command_a, command_b, command_c, reading0, reading1, reading2
+ The command columns are the on-time for each timer in FTM ticks.
+ The reading columns in this case are the 3 samples taken from the
+ ADC (with each pair corresponding to the same measurement pre-averaged). We
+ only care about the averaged samples because otherwise the solution matrix
+ can't be solved for in a stable manner.
"""
- data = np.zeros((1, 9))
+ data = np.zeros((1, 6))
for fname in fnames:
data = np.vstack((data, np.genfromtxt(fname, delimiter=',')))
data = data[1:, :]
- if data.shape[1] == 9:
- data[:, 3] = (data[:, 3] + data[:, 4]) / 2.0
- data[:, 4] = (data[:, 5] + data[:, 7]) / 2.0
- data[:, 5] = (data[:, 6] + data[:, 8]) / 2.0
data = data[:, :6]
b = data[:, 0:3]
b = b - np.tile(np.mean(b, axis=1), (3, 1)).T
# Vcc / 3000 / R
- b *= 30.8 / 3000.0 / 0.0084
+ # 3000 converts duty cycle in FTM ticks to fraction of full.
+ b *= 20.9 / 3000.0 / 0.0079
A = data[:, 3:]
return np.linalg.lstsq(A, b[:])[0].T
diff --git a/motors/fet12/fet12v2.cc b/motors/fet12/fet12v2.cc
index ae7c3c0..c52f72a 100644
--- a/motors/fet12/fet12v2.cc
+++ b/motors/fet12/fet12v2.cc
@@ -87,6 +87,7 @@
::std::array<int16_t, 3> currents;
::std::array<int16_t, 3> commanded_currents;
::std::array<uint16_t, 3> commands;
+ ::std::array<int16_t, 3> readings;
uint16_t position;
// Driver requested current.
float driver_request;
@@ -208,7 +209,7 @@
const float bemf = velocity / (static_cast<float>(Kv) / 1.5f);
const float abs_bemf = ::std::abs(bemf);
constexpr float kPeakCurrent = 300.0f;
- constexpr float kLimitedCurrent = 75.0f;
+ constexpr float kLimitedCurrent = 70.0f;
const float max_bat_cur =
fuse_badness > (kLimitedCurrent * kLimitedCurrent * 0.95f)
? kLimitedCurrent
@@ -323,7 +324,6 @@
PORTD_PCR4 = PORT_PCR_DSE | PORT_PCR_MUX(1);
PORTD_PCR5 = PORT_PCR_DSE | PORT_PCR_MUX(1);
}
-#else
#endif
#else
// Useful code when calculating resistance/inductance of motor
@@ -331,15 +331,17 @@
FTM0->C0V = 0;
FTM0->C1V = 0;
FTM0->C2V = 0;
- FTM0->C3V = 0;
+ FTM0->C3V = 20;
FTM0->C4V = 0;
- FTM0->C5V = 10;
+ FTM0->C5V = 0;
FTM0->PWMLOAD = FTM_PWMLOAD_LDOK;
(void)wrapped_encoder;
- (void)real_throttle;
size_t buffer_size =
global_debug_buffer.size.load(::std::memory_order_relaxed);
- bool trigger = true || i > 20000;
+ // Setting this to true is helpful for calibrating inductance, and false is
+ // good for calibrating resistance.
+ constexpr bool start_immediately = true;
+ bool trigger = start_immediately || i > 20000;
if ((trigger || buffer_size > 0) &&
buffer_size != global_debug_buffer.samples.size()) {
global_debug_buffer.samples[buffer_size].currents[0] =
@@ -351,6 +353,12 @@
global_debug_buffer.samples[buffer_size].commands[0] = FTM0->C1V;
global_debug_buffer.samples[buffer_size].commands[1] = FTM0->C3V;
global_debug_buffer.samples[buffer_size].commands[2] = FTM0->C5V;
+ global_debug_buffer.samples[buffer_size].readings[0] =
+ adc_readings.motor_currents[0];
+ global_debug_buffer.samples[buffer_size].readings[1] =
+ adc_readings.motor_currents[1];
+ global_debug_buffer.samples[buffer_size].readings[2] =
+ adc_readings.motor_currents[2];
global_debug_buffer.samples[buffer_size].position =
global_motor.load(::std::memory_order_relaxed)->wrapped_encoder();
global_debug_buffer.size.fetch_add(1);
@@ -639,8 +647,9 @@
NVIC_ENABLE_IRQ(IRQ_FTM0);
GPIOC_PSOR = 1 << 5;
- constexpr bool dump_full_sample = true;
+ constexpr bool dump_full_sample = false;
constexpr bool dump_resist_calib = false;
+ constexpr bool repeat_calib = true;
while (true) {
if (dump_resist_calib || dump_full_sample) {
PORTC_PCR1 = PORT_PCR_DSE | PORT_PCR_MUX(4);
@@ -660,10 +669,17 @@
// Useful prints for when calibrating resistance/inductance of motor
for (size_t i = 0; i < global_debug_buffer.samples.size(); ++i) {
const auto &sample = global_debug_buffer.samples[i];
+#if 1
printf("%u, %d, %d, %d, %u, %u, %u, %u\n", i,
sample.currents[0], sample.currents[1], sample.currents[2],
sample.commands[0], sample.commands[1], sample.commands[2],
sample.position);
+#else
+ printf("%" PRIu16 ",%" PRIu16 ",%" PRIu16 ",%" PRId16 ",%" PRId16
+ ",%" PRId16 "\n",
+ sample.commands[0], sample.commands[1], sample.commands[2],
+ sample.readings[0], sample.readings[1], sample.readings[2]);
+#endif
}
} else if (dump_full_sample) {
printf("Dumping data\n");
@@ -696,6 +712,10 @@
sample.fuse_current);
#endif
}
+ if (!repeat_calib) {
+ while (true) {
+ }
+ }
}
return 0;
diff --git a/motors/fet12/motor_controls.cc b/motors/fet12/motor_controls.cc
index d6afab1..9e42ca8 100644
--- a/motors/fet12/motor_controls.cc
+++ b/motors/fet12/motor_controls.cc
@@ -38,16 +38,15 @@
// 3.6 and 1.15 are adjustments from calibrations.
constexpr double Kv = 22000.0 * 2.0 * M_PI / 60.0 / 30.0 * 3.6 * 1.15;
-constexpr double kL = 3e-06;
+constexpr double kL = 5e-06;
constexpr double kM = 0;
-constexpr double kR = 0.01008;
-constexpr float kAdiscrete_diagonal = 0.845354f;
+constexpr double kR = 0.0079;
+constexpr float kAdiscrete_diagonal = 0.92404f;
constexpr float kAdiscrete_offdiagonal = 0.0f;
-constexpr float kBdiscrete_inv_diagonal = 0.0651811f;
+constexpr float kBdiscrete_inv_diagonal = 0.104002f;
constexpr float kBdiscrete_inv_offdiagonal = 0.0f;
constexpr double kOneAmpScalar = 1.46785;
-constexpr double kMaxOneAmpDrivingVoltage = 0.0265038;
-
+constexpr double kMaxOneAmpDrivingVoltage = 0.0434948;
::Eigen::Matrix<float, 3, 3> A_discrete() {
::Eigen::Matrix<float, 3, 3> r;
diff --git a/motors/fet12/power_wheels.cc b/motors/fet12/power_wheels.cc
index 668dbe6..fe56348 100644
--- a/motors/fet12/power_wheels.cc
+++ b/motors/fet12/power_wheels.cc
@@ -17,7 +17,7 @@
namespace {
struct Fet12AdcReadings {
- // 1100 off, 3160 floored
+ // 1100 off, 3160 floored (without divider??)
uint16_t throttle;
};
@@ -156,7 +156,7 @@
FTM_SC_CLKS(1) /* Use the system clock (not sure it matters) */ |
FTM_SC_PS(0) /* Don't prescale the clock (not sure it matters) */;
- encoder_ftm->MOD = 1023;
+ encoder_ftm->MOD = 4095;
// I think you have to set this to something other than 0 for the quadrature
// encoder mode to actually work? This is "input capture on rising edge only",
@@ -263,37 +263,38 @@
DisableInterrupts disable_interrupts;
adc_readings = AdcReadFet12(disable_interrupts);
}
+ static constexpr int kThrottleMin = 700;
+ static constexpr int kThrottleMax = 2000;
+ //static constexpr int kThrottleMin = 1100;
+ //static constexpr int kThrottleMax = 3190;
const float pedal_position = ::std::min(
1.0f,
- ::std::max(0.0f, static_cast<float>(adc_readings.throttle - 1200) /
- static_cast<float>(3120 - 1200)));
+ ::std::max(0.0f,
+ static_cast<float>(adc_readings.throttle - kThrottleMin) /
+ static_cast<float>(kThrottleMax - kThrottleMin)));
const uint16_t new_encoder = FTM1->CNT;
// Full speed is ~418.
// Low gear is positive.
int16_t encoder_delta =
static_cast<int16_t>(new_encoder) - static_cast<int16_t>(old_encoder);
- if (encoder_delta < -512) {
- encoder_delta += 1024;
+ if (encoder_delta < -2048) {
+ encoder_delta += 4096;
}
- if (encoder_delta > 512) {
- encoder_delta -= 1024;
+ if (encoder_delta > 2048) {
+ encoder_delta -= 4096;
}
old_encoder = new_encoder;
// Positive -> low gear
float speed = ::std::min(
- 1.0f, ::std::max(-1.0f, static_cast<float>(encoder_delta) / 418.0f));
+ 1.0f,
+ ::std::max(-1.0f, static_cast<float>(encoder_delta) / 418.0f / 2.0f));
- float out_command;
- if (ReadButton()) {
- out_command = pedal_position;
- } else {
- out_command = -pedal_position;
- }
+ float out_command = pedal_position;
- static constexpr float kMaxCurrentFull = 0.155f;
- static constexpr float kMaxCurrentStopped = 0.29f;
+ static constexpr float kMaxCurrentFull = 0.14f;
+ static constexpr float kMaxCurrentStopped = 0.27f;
float abs_speed;
if (speed > 0.0f) {
abs_speed = speed;
@@ -302,8 +303,8 @@
}
float max_current =
abs_speed * (kMaxCurrentFull - kMaxCurrentStopped) + kMaxCurrentStopped;
- if (abs_speed < 0.06f) {
- max_current = 0.27f;
+ if (abs_speed < 0.042f) {
+ max_current = 0.4f;
}
if (speed > 0.0f) {
out_command =
@@ -313,6 +314,11 @@
out_command = ::std::min(speed + 2.0f * max_current,
::std::max(speed - max_current, out_command));
}
+ if (speed > 0.04f) {
+ // Force some command as long as we're rolling to avoid engaging motor
+ // braking.
+ out_command = ::std::max(0.10f, out_command);
+ }
static float slew_limited_command = 0.0f;
constexpr float kMaxChangePerCycle = 1.0f / 150.0f;
@@ -329,7 +335,7 @@
SetOutputWidth(pwm_out);
static int i = 0;
- if (i == 100) {
+ if (i == 500) {
i = 0;
printf("enc %" PRIu32 " throttle %" PRIu16 " %d out %d %d %d\n",
FTM1->CNT, adc_readings.throttle, ReadButton(),
diff --git a/motors/python/big_phase_current.py b/motors/python/big_phase_current.py
index 5ddca2a..6b51704 100755
--- a/motors/python/big_phase_current.py
+++ b/motors/python/big_phase_current.py
@@ -17,9 +17,9 @@
K1 = 1
vcc = 31.5 # volts
-R = 0.01008 # ohms for system
+R = 0.0079 # ohms for system
-L = 3.0 * 1e-6 # Henries
+L = 5.0 * 1e-6 # Henries
M = 0.0
Kv_vcc = 30.0