From 05dfb458da2d6bc6574f1d51b7b1b8b52d9d38ff Mon Sep 17 00:00:00 2001
From: Jake Read <jake.read@cba.mit.edu>
Date: Fri, 11 Dec 2020 13:04:17 -0500
Subject: [PATCH] cl step dev

---
 2020-06_ucbus-stepper-melted/eagle.epf        |  48 ++---
 2020-06_ucbus-stepper-module/eagle.epf        |  44 ++---
 .../src/drivers/enc_as5047.cpp                |  38 +++-
 .../src/drivers/enc_as5047.h                  |   7 +
 .../src/drivers/step_cl.cpp                   |  53 ++---
 .../cl-step-controller/src/drivers/step_cl.h  |   3 +-
 .../src/drivers/ucbus_drop.cpp                |   4 +
 .../src/drivers/ucbus_drop.h                  |   1 -
 firmware/cl-step-controller/src/main.cpp      | 181 ++++--------------
 firmware/cl-step-controller/src/osap/ts.h     |   2 +
 .../src/utils/clocks_d51_module.cpp           |   4 +-
 .../src/main.cpp                              |  33 ++--
 log/2020-11-16_cpol-zero-stray.png            | Bin 0 -> 30697 bytes
 log/2020-11-16_cpol-zero-typical.png          | Bin 0 -> 34384 bytes
 log/2020-11-16_noisy-encoder.png              | Bin 0 -> 45809 bytes
 log/cl-step-control-log.md                    |  46 ++++-
 16 files changed, 223 insertions(+), 241 deletions(-)
 create mode 100644 log/2020-11-16_cpol-zero-stray.png
 create mode 100644 log/2020-11-16_cpol-zero-typical.png
 create mode 100644 log/2020-11-16_noisy-encoder.png

diff --git a/2020-06_ucbus-stepper-melted/eagle.epf b/2020-06_ucbus-stepper-melted/eagle.epf
index f0b033d..352648b 100644
--- a/2020-06_ucbus-stepper-melted/eagle.epf
+++ b/2020-06_ucbus-stepper-melted/eagle.epf
@@ -9,17 +9,17 @@ AutoSaveProject=1
 UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/SparkFun-Eagle-Libraries/SparkFun-Connectors.lbr"
 
 [Win_1]
-Type="Board Editor"
-Number=2
-File="2020-06_ucbus-stepper-melted.brd"
-View="17.4797 11.3003 31.7696 26.4656"
-WireWidths=" 0.8 0.9 0.1 0.05 0.2032 0.5 0.3 0 0.1524"
+Type="Schematic Editor"
+Number=1
+File="2020-06_ucbus-stepper-melted.sch"
+View="147.615 19.4173 415.853 165.287"
+WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
+ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
-TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016"
+TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
 PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
@@ -28,14 +28,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=3
-WireBendSet=0
+WireBend=4
+WireBendSet=31
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=4
+PolygonRank=0
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -50,20 +50,22 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=51
+Layer=91
+Views=" 1: 147.615 19.4173 415.853 165.287"
+Sheet="1"
 
 [Win_2]
-Type="Schematic Editor"
-Number=1
-File="2020-06_ucbus-stepper-melted.sch"
-View="147.615 19.4173 415.853 165.287"
-WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
+Type="Board Editor"
+Number=2
+File="2020-06_ucbus-stepper-melted.brd"
+View="12.0251 1.84836 26.315 17.0137"
+WireWidths=" 0.8 0.9 0.1 0.05 0.2032 0.5 0.3 0 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
+ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
-TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
+TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
 PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
@@ -72,14 +74,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=4
-WireBendSet=31
+WireBend=3
+WireBendSet=0
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=0
+PolygonRank=4
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -94,9 +96,7 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=91
-Views=" 1: 147.615 19.4173 415.853 165.287"
-Sheet="1"
+Layer=51
 
 [Win_3]
 Type="Control Panel"
diff --git a/2020-06_ucbus-stepper-module/eagle.epf b/2020-06_ucbus-stepper-module/eagle.epf
index cd32d3b..6ff93f3 100644
--- a/2020-06_ucbus-stepper-module/eagle.epf
+++ b/2020-06_ucbus-stepper-module/eagle.epf
@@ -352,15 +352,15 @@ UsedLibraryUrn="urn:adsk.eagle:library:146"
 UsedLibraryUrn="urn:adsk.eagle:library:168"
 
 [Win_1]
-Type="Board Editor"
-Number=2
-File="2020-06_ucbus-stepper-module.brd"
-View="4.03467 13.6269 14.4835 23.0259"
-WireWidths=" 0.127 0.15 0.2 2.54 1.016 0.2032 0.254 0.6096 0 2.032 0.508 0.4064 0.3048 1.27 0.8128 0.1524"
+Type="Schematic Editor"
+Number=1
+File="2020-06_ucbus-stepper-module.sch"
+View="93.8998 -5.32858 236.93 67.1657"
+WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
+ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
 TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
@@ -371,14 +371,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=1
-WireBendSet=0
+WireBend=4
+WireBendSet=31
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=1
+PolygonRank=0
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -393,18 +393,20 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=1
+Layer=91
+Views=" 1: 93.8998 -5.32858 236.93 67.1657"
+Sheet="1"
 
 [Win_2]
-Type="Schematic Editor"
-Number=1
-File="2020-06_ucbus-stepper-module.sch"
-View="93.8998 -5.32858 236.93 67.1657"
-WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
+Type="Board Editor"
+Number=2
+File="2020-06_ucbus-stepper-module.brd"
+View="16.5161 15.8653 25.2235 23.6978"
+WireWidths=" 0.127 0.15 0.2 2.54 1.016 0.2032 0.254 0.6096 0 2.032 0.508 0.4064 0.3048 1.27 0.8128 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
+ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
 TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
@@ -415,14 +417,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=4
-WireBendSet=31
+WireBend=1
+WireBendSet=0
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=0
+PolygonRank=1
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -437,9 +439,7 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=91
-Views=" 1: 93.8998 -5.32858 236.93 67.1657"
-Sheet="1"
+Layer=1
 
 [Win_3]
 Type="Control Panel"
diff --git a/firmware/cl-step-controller/src/drivers/enc_as5047.cpp b/firmware/cl-step-controller/src/drivers/enc_as5047.cpp
index c864917..790277e 100644
--- a/firmware/cl-step-controller/src/drivers/enc_as5047.cpp
+++ b/firmware/cl-step-controller/src/drivers/enc_as5047.cpp
@@ -75,22 +75,20 @@ void ENC_AS5047::init(void){
     // AS5047 datasheet says CPOL = 1, CPHA = 0, msb first, and parity checks 
     // bit: func 
     // 15: parity, 14: 0/read, 1/write, 13:0 address to read or write 
-    ENC_SER_SPI.CTRLA.reg = //SERCOM_SPI_CTRLA_CPOL | // CPOL = 1
-                            SERCOM_SPI_CTRLA_CPHA | // ?
+    ENC_SER_SPI.CTRLA.reg = SERCOM_SPI_CTRLA_CPOL | // CPOL = 1
+                            //SERCOM_SPI_CTRLA_CPHA | // ?
                             SERCOM_SPI_CTRLA_DIPO(3) | // pad 3 is data input 
                             SERCOM_SPI_CTRLA_DOPO(0) | // pad 0 is data output, 1 is clk  
                             SERCOM_SPI_CTRLA_MODE(3);  // mode 3: head operation 
     ENC_SER_SPI.CTRLB.reg = SERCOM_SPI_CTRLB_RXEN; // enable rx, char size is 8, etc 
-    ENC_SER_SPI.BAUD.reg = SERCOM_SPI_BAUD_BAUD(2); // f_baud = f_ref / ((2*BAUD) + 1) 
+    ENC_SER_SPI.BAUD.reg = SERCOM_SPI_BAUD_BAUD(14); // f_baud = f_ref / ((2*BAUD) + 1) 
                                                     // BAUD = 2 ~= 8MHz / 124ns clock period 
                                                     // BAUD = 3 ~= 6MHz / 164ns clock period: AS5047 min period is 100ns
-    
+                                                    // BAUD = 7 ~= 3MHz, less noisy... 
+                                                    // BAUD = 14 ~= 1.6MHz, much less noisy, reads are about 25us. 
     // enable interrupts 
-    NVIC_EnableIRQ(SERCOM4_0_IRQn);
     NVIC_EnableIRQ(SERCOM4_1_IRQn);
     NVIC_EnableIRQ(SERCOM4_2_IRQn);
-    NVIC_EnableIRQ(SERCOM4_3_IRQn);
-
     // turn it back on 
     while(ENC_SER_SPI.SYNCBUSY.bit.ENABLE);
     ENC_SER_SPI.CTRLA.bit.ENABLE = 1;
@@ -167,4 +165,30 @@ boolean ENC_AS5047::is_read_complete(void){
 
 uint16_t ENC_AS5047::get_reading(void){
     return result;
+}
+
+uint16_t ENC_AS5047::read_field_mag(void){
+    start_spi_interaction(AS5047_SPI_READ_MAG);
+    while(!readComplete);
+    return result;
+}
+
+String ENC_AS5047::read_enc_diagnostics(void){
+    start_spi_interaction(AS5047_SPI_READ_DIAG);
+    while(!readComplete);
+    uint16_t res = result;
+    boolean magHi = false;
+    boolean magLo = false;
+    boolean cordicOvf = false;
+    boolean compComplete = false;
+    if(res & (1 << 11)) magHi = true; // maghi 
+    if(res & (1 << 10)) magLo = true; // maglo 
+    if(res & (1 << 9)) cordicOvf = true; // cordic overflow 
+    if(res & (1 << 8)) compComplete = true; // offset compensation completed 
+    uint16_t agc = res & 0b0000000001111111;
+    return "magHi: " + String(magHi) 
+            + "\nmagLo: " + String(magLo)
+            + "\ncordicOverflow: " + String(cordicOvf)
+            + "\ncompensationComplete: " + String(compComplete)
+            + "\nautomaticGainCorrection: " + String(agc);
 }
\ No newline at end of file
diff --git a/firmware/cl-step-controller/src/drivers/enc_as5047.h b/firmware/cl-step-controller/src/drivers/enc_as5047.h
index 7de3d6d..49c9aad 100644
--- a/firmware/cl-step-controller/src/drivers/enc_as5047.h
+++ b/firmware/cl-step-controller/src/drivers/enc_as5047.h
@@ -42,8 +42,12 @@ is; no warranty is provided, and users accept all liability.
 #define ENC_SER_GCLKNUM 8
 
 #define AS5047_SPI_READ_POS (0b1100000000000000 | 0x3FFF)
+#define AS5047_SPI_READ_POS_UNC (0b1100000000000000 | 0x3FFE)
 #define AS5047_SPI_NO_OP (0b1000000000000000)
 
+#define AS5047_SPI_READ_MAG (0b1100000000000000 | 0x3FFD)
+#define AS5047_SPI_READ_DIAG (0b1100000000000000 | 0x3FFC)
+
 class ENC_AS5047 {
     private:
         // is singleton
@@ -70,6 +74,9 @@ class ENC_AS5047 {
         boolean is_read_complete(void);
         uint16_t get_reading(void);
         void on_read_complete(uint16_t pos);
+        // *blocking*
+        uint16_t read_field_mag(void);
+        String read_enc_diagnostics(void);
 };
 
 extern ENC_AS5047* enc_as5047;
diff --git a/firmware/cl-step-controller/src/drivers/step_cl.cpp b/firmware/cl-step-controller/src/drivers/step_cl.cpp
index 051cb3b..3af6ca3 100644
--- a/firmware/cl-step-controller/src/drivers/step_cl.cpp
+++ b/firmware/cl-step-controller/src/drivers/step_cl.cpp
@@ -73,9 +73,9 @@ void flash_write_init(void){
 }
 
 void flash_write_page(void){
-    sysError("erasing 0x" + String((uint32_t)block_ptr));
+    //sysError("erasing 0x" + String((uint32_t)block_ptr));
     flashClass.erase(block_ptr, BYTES_PER_BLOCK);
-    sysError("writing 0x" + String((uint32_t)block_ptr));
+    //sysError("writing 0x" + String((uint32_t)block_ptr));
     flashClass.write(block_ptr, (const uint8_t*)buffer, BYTES_PER_BLOCK);
     delay(1);
 }
@@ -115,7 +115,7 @@ float Step_CL::get_torque(void){
 void Step_CL::run_torque_loop(void){
     if(is_calibrating) return;
     // mark time 
-    DEBUG1PIN_ON;
+    //DEBUG1PIN_ON;
     // ok, first we read the encoder 
     enc_as5047->trigger_read();
     // this kicks off the party, proceeds below
@@ -124,34 +124,36 @@ void Step_CL::run_torque_loop(void){
 #define MAP_7p2_TO_1 (1.0F / 7.2F)
 #define TICKS_PER_SEC 50000.0F
 #define SECS_PER_TICK 1.0F / TICKS_PER_SEC
-volatile float q = 0.05F;//0.125F;      // process noise covariance  
-volatile float r = 1.0F;        // measurement noise covariance 
-volatile float measurement;     // the measurement... 
-volatile float a = 0.0F;        // the estimate on a 
-volatile float p = 100.0F;        // estimation error covariance 
-volatile float k;               // kalman gain 
-
-volatile float _deg_s;      // real angle / sec 
+
+volatile float a_measurement = 0.0F;
+volatile float last_measurement = 0.0F;
+volatile float a_est = 0.0F;
+volatile float a_last_est = 0.0F;
+volatile float a_alpha = 0.9F;       // trust in measurement 
+
 volatile float _pa;         // phase angle 
 
-float Step_CL::get_deg_sec(void){
-    return _deg_s;
+float Step_CL::get_last_pos_est(void){
+    return a_est;
+}
+
+float Step_CL::get_last_reading(void){
+    return a_measurement;
 }
 
 void ENC_AS5047::on_read_complete(uint16_t result){
     if(step_cl->is_calibrating) return;
-
-    // (1) get the new measurement,
-    measurement = lut[result * 2]; 
-
-    p = p + q;
-
-    k = p / (p + r);
-    a = a + k * (measurement - a);
-    p = (1 - k) * p;
-
-    // write a 'real' speed value 
-    _deg_s = measurement;
+    last_measurement = a_measurement;
+    a_measurement = lut[result * 2]; 
+    // wtf ?? 
+    // a_est = (a_measurement * a_alpha) + (a_last_est * (1 - a_alpha));
+    // a_last_est = a_est;
+    // or like 
+    // I am completely confused by the noise that this generates ? seems like it's taking a difference?
+    // should just be averaging? 
+    // something about getting the variables out, under interrupt? 
+    a_est = 0.5 * a_measurement + 0.5 * last_measurement;
+    //output = alpha * (input - output) + output 
 
     _pa = lut[result * 2 + 1];      // the phase angle (0 - 1 in a sweep of 4 steps)
     // this is the phase angle we want to apply, 90 degs off & wrap't to 1 
@@ -170,7 +172,6 @@ void ENC_AS5047::on_read_complete(uint16_t result){
     // with the *amount* commanded by our _tc torque ask 
     step_a4950->point(_pa, abs(step_cl->get_torque()));
     // debug loop completion 
-    DEBUG1PIN_OFF;
 }
 
 // the calib routine 
diff --git a/firmware/cl-step-controller/src/drivers/step_cl.h b/firmware/cl-step-controller/src/drivers/step_cl.h
index 1343da1..fa26bf1 100644
--- a/firmware/cl-step-controller/src/drivers/step_cl.h
+++ b/firmware/cl-step-controller/src/drivers/step_cl.h
@@ -33,7 +33,8 @@ class Step_CL {
         void print_table(void);
         void set_torque(float tc);
         float get_torque(void);
-        float get_deg_sec(void);
+        float get_last_pos_est(void);
+        float get_last_reading(void);
         void run_torque_loop(void);
         boolean calibrate(void);
         boolean is_calibrating;
diff --git a/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp b/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp
index 657919b..3053d2a 100644
--- a/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp
+++ b/firmware/cl-step-controller/src/drivers/ucbus_drop.cpp
@@ -100,6 +100,10 @@ void UCBus_Drop::init(boolean useDipPick, uint8_t ID) {
 	NVIC_EnableIRQ(SERCOM1_2_IRQn); // rx, 
   NVIC_EnableIRQ(SERCOM1_1_IRQn); // txc ?
   NVIC_EnableIRQ(SERCOM1_0_IRQn); // tx, 
+  // priority
+  NVIC_SetPriority(SERCOM1_2_IRQn, 1);
+  NVIC_SetPriority(SERCOM1_1_IRQn, 1);
+  NVIC_SetPriority(SERCOM1_0_IRQn, 1);
 	// set baud 
   UBD_SER_USART.BAUD.reg = UBD_BAUD_VAL;
   // and finally, a kickoff
diff --git a/firmware/cl-step-controller/src/drivers/ucbus_drop.h b/firmware/cl-step-controller/src/drivers/ucbus_drop.h
index de1d55e..844645c 100644
--- a/firmware/cl-step-controller/src/drivers/ucbus_drop.h
+++ b/firmware/cl-step-controller/src/drivers/ucbus_drop.h
@@ -105,7 +105,6 @@ class UCBus_Drop {
     // handlers 
     void onRxISR(void);
     void onPacketARx(void);
-    //void onPacketBRx(void);
     // our physical bus address, 
     volatile uint8_t id = 0;
     // the api, eh 
diff --git a/firmware/cl-step-controller/src/main.cpp b/firmware/cl-step-controller/src/main.cpp
index 1095441..cdbdf30 100644
--- a/firmware/cl-step-controller/src/main.cpp
+++ b/firmware/cl-step-controller/src/main.cpp
@@ -35,7 +35,7 @@ VPort* replyBlankVp;
 uint16_t replyBlankVpi = 0;
 uint16_t lastQueueSpaceTxd = 0;
 
-#define BUS_DROP 1    // Z: 1, YL: 2, X: 3, YR: 4
+#define BUS_DROP 4    // Z: 1, YL: 2, X: 3, YR: 4
 #define AXIS_PICK 2   // Z: 2, Y: 1, X: 0
 #define AXIS_INVERT false  // Z: false, YL: true, YR: false, X: false
 #define SPU 3200.0F // always positive! Z: 3200, XY: 400 
@@ -58,82 +58,48 @@ void setup() {
   d51_clock_boss->start_50kHz_ticker_tc0();
 }
 
-uint8_t bChPck[64];
+// 50kHz control tick 
+void TC0_Handler(void){
+  TC0->COUNT32.INTFLAG.bit.MC0 = 1;
+  TC0->COUNT32.INTFLAG.bit.MC1 = 1;
+  step_cl->run_torque_loop();
+}
 
+uint8_t bChPck[64];
 volatile float current_floating_pos = 0.0F;
 volatile int32_t current_step_pos = 0;
 volatile uint32_t delta_steps = 0;
-
 volatile float vel = 0.0F; 
 volatile float move_counter = 0.0F;
-
 volatile boolean setBlock = false;
-
 uint16_t tick = 0;
 
-void TC0_Handler(void){
-  TC0->COUNT32.INTFLAG.bit.MC0 = 1;
-  TC0->COUNT32.INTFLAG.bit.MC1 = 1;
-  step_cl->run_torque_loop();
-}
-
 // async loop 
 void loop() {
   osap->loop();
   step_a4950->dacRefresh();
-  /*
-  tick++;
-  if(tick > 500){
-    tick = 0;
-    enc_as5047->trigger_read();
-    while(!enc_as5047->is_read_complete());
-    uint16_t reading = 0b0011111111111111 & enc_as5047->get_reading();
-    //sysError(String(reading));
-  }
-  */
-  // do packet B grab / handle 
-  /*
+  // check chb packes 
   if(ucBusDrop->ctr_b()){
     uint16_t len = ucBusDrop->read_b(bChPck);
     uint16_t ptr = 0;
     switch(bChPck[ptr]){
-      case AK_SETCURRENT: {
-        // get currents 
-        ptr ++;
-        chunk_float32 currentChunks[3];
-        currentChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        currentChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        currentChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        // set current
-        step_a4950->setCurrent(currentChunks[AXIS_PICK].f);
-        // bug here 
-        // I noticed that setcurrent commands to the z motor seem to fail: the motor drops to a low current no matter the value transmitted
-        // I've checked (by inserting a flag to pick y-values) here, and those values work well, so it's nothing with the motor driver itself
-        // so, I suspect the b-channel bus packets are coming out of those structures one byte short - makes sense there would be some bug in/around delineation 
-        break;
+      case AK_SET_TC: {
+          ptr ++;
+          chunk_float32 tcs = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] }};
+          step_cl->set_torque(tcs.f);
         }
-      case AK_SETPOS: {
-        // get posns, 
-        ptr ++;
-        chunk_float32 posChunks[3];
-        posChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        posChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        posChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        float target_current_pos = posChunks[AXIS_PICK].f;
-        int32_t target_current_steps = lroundf(target_current_pos * SPU);
-        setBlock = true; // don't do step work while these are modified 
-        current_floating_pos = target_current_pos;
-        current_step_pos = target_current_steps;
-        setBlock = false;
-      }
-      default:
-        // noop,
         break;
+      case AK_RUNCALIB:
+        step_cl->calibrate();
+        break;
+      default:
+        // noop 
+        break;  
     }
   }
-  */
 } // end loop 
 
+// usb packets 
 void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t segsize, VPort* vp, uint16_t vpi, uint8_t pwp){
   // track end of header, to reply with 
   uint16_t replyPtr = ptr;
@@ -154,6 +120,19 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg
   // do the reading:
   ptr ++; // walk appcode DK_APP
   switch(pck[ptr]){
+    case AK_READ_MAG:{
+      ptr ++;
+      reply[rl ++] = AK_READ_MAG;
+      enc_as5047->read_enc_diagnostics();
+      uint16_t mag = enc_as5047->read_field_mag();
+      ts_writeUint16(mag, reply, &rl);
+      break;
+    }
+    case AK_READ_DIAG:
+      ptr ++;
+      reply[rl ++] = AK_READ_DIAG;
+      ts_writeString(enc_as5047->read_enc_diagnostics(), reply, &rl);
+      break;
     case AK_RUNCALIB:
       ptr ++; // walk stepcode 
       reply[rl ++] = AK_RUNCALIB;
@@ -175,8 +154,10 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg
         reply[rl ++] = AK_SET_TC;
         chunk_float32 tcs = { .bytes = { pck[ptr ++], pck[ptr ++], pck[ptr ++], pck[ptr ++] }};
         step_cl->set_torque(tcs.f);
-        float deg_sec = step_cl->get_deg_sec();
-        ts_writeFloat32(deg_sec, reply, &rl);
+        float pos_est = step_cl->get_last_pos_est();
+        float last_reading = step_cl->get_last_reading();
+        ts_writeFloat32(pos_est, reply, &rl);
+        ts_writeFloat32(last_reading, reply, &rl);
         break;
       }
     default:
@@ -194,92 +175,14 @@ void OSAP::handleAppPacket(uint8_t *pck, uint16_t pl, uint16_t ptr, uint16_t seg
   vp->clearPacket(pwp);
 }
 
+// on words rx'd from bus, 
 void UCBus_Drop::onRxISR(void){
-  /*
-  if(setBlock) return;
-  //DEBUG2PIN_TOGGLE;
-  move_counter += vel;
-  boolean move_check = (move_counter > 1.0F);
-  //DEBUG2PIN_TOGGLE;
-  if(move_check){
-    move_counter -= 1.0F;
-    if(delta_steps == 0){
-      // nothing 
-    } else {
-      //DEBUG1PIN_TOGGLE;
-      step_a4950->step();
-      delta_steps --;
-      if(step_a4950->getDir()){
-        current_step_pos ++;
-      } else {
-        current_step_pos --;
-      }
-    }
-  }
-  */
+
 }
 
+// on timed (interrupt) rx of bus packet, channel A 
+// this is where we will eventually read-in positions, and target them
 void UCBus_Drop::onPacketARx(void){
-  /*
-  if(setBlock) return;
-  //DEBUG2PIN_TOGGLE;
-  // last move is done, convert back steps -> float,
-  current_floating_pos = current_step_pos / SPU;
-  vel = 0.0F; // reset zero in case packet is not move 
-  uint8_t bptr = 0;
-  // switch bus packet types 
-  switch(inBufferA[0]){
-    case UB_AK_GOTOPOS:
-      {
-        bptr = AXIS_PICK * 4 + 1;
-        chunk_float32 target = {
-          .bytes = { inBufferA[bptr], inBufferA[bptr + 1], inBufferA[bptr + 2], inBufferA[bptr + 3] }
-        };
-        // chunk_float64 target = { 
-        //   .bytes = { inBuffer[bptr], inBuffer[bptr + 1], inBuffer[bptr + 2], inBuffer[bptr + 3],
-        //             inBuffer[bptr + 4], inBuffer[bptr + 5], inBuffer[bptr + 6], inBuffer[bptr + 7] }};
-        float delta = target.f - current_floating_pos;
-        // update,
-        //move_counter = 0.0F; // shouldn't need this ? try deleting 
-        // direction swop,
-        if(delta > 0){
-          step_a4950->dir(true);
-        } else {
-          step_a4950->dir(false);
-        }
-        // how many steps, 
-        delta_steps = lroundf(abs(delta * SPU));
-        // what speed 
-        vel = abs(delta * SPU) / TICKS_PER_PACKET;
-        // for str8 r8 
-        // if(delta_steps == 0){
-        //   vel = 0.0F;
-        // } else {
-        //   vel = abs(delta * SPU) / TICKS_PER_PACKET;
-        // }
-        break; // end gotopos 
-      }
-    case UB_AK_SETPOS:
-      {
-        // reqest is to set position, not go to it... 
-        bptr = AXIS_PICK * 4 + 1;
-        chunk_float32 target = {
-          .bytes = { inBufferA[bptr], inBufferA[bptr + 1], inBufferA[bptr + 2], inBufferA[bptr + 3] }
-        };
-        float target_current_pos = target.f;
-        int32_t target_current_steps = lroundf(target_current_pos * SPU);
-        setBlock = true; // don't do step work while these are modified 
-        current_floating_pos = target_current_pos;
-        current_step_pos = target_current_steps;
-        vel = 0;
-        delta_steps = 0;
-        setBlock = false;
-        break;
-      }
-    default:
-      break;
-  }  
-  //DEBUG2PIN_OFF;
-  */
+  
 }
 
diff --git a/firmware/cl-step-controller/src/osap/ts.h b/firmware/cl-step-controller/src/osap/ts.h
index 16e3d5f..27c57cc 100644
--- a/firmware/cl-step-controller/src/osap/ts.h
+++ b/firmware/cl-step-controller/src/osap/ts.h
@@ -52,6 +52,8 @@ no warranty is provided, and users accept all liability.
 #define AK_RUNCALIB 121
 #define AK_READCALIB 122 
 #define AK_SET_TC 123 
+#define AK_READ_MAG 124 
+#define AK_READ_DIAG 125 
 
 // -------------------------------------------------------- MVC Endpoints
 
diff --git a/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp b/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp
index de2bbe8..6c44221 100644
--- a/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp
+++ b/firmware/cl-step-controller/src/utils/clocks_d51_module.cpp
@@ -102,7 +102,7 @@ void D51_Clock_Boss::start_50kHz_ticker_tc0(void){
     TC0->COUNT32.INTENSET.bit.MC1 = 1;
     // set the period,
     while (TC0->COUNT32.SYNCBUSY.bit.CC0);
-    TC0->COUNT32.CC[0].reg = 160;  // at DIV2, 240 for 10us ('realtime') (with
+    TC0->COUNT32.CC[0].reg = 400;  // at DIV2, 240 for 10us ('realtime') (with
                                     // DFLL), 80 for 10us (with XTAL 16MHZ)
                                     // 400 for 50us, 
     // enable, sync for enable write
@@ -112,6 +112,8 @@ void D51_Clock_Boss::start_50kHz_ticker_tc0(void){
     TC1->COUNT32.CTRLA.bit.ENABLE = 1;
     // enable the IRQ
     NVIC_EnableIRQ(TC0_IRQn);
+    // and set the priority level
+    NVIC_SetPriority(TC0_IRQn, 2);
 }
 
 void D51_Clock_Boss::start_100kHz_ticker_tc2(void){
diff --git a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
index dcccbb6..f2090c5 100644
--- a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
+++ b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
@@ -25,11 +25,20 @@ union chunk_float64 {
 // ...
 // 8: DACs go full width 
 
-#define BUS_DROP 3    // Z: 1, YL: 2, X: 3, YR: 4
+// clank cz:
+// Z: Bus Drop 5, Axis Pick 2, Invert ?, SPU 1386.6666667
+// TC: Bus Drop 4, 
+// YL: Bus Drop 1, Invert true
+// YR: Bus Drop 2, Invert false
+// X: Bus Drop 3, Invert false
+
+#define BUS_DROP 3
+#define IS_LAST_DROP false
+
 #define AXIS_PICK 0   // Z: 2, Y: 1, X: 0
-#define AXIS_INVERT true  // Z: ?, YL: ?, YR: ?, X: ?
-#define SPU 400.0F // always posiive! z: 3200, xy: 400 
-#define C_SCALE 0.2F // 0-1, floating
+#define AXIS_INVERT false  // Z: ?, YL: ?, YR: ?, X: ?
+#define SPU 320.0F //1386.6666667F // always posiive! z: 3200, xy: 400, clank-cz: xy: 320
+#define C_SCALE 0.3F // 0-1, floating
 #define TICKS_PER_PACKET 20.0F
 
 void setup() {
@@ -42,7 +51,7 @@ void setup() {
   // osap
   osap->description = "remote stepper drop";
   // bus 
-  ucBusDrop->init(false, BUS_DROP);
+  ucBusDrop->init(IS_LAST_DROP, BUS_DROP);
   // stepper
   stepper_hw->init(AXIS_INVERT, C_SCALE);
 }
@@ -78,20 +87,6 @@ void loop() {
         stepper_hw->setCurrent(currentChunks[AXIS_PICK].f);
         break;
         }
-      case AK_SETPOS: {
-        // get posns, 
-        ptr ++;
-        chunk_float32 posChunks[3];
-        posChunks[0] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        posChunks[1] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        posChunks[2] = { .bytes = { bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++], bChPck[ptr ++] } };
-        float target_current_pos = posChunks[AXIS_PICK].f;
-        int32_t target_current_steps = lroundf(target_current_pos * SPU);
-        setBlock = true; // don't do step work while these are modified 
-        current_floating_pos = target_current_pos;
-        current_step_pos = target_current_steps;
-        setBlock = false;
-      }
       default:
         // noop,
         break;
diff --git a/log/2020-11-16_cpol-zero-stray.png b/log/2020-11-16_cpol-zero-stray.png
new file mode 100644
index 0000000000000000000000000000000000000000..c845d6e21748da56050e2316f92361bae41389f8
GIT binary patch
literal 30697
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
ZU7gYesI=WlJ$u&t*9~u6eW!mb`ajcOp7a0!

literal 0
HcmV?d00001

diff --git a/log/2020-11-16_cpol-zero-typical.png b/log/2020-11-16_cpol-zero-typical.png
new file mode 100644
index 0000000000000000000000000000000000000000..7177ba03efe5b5fd386e0b4d4a3053807020c15e
GIT binary patch
literal 34384
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%0A`Q9LX2LB!(ZZ_gl(
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
Ub0`4+qN38etbYlib~EDt00M^Z(EtDd

literal 0
HcmV?d00001

diff --git a/log/2020-11-16_noisy-encoder.png b/log/2020-11-16_noisy-encoder.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f1b3f7b0417386f237e5ccd6631046066a1a22c
GIT binary patch
literal 45809
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
GbmMRKx#mOw

literal 0
HcmV?d00001

diff --git a/log/cl-step-control-log.md b/log/cl-step-control-log.md
index 9c7f452..c8f6b10 100644
--- a/log/cl-step-control-log.md
+++ b/log/cl-step-control-log.md
@@ -1185,4 +1185,48 @@ So - going to put this down for a minute.
 - the current track is just trying to get a decent, non-noisy position and velocity estimate(s) from the thing. then you can use the vel estimate to write phase advance term per your notes above, and also to measure accel (xddot) = f, for your 2D torque-estimate lut. 
 - *then* you want to do both
     - measuring torque guess success: use calibrated loadcell or somesuch?
-    - (or) simply go forwards, towards using this in a machine: build a PID position controller, and tune it, maybe using a JS setPID() command, and remotely evaluate some set of moves, to tune. an auto-cal / auto-tune routine, etc. likely via the bus & with smoothie dishing moves, maybe just over usb, who knows 
\ No newline at end of file
+    - (or) simply go forwards, towards using this in a machine: build a PID position controller, and tune it, maybe using a JS setPID() command, and remotely evaluate some set of moves, to tune. an auto-cal / auto-tune routine, etc. likely via the bus & with smoothie dishing moves, maybe just over usb, who knows 
+
+## 2020 11 16
+
+OK, looks like it's been a month. Not sure where the days are dissappearing to lately. I'm going to start by pulling the LUT back home. 
+
+First, easy test, can just send the encoder reading back to see what the direct noise is like. 
+
+Glad I did this, there's obviously some erroneous (eliminate-able) noise on top of a reasonable floor:
+
+![noise](2020-11-16_noisy-encoder.png)
+
+These are just raw encoder values. My honest guess is that I'm missing some bits in the signal back. I might still have some polarity wrong on the SPI, or it's going too fast and missing edges (or something like this). 
+
+I turned the clock polarity to 1 in the D51, looks like I eliminate most of these spikes;
+
+![cpol](2020-11-16_cpol-zero-typical.png)
+
+That's just about 2 bits of noise, totally understandable from a 14 bit encoder. However, I still see the occasional spike:
+
+![cpol](2020-11-16_cpol-zero-stray.png)
+
+I can try tuning the speed down, it's near a limit at the moment. 
+
+Well, yeah, the only thing that reliably de-noises these readings is to take the speed from around 8MHz with a nice small 5us read time to around 1.6MHz, where it takes about 25us. 
+
+I think I should tack on an encoder-magnetic-strength reading to the calibration phase. That's set up, but the value looks to be high enough... though it fluctuates between 9k and 16k (16384 beign tops: it's a 14 bit value). 
+
+There's also an error-flags register I can read, that'll directly tell me if things are too high or too low. 
+
+Cool, I see some flags there - magnetic field is too high. So I can re-outfit my diagnostic to return a string with this whole message, then boot that back to the browser. And I can try bigger standoffs (nice), to compensate. 
+
+Well, that's all instrumented. I have some strangeness here though: maghi / maglo seem to sweep between the full range: so does the cordic magnitude. This is a bit confusing because the magnet stays separated by the same amount, so I am wondering if because the magnet is a bit smaller - 6x2mm rather than the 8x3 spec'd in the datasheet - that the field is doing strange things due to misalignment. I should pick up the 8x3 magnets to check, that's my last best guess.
+
+In any case, slowing the read time down has significantly improved the noise, and I think I can get back to a speed estimate. 
+
+### Alpha Filter
+
+I want to try this, but always want to take the underlying encoder reading back as well, so I can see if errors are arising somewhere in the filtering code or in the real reading. 
+
+... ??? wtf 
+
+OK, my new theory is that something is *up* with the volatile vals in here. 
+
+Confused, IDK what is up. Another day. 
\ No newline at end of file
-- 
GitLab