From 44e0bf34fd2440f2c45fa91aae38d2b622cb4eed Mon Sep 17 00:00:00 2001
From: Luis Dekant <dekant.luis@gmx.de>
Date: Wed, 13 Mar 2019 14:31:59 +0100
Subject: [PATCH] Changed `ServoDevice.rampEnabled` to return `0` if False.
 Updated the GUI to work accordingly.

Made some more changes to the basic script.

Small change to snapping (even though it will deprecate in case autolock works).

Added a checklist for autolock with
---
 .editorconfig                         |   5 +
 compile_in_vm.sh                      |   2 +-
 doc/gui.md                            |   2 +-
 requirements.txt                      |   6 +-
 setup.cfg                             |   6 +-
 src/adbasic/.gitignore                |   1 -
 src/adbasic/filter_module.inc         |  62 +--
 src/adbasic/nqontrol.TC1              | Bin 0 -> 181496 bytes
 src/adbasic/nqontrol.bas              | 647 +++++++++++++++-----------
 src/nqontrol/controller.py            | 365 ++++++++++++---
 src/nqontrol/general.py               |   6 +-
 src/nqontrol/guniconfig.py.ini        |   4 +-
 src/nqontrol/mockAdwin.py             |  54 ++-
 src/nqontrol/nqontrol.TC1             | Bin 180680 -> 23 bytes
 src/nqontrol/nqontrolUI.py            | 402 ++++++++++++----
 src/nqontrol/servo.py                 | 417 ++++++++++++-----
 src/nqontrol/servoDevice.py           |  34 +-
 src/nqontrol/settings.py              |  24 +
 src/nqontrol/settings_local.sample.py |   6 +-
 src/tests/test_servo.py               | 298 +++++++-----
 20 files changed, 1627 insertions(+), 714 deletions(-)
 create mode 100644 src/adbasic/nqontrol.TC1
 mode change 100755 => 120000 src/nqontrol/nqontrol.TC1

diff --git a/.editorconfig b/.editorconfig
index 639dc98..654c8ca 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -19,6 +19,11 @@ charset = utf-8
 indent_style = space
 indent_size = 4
 
+# 4 space indentation
+[*.bas,*.inc]
+indent_style = space
+indent_size = 4
+
 [*.md]
 trim_trailing_whitespace = false
 
diff --git a/compile_in_vm.sh b/compile_in_vm.sh
index 5879cfc..9411f69 100755
--- a/compile_in_vm.sh
+++ b/compile_in_vm.sh
@@ -28,5 +28,5 @@ do
   inotifywait -e modify src/adbasic/*
   echo $vb
   VBoxManage guestcontrol Win7 --username Chris --password 'z' run --exe "$vbox_compiler"
-  rsync -u src/adbasic/nqontrol.TC1 src/nqontrol/
+  # rsync -u src/adbasic/nqontrol.TC1 src/nqontrol/
 done
diff --git a/doc/gui.md b/doc/gui.md
index 7d0257a..1622c4e 100644
--- a/doc/gui.md
+++ b/doc/gui.md
@@ -40,7 +40,7 @@ After starting the server you will see something like this, depending on how you
 
 ![GUI](_static/entry.png)  
 
-The GUI will dynamically create as many components as you need. E.g. if you changed the `NUMBER_OF_SERVOS` variable in the `servo.py` module it will provide input sections accordingly.  
+The GUI will dynamically create as many components as you need. E.g. if you changed the `settings.NUMBER_OF_SERVOS` variable it will provide input sections accordingly.  
 
 If you are running the GUI with multiple devices (which might be implemented in the future), the GUIs are just displayed one after the other. So each GUI comes with its own sections etc...  
 
diff --git a/requirements.txt b/requirements.txt
index 6fa80be..b0d24ed 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,10 +4,8 @@
 adwin>=0.16.1
 sphinx>=1.7.5
 numpy>=1.14
-dash==0.36.0  # The core dash backend
-dash-renderer==0.17.0  # The dash front-end
-dash-html-components==0.13.5  # HTML components
-dash-core-components==0.43.0  # Supercharged components
+dash==0.38.0  # The core dash backend
+dash-daq>=0.1.4
 plotly
 pandas
 pandas-datareader>=0.5.0
diff --git a/setup.cfg b/setup.cfg
index 3548b6c..284fd2d 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -30,10 +30,8 @@ install_requires =
     adwin>=0.16.1
     sphinx>=1.7.5
     numpy>=1.14
-    dash>=0.31.1  # The core dash backend
-    dash-renderer>=0.15.1  # The dash front-end
-    dash-html-components>=0.13.0  # HTML components
-    dash-core-components>=0.40.0  # Supercharged components
+    dash==0.38.0  # The core dash backend
+    dash-daq>=0.1.4
     plotly
     pandas
     pandas-datareader>=0.5.0
diff --git a/src/adbasic/.gitignore b/src/adbasic/.gitignore
index 01134cb..f469dc4 100644
--- a/src/adbasic/.gitignore
+++ b/src/adbasic/.gitignore
@@ -1,2 +1 @@
-*.TC1
 *.ERR
diff --git a/src/adbasic/filter_module.inc b/src/adbasic/filter_module.inc
index 77f43c3..cce847d 100644
--- a/src/adbasic/filter_module.inc
+++ b/src/adbasic/filter_module.inc
@@ -51,7 +51,7 @@
 #Define FCR_SW_INPUT   1
 #Define FCR_SW_OUTPUT  2
 #Define FCR_SW_OFFSET  4
-#Define FCR_SW_SNAP    8
+' #Define FCR_SW_SNAP    8
 #Define FCR_SW_SOS1    16
 #Define FCR_SW_SOS2    32
 #Define FCR_SW_SOS3    64
@@ -60,10 +60,10 @@
 #Define FCR_SW_AUX     512
 
 ' Snap control
-#Define snap_config Data_7
-Dim snap_config[NUM_FILTERS] as Long
-#Define snap_value_mask 0ffffh
-#Define snap_lg 10000h  ' Look for signal lower (0) or greater (1) than the threshold
+' #Define snap_config Data_7
+' Dim snap_config[NUM_FILTERS] as Long
+' #Define snap_value_mask 0ffffh
+' #Define snap_lg 10000h  ' Look for signal lower (0) or greater (1) than the threshold
 
 ' Global storage of filter coefficient for transfer from PC
 #Define filter_coeffs_PC Data_1
@@ -105,7 +105,7 @@ Function FilterModule(input_int, control, filter_index, aux) as Float
   Dim sos_output as Float
   Dim sos_index as Long
   Dim input as Float
-  Dim snap_value as Long
+  ' Dim snap_value as Long
   input = input_int
 
   ' offset switch
@@ -136,23 +136,23 @@ Function FilterModule(input_int, control, filter_index, aux) as Float
     filter_output = input
   EndIf
 
-  ' Snap state that waits for aux signal
-  If ((control And FCR_SW_SNAP) > 0) Then
-    filter_output = 0.0
-    snap_value = aux - (snap_config[filter_index+1] And snap_value_mask)
-
-    If ((snap_config[filter_index+1] And snap_lg) > 0) Then
-      snap_value = -1 * snap_value
-    EndIf
-    If (snap_value <= 0) Then
-      ' Disable snapping
-      control = (control And Not(FCR_SW_SNAP))
-      ' Enable output
-      control = (control Or FCR_SW_OUTPUT)
-      ' Stop ramp
-      rcr = rcr And Not(0fh)
-    EndIf
-  EndIf
+  ' ' Snap state that waits for aux signal
+  ' If ((control And FCR_SW_SNAP) > 0) Then
+  '   filter_output = 0.0
+  '   snap_value = aux - (snap_config[filter_index+1] And snap_value_mask)
+  '
+  '   If ((snap_config[filter_index+1] And snap_lg) > 0) Then
+  '     snap_value = -1 * snap_value
+  '   EndIf
+  '   If (snap_value <= 0) Then
+  '     ' Disable snapping
+  '     control = (control And Not(FCR_SW_SNAP))
+  '     ' Enable output
+  '     control = (control Or FCR_SW_INPUT)
+  '     ' Stop ramp
+  '     rcr = rcr And Not(0fh)
+  '   EndIf
+  ' EndIf
 
   if ((control And FCR_SW_AUX) > 0) Then
     filter_output = filter_output + aux - 8000h
@@ -191,13 +191,13 @@ Sub RunFilters(input[], output[])
   'For filter_index = 0 To (NUM_FILTERS-1)
   '  output[filter_index+1] = FilterModule(input[2*filter_index+1], Par_3, filter_index)
   'Next filter_index
-  output[1] = FilterModule(input[1], fcr_1, 0,input[ 9])+8000h
-  output[2] = FilterModule(input[2], fcr_2, 1,input[10])+8000h
-  output[3] = FilterModule(input[3], fcr_3, 2,input[11])+8000h
-  output[4] = FilterModule(input[4], fcr_4, 3,input[12])+8000h
-  output[5] = FilterModule(input[5], fcr_5, 4,input[13])+8000h
-  output[6] = FilterModule(input[6], fcr_6, 5,input[14])+8000h
-  output[7] = FilterModule(input[7], fcr_7, 6,input[15])+8000h
-  output[8] = FilterModule(input[8], fcr_8, 7,input[16])+8000h
+  output[1] = FilterModule(input[1], fcr_1, 0, input[ 9]) + 8000h
+  output[2] = FilterModule(input[2], fcr_2, 1, input[10]) + 8000h
+  output[3] = FilterModule(input[3], fcr_3, 2, input[11]) + 8000h
+  output[4] = FilterModule(input[4], fcr_4, 3, input[12]) + 8000h
+  output[5] = FilterModule(input[5], fcr_5, 4, input[13]) + 8000h
+  output[6] = FilterModule(input[6], fcr_6, 5, input[14]) + 8000h
+  output[7] = FilterModule(input[7], fcr_7, 6, input[15]) + 8000h
+  output[8] = FilterModule(input[8], fcr_8, 7, input[16]) + 8000h
 
 EndSub
diff --git a/src/adbasic/nqontrol.TC1 b/src/adbasic/nqontrol.TC1
new file mode 100644
index 0000000000000000000000000000000000000000..5286d8d2449444a68a6d39e3304689bc1285fd92
GIT binary patch
literal 181496
zcmb<-^>JflWMqH=W(Exg5U)gpfx(1<fkERC69W?y1FH#x0s}jP27?fTAV|Jo#!e;%
z7*=3lU;tqj1_lNYW@CWp1?dOj2Mi1hAj}GtXJ%kv5Me}MK?Vi}5C-W5*$u)l_kidf
zJDC_j7^I(pfe~asn7?BuGXn@OWn*ACA;iD{vKJ)J#K3?e-@w4Y0Ky=7kR5?fOHx4Q
zqGNUj1_l8J1_u4o;v)T=%q0Ds6ushnJwuQ>X9fm_P!NNGfx!z(gT%}j7#P$T7#Q53
zVtxz^4DJjJ3>;9tBm)D3F9QQZ2m=Fy7y|=?6axc;CIbV51p@<vHv<C$$Z(L~p~}IO
z5d#B*5(5K+0hq_Ypu)hwAPr^1D02n|22TbC23x3r3j+g#9RmYHAOiz~6I4uwfq{XW
zfq_Alfq}svDh7%VaRvqkMFs|j00ssID+UGz8wLgj4+aJXM+OE4SExD|6$E9-F)%Rr
zFfcIKGcYg&GcYjdLB$DCpty#_8>UK7e1Jqj;SP!y5F3Prpz**7;-FzZG(ITZ!Gt8B
z3?2ps27V|TM5%)aDCUCF$P_O!2NeGd3=F~y3=Hx};@S)h46+Oi43<za4JfSzrI9IX
zC`XrpfkBjkfkB6Xfx!VP2BS=&3}aAUfU=dLG&%*!D<CmuaLQ+3DA)}ORR#uT1|9~G
zo`y3JJ_7?Eg9rlyL+k+rAC!)e<w5BZSsoOR$nv1PhmhxG0Htqad63^!4l#rCxgY}{
zIL#RxMDXJo7#MyWU<RjukbDyZ1H&5;CWaaY1_mJpHij++28Nu2%-}Q)lAjF9tEUm_
z*MRa4l6j{Y7#JoTK$!oAfq`KO5}%imf#C&`eWr{I3@1(_)LSz$Fq9yvcV%Q?Xh7l@
zGcquAAlcu;$iUzNm*-)a&&a^=fsF~AM?mgh#mK;5f#kk3j0_AdaP@o)KNuMprXb1l
zGcho%Kr&y0iGkq&l6xJP7#J2H=}%^2V9-Gd-&`gJh6zae+n5*_W*lT@0Ofa3_)TPD
zU|55se;X46!wn?!4}$DRl7Gm=z_100|Bs1*!3N2_a?A`27m(!5m>C#6kmAdknStQ|
zQuu~2Gca@@sjp^cV0eIJ|1xF<h7CyW-_Ojzpn&AR6U+<@JV^FGV`gCJK{Ah*g@M5a
zNxe7=1A_*VdV3ZI1`{NCPZkD-1|<8ESQr>|kkoguFfd3QL`rWg3=9rP`ggD}FnkbZ
zVkm*8*8?mJ3<XH;InBbrumH*YCoBvM21xqfgWQM2|HQ(;Fat@yAS(kyhA0y_{y^zT
zij{$ZhY69s6j>P<b|9&@VP#;raD<t`gAG(i@-cX^GBDghivJK+28JiQVd<TRA%T^F
zK>^9X&8!RzCy?UfJ}U!*3zGa|RtAPSNcJ6OWnd6Ml7Gm`z~F$yf6dCkkRrmw&;bpf
zFRTm<ACUA*voSDCKvJ*4#=tNIN#2)@fx+VtGeZXx#6K}?3=A8P<m=fO7-k@a?+i8u
z1`DL{T*$`2P=Ta=4X6@9iq8XV3=Aen_A|t%rX-dmGQ`Ix6&J@Bmn0UIAhYA+p}f?*
z6fhe~r{<+Fgcvcz`#O3D`Nzk{#|Ie2JGwZ##ryiZxI#t!eO!<fxOw`7xCZ(9yM+3{
z6nOdtgoZH0#}^l;re-tv_&a-hhPVbXgt+<!K#f4wWPxN@P^ce7Dj2HJ(<K5)+A%c5
zA7mU<(%Hk&&(GBdw*vPdS4WV|Q1$Wg@etEdTpR2k9Pb|*0&;R{QBht#LsoKbd}>iq
zei4$v!LA`-Uj@7R1$%~ghIxiWLJb8AgF*+F|BM(4N=v}zrRJ3sRT{@<CFe54C+DOl
z=9L!2BU^$ctV29~U5RprV`v1}5n$)UBRkW_F*pR5+su&7_J;+!KPdL#DF7|dLp*|9
zgFQfL0OYoyct8JeT&5c{xHvk)!WJ4_@$vC!1_rx22042Khd2g>z+4mT9}Ht+s`qzu
z3wDJo#gumpMNTqU!qnXv$#78YL%a$~YT(4>>>ug}PBrn#MVTe>#i_|9@x_T{sYtq<
zd_4WUUHyDK-918Jq2?Oq>KE_tLLhHI5+E#4aAXN{20z#Ecu@Ev*@=-iyu6TPeLQ_V
zLqhx^2|38o&mEo_J-rx$9DM`gT^vIkku+cl7;qf8xcWFoLUe%g7p}N9#BUVX6kmVj
zzzBBra|!Wx^K|ovCIx4IUnfsLR~Lqm5TAJG(4Zh!KX9p0l$w~rkdm5Inx2zdmYRdh
z1*Qz301AqSq;F*RpeL{p#}HRgag>~sU!2O22BDyiz)U|84A3}o_IGu23ubV1agGP)
zDu(#X+=9}g)cArD<Xj8!m#@E{XNZ3gEHU`{`ymAoB9VdO)x$G5#6Kt!NgmC?L9U>5
zh$N2@^`4#}XF*D3kk87CGE0!tC&ULB#hj;~iz~=`ZvOG`L=H*(n85&63(ac~<KhWA
z9Fmn?{akRxnF%CefwEdjQDSmxd~RY%2F#-nTOf{xiD9pSplT9C7#Ki(x)dm#0i{bs
zA>tKKx&}%&K<O4J-2tV0p!5VNJq1etfzm8u5c6XGGJ@?(fYNWE^dBhA@ed+j<IDtB
z*8rtkpmYb6wsC{VJ3wg{DD45I1E6#Wl$HsFsJ{{cp<Q+{gU$DV(mqf+07{2I=?Ewt
z1Emw7bPANtfYLcox&TU-K<Nr7T?3^XpmYnA?ts!gP<jHCo&u$3K<PP9dI6MP0;N|#
z=`~P#1C-tZrFTH-Jy7}pls*EbPeAE2Q2GLtz5=ChK<PVB`T>-F0;OL-={HdN1C;&(
zrGG%_KTw)sHzeFypfm@R=7G`zP+9~^OF(HED6IgcRiLy6l-7aL22k1rN?Sl_8z}7n
zrCp%32bA`K(g9F91WHFh=@=-T0Hsr)bOw~pfzlmNx(7;6fYMW-^b9CH2TCu1(o3N9
z3Mjn>N`u<xp#1p;%KreRzd&i3J&^DeH~^tVptJ;(mVwd=P+A2_Yd~ooC~W|xO`x<5
zly-p9pnfgL9S{C8GBAM#uNW8@A{gdBjS!gsG(utiQ-%i(PZ=&WK4rKt>FI1nhSv@Z
z^Pe(YnDEpDL_e7Dl<&iWhZ<mZ!&4OyeWBs00+^ogG=zcSwE&dO0-~Yna}F>wWE@~-
zNH_o*y;$&A?!W%S0telfj0_7NzX_QCRKQ^BQ{(^o4|#bPJeI9uc+KDt@Q9g#K}x}3
z>eCAh^TBfe{{Me<!eIVW6@!+i5>WNO_!m4D1gU2Tc&x(E@)V|L4w9Z32J@f(;%|7w
z5U}7eW7>kpA^|N=85o+MG8jyLsuR%i)Fhzgse?hw(_i)r9?KZFJk2qf|1>0^<td9n
z%hMEt`A<0vTAn5t%zw&b(DF3KVE$7VgO;Ze1|T=LJPk3J|5U=b<td}Vg2x76@s_6o
z=1h-00@|Ls7_>drVqkd9z!31*#-UA=g<*l9Pe7Y!LBrk`3<?4a97~xPJfL9`BF@0j
zBgMc_W5&Q>Ai}^9AkM&`BF?~&%fRr;ijm<JquGMT0uH(_Z44$q^>6^WWimKS7!0O7
zWiV)YY6A-E3lp9i7|eglD6rr$H^YL*4a$?BvM4k?ZcuK13Su+C*i#r@!}Ni|6ci^6
z0s`RpF>ug*$>6ZyG0z3xM{EiU9<vxMcz9A^!D9x8-lwp*nmC2wH48()L)L))2Tb6h
zOpyBCM+P8&IrKgS=>h3g6j<<>iDALxR*-!R0gu1@|IY<72PDs|u;4MLz=FqY3=1CD
zLgnB5|Ifu_wcs%e!-B^G1`dxo7#tph;)qFL!DCR`C^4A-lz}1OF|)zc=b-p|fMg!X
zJ`r)I$IJ{19!pP!g!v65d6<15vlF5AT|kr96j<<>gJHqrNU;2bM~n;$girkc|LV_T
zW`-3E3=A>`^Pe(FEqE-UF#oB5fWu=Jfr(F<4f-E28BBi8z%co#;D7yxKNdmMg3|W~
zKi!ud%8ZXc6wQCi7zPT%1&<jM7Ce4pH2<l>1>Z;P1^o|v99o}-IJ7=>QD}Yo#<}(B
z2j|wOUz}T?{%~%6`p3ETDT7PvQx=!jryMS=Pain9K4mtT{+uD9`RNho)~B-ilJDjS
z&3_8=^9&<Uyib45pwI|W<Iwzc>wJdSEk^U7GHES%%%I@<*jQk}V+qcwPZ<Q7o-!*;
zf6ivG;2}do(^F>0hUW~RI5wE{l+mF15eGx?V+Mn!r$7GxzvZDcAC$Hqx-iXu%A_#;
zIY=+lfdvm41VHSGPZ=4SA2C@vKVmR!e9i#U58_)SKVo2<_?(#$DrV69h>-(g=BNMv
zcl|M(|CB*t!DGe=3m%JVxIJc=(DRh>*@DLm6PlhfA6W31*<t!~9)<-EZ$Q;CX}UcI
zyYE2DQ-*{EkC_9eKX*AW?<vE9)~CLz46nBs&VRavasJaSg7d+C-=H}EDZ_%PAhRBd
z81y~`na{v5{rMcj`A=D-KfjY<=zYp4F#WlNKrh%&0t&rgeGCedo-!0n0qf%d=`)z{
zltrQUDTBhCrwm~J#HSnzy-yhx7Cd(KTku#&jQs&qK-&XWtpyL6-z<1+dTzmEM(zcV
z85jZ|vwFBamJ)7y%=*IZG3yDp$E+M~k3;u0J{FqU_?R_e!9x~@riXkFnjZ2TXnM%N
z(DaZ|yz#LJ1H&x_h1pLT3>G{F<!J_knNPVKk{&Q9^gd--(ED_P7yCO#i^GqfbN_h9
zV9@zg1gx&_=|b)U?;ceDeK)~M{M}*u!w(q@dY&>YXn4w?0C6urL+Im+|Nl$LJeUg(
zcLs;KPX!Jvc+AeQ;2|h%LFEO5L*G*gki0?PQvrjyPgy|h2hC4;4CX%NfU-pl=00UO
z(ERj+3d3tq+Kba~dc>&E^hnlT@*R^w@&g8j;K#rJ|39U0q4&{;zP&H@EMf-FcU)j#
zVA#OG!0-n&kHp9T&PyDi@mJ9N5F=zh0W{vb13KOh$~PKL^Pe(x>%O(P;QNThq5lEM
zJ_)AzPZ<s@cq{@+>nGeE^E_Dam_>l)F$2St=K{iRj~Nsio|-W9K4o~&^OSkPl;<oA
zU5{2NFuVq-QDNwMq#*3}c$osjYf!oZm1S21=RajsTku#ybJA00gDK!Lg;8M2b4G>*
z4|N23pRx!{ddk2s;VCFS+u0ayi7*5{Uc<_8YQe$zPZ=N1dd{<9%5#+m-A_3LCOu_3
zu;4K$Y(Q$686awP*ceVR3eI}2A<+GlM_>{tU16xvgsRaI=zc07FzG1^7IO@sY77Lr
zpNa@fddiALjV@G;i9q*L34uvZ*|4b5f~v6)=zc0AFzG2f7B%WnH8uj>PZbm<J>>wE
z3j)ng85n{dvw{5;^q7;4;g$?T&|?t=r%MhD-A9=eXJ2<v=)MXn&q3kIAkh5uf-xxU
zf**UaG28-`+c$(KJ!KA<@|?k7>QiQhz=w<m&4)bL7;eRY+8ZD{3|gNu6-;@~AkhBQ
zM_@iU4|pide+sIvS-a=I1;q;wD8Eja@|<Nu?^DJN3m%FvFuVfIhk)>u`OFMgKywTX
z3=Cfw7#I$K<`)<sbBipXxdBl5%?O!8TL79<1I;^vG#X3?mwD{qGOzuq6$8U5MuFx>
zj0YAxW>lQ@9F(SI4lj6k;_<Ynj0YBM_F#~I%B1P^h*7cYIfFv-CYwVGHZ}__c*u8v
z=Rvce;{yhUn8(ZpjSo(M$~S}NN6-HMzr_$R<$1H<f`^O@-47THTA#95PJ7BI(ELEI
z1XK@C2iMng804RV>}pnA@K8{A!NX>SrUwiH$(umsanr%h2Mh|WPq`JE9x-+Iyk+U`
zdCS(_^OmE#=Pg%v&s(1Ep0|A6J#PiNd)^9l_q-M9?s*H!6QKOS$gp7Z3FT=|4Fnf#
z1o@Fs;LyVp!fj6(4BDR_`TzfxfT27%4}i;8h6Rrqt8Tpo<pq`vb3y6#A%{WlQv*Z!
zrym&3JOq_H%mP!MzX8Q9_rbR;48o5&EGLNyNne%)wNKs{Pky?PyFiYC`=Bf%gYe@7
zRtBj%()ZsoNFRI)Dn|qkbUtEuu;4Lc*@DLc0Sg{$fa(hEn70fH3m&p@2fSr4$a}<5
z9q<+u4h+_J-kRDi*eGheU?EF(z+1)#evcM#C%pru2d3zNw*m)x9x-@ddaJ?E@aT>5
z^rtM^K5v(E2fkx6U<Q{%&$yl6C1ihi$HwjRc4@ZLyEN?&@0Msgze|$-aE_Is?(u{F
z|D{0nFl)eq#}5w8f6DS;!Q(qjp!#FV^BYR@pRTjM|CYI6!9y8PxgXH}l;^;d=SPg@
zKjjHn@KE3YsElcS3JT*bhd}M+1rH@a<qr3`w@eCCo-YBFQ`(2#YJlsNDbE?S55H9~
z=zYp#Fy%S8KGHt?mcw$|Qzq`qZ&?g_pT04k_H==C;yWe=;m060D7+XHraVuU{=mn?
zBm7teR0l~Pddtedz{Od0>usm@{kNdFSRh^a?vZriI|k`PZ%sgDqS}JTp!$)aV8LT1
zXgt<wgTnvtTMmP{PeFPXX&1ixkZ}0n2WT8Vs{Z>96pt(hb43}ePQMj_#^ndJxO~mR
zAeD&}mkDTb`GHDt`GL&1)L@wVloi}wo%@tQ`@mZThPh8!tS`Tn0M%LA2i}S>%zeth
zefTY>!Ggz&r4!$Q)W|T*eQLse|1Bt=2q?^b3J!OJrl%i_r#)3snEMnIA0T!DG#)_V
z42lD;s#|Y0u*AU@P}>_R4w#{FAd4dozF>(1rmE9##h`KU1uYIbSQw-@km6tiS{&r@
zH$UP9m5Cn|9)pTD1b*Nk0Ggi!&B-z_FvKu0fakS9>k6hYFfeR^&Py{<AuoQRV*IgT
zi9bHH`1^(>{=Oi^ABc?}f815K-oC;Te{+l>?EzRGVu8lreH`)k155ldSDk(<0gb;O
zXz?e;!XR}DDgGGGpq7VRyv>iO5eGl07zZ3!;y@TJ4yIy>gC9t70Ai!Z0S}IHOa`qS
zV}-^6u5#=TmN;OkI{j7(8V7&S;$Sl~YB?r)4mA!g@lz)b{!lRvxUj^51X>(mE64sI
z#Q}(o9tXTQ%CR|U<ro_@4sexY3?`GFGH@S!i(HqmR-Jw;1C0X)6V!G=05fViCWRIU
zj(p9J*m0C&84L^zDvS&aXBZe5sF7C~RLE;PV5@I<u*8!rT0H&2l2;f^5cLg+jUG>Y
zRkz;0!%|+YK`XD=q4D$>M|s79C7#%-PQR6d#uE!#JUwAzkUED{Udf}ylP@1=te}A^
zWflt+<AD!LJSd^X!wf9(z=9MHAU1kD@K@b>+k+(@G|<W{4rn|y;)n+hEb+izb^5IW
zG#)t6;-P_wK`I9+9yobX%dDt#pfW4qEf2UI9RqDg$3WZB7m(V~F=*}Rn70B94Ul&9
zfu2Vk;5cx=(T;Y&*^UO~1r~$3PbENYC}`VD!20rAR?zqa_o27y3JV^C+FPJD7^v-K
z2?~4d18+g?FG!oK0X*iQ0&1fvG(Y7qnFelqfoMb=9C*8uiGfR?>egG(c!ies{kNd@
z))s~N;C3yzEzDi`ZjpAuI|l9pZ#fv|J_VIWAT~3@l;<2(r{99uObMVqX4}&SP#LGN
z;BigC{HHY!=063s&npb(KdlIu|Fq%&q#sbiF#l<Z0BHQT_i2H_{HNR?cUymZ2ksvk
z^gd-TnDSh~VD3|yg5IZm52ie44Vdzr=Rq&HuK?;Jh=R&6L?aBe`qd$Vfq`KLbe$|{
z?I37990Ma{ZJ-1r149A>149J^1498w4I=}?4N$+8fdRbE1~i7E0UbX9^*uzu<5*L`
z<5-}68ED*sQEb6u1<8p|6&Cb9WmvG_p}~aSr>qkeJXG1x`;?V|;T0o8z~g2{1}@OJ
z4F^NeV+Mt`r}hjCrxXs%eagYm^oY^G=@Gc^XW0CJp>WP~P&hI^Xnw?ZaKS?cgNCOp
z0X>iS7$-hwHE4dsbD;47GXujT28M3%xGdkpiO*#=fX0sa9x*)Ve!BI+#D@$II-jyW
znE0G0VD3}K7a;N0rvd?UpE5t3_?+QE>r;^c(D>4vryw?H{E6qloTm&0T~8Sf^nu(f
z#d1&{9G*;!J>c;~P&xyRwK6dTJZ4as_Vm>M|5BjwDizQe)q%-RnHc9iH!+ld%EQp`
zfQhm1IVkR#3@3p5@iQ42ZZR4-KVmX$c#iD<{r~^pVq{zJI73nX=^5h*PgOR|eG2Nw
z@f$Ed0{2A?nx4urFmSa9%0Fd2v*2-uqWn{V0}hXswC}uSJTT=slfabce?VyiG)^cm
z@#z`n2~U{>Cq55gdH$S1q3Hn=2Pm9-o=%WrfA?Ja$Gb(`j*#&>E%A5EirvpaW8P~)
zZUf~L1J}n43O!GmB^NwqP;7px1M0sBG(VjID(eLnJZ4dt4IZmv<Oq8FU!Q+5gFy3B
z7KQGmObiUGKw~rv3JW%~D0FY-P?-G`riKGeo<pH~D-V)951KrWLibhyBzXZec>#s)
zts+SBB53j=3f)^JkmM!M<Ruikx5^;N%b>~2D0FXCK$2HLlUGpa-l~EmuYxA8qR_on
z14&*3O<qHxd#etTybhYYjzafV10;C^G<gGs?yV+B@+N5VCJNnKEs*3b(Bv%?y0_XO
z$=jgG+bDEzbwHALK$CY+=-%3+IRB|2XxvPo`6(#vg33gufGN)zL1X#?txp9cCp=|V
zoc)|x5i|xr6+FfT8P{(GkLxo^g63Je9~lX|J$^0E@EXKdVd#G3B<%M1xje&b(3q}{
z;QXhjcosa?P@MmC7Ps?bMo`&l&;}W&Q<(mg*&qot*78t+k>QkvA*Ap0KzY(rX0W<x
zPnj8l9tJQlaDm2#K=URK4o?P+oj-iQJo%}pgxh0P4Y$V^Cd_}ze1PZCnFsTq25>xl
z&TyddDFZ{(Q_g|~k3s4|YGV#Qd>+90@VUT&#-{=dO;6$ChaNr;;ClF6;Xvb41!VEV
z51$8cKYVU*pz)~zviOmQ&jWZKK6g0K_|ySe{OH5y0lW{N2OMa88h|W*?BVkOzK72f
z4m3VZ0EshC2HPFL{_wc~sBDM#vmZDtfsSvdFfcHH#=Ajl>Ot%2L2J<GK+Eta&~khN
zbRR$txSVf%sw2PPVSzx?Q%(g?-PH7yp`i8Y1LMh0`9OSwHgI@=#=k=t<exGgTkzP#
zVD8fx0nm6MXgqcDQ_%PYX#AZ~VajtB1LsGextlx2Jx?tz^gd$h-unhL7B9mP_*jgQ
z;Z)55`KKZRj*mcN*NlR*pQ{LTKlS_d|J4cudGPow(?QVOTFhf%1_mimeGRG)4m^;5
z%CP}7_CMiiGvk7X%?1q*m=3l+=VO@i+~C37ry2~sPq`VIA2l2HJ!p8?_kfA}@f$vd
z;D>+y|CiD*nERAtLoax~6*LA2n$H83sS2RE4u)AzL313;3;_=n85nMH6wH0f^kBhb
z9Ygu2DWI`w2GG3K^rxV*n(1NVb5MEDP%!-|)5EFHSrytJ!Niy!OnJ^|-t_2~LGvS~
zgMH7L4HrCQI57Ds<AEN?csr<GfU=nwTc4{K%zetl*!<k~-~U&j`C<kncijE|e;0V3
zgJJSh9)^I2h71f`;4vfv5I^{#j=|ikj0`=8bPVPmWj?v!GSkTghnW~#uQMEIzRGZ*
z`6v@(>+xs*|Gz@^>vE7^t8TspmHiA=x88!<K+m;*ynCqq<(<H<kME@a{f`2T&w=K|
zK;Z)#^9AKwa9yV`?J20f6ZrT46@&D}w{?FZv=o$H_XooFhSD#7L-=J-S{O>t`}O}7
zER4Y6^I-B*#s}vfGdyU1%J5+FQzj_;@c;j>Kxsup!10m>L-$ce!P(a}1iG)D`-u?O
zfr{%0bYH#r^ZzRbP@M%Tiv*jWGHEV&46d^jnx6*#`~Qkban^GOh3=={k@Oot^&1Fu
zUp<8+ZUPlI5$L{p7D?O!DsCaref0v8xD8a?MxguZ<)8mwF-}|X7&KRW#CRsSygOpt
z`Sb|$%%_KQ7+%*X%RdE;Ju@Usd&+lU!NU$?`KNpW3m!5pnDU%YVZlQe4Y$W4FWerR
zoN#-rBH{L!fuZXu<AQ`o3=Dlw85ltGX^l@A7BoF&NN5L_Zx57bK4ma~lyS%Y{g)E^
z|NqquVfm+w8>T$3`uYEr1NVJ!JC#FW?o$@S`A-*cL&j<UD1hc`r#uJE*D**RcnfNm
z!rG*ffB(OFU@#v%N5>4B3sGo)y8Gw<R~JBYCkzW7gXUCptna@C%_(shG(WlkDr*gA
zJ>PI(KBR4-{o@_8#e#=SinE{d2uyiC!HWGIXv}wl7CX4zv6$QG-9qkycLv(QZ$SO^
znX?#PgVrs~{rUe@)!+Y840zIL(ck~KKz;$uk%IH1VdHb;^qKMZ|0^AV`C$L6Fmyk)
z1f>h4@)6Pu{@@7OrvqyDg63rQK<8*cb9$ipULJu34?%qx27?6;ML_Yu;r7@>!tF6A
zZoqSz1`SUc3>u$;$~VybI>QHr#{vw2k4+dDZhdgleF+-3OD|dQ7&J%C;xPTG|A+do
z3=AQU)j(wnL&#(Bd^f0%G{NPODg(nU#s>=?GXzY2%JHD@QOSqPUl|YdJ>p@Ae5hd1
z{D>i->8XN3(<7Mx;iobIOiv{Ogr7<TFg+Cs5Pm8W!1PogK=`RZ0Mk>R0O6-R0ZdOh
z0)(G(1TZ~i2@rnD62SEI#sB}Om=uy9fbtd(L&!tM13izJA2dB@F=&4D^Z)-<ETA%q
zq4@z@Lh}Pgfs_ZJdBcnU|DXEMwD$#QF7f?;P`*lh1QLh(_ad9og2#*ufsYv!AZ5PX
ze|<&}n~5RtF^fXOQy8C_A@DH=5}$=3@G%b(pOqo-u>caEjUn){2oj&2A@H#TjBhac
zDF;K~V;KX8`5-rNLfxPMQ=>5XDHlWFV-+MmH$&iK4J1AfL*Qc_Bt9=g;9~<MJ|8F^
zk@%o^wNL=X_heQZg9cVme1pV5@yzJ3;2}Q)!>xjX{m(#adeT#%aeiPLIL=u>?PQ0X
z2doSW9`YD0c*w4>;2}?7>w}<4pmiZ3pmiwVaE63!BDlV^XJEL+rUVUN(7Z3G?<&yz
z)RKXLivcvh%MkLIMWFeqDU{F55b~Hqp!q4NegMg{FoZnj5oms@3zcVO2ze|Z(EL;r
z%4cH;c`PE({8SanXJ-g`EFsYRR1w5inDmr`A>^@)Li1Bu1_myWJ2)9a9)rwP5NLiX
z0a7C{=_waO$YT|O=BFZ1J~u<iV-11krvgwu4@1af9f9VjJWxI_L&#$Tf##<iP(B|+
z$YT>we*wxDU<i3^A<+DkL17ZBjY2akXkAW$!v1HV@cZDj_XPvPg2$|r7+wi51U&}T
z&!BmE(A-k`7Erz1{FG(FY;brpFho8U1?8s%&qwSB7Cc;*0O~6)c*q!#@PKV0Xstun
zBL;_-2MiD9Jmmn*+dXK0%JM+wDf5F?aDHH62!8ne|9>ftg7!x&3=NN11R5W;6}CU%
zVrY24DA4tQNg?wAsBiNKlt23RzF;_z^a#WU&9}?_*9YedCQx7Yz~rY42O6G&>V8l=
z5+ny=voHibW`T;c9B2gPlZzm6Hin?b98hr%Bymu`m<KA(gCx$y5cF68Dh_Ik!p!FZ
z&4ok7MUd3<F$6u90EsJ1ek!5R_>@6m@=+OuhNBDylaI<6G#-Vd>7d7;a1FTN`-m}M
z!9&nmk3>+~p0NK};e!3o7!;bHg44Lkg2yZclfmIFz!3h}fq~(cfI;sgcF<aqg5IYF
z8+sqHIxKhynzLjOnDUgv0Mx#p@|06y!9$J*Q=SSWxIN-IFy*O(L(3xp@Y;q2k3}Bz
zJ~cVe`_$lp$WxsIB2Nt%dY^*Ugh)K-eQI%__o>DMk*6vLM4rk#=zVH)p!cc51CggP
z2SlDKJm`JuaG>|8!~>D1A_qjCsyyg@>T;m>slWq~r#uHlo@zYked=+b_bJB%k*6#N
zM4swA=zZ#Qp!aFfM26QOcX25!cnC^k+zbmI=1v5y7YqZfPdUX>F!!lLK<gt0gSk%y
z72F>Q6u3W9Qd;m(K*0GClhJ~QOu?-W7z~mhF&DHyU{q)ZuZv+|2!G56N_!3q9)t2b
zs6GSv8DxIgM9|ug1&^5=S{^Ynv_1gIf$Zi8Xno`ll4A&e`0@Y$RUrGA4bnk<na7}Y
zK8yeVKNSF7!(yQA^yWSHuXhXzNsmBr0jjqrc!|FQ)hjHH3l1_EEI7<|Xu)C7+6d4(
zAyE0wqQDGZGc-Z5`6(!E|M>r33S<W?Z-MgFV*lm`M;sPB1m!s$kXsBEJS>Igy;S}M
zkJTqKyoR{}ls*hD_&!QFF!yOdz}%+-3^9*G9Ogcacrf>A%z?R2QxfJr&0=7<rN_|w
z60~**G?vA%VZp-$gSk&d96<5Z`&8yY?^6bYwx{W!bYw93sfs}_I4yzN;=!QsGjM*y
z!Z7!#vf+Y<3JP<dG7Btt$gm*$0i)o8hoCVa4TIjN+y)CCvK(l91X>#-ATakS!-VVy
zJPdQ6av$h<z?hKzKm;UKko|x$Ap3!Yz}%;d4%rW6K=gy`2cWV{K%wbTA;bS?iV_PR
zg4XXb3v@l_5fFL`6XRrPe$Fn?{G0<xjE$lBIjcbPa~32q7KY~Md>}E<7!*VB!{`71
zOM%AWST=M&(omTDR0kAB2F;IT9Ogb{GHQOnx}p04i$lvJP`H5FEG!S2AA#E2tPlDg
zusrB}%5tFj5vaY+dZ6b4$AR9bEDX($Kx0Y_46P4%7(nZQnjeAs1dIZ$55Rdxq4^Q0
zPr#(m`alG<Hp`&-5wk(-0|^7r+Q-%hpfv-aum{Z{L;J{&6AXHv&j0`almRqdB^1nk
z3QD^S1?i6%3fjPZa*!BX5-8t>KV~SH_OyJ$|7YqI3m!5|Xn4v{(D)Qp4Af6-MiXm&
z%23dPCf4_qp`hpK1JF8@f@x0^Cd_@x!4UZvW;V-&hNmoOX0uFaddgCOYBtM+)~76J
zX0uG_d&*MK^YkQ=**r*Qb4+M>%7JD!$AqS*9B5{9OlW<|fo3+xgubU71wBtULCuD_
zmuEu5Qy!3+0@L8>hKHf)DX8vcFqrnVSmFOOWeZR{vK72u7gen9DUU(VQ&=2;+Y^4e
zFG1_fHeB$1qyQ=x8G4`Y1NGMm7CdI?-ujMx!-9tf2EC6!aSLi!!txI&jzR590fykm
z)eH=`WDMp$<t~7Xvx3&lfYO;jLh~cG1)w}W_o+ic`y&Sj@uxNq#GiuJ7Fr01KQ%cZ
z{<I|F|1$#y@uw;t3m)nyh(FcXApTUvK>Vq~1o5X14!uun9R5GkIkDiOK|=3SfeF1&
z3lsi7lbIm?6qJV~0>qy#IMDl4WJ2%Lx(WZE>Ae80O_}?&AffkZal-#+2@iUo7CiX>
zOo3y;!+;6BPa6b!pVmzH|ICG<_i2&9|7W27y^_X)hZ7unpMt`y+Ts7RDG9w#wRbFd
zsFShap~-{ZrwS()JOr6h%JBbLh(PaCRfz=;QxtlimN@i2ZQ0QKRKj8I(<KJIPcshm
zKCNKreJXN5{HXwg_|p!7-lseQ;!img#Glq|`2UQ>K>R7l9}!SDfyRSD?y>;+X~O?!
z9tpi*KNThXe`fQb_bJF-#Sb8HIb%cb(-jALpZYNLK8=~s`!omSkA&W*Jqo=~=RD|r
zy2haQ=_iG+pt2OScK9Kv?7H61@S2Mu^r3)5%Oh~x!eH)G0R!hpp!fpC&&>b-Pl4i0
zL0~R;yjM`c8B*6UI6i{aHx387A2Dt2fz&w)4G)+N8XqVq^gac}J$u#Nx1hdN2X_Kw
zEO!>DPKX5eH9&FC7_i{6#Dcj`L1}=2VfIrlP+2c9`zdH#md9W=I9>ui-2Ms*15mwZ
z@Syi;;R8t72wKA^u%Y`=5ySsyHUiMF5P*b*1*q<2=zZ#<(EHRwp!cZ{*zeyTvM?-o
z2&&&e_1=trhSzKi;SWJ&9?0*E0j-ZX8A2c4`TzeGsGO7mmG6+TyT_n1(ewZRQyY-R
ziVUP3-<${4c?OWSF}Tj-0{JiCu_P#OFoN56kJ*Gk?ZAmoL3Liyf&b4yamI3h`RN}}
zn?+&bQ<&JFgUwI>D1q9UNMeVZpZ-xn6Fb`c^p9FIXdT?c7tk^t)Td){0F{-&kC_9S
zA2A0kSm+wK;2|5sf`^|JzC2_F)ky*i9y8{&J&NjQc+JEe_88=6WdDHbPmK${k31gC
zed==nRDZ@jKEl9oi+KaY9|E9sE71ECoW~#ZK<dZ<NL!16A@uPoP+N;3^znKIhFgLM
zTpzI*G(FNewBRB01IYR?5rL*hJ%_p<NEkFdVid@Jps=C$sRF3KXOR7X;Xv<Gz6040
z7!wveWOe}6rA?1mKy4?`xIRPn1CaxBpYkkddL$q)_o={yrbjXbO^-MjdY^JF$bP^%
zA^QP)LG}YsI|<ZRW!bRcp-MpSQ=Ww0r_2Eh9!7k){58g5>JxzneUB<WT>h#c(D<kZ
zM1$JcAFh6NFlc^M67c^SsBB?LnEO;Afbpq<1J6?%2jQnMafN`UCkze^Pc4wdWC9qU
z$~f>mH9-<%2xxoG;?VHaz(M#aN5WjVeu)6arxFf4Pj!&gvIR6e=Wu9vs(~aX62SOW
z#DV9j3X&LCK*Mt$hlZyLNMZs3j86p|c%I5Q2tVaPvWGLE;kkfA!&3<)wLAfgPk9`8
zo{Auef$SD>Xm~1sB*qcI_>{we=P3`87<WL!a|wrrryNLPECGy9SsZwtvLJ~u1hhX_
z0QE^67@mUGO@sD5%m<~-4RfEW1k8QPb0F~nlS1MH28P533=W`iw7y4t451G}<1?VL
z9TfHq35`z~9eSRF%}s#B2V+9hb4G`T=b*mMhyVXqNhr*H%4p#FXfY@~Z|Hsmnu`Oi
zNn;jV@UYpi;Q`Bmrbi+QbHQnp(V*vn0H{5-q45EW0%*>z=>ce6A*eiKR%m?SVKDb8
zvq9<uP}|PKp!ccQ|No~npzRJ8fhKU<MMeNLX1m}aDE)!b7AXCl28}r|#64zskoO3*
zhWaCD{r`ixPuUKE_Hls3=RB=*fYdXfG{f+q@hPZJhY)Le3K~y*463sq%z5hJF!w2_
zUksB6r5_eFJuD7QPgx!`KfQ*e2h>-F=>er94m3R+4oy!v9yCMR9Z-8X7(yPy^nlV7
z51Jkxho+}I51OCuL9z$bpN8oHr7Zz8Jpv9*PX!({KV6Tc2h_)g=>erP5i~s_4oy!*
z9yC8)gro=5?}q6Cr8x;SJrWL0PbD5SKb;EI15+#G(C}0Sq*h=Kysaa{(DYPBp!q2*
zKGEASD$q8}R!}+Jz3m;SzYc1@fZ8sgG@?+@3n||WCWGrSSR1Aa+J;d`nEMn|KZ5Eo
zjt$L^BtT>L6Q(_NNN9Tm60>m-dus7O?5RnC*we}l|DPEg5PPaQW5Gim1~G8EMngdC
zsfvQwQw0ODr!ot~o`TvPpf(4n?w1G<dn&M?_i4$3|IZ>0^n%+w0te=T`mRswHvE59
zu%P!Ts0~xT0MhOSwMz;e{y#I>0Bsv=`2Q^A0Z2cjT~oXO(zcmW0I4H&Di%BhwI@Jr
z8IYZ-Cl)-cc+mTF21D=D(g**a**Nq*jRCbCHuOH7qtN@*VL|Ux5r?@?L2dICP&?{?
z*i!+JKLo^{awv#BT~N>qZM%p)Em-jX8K}(y@<&m@|7Q&odY`(0>g);spZOH@J_WT^
zBnsv}1=Z)Ewi&1{1i1s$Mp|;9_o>H%-lrK1y-zzP^gdl7(EBt;q4#MIa@&Pr!9!5r
z7*v0+=w*1#&Jg-g0Y}?q7E;><)NXM&(D+D2VD3|JUm2<W!lVpoyMWp(%+U4=Xe}|;
z_DdG1eh+&r$G~t46wjdci$cNNry>hL^Eb_p7!;;M+As#wpR!Dt`_$mW^{=4u8c;hD
z<kw;bNc+S<p!cbXLhn-xhTf+(;I_$6l(tD>FT-nYhDemQ2^&M`L(n>TP}&5|%^<f=
zK>gGpEbS9;pB%Y;ath@Bn8*3xvEG=+Yz{t;YCw6wV8LV1ejRXI<-x?K%n1t~8hp6?
zl__w+Lk>{c$<Xu&G~QcR04diD3frDAFoZm0_;Bs(1Mu9)#HV!$5V;45%}*aZ0?n5o
z#26A<pFV-93xKG564?Co2}~VSOd^2!=?gS<F9MsNzCcqa62ScQ4Vt<)fz40fps5oG
zV1D`mP2GpU=BFRf)bRu`KmCHH?n_|v(=TZ1I0BfT{y<arBe41D4>WZw0nAVTpsD*4
z*!=X*qvof}Kx5v93m$^Pn#I8R5orGr14GP1Q2UUPq2W={185uZ0a6<gD)#3gq>Ts~
zj{&6tSi5g=eDi~&0odDn_j(v!Gh%7)f#Msq@9_5j|KPDpQ2P(G-ww3Ts{)iJHY|9|
zxM0CUP~RRjrUUNNJ%F|M;vOf1(@@-FHUqy$p!NA_AihBNBNm44M~nhl4|o*19|;(A
zKVo3WdcdTR^?=zR>j7x&jz?hbQ;`YXk0c7ZAIT(iKVm)rYVY+vWnx(HkaI%T1NMTf
z2W$yh54aT;JmfN1@K9ty?^96u%IL7*F=(w0&xQpLL1S$`A1;060F751nDm5^q2&<^
zsNMSEBDj6Wz!3Ma<^iNnsPKRhydR6>z}%<I2j)D7iOW1-1dVAtWj!z%E++AS@hQiF
z=BHdpVj>S1pYj}Ne#(s`Ch&mqslb8er<_P)JP#P3iX3Qu%8n$)@qqEE#DV6g%m=1D
z2jw4_-7H|cnV+8h|NoT8g5F0AKC@mh3M4%MkAoZl?Fou|2ucgEel3$j<8!71&CfyY
zm~a38ui`TV_1)(_<=)WzfNMeX115#$2RsVB;Pqk526^B%4XEui@jqgp87w?O;SY-U
zN8ol$&|{_tpz&15xZUUf|8IfjE*L@W8->a6z6p4|SfTOhYtUX$g~?Bu7~&qo`YoU_
zV-|(Rr%#}A%t&&eabpgJ#;13oax6%4ps`~fg+@@Dh6^-5!-^ya8b20LXncAes*epx
zPUJwtQxS#6rzfCt>_~E;ab(aK@<EUscupqnF>I_uMxo)Uj6vhmUH|`cf&9pc=0}AC
z4Nnym8bM<zVE1q#nX7W3;i-y3<I~k3a}_2(<wlazIMDD^L!t5M5~v&xlAO+ghNn6T
zjZf!7<#>_g3=T9rHBe}LIt?nvha_impy8>BLgUkZsGI<joW+5Lrxu`ba)ZgN#R~t~
zlr0u8+9))z+88vl!uAxx+B=}}8is%c4?$x#Ye0D#JYUlU9@i{@j@N+tQQ*9d*4BZI
z*MQb}f$}$~eFSP7f$BYmg4y740+6@>Xbe4J_EU!q-H$9Bq@S8AFL-DYApO+ff%H?*
zc$AKS^wR=`-lrN2(oa<mNIz9jkbWw&K>Ddff%H?*y1SAI|DW+J=zUtY;QuqT<OL5+
zoEJP4DCm7!TJZl_NkT8UUa@<;;Gt>of`=vxdckdsh6lY*4VV`^<asdnDX1+2YR6PK
z^ggvYyx<|IEo4*B`_xc)!9!3Rq$Z&Esgd%6hjzgW9y&nH6L>K9sS9Xq2GkA|SnwFs
z?&x6X1-IKl<2@kzd?xfh?K#l<G@zjO=>&z|ry>f{PeT%VpH2zreH!7=`&1x6`YC7}
zhQ~n~Z2pV~ps{@Erz{7gpO!B8{|wZ20=XG99}My%sO|*$4P<sqLhsWW&=}5PQ2+eW
z!xf-5&Vk;i2@86kE(qv-nlhpH=@N(Drx^vkPjeD_pXPQmyat&A4r_r0k0lu9KK-I_
z>0x>|!)s7{fW~WJV>O^Q4y?Tc8n?mK-T}377!;aO#%n-*BT#<`G=8CyF!!l}LhmEc
zdJ_|eUeLVDW9A8<wE&>;?P*Uy<0zjLu7l?&xEK~ZWDaP304v`><20Z-6Z>w+-1!%%
zI?(uwRX4+HR))xjZ~y;arIOJ56x&!!6tpb^T9bo3|5yl}e*~?=1dWx0#_<^$VjjcB
z#zEud41&#1)1h;BOh|Gp49!nj1e>2GK;@W`<Tx0bpK=H`KaGUSu^`FuFf>2q5o~@M
z1eIe&k`rKPekvf?{L~vN$A%;)!qEIwM6mg(3sjCBNlt>H`Kg3p^HW=p9C%(c<}s{|
z2<o@UC^kPegU@lsfaf@2epFy+eySkY{8SI57d+pI@V^Q}^HUYU=BMgVIc_97H5i(o
zY6vzzRe;LzAj#=4G(Xi5Y<?;UmE%Q{Ghk?bY9QGBR0t}^ha_jh(EQXyu=y!BR1P%f
z0&}MYL-SJ$LD1X|gA`~z1k8Un0?kit6q}zafcm`x3m$(`xcU$@*8`g4+1v$6&kG)Y
zQMd|DSByLh9<S?Scnun-0;L5|x#kC2$Ka;>5<K4ro6~lH%xQz>n?Q4Zpnfi^0(ji&
zA=?C(N1%CYM$lOGfk{t6?QzBj?T==BxcrrmA@bo4&{&W{(<9J0P|X5Jo55iL^HZAx
z%ui(w2t9>~Su9|FYI1=2sRWXk!2;%|ItQ4aiXe$;EMR`Ba)9}%0Fs!(0+3nEPkE5U
zBo=`5F+b%%5))VeQp5a|1xbu!0f^5GstZrC9GLWkk0As+Zo>GW?@>(w#JwB^5H+B-
zK?`HU1D3#6_<D)$p!wjoy)Qs(#@>PId{BP?v^D{>UKctq3|lV&tJ6XCJ@Q%!(Ao)@
z9H>r5UMB%sM*))q)!WExBtUB_U~-_k8B_<u)?a|uSHR>zbuaR|2+&#!m>j5nMP3sD
zT6Y1H1J$7>u=Nn&`abY6tiA`Wi?G469s{P=;XuPv7nok?+6<VS$AN~YK1gz)bs8|a
zfCCLrLy+V^Yc^nV5eFKc#vsXo)^EV%5)L#xO+k_at>u8pWgKXDnu8<<O6RcrQXtUq
zv;?}w16JQxC^WFvAg}lE(|x((g6|{Hc-1`6ytu*sXP~|TXgmWnk0OzP7|#IJ;jr<H
z63||C(4GX)x<!NDry2&mk3j84&^#=>j)&Fl0n$%R7^I)7ODuS3;2`}}M*&v9_deAS
zkbbK2K>De|0Yu%dF`@Tq>4g8!KxZ<5>UOn^1rIq2dY={){C}nzvEZReLN9n;2Q>Bv
z8V_(N=zZz~Iv2%Z?o-e_hrxp0r-cjtKeGvdjBAt>{C}nbGQ(l+)1m;#{0yj1UB>|F
zPlD#8VQqncfL`!C3TXT`L;*5}60xB7DUZV3rwRrO9)rd=Kw}6A482bU80J1r0gaa=
z^gb0ykbas2nxhE-%_%|Zcu@V$@c>e<7Zmh9Ei3r{4CI##kpC9^e+H`C8wz@#g8T%k
z<69CS<1?W89ppFASV+f$-lshQy-z1h=zTiHq4(*G0?3@qf`s0upmC4VPS75A(3pGh
z;{~8T0VqxcK=b>~k3i!Vp!s23^|*vW?^D>gg$$^jV$k~(G!F}^$AuXfZb<~peX60*
z`-o=(Xs&s|V^H6osQ^@mPkqAZ(DI1MV8LV9S^&_x23Q>qTA!eEp!ca?C+HlTu!o;O
z<F5g|PeE-2&=@PYufh=g7&K0j{{R1}6&E1qSu}#zRwq6Jr9F@v3P5%CA<)=p@MF;2
zKWGm<td9#C8wK?p(m`!gg*l*g0FPmEpz%yl{~!S>$Hov0mjjJKg8BfFP&v?=ZJ0jL
zxS@<fBdET<1+tF|NuR=lMsPdc8>){7NlxQIBe<>Z0+r)Kk~4VF2yTztLghg1Em+>Q
zIMDdiMxhZ@U*7_a0Skf7NKlyb6y_d>2aQi%6dFPGHP}5ONalJxXng9U&<Lup!E$0q
zasdw-pN1%a)@(C?<s^{gA|5n8jZtU>)z@G-DI~ds2aQit6dFPGHCRptNiO3-<I^04
zMo@iy3p6Gz#}NFuP63jC3KSZjmON;D$^!D^fjLiW6d-j=g+k-gngfkbk=JFM>|l5e
zi*Ha_6%MMCL1!WbEO?xbrA~GS&kcn<_5{rh6}UVC%}1#hf%=^b9x@(S@VLFG;ekRy
z`y<dgK+t+Z&^klV*#%QRTn5k2)IIqBY{Mg`hc*v{pMu!?9y&d=fU@^Ibb4q4W$$|E
z^w0px-to}sp$?S2?V-~{4JdodL#Kx-Q1+&WP7f8J><tf{9?C%3`yMzwlz_7LJaBp_
z0%h-d;Pg-c%HHw7=^+o4z3qY1Lk=i=%LAu}EKv5Q2Tl*!8G;_3`2Syu<-z19p!JQQ
zb&eoEY<h6$0cee53j=C>y#Z8TH|%`@3M0^&51{ZNw9c_e;s3J@3I`s->Q-=lt?>WZ
zCL}R%J+1Kn*%l-*aQ&?C|JgPqF>t-C@c-EkBr$M(tnmNYE+jE<J*@Em*&dh}to}9l
z|7@QD#4V71He@X(*o}%1aZrCBv=$O1wh2iLT+f2sh$IHCUqNm}5(C$(AU7h3f$LL{
z8<E67X%l3}9>oI>89@DIga2&%3=c5E)|4rO(ygEFOVIc~w)J}Apfx{O*6Xz`Sn!a^
z0d>6|C{8y#IQ$T_W)H;P{GjzAlR@(%(AuW2&~<xE3=NN%aID*V0E%}4>-K66{C~FL
zzya{OeF*y?D9*v_^g!$PKw_Ja<To8a$b;7Lf#kO!$!|fD=U@nW43gi5B)<(w9<;6x
zB)<bmeg~2~Xnh|@eixGbE+l!-IzLdE0!lBS_y@;}0@Qt=u_lH8&-N*R<LPNJI1Pd2
z9)iXt2WnkcqX1}ZaxSP{1YXz0M5T3I8yF5h+$_-b5P4nKPKM@(+Xb2*BCqS(#?bt5
zt3dNZ<aJ$J7@8mM6KDpfEgqzGT}*h^b%ECQfz~j9#tN7opswp;LR;6xgto4WNdR?S
z7ZcjLE>Ie$<+`p76AnDwP;l@e^17}K6AnGxP;eMc?C8S{1xL`t&OO{vaONSdbzPe#
z9C)}1&FoDR4n5q2X7;8DM;~rNGkep7a}PHaoOy_AUDuWg2Oe%gGkeQ~Ll3v0nZ0Gg
z(T7{m%-%BL+`}yeXC9)j>)JNqz{71IGm+MHZDTm}aGSv4hYU#Ty0$4CeYnlw2%6Zr
zhuaL!JcO<50_7`#3%-vG3g$jF0k8K6e{99TaEp(j_XTKN1=Mc<t%(DV4Q_yq`$s?4
z0ksc6^Y9bAAFZ6Q;2~%{8MGIHDIwtji^ANeouINYAmIUMyo%{T*CU1peGix%5*~o&
zIXDCwAHmv98x9<PxLKj?A&Y__e4Kgff#!!>6d-9Ev^VPG|Nl~;HHV;blZ&C@0cgEI
zr(yF0u-icUlLVT<^Q~M0jSm<==Uyp5(l(Pq*8|X*bda>!^#C+i3tA%rT1$B9|Nm10
z(6%aw&tQ=Lh{2%e=}+j`Hv?!-)q}}TLHjJ27{cN6<r^H%Jlyc$%tO#Vqk;pFIn@mZ
z4nEw#aPZ+P@SODIrz}Y7H#r=9xaq+`6!oC;coW0HhxefB*^tz4aX9#J3z~XR`MibU
z;KNH$^&Cj*w>cbqxD8D`sJ!0BaPZ+VsCq6W^*bC6KHPz(9#nqsU^w`27gRkDlKNc^
z2OsW2Qx7W7cQG7%xDKkG4@vzVhl3CIpsC+;;NZhO3<n=V=J_Xs$5%mf*ZUj}KHLXV
zYcTmKY)*6^!@-C93=Teo#f<<1WX-q71>Z+D3cXKHfzuu6{KEwgEkNfBZdmZp2DF!6
zp&2q)4_)^Siqp;D_Gb9w9iYC)gYHLs3f+(R9%MccOmKe$>emQ8=zauR(<<_y`w_>3
z-lt+9`T%6U3bc-1EeSNX3|bT1{fLX9`w@>o_amMInGcu^G9NH4SnyB)wDwzJ?o+7;
zp!u!L2aE!l589GCAAtHxp!MRQIW3t7-H(_8x*xGPbUy;E88?BhB>}A)=QLRGQ0_tZ
zBL~nKZ2}7(gXXjp651ZI24p^9amakY02&t!=zXf<&<kEy?o!bEl;Oanrvd_v;CZfq
z50}0ce7N-0L80jpUqB{&+*RYlg|8YPE`J5JLpB^b@WAGP5cpg|P+t_(58ae-_#vM|
z<^$0B1<=^}<^ydHEe;4h1%-`3!rZ5@@gz_g#g>ryK&4>r)6ECkADV#1qo89=+X@ap
z)PRZ`Ac^lNIQ&qjVD8iH2bv%1Ac^lPIQ$S)#(=~%ki_>C9DZm5Rj-01zOUf$!(9iO
zA1WY;Z74kaaQA`chv4xzs5>?l9)1WaFF@mQp#AZ1w-+9M2nxq72bv#(#^pe3FJW@q
z3J*U7h3~!t%@0B2bD*;xVRAbP4?hHj!?pv>55ePf36TEJu0)7E;BmSDh}fRM!w*5`
zgU9KhYftw%9)7s_Kp$jZ6llE~L-50i|Nl!lY?%Ah1-y<q`2lGBj!~fT5hFu5e0~xX
zSDOzsfa`P6_??Bq+^6jZpt;cI2cY>qcEzR#p!9A7UatgMe-BzS;Q0UlDGz8l2GRps
z{{~7|pgqoyLF0T3#Lex2+LId;4nD*-w+CuVZc;e-5Zl}ys2#aQ;ow7Tb9<mR<Tiza
z53fPzuaM{VK<&pJ3I`uzo7)4m9d{`l1ofA|b8yIWdwUKXc(_O5;6rS4d!TkBsO-Qs
zx3}TofrlFu4}$7bu(@1F^J$w79(cG(@!&&jb9-A39(cG#@!&&jb9>tk9(cG-@!&&j
zb9*}u9(cGz@!-R0Q2!&(?d>{v;NdRCgAcLI?d>^u;Nc#{gOI)obZ&2-;sM5eh6fp8
zaSiIzfa-3E3%-vy1bUx>)^dRAYtY;{c&(;D6Qn#unyZfn&CN5!JqC@X2rzU%l7Y_4
zgXZK#1iBwdD0DyKbnpYu+p|pQe#BAG{fH-_`w_dtk;g0ypz~j|9x$WL&x7XjLG$z6
zp#6vodY=kx=zR*Bj|bJCpfVD)w*pia27I{ql~bYTkpjcSC!l>zEDSN=wbGz5KTz7=
z#Blf_C&T3Dp!L%ru`Le{KitM}_#r!z*p3H>AMRo}{E!VvY|n$k5BD(~ehAu+!GI*b
z;o;$jn-~v2WJMC&^6>D(ZH$K>av_QBczF2XF2=(TnHgq-=jIXiJ3rjS;Qa6csO<rt
zn@@hg%rFsr9tIOb9C)n;tPQZ`07N|~?}Fy#xfVe3EokoqY%U(u{s7I-NkH=}D9k`%
z2U>&i9Gq7JA2S#vg3i-?2-?T^1=<#YkIM@{)`V;jIPehErw5$@4eCRI=C@$u#9IUo
zJOuUQpF-0dXnqSOw?p8-Lr~xS9#jrAzXg-qBXHm$DF0lC%7Ny$U~(G-L3!f<C@jGF
z1~k6~liMN)O8*By?O(7QXnqSOw?hz=#t%F^1TqsmE)WABmk0I5_Zc2|xEnqX9|PX2
z3Ddhl=)l8GN(UZp2I&Ql%OmE-wg??~xJ~K6!!=Mj(EJum-wvSz4|gdYc(@cQ2b$l4
z$?Xw3@Nl2ffrs;;a-jJwnA`^80}nSTA9y$&DhHb1g2`<WKJajx@_~mFpmL!3EtuR6
z;R6qMDTDi~@Ok(>$_E(t86RMT#WN_cg2oI#IN+YI(g)|wkjJp`9<~CPM|z-f2hhIT
zs>^Rd`)*U<`)<R*^$Tc>?0MCXcN|qtZ`rGY--6ieRZef&plr4(r?;$7HfxpBTNWsr
zrON3oGnCC-<@A;b%4Vu^ddmo9Ggdjh1&u|3_T@4^XnMd{_4y5G%nCGi1+s^s>fGBO
zNPBZx0}y+2Pk_cS8X$Xf@y<0>T?V_Eq3Xa}@R(KA<+q?QE0Fn&NMfKdE07oyk{D>r
z3M9siBnBF@0*SF8iGjwfKw_*&VxTcAkQf`17--)vNQ@mx477I_B*uXx1{$vdiE$!{
zfyS#qVq8dKpz$h@7&np_XuJv}#)BjV8m|J0@gj+V(hEq8uj;^ChN{cF&#Qj$@mC$-
zg^gE%%6-rpebAWyR9Jf$bjGhjFXUV)SX=l2tiKlXxDMPFj(OY+8hdr{dBkGS_(;VG
zG+z%{m(TH_@sWr@<0HNY*$<cvvLCcKbwA)?XnX`Zqe(!a@eyeKK4d;2`vH?e_5;v*
zONj-Ik7On^K4Nj`eF~aOV0FlT0NNkG1znF1T5AMa-w!%Jns38`ha3*QPgOvB>#8ol
zWe;e2(D32%SJ0VS3!vk>0uFPZg8U6yqs5ZY^nju2&|97dO%M31g5UBSfXMM2XnFwJ
zQ>ft3_=MY`=>Z=+y&ihY3uS}SCf9?e2Ru+dQ`Moj+)y?{)tR@P2bvymRRzC=<sVSq
z;DpN`d&>c3gYpS1Uoli2h36|!o`K~nhN>g*d<DusuzUq_11MjC)}w*^1j<i*3_%ZJ
z`3vNZJ+QU$2j)Hnt@~mCr~igWpml&u4;sP!T+muCn0|!bb8kQY|Gx?}|H5eCgIEWz
z(DVqh2EOS5<A!d;I(LD_2cSK8%mz8&HDRE=8)eAr+!a7^KldqU-Ut*|pm@6lu8)Eq
zgU_#r?&tgjt&c$U4alt^cY*RQf_?DqOHiM%>hfDq-2##a<ztvUW7Wa8525m)Is_yS
z%F{4;rmBN)Z$jlc7-AlS<U#oxCeK`T@a;vYJQq|Rl-FVMEL8{Jg2!R1F24np`yl<G
zd=HantvdMjAXGo7d<V&c$^e)=Th+n0JE8I*IZ#;ulVh(s_!hQ~9F+eYF8DqwI578V
z0%-pvL(Jn8hq+HP9?X53b71b%l7zWWd%<hOLHkG-JT@=@orwmT*Xw;M0@^#H(EC&Y
z+OGrkLqYvT<o%{5Nc&BTL3IFVFP6Yu@P1R!9s~o>o+O3^4=q6FEi*272-;Tx+KUM~
z&xpmL;gJnP?^Dp3zKjkn4<tZ+5C_n?{)rDjXU2ilg7(xf6eK<Xokb^eVD3|fgv19r
z44}O=i4Pb85+8v3m<mmgI0WWCh0OypGc-P60qwha#r}@-LGyzNr`X@IA83AXylTfg
z#tqF6K;gwD(ENa*s`)J_P4F-XJuPs6jE@L-vA>(Z#r}?s0iqtHmIt&?sjB-e>jsdX
zgKt6WUO{7?pmB20+AYw!aIiip_IDsVKzbOe`rd-_4R{>%0A&A{z$x~3ptHgdY8u`$
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

literal 0
HcmV?d00001

diff --git a/src/adbasic/nqontrol.bas b/src/adbasic/nqontrol.bas
index bb2f856..002a3ab 100644
--- a/src/adbasic/nqontrol.bas
+++ b/src/adbasic/nqontrol.bas
@@ -1,268 +1,393 @@
-'<ADbasic Header, Headerversion 001.001>
-' Process_Number                 = 1
-' Initial_Processdelay           = 1000
-' Eventsource                    = Timer
-' Control_long_Delays_for_Stop   = No
-' Priority                       = High
-' Version                        = 1
-' ADbasic_Version                = 6.2.0
-' Optimize                       = Yes
-' Optimize_Level                 = 3
-' Stacksize                      = 1000
-' Info_Last_Save                 = X220  X220\adwin
-'<Header End>
-#Include ADwinPro_All.inc
-#Include .\filter_module.inc
-Import Math.lic
-
-#Define AIN_MODULE_1 1
-#Define AIN_MODULE_2 2
-#Define AOUT_MODULE_1 3
-#Define AOUT_MODULE_2 4
-#Define NUM_INPUT_CHANNELS 8
-#Define NUM_OUTPUT_CHANNELS 8
-#Define NUM_ADC_CHANNELS 16
-#Define NUM_DAC_CHANNELS 16
-#Define CPU_CLK 1000000000
-#Define PROC_CLK 200000
-#Define FIFO_BUFFER_SIZE 10003
-#Define NUM_RAMP_VALUES 131072
-#Define TTL_HIGH 0C000h  ' +5V
-#Define TTL_LOW 8000h   ' 0V
-
-#Define timer PAR_1
-' monitor control Parameter, values from 1 to 8
-#Define monitor_sel Data_6
-Dim monitor_sel[NUM_FILTERS] as Long
-' TTL
-Dim TTL_current as Long
-#Define TTL_DIG_CHANNEL 0
-' Ramp Control Register
-#Define rcr Par_3
-' Ramp amplitude. 1 means ±10V
-#Define ramp_amplitude FPar_1
-'ramp Data array
-Dim ramp_data[NUM_RAMP_VALUES], ramp_idx, ramp_chan as Long
-
-Dim timer_last, timer_now, t1, t2, new_time As Long
-
-' The inputs straight from the ADC
-Dim adc_input[NUM_ADC_CHANNELS] As Long
-' The outputs straight into the DAC
-Dim dac_output[NUM_DAC_CHANNELS] As Long
-
-#Define input_sensitivity Par_8
-Dim input_sensitivity_last as Long
-
-#Define fifo_data Data_3
-#Define fifo_sel Par_4
-#Define fifo_counter_max Par_6
-Dim fifo_data[FIFO_BUFFER_SIZE] as Float as FIFO
-Dim fifo_counter = 1 as Long at Dm_Local
-
-#Define last_output Data_4
-Dim last_output[NUM_FILTERS] as Long
-
-Dim i as long
-Dim ADCF_Mode as Long
-
-
-Sub Blinkenlights()
-  Dim even_odd as Long
-  timer_now = Read_Timer()
-  If ((timer_now - timer_last) > CPU_CLK) Then
-    Inc(timer)
-    even_odd = Mod(timer, 2)
-    P2_Set_Led(AIN_MODULE_1, even_odd)
-    P2_Set_Led(AOUT_MODULE_1, even_odd)
-    P2_Set_Led(AIN_MODULE_2, 1-even_odd)
-    P2_Set_Led(AOUT_MODULE_2, 1-even_odd)
-    timer_last = timer_now
-  EndIf
-EndSub
-
-Sub SetInputSensitivity()
-  Dim inputMode as long
-  Dim auxMode as long
-
-  if (input_sensitivity_last <> input_sensitivity) then
-    For i=1 to NUM_INPUT_CHANNELS
-      inputMode = Shift_Right(input_sensitivity And Shift_Left(3, 2*i-2), 2*i-2)
-      auxMode = Shift_Right(input_sensitivity And Shift_Left(3, 2*i+14), 2*i+14)
-
-      P2_Set_Gain(AIN_MODULE_1, i, inputMode)
-      P2_Set_Gain(AIN_MODULE_2, i, auxMode)
-    next i
-    input_sensitivity_last = input_sensitivity
-  endif
-EndSub
-
-Sub SendToMonitors()
-  Dim mon as Long
-  for mon=1 to NUM_INPUT_CHANNELS
-    If (monitor_sel[mon] > 0) Then
-      If (monitor_sel[mon] > 20) Then
-        If (monitor_sel[mon] < 29) Then
-          ' Output signal
-          dac_output[mon+NUM_OUTPUT_CHANNELS] = dac_output[monitor_sel[mon]-20]
+'<ADbasic Header, Headerversion 001.001>
+' Process_Number                 = 1
+' Initial_Processdelay           = 1000
+' Eventsource                    = Timer
+' Control_long_Delays_for_Stop   = No
+' Priority                       = High
+' Version                        = 1
+' ADbasic_Version                = 6.2.0
+' Optimize                       = Yes
+' Optimize_Level                 = 3
+' Stacksize                      = 1000
+' Info_Last_Save                 = VBOX  vBox\Chris
+' Foldings                       = 65,79,95,115
+'<Header End>
+#Include ADwinPro_All.inc
+#Include .\filter_module.inc
+Import Math.lic
+
+#Define AIN_MODULE_1 1
+#Define AIN_MODULE_2 2
+#Define AOUT_MODULE_1 3
+#Define AOUT_MODULE_2 4
+#Define NUM_INPUT_CHANNELS 8
+#Define NUM_OUTPUT_CHANNELS 8
+#Define NUM_ADC_CHANNELS 16
+#Define NUM_DAC_CHANNELS 16
+#Define CPU_CLK 1000000000
+#Define PROC_CLK 200000
+#Define FIFO_BUFFER_SIZE 10003
+#Define NUM_RAMP_VALUES 131072
+#Define TTL_HIGH 0C000h  ' +5V
+#Define TTL_LOW 8000h   ' 0V
+
+#Define timer PAR_1
+' monitor control Parameter, values from 1 to 8
+#Define monitor_sel Data_6
+Dim monitor_sel[NUM_FILTERS] as Long
+' TTL
+Dim TTL_current as Long
+#Define TTL_DIG_CHANNEL 0
+' Ramp Control Register
+#Define rcr Par_3
+' Ramp amplitude. 1 means ±10V
+#Define ramp_amplitude FPar_1
+'ramp Data array
+Dim ramp_data[NUM_RAMP_VALUES], ramp_idx, ramp_chan as Long
+
+Dim timer_last, timer_now, t1, t2, new_time As Long
+
+' The inputs straight from the ADC
+Dim adc_input[NUM_ADC_CHANNELS] As Long
+' The outputs straight into the DAC
+Dim dac_output[NUM_DAC_CHANNELS] As Long
+
+#Define input_sensitivity Par_8
+Dim input_sensitivity_last as Long
+
+#Define fifo_data Data_3
+#Define fifo_sel Par_4
+#Define fifo_counter_max Par_6
+Dim fifo_data[FIFO_BUFFER_SIZE] as Float as FIFO
+Dim fifo_counter = 1 as Long at Dm_Local
+
+#Define last_output Data_4
+Dim last_output[NUM_FILTERS] as Long
+
+' autolock stuff
+#Define LOCK Data_8
+#Define NUM_INDICES 40  ' change this later on
+Dim LOCK[NUM_INDICES] as Long
+Dim lockIter[NUM_FILTERS] as Long
+#Define threshold_value_mask 0ffffh
+#Define threshold_direction 10000h  ' Look for signal lower (0) or greater (1) than the threshold
+Dim LOCK_COUNTER[NUM_FILTERS] as Long
+#Define lock_mask 3h
+#Define relock_mask 4h
+
+Dim i as long
+Dim ADCF_Mode as Long
+
+
+Sub Blinkenlights()
+  Dim even_odd as Long
+  timer_now = Read_Timer()
+  If ((timer_now - timer_last) > CPU_CLK) Then
+    Inc(timer)
+    even_odd = Mod(timer, 2)
+    P2_Set_Led(AIN_MODULE_1, even_odd)
+    P2_Set_Led(AOUT_MODULE_1, even_odd)
+    P2_Set_Led(AIN_MODULE_2, 1-even_odd)
+    P2_Set_Led(AOUT_MODULE_2, 1-even_odd)
+    timer_last = timer_now
+  EndIf
+EndSub
+
+Sub SetInputSensitivity()
+  Dim inputMode as long
+  Dim auxMode as long
+
+  if (input_sensitivity_last <> input_sensitivity) then
+    For i=1 to NUM_INPUT_CHANNELS
+      inputMode = Shift_Right(input_sensitivity And Shift_Left(3, 2*i-2), 2*i-2)
+      auxMode = Shift_Right(input_sensitivity And Shift_Left(3, 2*i+14), 2*i+14)
+
+      P2_Set_Gain(AIN_MODULE_1, i, inputMode)
+      P2_Set_Gain(AIN_MODULE_2, i, auxMode)
+    next i
+    input_sensitivity_last = input_sensitivity
+  endif
+EndSub
+
+Sub SendToMonitors()
+  Dim mon as Long
+  for mon=1 to NUM_INPUT_CHANNELS
+    If (monitor_sel[mon] > 0) Then
+      If (monitor_sel[mon] > 20) Then
+        If (monitor_sel[mon] < 29) Then
+          ' Output signal
+          dac_output[mon+NUM_OUTPUT_CHANNELS] = dac_output[monitor_sel[mon]-20]
+        Else
+          ' TTL signal
+          dac_output[mon+NUM_OUTPUT_CHANNELS] = TTL_current
+        EndIf
+      Else
+        ' Input and aux signal
+        dac_output[mon+NUM_OUTPUT_CHANNELS] = adc_input[monitor_sel[mon]]
+      EndIf
+    EndIf
+  next mon
+EndSub
+
+Sub SendToFifo()
+  Dim combined as Float
+  If (fifo_sel > 0 ) Then
+    If (fifo_counter >= fifo_counter_max) Then ' There is a `&&` or `AndAlso` operator missing...
+      ' send values for current channel to PC
+      ' Note: we do this before filters, as filters do calculations on adc_input
+      ' We want to ensure a fixed phase between the channels.
+      ' Therefore we combine all in one fifo array field.
+
+      ' Saving 3 16bit channels in a 64bit long variable
+      ' Byte    | 7 6 | 5 4   | 3 2 | 1 0    |
+      ' Channel |     | input | aux | output |
+
+      combined = (adc_input[fifo_sel]) * 4294967296 ' This number is 2^32 and is a workaround for Shift_Left, which is not working for results > 32bit
+      combined = combined + Shift_Left(adc_input[fifo_sel+8], 16)
+      combined = combined + dac_output[fifo_sel]
+
+      fifo_data = combined
+
+      fifo_counter = 0
+    EndIf
+    fifo_counter = fifo_counter + 1
+  EndIf
+EndSub
+
+Sub RunRamp()
+  ramp_chan = rcr And 0fh
+  If (ramp_chan > 0) Then
+    dac_output[ramp_chan] = (ramp_data[ramp_idx] * ramp_amplitude) + 8000h
+    ramp_idx = ramp_idx + Shift_Right(rcr And 0ff00h, 8)
+    If (ramp_idx > NUM_RAMP_VALUES) Then
+      ramp_idx = 1
+      CPU_Digout(TTL_DIG_CHANNEL, 1)  ' TTL high
+      TTL_current = TTL_HIGH
+    Else
+      CPU_Digout(TTL_DIG_CHANNEL, 0)  ' TTL low
+      TTL_current = TTL_LOW
+    EndIf
+  EndIf
+EndSub
+
+Sub AutoLock()
+  Dim channel as Long  ' servo looping variable
+  Dim indexoffset as Long  ' variable for array index offset
+  Dim state as Long
+  Dim relock as Long
+  Dim threshold as Long
+  Dim greater as Long
+  Dim offset as Long
+  Dim searchStart as Long
+  Dim searchEnd as Long
+  Dim aux as Long
+
+  for channel=1 to NUM_FILTERS
+    indexoffset = (channel - 1) * 5  ' each servo occupies 5 channels currently
+    state = (LOCK[1 + indexoffset] And lock_mask)
+    relock = (LOCK[1 + indexoffset] And relock_mask)
+    threshold = (LOCK[2 + indexoffset] And threshold_value_mask)
+    greater = (LOCK[2 + indexoffset] And threshold_direction)
+    offset = LOCK[5 + indexoffset]  ' this is the voltage that is added onto the output after a peak was found and fitlers have been activated
+    searchStart = LOCK[3 + indexoffset]
+    searchEnd = LOCK[4 + indexoffset]
+    aux = adc_input[channel + NUM_FILTERS]
+
+    ' LOCK-OFF STATE
+    If (state = 0) Then
+      lockIter[channel] = 0
+      LOCK[5 + indexoffset] = 0  ' locking offset to 0 in case lock is off
+    EndIf
+
+    ' LOCK STATE
+    If (state = 2) Then
+      ' add offset (lastFound LOCK[5 + offset]) to dac_output after filters have been applied
+      dac_output[channel] = dac_output[channel] + offset
+      If (LOCK_COUNTER[channel] > 0) Then
+        LOCK_COUNTER[channel] = LOCK_COUNTER[channel] - 1
+      Else
+        ' Different cases depending on whether peaks are expected as maxima or minima
+        ' For a maximum, we want to check whether the aux falls below the threshold before triggering a reload, for a minimum, we want to check whether it is above the threshold
+        If ((greater > 0) And (aux < threshold * 0.5)) Then
+          ' If (relock > 0) Then
+          '   LOCK[1 + indexoffset] = 1 + relock ' trigger relock in case aux is below threshold and direction is set to 'greater'
+          ' Else
+          LOCK[1 + indexoffset] = 0
+          ' EndIf
         Else
-          ' TTL signal
-          dac_output[mon+NUM_OUTPUT_CHANNELS] = TTL_current
+          If ((greater = 0) And(aux > threshold * 0.5)) Then
+            ' If (relock > 0) Then
+            '   LOCK[1 + indexoffset] = 1 + relock ' trigger relock in case aux is above threshold and direction is set to 'lesser'
+            ' Else
+            LOCK[1 + indexoffset] = 0
+            ' EndIf
+          EndIf
         EndIf
-      Else
-        ' Input and aux signal
-          dac_output[mon+NUM_OUTPUT_CHANNELS] = adc_input[monitor_sel[mon]]
+      EndIf
+
+    EndIf
+
+    ' LOCK SEARCH STATE
+    If (state = 1) Then
+      ' the 0 is basically a reset indicator, or rather a "i havent started yet indicator"
+      If (lockIter[channel] = 0) Then
+        lockIter[channel] = searchStart  ' this is the search minimum
+        Dim x as Long
+        ' relevant index is sos_index + filter_index * num_SOS
+        ' sos index von 0 bis 4 (5-1)
+        ' filter_index von 0 bis 7
+        ' filter_history[idx*NUM_HISTORY+1] bzw +2
+        ' also zb channel 1, bei NUM_SOS=5 hat dann myindices: [0-4] + 0 * 5, also 0-4
+        ' und NUMHISTORY = 2, also hisotry[0-4 * 2 +1/2], also 0 bis 10
+        ' what about filter_coeffs?
+        for x = ((channel-1) * 10) to (10 * channel)
+          filter_history[x] = 0.0
+        next x
       EndIf
-    EndIf
-  next mon
-EndSub
-
-Sub SendToFifo()
-  Dim combined as Float
-  If (fifo_sel > 0 ) Then
-    If (fifo_counter >= fifo_counter_max) Then ' There is a `&&` or `AndAlso` operator missing...
-      ' send values for current channel to PC
-      ' Note: we do this before filters, as filters do calculations on adc_input
-      ' We want to ensure a fixed phase between the channels.
-      ' Therefore we combine all in one fifo array field.
-
-      ' Saving 3 16bit channels in a 64bit long variable
-      ' Byte    | 7 6 | 5 4   | 3 2 | 1 0    |
-      ' Channel |     | input | aux | output |
-
-      combined = (adc_input[fifo_sel]) * 4294967296 ' This number is 2^32 and is a workaround for Shift_Left, which is not working for results > 32bit
-      combined = combined + Shift_Left(adc_input[fifo_sel+8], 16)
-      combined = combined + dac_output[fifo_sel]
-
-      fifo_data = combined
-
-      fifo_counter = 0
-    EndIf
-    fifo_counter = fifo_counter + 1
-  EndIf
-EndSub
-
-Sub RunRamp()
-  ramp_chan = rcr And 0fh
-  If (ramp_chan > 0) Then
-    dac_output[ramp_chan] = (ramp_data[ramp_idx] * ramp_amplitude) + 8000h
-    ramp_idx = ramp_idx + Shift_Right(rcr And 0ff00h, 8)
-    If (ramp_idx > NUM_RAMP_VALUES) Then
-      ramp_idx = 1
-      CPU_Digout(TTL_DIG_CHANNEL, 1)  ' TTL high
-      TTL_current = TTL_HIGH
-    Else
-      CPU_Digout(TTL_DIG_CHANNEL, 0)  ' TTL low
-      TTL_current = TTL_LOW
-    EndIf
-  EndIf
-EndSub
-
-Sub LimitToOutputRange()
-  Dim iij as Long
-  'setting values which are above 65535 or below 0 to the maximum(65535) respectively minimum value(0) of the P2_Write_DAC8 command,
-  'since it only takes the last 16 bits of integers out of its boundaries
-  for iij=1 to NUM_DAC_CHANNELS
-    if (dac_output[iij]>65535) then
-      dac_output[iij]=65535
-    endif
-    if (dac_output[iij]<0) then
-      dac_output[iij]=0
-    endif
-  next iij
-EndSub
-
-Sub UpdateLastOutput()
-  for i=1 to NUM_FILTERS
-    last_output[i] = dac_output[i]
-  next i
-  ' Alternative:
-  ' P2_Write_DAC8(last_output, dac_output, 1)
-EndSub
-
-
-Init:
-  Processdelay = CPU_CLK/PROC_CLK ' 200 KHz
-  'setting the values of the filter control register to zero
-  Par_11=0
-  Par_12=0
-  Par_13=0
-  Par_14=0
-  Par_15=0
-  Par_16=0
-  Par_17=0
-  Par_18=0
-  'prepoluate dac_output
-
-  input_sensitivity = 0
-  input_sensitivity_last = 1
-  timer = 0
-  timer_last = Read_Timer()
-  ramp_chan = 0
-
-  Fifo_Clear(3)
-
-  CPU_Dig_IO_Config(110011b)
-
-  ' TODO nicer?
-  for i=1 to 8
-    monitor_sel[i] = 0
-  next i
-
-  'populates ramp_data with the values from -10V to 10V
-  For ramp_idx = 0 To 0ffffh
-    ramp_data[ramp_idx+1] = ramp_idx - 8000h
-    ramp_data[20000h-ramp_idx] = ramp_data[ramp_idx+1]
-  Next ramp_idx
-  ramp_idx = 1
-
-  P2_Set_Average_Filter(AIN_MODULE_1, 0) ' use 5 to average 32 measurements
-
-  ' Pseudo code:
-  ' ADCF_Mode = 2^(AIN_MODULE_1-1) + 2^(AIN_MODULE_2-1)
-  ADCF_Mode = Shift_Left(1, AIN_MODULE_1-1) + Shift_Left(1, AIN_MODULE_2-1)
-
-  P2_ADCF_Mode(ADCF_Mode, 1)   ' Enable Timer mode on Module 2 & 3 (bit flag for module address!)
-
-
-Event:
-  t1 = Read_Timer()
-
-  ' Start DAC conversion on all DACs simultaneously
-  P2_Sync_All(Shift_Left(1, AOUT_MODULE_1-1) Or Shift_Left(1, AOUT_MODULE_2-1))
-
-  ' Read in values from ADC modules, these have already been converted because of the
-  ' ADCF timer mode
-  P2_Read_ADCF8(AIN_MODULE_1, adc_input, 1)
-  P2_Read_ADCF8(AIN_MODULE_2, adc_input, 9)
-
+
+      ' Different cases depending on whether peaks are expected as maxima or minima
+      ' Basically the peak direction: If the peak is a minimum, we want to check whether the aux signal falls below the threshold, in case of a maximum, we want the aux to surpass the threshold
+
+      If (((greater > 0) And (aux > threshold)) Or ((greater = 0) And (aux < threshold))) Then  ' LOCK IS FOUND
+        LOCK[1 + indexoffset] = 2  ' set the new lock state
+        LOCK[5 + indexoffset] = lockIter[channel]  ' save the current voltage value as output offset
+        LOCK_COUNTER[channel] = 100
+        ' activate filters/activate input
+        ' fcr_1-8 corresponts to PAR_11-18
+        par[10 + channel] = (par[10 + channel] Or FCR_SW_INPUT)
+        par[10 + channel] = (par[10 + channel] Or FCR_SW_OUTPUT)
+        ' reset the iterator if threshold was breached, so that on next iteration/or when restarting it will be set to "searchStart" again
+        lockIter[channel] = 0
+      Else ' SEARCHING FOR PEAK
+        ' Turn off input and output channels when starting new search
+        If (lockIter[channel] = searchStart) Then
+          par[10 + channel] = (par[10 + channel] And Not(FCR_SW_INPUT))
+          par[10 + channel] = (par[10 + channel] And Not(FCR_SW_OutPUT))
+        EndIf
+
+        If (lockIter[channel] >= searchEnd) Then  ' max range is reached
+          lockIter[channel] = searchStart  ' restart scan if maximum is reached
+          TTL_current = TTL_HIGH
+        Else
+          lockIter[channel] = lockIter[channel] + 1
+          TTL_current = TTL_LOW
+        EndIf
+      EndIf
+
+      ' makes sense to move the actual output to the end, as the voltage will only apply on the next cycle anyway
+      dac_output[channel] = lockIter[channel]
+    EndIf
+
+    next channel
+EndSub
+
+Sub LimitToOutputRange()
+  Dim iij as Long
+  'setting values which are above 65535 or below 0 to the maximum(65535) respectively minimum value(0) of the P2_Write_DAC8 command,
+  'since it only takes the last 16 bits of integers out of its boundaries
+  for iij=1 to NUM_DAC_CHANNELS
+    if (dac_output[iij]>65535) then
+      dac_output[iij]=65535
+    endif
+    if (dac_output[iij]<0) then
+      dac_output[iij]=0
+    endif
+  next iij
+EndSub
+
+Sub UpdateLastOutput()
+  for i=1 to NUM_FILTERS
+    last_output[i] = dac_output[i]
+  next i
+  ' Alternative:
+  ' P2_Write_DAC8(last_output, dac_output, 1)
+EndSub
+
+
+Init:
+  Processdelay = CPU_CLK/PROC_CLK ' 200 KHz
+  'setting the values of the filter control register to zero
+  Par_11=0
+  Par_12=0
+  Par_13=0
+  Par_14=0
+  Par_15=0
+  Par_16=0
+  Par_17=0
+  Par_18=0
+  'prepoluate dac_output
+
+  input_sensitivity = 0
+  input_sensitivity_last = 1
+  timer = 0
+  timer_last = Read_Timer()
+  ramp_chan = 0
+
+  Fifo_Clear(3)
+
+  CPU_Dig_IO_Config(110011b)
+
+  ' TODO nicer?
+  for i=1 to 8
+    monitor_sel[i] = 0
+  next i
+
+  'populates ramp_data with the values from -10V to 10V
+  For ramp_idx = 0 To 0ffffh
+    ramp_data[ramp_idx+1] = ramp_idx - 8000h
+    ramp_data[20000h-ramp_idx] = ramp_data[ramp_idx+1]
+  Next ramp_idx
+  ramp_idx = 1
+
+  P2_Set_Average_Filter(AIN_MODULE_1, 0) ' use 5 to average 32 measurements
+
+  ' Pseudo code:
+  ' ADCF_Mode = 2^(AIN_MODULE_1-1) + 2^(AIN_MODULE_2-1)
+  ADCF_Mode = Shift_Left(1, AIN_MODULE_1-1) + Shift_Left(1, AIN_MODULE_2-1)
+
+  P2_ADCF_Mode(ADCF_Mode, 1)   ' Enable Timer mode on Module 2 & 3 (bit flag for module address!)
+
+
+Event:
+  t1 = Read_Timer()
+
+  ' Start DAC conversion on all DACs simultaneously
+  P2_Sync_All(Shift_Left(1, AOUT_MODULE_1-1) Or Shift_Left(1, AOUT_MODULE_2-1))
+
+  ' Read in values from ADC modules, these have already been converted because of the
+  ' ADCF timer mode
+  P2_Read_ADCF8(AIN_MODULE_1, adc_input, 1)
+  P2_Read_ADCF8(AIN_MODULE_2, adc_input, 9)
+
   SendToMonitors()
 
   SendToFifo()
 
-  RunFilters(adc_input, dac_output)
-
-  RunRamp()
-
-  LimitToOutputRange()
-
-  UpdateLastOutput()
-
-  ' pre-populate DACs with new values
-  P2_Write_DAC8(AOUT_MODULE_1, dac_output, 1)
-  P2_Write_DAC8(AOUT_MODULE_2, dac_output, 9)
-
-  Blinkenlights()
-
-  SetInputSensitivity()
-
-  t2 = Read_Timer()
-  new_time = t2 - t1 -4
-  Par_7 = new_time
-
-Finish:
-  ' Switch off LEDs
-  P2_Set_Led(AIN_MODULE_1, 0)
-  P2_Set_Led(AIN_MODULE_2, 0)
-  P2_Set_Led(AOUT_MODULE_1, 0)
-  P2_Set_Led(AOUT_MODULE_2, 0)
+  RunFilters(adc_input, dac_output)
+
+  AutoLock()  ' has to be before limiting output range but after RunFilters
+
+  RunRamp()
+
+  LimitToOutputRange()
+
+  UpdateLastOutput()
+
+  ' pre-populate DACs with new values
+  P2_Write_DAC8(AOUT_MODULE_1, dac_output, 1)
+  P2_Write_DAC8(AOUT_MODULE_2, dac_output, 9)
+
+  Blinkenlights()
+
+  SetInputSensitivity()
+
+  t2 = Read_Timer()
+  new_time = t2 - t1 -4
+  Par_7 = new_time
+
+Finish:
+  ' Switch off LEDs
+  P2_Set_Led(AIN_MODULE_1, 0)
+  P2_Set_Led(AIN_MODULE_2, 0)
+  P2_Set_Led(AOUT_MODULE_1, 0)
+  P2_Set_Led(AOUT_MODULE_2, 0)
diff --git a/src/nqontrol/controller.py b/src/nqontrol/controller.py
index 4ce01e4..59499e2 100644
--- a/src/nqontrol/controller.py
+++ b/src/nqontrol/controller.py
@@ -375,8 +375,8 @@ def getOutputStates(deviceNumber, servoNumber):
     servo = device(deviceNumber).servo(servoNumber)
     if servo.auxSw:
         checklist.append('aux')
-    if servo.snapSw:
-        checklist.append('snap')
+    # if servo.snapSw:
+    #     checklist.append('snap')
     if servo.outputSw:
         checklist.append('output')
     return checklist
@@ -548,7 +548,7 @@ def getMonitorsServo(deviceNumber, channel):
     :obj:`int`
         Monitor channel index or None.
 
-    """.format(device(deviceNumber).NUMBER_OF_MONITORS)
+    """.format(settings.NUMBER_OF_MONITORS)
     dev = device(deviceNumber)
     channelData = dev.monitors[channel - 1]
     # channel data is either a dict or None
@@ -575,7 +575,7 @@ def getMonitorsCard(deviceNumber, channel):
     :obj:`String`
         Card specifier or `None`.
 
-    """.format(device(deviceNumber).NUMBER_OF_MONITORS)
+    """.format(settings.NUMBER_OF_MONITORS)
     dev = device(deviceNumber)
     channelData = dev.monitors[channel - 1]
     if channelData is not None:
@@ -606,8 +606,50 @@ def getSDGain(deviceNumber):
     return servoDesign.gain
 
 
-def getSnapLimit(deviceNumber, servo):
-    """Return the initial value of the snap voltage limit of a servo. Part of the servo section.
+# def getSnapLimit(deviceNumber, servo):
+#     """Return the initial value of the snap voltage limit of a servo. Part of the servo section.
+#
+#     Parameters
+#     ----------
+#     deviceNumber : :obj:`int`
+#         :obj:`ServoDevice.deviceNumber`
+#     servo : :obj:`int`
+#         Servo index :obj:`servo.channel`
+#
+#     Returns
+#     -------
+#     :obj:`float`
+#         The snap voltage limit as a float.
+#
+#     """
+#     servo = device(deviceNumber).servo(servo)
+#     return servo.snap
+#
+#
+# def getSnapGreater(deviceNumber, servo):
+#     """Return the initial value of the snap condition of a servo. The boolean translates to greater (True) or lesser than (False) the limit. Part of the servo section.
+#
+#     Parameters
+#     ----------
+#     deviceNumber : :obj:`int`
+#         :obj:`ServoDevice.deviceNumber`
+#     servo : :obj:`int`
+#         Servo index :obj:`servo.channel`
+#
+#     Returns
+#     -------
+#     :obj:`bool`
+#         The snap condition as a boolean.
+#
+#     """
+#     servo = device(deviceNumber).servo(servo)
+#     return servo.snapGreater
+
+
+def getLockRange(deviceNumber, servo):
+    """Returns a list containing minimum and maximum value of the autolock sections RangeSlider.abs
+
+    The AutoLock options are located in the servo section.
 
     Parameters
     ----------
@@ -618,16 +660,38 @@ def getSnapLimit(deviceNumber, servo):
 
     Returns
     -------
-    :obj:`float`
-        The snap voltage limit as a float.
+    obj:`list`
+        [min, max]
 
     """
     servo = device(deviceNumber).servo(servo)
-    return servo.snap
+    return [servo._autolock['min'], servo._autolock['max']]
 
 
-def getSnapGreater(deviceNumber, servo):
-    """Return the initial value of the snap condition of a servo. The boolean translates to greater (True) or lesser than (False) the limit. Part of the servo section.
+def getLockThreshold(deviceNumber, servo):
+    """Returns the threshold value of the autolock.
+
+    The AutoLock options are located in the servo section.
+
+    Parameters
+    ----------
+    deviceNumber : :obj:`int`
+        :obj:`ServoDevice.deviceNumber`
+    servo : :obj:`int`
+        Servo index :obj:`servo.channel`
+
+    Returns
+    -------
+    obj:`float`
+        The voltage value.
+
+    """
+    servo = device(deviceNumber).servo(servo)
+    return servo._autolock['threshold']
+
+
+def getLockGreater(deviceNumber, servo):
+    """Return the initial value of the lock condition of a servo. The boolean translates to greater (True) or lesser than (False) the threshold. Part of the servo section.
 
     Parameters
     ----------
@@ -639,12 +703,70 @@ def getSnapGreater(deviceNumber, servo):
     Returns
     -------
     :obj:`bool`
-        The snap condition as a boolean.
+        The lock condition as a boolean.
 
     """
     servo = device(deviceNumber).servo(servo)
-    return servo.snapGreater
+    return servo._autolock['greater']
+
 
+def getAutolockList(deviceNumber):
+    """Returns a list containing the channel indices of all active servo locks for the AutoLock checklist.
+
+    The AutoLock checklist is part of the app header.
+
+    Parameters
+    ----------
+    deviceNumber : :obj:`int`
+        :obj:`ServoDevice.deviceNumber`
+
+    Returns
+    -------
+    obj:`list`
+        List containing servo channel indices.
+
+    """
+    locks = []
+    for i in range(1, settings.NUMBER_OF_SERVOS + 1):
+        state = device(deviceNumber).servo(i)._autolock['state']
+        if state:
+            locks.append(i)
+    return locks
+
+
+def getLockRelock(deviceNumber, servo):
+    """Return whether auto-relock is on or off for a given servo.
+
+    Parameters
+    ----------
+    deviceNumber : :obj:`int`
+        :obj:`ServoDevice.deviceNumber`
+    servo : :obj:`int`
+        Servo index :obj:`servo.channel`
+
+    Returns
+    -------
+    :obj:`list`
+        Empty list means `False`, element in list means `True`.
+
+    """
+    result = []
+    if device(deviceNumber).servo(servo).relock:
+        result.append('on')
+    return result
+
+
+def getLockStatus(deviceNumber, servo):
+    servo = device(deviceNumber).servo(servo)
+    lockstatus = servo.lockState
+    greater = servo.lockGreater
+    if greater:
+        greater = '>'
+    else:
+        greater = '<'
+    min, max = servo.lockSearchMin, servo.lockSearchMax
+    threshold = servo.lockThreshold
+    return 'Autolock: {} | {}{} | [{} → {}]'.format(lockstatus, greater, threshold, min, max)
 #
 #
 #
@@ -944,11 +1066,13 @@ def callOffset(deviceNumber, servoNumber, offset):
     return 'Offset (' + str(servo.offset) + 'V)'
 
 
-def callGain(deviceNumber, servoNumber, gain, n_submit, timestamp, timestamp_old):
+def callGain(context, deviceNumber, servoNumber, gain):
     """Handle the servo gain input callback for the UI's servo input section.
 
     Parameters
     ----------
+    context : :obj:'json'
+        Dash callback context. Please check the dash docs for more info.
     deviceNumber : :obj:`int`
         :obj:`ServoDevice.deviceNumber`
     servoNumber : :obj:`int`
@@ -963,7 +1087,11 @@ def callGain(deviceNumber, servoNumber, gain, n_submit, timestamp, timestamp_old
 
     """
     servo = device(deviceNumber).servo(servoNumber)
-    if n_submit is not None and timestamp != timestamp_old:
+
+    # determining context of input
+    triggered = context.triggered[0]['prop_id'].split('.')[0]
+
+    if 'gain' in triggered:
         # case when gain is changed by submitting the input with Enter
         try:
             gain = fast_real(gain, raise_on_invalid=True)
@@ -971,7 +1099,7 @@ def callGain(deviceNumber, servoNumber, gain, n_submit, timestamp, timestamp_old
             raise PreventUpdate('Empty or no real number input.')
         if servo.gain != gain:
             servo.gain = gain
-    else:
+    elif 'sos' in triggered:
         # Case when gain is changed by applying a servo design
         servoDesign = device(deviceNumber).servoDesign
         servo.gain = servoDesign.gain
@@ -1040,10 +1168,10 @@ def callServoChannels(deviceNumber, servoNumber, inputValues):
     else:
         servo.auxSw = False
 
-    if 'snap' in inputValues:
-        servo.snapSw = True
-    else:
-        servo.snapSw = False
+    # if 'snap' in inputValues:
+    #     servo.snapSw = True
+    # else:
+    #     servo.snapSw = False
 
     if 'output' in inputValues:
         servo.outputSw = True
@@ -1209,9 +1337,10 @@ def callPlantParse(deviceNumber, filename, contents, n_clicks, timestamp, timest
         content_type, content_string = contents.split(',')
         decoded = base64.b64decode(content_string).decode('utf-8', 'ignore')
         try:
-            df = io.read(decoded)
+            df = io.read(files=decoded)
             servoDesign.plant = df
         except Exception as e:
+            log.warn(e)
             raise PreventUpdate(str(e))
     return timestamp
 
@@ -1409,53 +1538,136 @@ def callToggleRamp(targetInput, deviceNumber):
         Information string as callback needs some output. Basically a dummy.
 
     """
-    if targetInput is False:
-        device(deviceNumber).servo(1).disableRamp()  # Not soo nice, but works. Better idea?
+    servo = device(deviceNumber).servo(targetInput)
+    if not targetInput:
+        device(deviceNumber).servo(1).disableRamp()
         return 'Disabled'
+    elif servo._autolock['state']:
+        log.warn('Autolock is active, ramp was not activated.')
+        return 'Could not update ramp. lock was active.'
     else:
-        servo = device(deviceNumber).servo(targetInput)
         if not servo.rampEnabled:
             servo.enableRamp()
         return 'Ramp on channel ' + str(targetInput)
 
 
-def callRampAmplitude(amp, deviceNumber, servoNumber):
-    """Send ramp parameters entered in servo control section of the UI to the corresponding :obj:`nqontrol.Servo`.
+def callAutolock(values, deviceNumber):
+    """Enables the auto-lock feature on all selected servos. Ramp is not compatible with Autolock (Essentially, the autolock should be a better ramp).
+
+    GUI wise, the autolock-checklist is located in the header section.
 
     Parameters
     ----------
-    amp : :obj:`float`
-        Ramp amplitude.
-    freq : :obj:`float`
-        Ramp frequency.
+    values : :obj:`list`
+        The GUI returns a list containing all channel numbers where the autolock should be active.
     deviceNumber : :obj:`int`
         :obj:`ServoDevice.deviceNumber`
-    servoNumber : :obj:`int`
-        Servo index :obj:`servo.channel`
 
     Returns
     -------
-    :obj:`String`
-        UI label string describing current ramp state.
+    :obj:`bool`
+        Returns False in order to disable Ramp in the GUI in case there is an active autolock.
 
     """
-    servo = device(deviceNumber).servo(servoNumber)
-    servo.rampAmplitude = amp
-    return 'Amplitude: ' + str(amp)
+    # check whether list is empty
+    ramp = device(deviceNumber).rampEnabled
+    for i in range(1, settings.NUMBER_OF_SERVOS + 1):
+        servo = device(deviceNumber).servo(i)
+        if i in values:
+            # in order to retrigger a lock one has to uncheck the box first and recheck it
+            if not servo._autolock['state']:  # only set this to 1 if it was 0 before (inactive before)
+                servo.autolock(1)  # setting state to 1 starts searching for peak
+            if ramp == i:
+                ramp = 0  # setting the ramp to 0 for the GUI in case RAMP was active on an autolock channel
+        else:
+            servo.autolock(0)  # setting state to zero turns off the lock
+        servo._readFilterControl()
+    return ramp  # returning the ramp value for the GUI, if the ramp doesnt interfere with any lock, nothing changes
+
+
+def lockStatus(lockstate, threshold, sliderlist, greater, context, deviceNumber, servo):
+    servo = device(deviceNumber).servo(servo)
 
+    # determining context of input
+    triggered = context.triggered[0]['prop_id'].split('.')[0]
+
+    # checking for input changes, sending to servo accordingly
+    if 'lockSlider' in triggered and sliderlist:
+        servo.lockSearchMin = sliderlist[0]
+        servo.lockSearchMax = sliderlist[1]
+
+    if 'threshold' in triggered:
+        try:
+            threshold = fast_real(threshold, raise_on_invalid=True)
+        except (ValueError, TypeError):
+            raise PreventUpdate('Empty or no real number input.')
+        if -10 >= threshold >= 10:
+            log.warn('Value out of bounds!')
+            raise PreventUpdate('Value has to be between -10 and 10V!!')
+        servo.lockThreshold = threshold
+
+    if 'lockGreater' in triggered:
+        if not isinstance(greater, bool):
+            raise PreventUpdate('Has to be a boolean.')
+        servo.lockGreater = greater
+
+    # getting all values, sending to GUI
+    lockstatus = servo.lockState
+    greater = servo.lockGreater
+    if greater:
+        greater = '>'
+    else:
+        greater = '<'
+    min, max = servo.lockSearchMin, servo.lockSearchMax
+    threshold = servo.lockThreshold
+    auto = servo.relock
+    if auto:
+        auto = '(relock)'
+    else:
+        auto = ''
+    return 'Autolock: {} | {}{} | [{} → {}] | {}'.format(lockstatus, greater, threshold, min, max, auto)
 
-def callRampFrequency(freq, deviceNumber, servoNumber):
+
+# def callAutolockRelock(values, deviceNumber, servo):
+#     """Set whether the AutoLock should relock automatically whenever falling above/below threshold for a given servo.
+#
+#     Parameters
+#     ----------
+#     values : :obj:`list`
+#         As with all Dash checklists, even though this is for a single element, the callback input is a list. Empty list means off, none-empty means on.
+#     deviceNumber : :obj:`int`
+#         :obj:`ServoDevice.deviceNumber`
+#     servoNumber : :obj:`int`
+#         Servo index :obj:`servo.channel`
+#
+#     Returns
+#     -------
+#     :obj:`bool`
+#         The relock value, since the UI requires a return.
+#
+#     """
+#     servo = device(deviceNumber).servo(servo)
+#     if values:
+#         servo.relock = True
+#     else:
+#         servo.relock = False
+#     return servo.relock
+
+
+def callRamp(amp, freq, context, deviceNumber, servoNumber):
     """Send ramp parameters entered in servo control section of the UI to the corresponding :obj:`nqontrol.Servo`.
 
     Parameters
     ----------
-    amp: :obj:`float`
+    amp : :obj:`float`
         Ramp amplitude.
-    freq: :obj:`float`
+    freq : :obj:`float`
         Ramp frequency.
-    deviceNumber: :obj:`int`
+    context : :obj:'json'
+        Dash callback context. Please check the dash docs for more info.
+    deviceNumber : :obj:`int`
         :obj:`ServoDevice.deviceNumber`
-    servoNumber: :obj:`int`
+    servoNumber : :obj:`int`
         Servo index :obj:`servo.channel`
 
     Returns
@@ -1465,8 +1677,15 @@ def callRampFrequency(freq, deviceNumber, servoNumber):
 
     """
     servo = device(deviceNumber).servo(servoNumber)
-    servo.rampFrequency = freq
-    return 'Frequency: ' + str(round(freq, 2))
+
+    triggered = context.triggered[0]['prop_id'].split('.')[0]
+    if 'ramp' in triggered:
+        servo.rampAmplitude = amp
+    if 'freq' in triggered:
+        servo.rampFrequency = freq
+    amp = servo.rampAmplitude
+    freq = servo.rampFrequency
+    return 'Amplitude: {} | Frequency: {}'.format(amp, round(freq, 2))
 
 
 def callADwinMonitor(channel, servo, card, deviceNumber):
@@ -1707,35 +1926,35 @@ def callTempButton(clicks, dt, num, port, interval, voltLim, servo, deviceNumber
         return 'Start'  # new label text for the button
 
 
-def callSnapParam(limit, greater, servo, deviceNumber):
-    """Set the snapping parameters for the servo.
-
-    Parameters
-    ----------
-    limit : :obj:`float`
-        Voltage limit for snapping.
-    greater : :obj:`bool`
-        Boolean specifying whether to snap when greater than or lower than limit.
-    deviceNumber: :obj:`int`
-        :obj:`ServoDevice.deviceNumber`
-    servo: :obj:`int`
-        Servo index :obj:`servo.channel`
-
-    Returns
-    -------
-    :obj:`String`
-        Updates the snap label with the current limit value.
-
-    """
-    servo = device(deviceNumber).servo(servo)
-    try:
-        limit = fast_real(limit, raise_on_invalid=True)
-    except (ValueError, TypeError):
-        raise PreventUpdate('A snap value has to be provided.')
-    servo.snap = limit
-    servo.snapGreater = greater
-    servo.snapSend(limit, greater)
-    return f'Snap ({limit} V)'
+# def callSnapParam(limit, greater, servo, deviceNumber):
+#     """Set the snapping parameters for the servo.
+#
+#     Parameters
+#     ----------
+#     limit : :obj:`float`
+#         Voltage limit for snapping.
+#     greater : :obj:`bool`
+#         Boolean specifying whether to snap when greater than or lower than limit.
+#     deviceNumber: :obj:`int`
+#         :obj:`ServoDevice.deviceNumber`
+#     servo: :obj:`int`
+#         Servo index :obj:`servo.channel`
+#
+#     Returns
+#     -------
+#     :obj:`String`
+#         Updates the snap label with the current limit value.
+#
+#     """
+#     servo = device(deviceNumber).servo(servo)
+#     try:
+#         limit = fast_real(limit, raise_on_invalid=True)
+#     except (ValueError, TypeError):
+#         raise PreventUpdate('A snap value has to be provided.')
+#     servo.snap = limit
+#     servo.snapGreater = greater
+#     servo.snapSend(limit, greater)
+#     return f'Snap ({limit} V)'
 #
 #
 #
diff --git a/src/nqontrol/general.py b/src/nqontrol/general.py
index 1e832d7..6302640 100644
--- a/src/nqontrol/general.py
+++ b/src/nqontrol/general.py
@@ -1,7 +1,3 @@
-import os
-import json
-
-
 def setBit(x, offset):
     mask = 1 << offset
     return (x | mask)
@@ -36,4 +32,4 @@ def readBit(x, offset):
 
 def rearrange_filter_coeffs(b, a):
     """Rearrage coefficients from `a, b` to `c`."""
-    return [b[0], a[1], a[2], b[1]/b[0], b[2]/b[0]]
+    return [b[0], a[1], a[2], b[1] / b[0], b[2] / b[0]]
diff --git a/src/nqontrol/guniconfig.py.ini b/src/nqontrol/guniconfig.py.ini
index ec00837..635f981 100644
--- a/src/nqontrol/guniconfig.py.ini
+++ b/src/nqontrol/guniconfig.py.ini
@@ -2,6 +2,8 @@
 workers = 1
 bind = '0.0.0.0:8000'
 timeout = 30
-worker_class = 'sync'
+worker_class = 'gthread'
+threads = 5
 debug = True
 spew = False
+preload_app = True
diff --git a/src/nqontrol/mockAdwin.py b/src/nqontrol/mockAdwin.py
index 4237e8d..4b5526e 100644
--- a/src/nqontrol/mockAdwin.py
+++ b/src/nqontrol/mockAdwin.py
@@ -23,6 +23,7 @@ class MockADwin():
         self._data_long[4 - 1] = [0] * 8
         self._data_long[6 - 1] = [0] * 8
         self._data_long[7 - 1] = [0] * 8
+        self._data_long[settings.DATA_LOCK - 1] = [0] * (8 * 5)
         self.Set_Par(7, 3000)
 
     def Boot(self, file):
@@ -114,7 +115,14 @@ class MockADwin():
     def _constructOutput(self, amount, input, aux):
         channel = self.Get_Par(4)
         inputSw, offsetSw, auxSw, outputSw, snapSw = self._readSwitches(channel)
-        output = np.full(amount, 0x8000).astype(int)
+
+        # lock simulation
+        data = self._data_long[7]
+        lockoffset = data[(channel - 1) * 5 + 4]
+        if data[(channel - 1) * 5] == 1:
+            output = np.full(amount, lockoffset).astype(int)
+        else:
+            output = np.full(amount, 0x8000).astype(int)
         if not outputSw:
             return output
         if inputSw:
@@ -180,7 +188,7 @@ class MockADwin():
         # snapping emulation
         aux = 0x8000
         for servo in range(1, 9):
-            control = self._par[9+servo]
+            control = self._par[9 + servo]
             snap_enabled = control & 8
 
             if snap_enabled:
@@ -191,10 +199,48 @@ class MockADwin():
                 if snap_value <= 0:
                     control = general.clearBit(control, 3)  # disable snapSw
                     control = general.setBit(control, 1)  # enable outputSw
-                    self._par[9+servo] = control
+                    self._par[9 + servo] = control
                     self._par[2] &= ~(15)  # stop the ramp
 
-            self.Set_Par
+        # locking emulation
+        aux = 0x8000
+        data = self._data_long[7]
+        for servo in range(1, 9):
+            indexoffset = (servo - 1) * 5
+            state = (data[indexoffset] & 0x3)
+            relock = (data[indexoffset] & 0x4)
+            threshold = (data[indexoffset + 1] & 0xffff)
+            greater = general.readBit(data[indexoffset + 1], 16)
+            start = data[indexoffset + 2]
+
+            control = self._par[9 + servo]
+
+            if state == 0:
+                data[indexoffset + 4] = 0
+
+            if state == 2:
+                if greater and (aux < threshold * .9):
+                    if relock:
+                        data[indexoffset] = 1 + relock
+                    else:
+                        data[indexoffset] = 0 + relock
+                elif (not greater) and (aux > threshold * 0.9):
+                    if relock:
+                        data[indexoffset] = 1 + relock
+                    else:
+                        data[indexoffset] = 0 + relock
+
+            if state == 1:
+                if (greater and aux > threshold) or ((aux < threshold) and not greater):
+                    data[indexoffset] = 2 + relock
+                    control = general.setBit(control, 0)  # enable input
+                    control = general.setBit(control, 1)  # enable output
+                else:
+                    data[indexoffset + 4] = start
+                    control = general.clearBit(control, 0)  # input
+                    control = general.clearBit(control, 1)  # output
+            self._par[9 + servo] = control
+            self._data_long[7] = data
 
     def _fpar_special_functions(self):
         pass
diff --git a/src/nqontrol/nqontrol.TC1 b/src/nqontrol/nqontrol.TC1
deleted file mode 100755
index 98da1a6e79882693e1061c0637f128d0d9a21ec8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 180680
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
ILGmCb0Lhv_z5oCK

diff --git a/src/nqontrol/nqontrol.TC1 b/src/nqontrol/nqontrol.TC1
new file mode 120000
index 0000000..15b4876
--- /dev/null
+++ b/src/nqontrol/nqontrol.TC1
@@ -0,0 +1 @@
+../adbasic/nqontrol.TC1
\ No newline at end of file
diff --git a/src/nqontrol/nqontrolUI.py b/src/nqontrol/nqontrolUI.py
index 7a4254d..2bdba32 100644
--- a/src/nqontrol/nqontrolUI.py
+++ b/src/nqontrol/nqontrolUI.py
@@ -8,9 +8,10 @@
 #
 # https://dash.plot.ly/
 # ----------------------------------------------------------------------------------------
-
+import dash
 import dash_core_components as dcc
 import dash_html_components as html
+from dash_daq import ToggleSwitch
 from dash.dependencies import Input, Output, State
 from abc import ABCMeta, abstractmethod
 from nqontrol import settings, controller
@@ -109,7 +110,7 @@ class UIDevice(UIComponent):
 
     **UIDevice** (see :obj:`nqontrol.settings.DEVICES_LIST`) _(header, servoDetails and rest refer to local variables within the layout property for better source code navigation)_
         header (defined within UIDevice, see layout property)
-        servoDetails (as many as defined in :obj:`nqontrol.ServoDevice.NUMBER_OF_SERVOS`, defined within UIDevice, see layout property)
+        servoDetails (as many as defined in :obj:`settings.NUMBER_OF_SERVOS`, defined within UIDevice, see layout property)
             :obj:`nqontrol.nqontrolUI.UIServoSection`
             :obj:`nqontrol.nqontrolUI.UIRamp`
             Servo Naming element (defined within UIDevice)
@@ -144,7 +145,7 @@ class UIDevice(UIComponent):
 
     def __init__(self, app, deviceNumber):
         super().__init__(app, deviceNumber)
-        self._numberOfServos = controller.device(self._deviceNumber).NUMBER_OF_SERVOS
+        self._numberOfServos = settings.NUMBER_OF_SERVOS
         self.__setUpComponents()
 
     def __setUpComponents(self):
@@ -152,10 +153,12 @@ class UIDevice(UIComponent):
         self._uiServoSection = []
         self._uiRamps = []
         self._uiTempFeedbacks = []
+        # self._uiAutoLocks = []
         for servoNumber in range(1, self._numberOfServos + 1):
             self._uiServoSection.append(UIServoSection(self._app, self._deviceNumber, servoNumber))
             self._uiRamps.append(UIRamp(self._app, self._deviceNumber, servoNumber))
             self._uiTempFeedbacks.append(UITempFeedback(self._app, self._deviceNumber, servoNumber))
+            # self._uiAutoLocks.append(UIAutoLock(self._app, self._deviceNumber, servoNumber))
         self._uiSDPlot = UIServoDesignPlot(self._app, self._deviceNumber)
         self._monitor = UIMonitor(self._app, self._deviceNumber)
 
@@ -192,14 +195,27 @@ class UIDevice(UIComponent):
                                 children=[
                                     html.Div(children=['Ramp'], className='col-2 align-self-center'),
                                     dcc.RadioItems(
-                                        options=[{'label': 'Off', 'value': False}] + [{'label': i, 'value': i}
-                                                                                      for i in range(1, self._numberOfServos + 1)],
+                                        options=[{'label': 'Off', 'value': 0}] + [{'label': i, 'value': i}
+                                                                                  for i in range(1, self._numberOfServos + 1)],
                                         value=controller.getCurrentRampLocation(self._deviceNumber),
                                         id='rampTarget_{}'.format(self._deviceNumber),
                                         className='col-10',
                                         inputClassName='form-check-input',
                                         labelClassName='form-check form-check-inline'
-                                    )],
+                                    ),
+                                    # html.Div(
+                                    #     children=['AutoLock'],
+                                    #     className='col-2 align-self-center'
+                                    # ),
+                                    # dcc.Checklist(
+                                    #     options=[{'label': i, 'value': i} for i in range(1, self._numberOfServos + 1)],
+                                    #     values=controller.getAutolockList(self._deviceNumber),
+                                    #     id='autolockChecklist_{}'.format(self._deviceNumber),
+                                    #     className='pl-0 col-10',
+                                    #     inputClassName='form-check-input',
+                                    #     labelClassName='form-check form-check-inline'
+                                    # )
+                                ],
                                 className='row'
                             )
                         ],
@@ -251,9 +267,18 @@ class UIDevice(UIComponent):
             html.Details(
                 children=[
                     html.Summary(
-                        [controller.getServoName(self._deviceNumber, i)],
-                        className='col-12',
-                        id='servoName_{0}_{1}'.format(self._deviceNumber, i)
+                        children=[
+                            html.Span(
+                                [controller.getServoName(self._deviceNumber, i)], id='servoName_{0}_{1}'.format(self._deviceNumber, i),
+                                style={'width': '50%'}
+                            ),
+                            # html.Span(
+                            #     [controller.getLockStatus(self._deviceNumber, i)],
+                            #     id='servoStatus_{0}_{1}'.format(self._deviceNumber, i),
+                            #     style={'width': '50%', 'text-align': 'right'}
+                            # )
+                        ],
+                        className='col-12 d-flex',
                     ),
                     # within the details component there needs to be another div wrapper for some reason. if removed, the servo and ramp sections will align as if on separate rows. Since bootstrap also requires the nesting of col- classes within row-classes, the structure looks a bit unreadable
                     html.Div(
@@ -267,7 +292,20 @@ class UIDevice(UIComponent):
                                 ],
                                 className='row'
                             ),
-                            self._uiTempFeedbacks[i - 1].layout,
+                            # this is an ugly version to wrap it... buuut hey.
+                            html.Div(
+                                children=[
+                                    html.Div(
+                                        [self._uiTempFeedbacks[i - 1].layout],
+                                        className='col-12 col-md-6 p-0 m-0'
+                                    ),
+                                    # html.Div(
+                                    #     [self._uiAutoLocks[i - 1].layout],
+                                    #     className='col-12 col-md-6 p-0 m-0'
+                                    # )
+                                ],
+                                className='row'
+                            ),
                             html.Div(
                                 children=[
                                     html.P('Name', className='col-auto mb-0'),
@@ -303,7 +341,7 @@ class UIDevice(UIComponent):
             # Update timer
             dcc.Interval(
                 id='update_stamps_{}'.format(self._deviceNumber),
-                interval=1000,
+                interval=2000,
                 n_intervals=0
             )
         ]
@@ -324,14 +362,28 @@ class UIDevice(UIComponent):
                 [State('servoNameInput_{0}_{1}'.format(self._deviceNumber, i), 'value')]
             )(dynamically_generated_function)
 
+            # # Servo status callback
+            # dynamically_generated_function = self.__createLockStatusCallback(i)
+            # self._app.callback(
+            #     Output('servoStatus_{0}_{1}'.format(self._deviceNumber, i), 'children'),
+            #     [Input('update_stamps_{}'.format(self._deviceNumber), 'n_intervals'),
+            #     Input('lockSlider_{0}_{1}'.format(self._deviceNumber, i), 'value'),
+            #     Input()]
+            # )(dynamically_generated_function)
+
         self.__setDeviceCallbacks()
-        for componentList in (self._uiServoSection, self._uiRamps, self._uiTempFeedbacks):
+        for componentList in (self._uiServoSection, self._uiRamps, self._uiTempFeedbacks):  # , self._uiAutoLocks is commented out
             for unit in componentList:
                 unit.setCallbacks()
 
         self._monitor.setCallbacks()
         self._uiSDPlot.setCallbacks()
 
+    # def __createLockStatusCallback(self, servoNumber):
+    #     def callback(n_interval):
+    #         return controller.getLockStatus(self._deviceNumber, servoNumber)
+    #     return callback
+
     # Callbacks for the device control, e.g. timestamp and workload.
     def __setDeviceCallbacks(self):
 
@@ -339,7 +391,7 @@ class UIDevice(UIComponent):
         dynamically_generated_function = self.__createWorkTimeCallback(worktime)
         self._app.callback(
             Output(worktime, 'children'),
-            [Input('update_stamps_{}'.format(self._deviceNumber), 'n_intervals')]
+            [Input('update_monitor_{}'.format(self._deviceNumber), 'n_intervals')]
         )(dynamically_generated_function)
 
         reboot = 'device_reboot_button_{}'.format(self._deviceNumber)
@@ -356,6 +408,15 @@ class UIDevice(UIComponent):
             [Input(ramp_servo_target, 'value')]
         )(dynamically_generated_function)
 
+        # autolockChecklist = 'autolockChecklist_{}'.format(self._deviceNumber)
+        # dynamically_generated_function = self.__createAutolockCallback()
+        # self._app.callback(
+        #     Output('rampTarget_{}'.format(self._deviceNumber), 'value'),  # enabling an autolock disables the ramp
+        #     [Input(autolockChecklist, 'values'),
+        #      # Input(ramp_servo_target, 'value')
+        #      ]
+        # )(dynamically_generated_function)
+
         saveTextArea = 'save_name_{}'.format(self._deviceNumber)
         saveButton = 'device_save_button_{}'.format(self._deviceNumber)
         dynamically_generated_function = self.__createSaveCallback()
@@ -381,7 +442,13 @@ class UIDevice(UIComponent):
     # Callback for the RAMP switch
     def __createRampCallback(self):
         def callback(targetInput):
-            controller.callToggleRamp(targetInput, self._deviceNumber)
+            return controller.callToggleRamp(targetInput, self._deviceNumber)
+        return callback
+
+    # AutoLock callback
+    def __createAutolockCallback(self):
+        def callback(values):
+            return controller.callAutolock(values, self._deviceNumber)
         return callback
 
     # Reboot button
@@ -426,9 +493,7 @@ class UIServoSection(UIComponent):
             Output('gain_label_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'children'),
             [Input(gain, 'n_submit'),
              Input('sosSwitchStorage_{}'.format(self._deviceNumber), 'data')],
-            [State(gain, 'value'),
-             State(gain, 'n_submit_timestamp'),
-             State(gainStore, 'data')]
+            [State(gain, 'value')]
         )(dynamically_generated_function)
 
         # Gain Store Callback
@@ -479,17 +544,17 @@ class UIServoSection(UIComponent):
         )(dynamically_generated_function)
 
         # Snap parameters callback
-        snapGreater = 'snapGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
-        snapLimit = 'snapLimit_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
-        snapLabel = 'snapLabel_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
-        dynamically_generated_function = self.__createSnapCallback()
-        self._app.callback(
-            Output(snapLabel, 'children'),
-            [Input(snapLimit, 'n_submit'),
-             Input(snapGreater, 'value')],
-            [State(snapLimit, 'value'),
-             State(snapGreater, 'value')]
-        )(dynamically_generated_function)
+        # snapGreater = 'snapGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
+        # snapLimit = 'snapLimit_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
+        # snapLabel = 'snapLabel_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
+        # dynamically_generated_function = self.__createSnapCallback()
+        # self._app.callback(
+        #     Output(snapLabel, 'children'),
+        #     [Input(snapLimit, 'n_submit'),
+        #      Input(snapGreater, 'value')],
+        #     [State(snapLimit, 'value'),
+        #      State(snapGreater, 'value')]
+        # )(dynamically_generated_function)
 
     @property
     def layout(self):
@@ -536,7 +601,7 @@ class UIServoSection(UIComponent):
                                 className='row'
                             ),
                         ],
-                        className='col-6 col-xl-3',
+                        className='col-3',
                     ),
                     # Offset and Gain, also part of the input
                     html.Div(
@@ -556,26 +621,26 @@ class UIServoSection(UIComponent):
                                 id='gain_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
                                 className='form-control'
                             ),
-                            # Snap
-                            html.P('Snap', id='snapLabel_{0}_{1}'.format(self._deviceNumber, self._servoNumber)),
-                            # The snapping condition dropdown
-                            dcc.Dropdown(
-                                options=[
-                                    {'label': '>', 'value': True},
-                                    {'label': '<', 'value': False}
-                                ],
-                                value=controller.getSnapGreater(self._deviceNumber, self._servoNumber),
-                                clearable=False,
-                                id='snapGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
-                                className='w-100 m-0'
-                            ),
-                            # the input field for the snap voltage limit
-                            dcc.Input(
-                                placeholder='snap limit',
-                                id='snapLimit_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
-                                value=controller.getSnapLimit(self._deviceNumber, self._servoNumber),
-                                className='form-control w-100'
-                            ),
+                            # # Snap
+                            # html.P('Snap', id='snapLabel_{0}_{1}'.format(self._deviceNumber, self._servoNumber)),
+                            # # The snapping condition dropdown
+                            # dcc.Dropdown(
+                            #     options=[
+                            #         {'label': '>', 'value': True},
+                            #         {'label': '<', 'value': False}
+                            #     ],
+                            #     value=controller.getSnapGreater(self._deviceNumber, self._servoNumber),
+                            #     clearable=False,
+                            #     id='snapGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                            #     className='w-100 m-0'
+                            # ),
+                            # # the input field for the snap voltage limit
+                            # dcc.Input(
+                            #     placeholder='snap limit',
+                            #     id='snapLimit_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                            #     value=controller.getSnapLimit(self._deviceNumber, self._servoNumber),
+                            #     className='form-control w-100'
+                            # ),
                             # Store component in order to determine how callGain was triggered. Saves previous timestamp
                             dcc.Store(
                                 id='gainStore_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
@@ -583,7 +648,7 @@ class UIServoSection(UIComponent):
                             # Storage component to use as input channels checklist target in callbacks
                             dcc.Store(id='channelChecklistStorage_{0}_{1}'.format(self._deviceNumber, self._servoNumber)),
                         ],
-                        className='col-6 col-xl-3'
+                        className='col-3'
                     ),
                     # Filter section of the servo controls
                     html.Div(
@@ -601,7 +666,7 @@ class UIServoSection(UIComponent):
                             # Storage component to use as target for filter checklist target in callback
                             dcc.Store(id='filterChecklistStorage_{0}_{1}'.format(self._deviceNumber, self._servoNumber)),
                         ],
-                        className='col-6 col-xl-3'
+                        className='col-3'
                     ),
                     # Output section of the servo controls
                     html.Div(
@@ -611,7 +676,7 @@ class UIServoSection(UIComponent):
                             dcc.Checklist(
                                 options=[
                                     {'label': 'Aux', 'value': 'aux'},
-                                    {'label': 'Snap', 'value': 'snap'},
+                                    # {'label': 'Snap', 'value': 'snap'},
                                     {'label': 'Output', 'value': 'output'},
                                 ],
                                 values=controller.getOutputStates(self._deviceNumber, self._servoNumber),
@@ -639,19 +704,19 @@ class UIServoSection(UIComponent):
                                 className='row'
                             ),
                         ],
-                        className='col-6 col-xl-3   ',
+                        className='col-3',
                     )],
                     className='row'
                 )
             ],
-            className='col-12 col-sm-6 d-inline'
+            className='col-12 col-xl-6 d-inline'
         )
 
     # Callback for the snap section
-    def __createSnapCallback(self):
-        def callback(submit, dropdown, limit, greater):
-            return controller.callSnapParam(limit, greater, self._servoNumber, self._deviceNumber)
-        return callback
+    # def __createSnapCallback(self):
+    #     def callback(submit, dropdown, limit, greater):
+    #         return controller.callSnapParam(limit, greater, self._servoNumber, self._deviceNumber)
+    #     return callback
 
     # Callback for the Offset Input Field
     def __createOffsetCallback(self):
@@ -661,8 +726,9 @@ class UIServoSection(UIComponent):
 
     # Callback for the Gain Input Field
     def __createGainCallback(self):
-        def callback(n_submit, sosTrigger, inputValue, timestamp, timestamp_old):
-            return controller.callGain(self._deviceNumber, self._servoNumber, inputValue, n_submit, timestamp, timestamp_old)
+        def callback(n_submit, sosTrigger, inputValue):
+            context = dash.callback_context
+            return controller.callGain(context, self._deviceNumber, self._servoNumber, inputValue)
         return callback
 
     def __storeLastGainTimestamp(self):
@@ -713,6 +779,7 @@ class UIRamp(UIComponent):
                 html.Div(
                     children=[
                         html.H3('Ramp', className='col-auto mt-0'),
+                        html.Span(id='current_ramp_{0}_{1}'.format(self._deviceNumber, self._servoNumber), className='col-auto')
                     ],
                     className='row justify-content-between align-items-center'
                 ),
@@ -721,7 +788,6 @@ class UIRamp(UIComponent):
                     children=[
                         html.P(
                             'Amplitude',
-                            id='current_amp_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
                             className='col-12'
                         ),
                         dcc.Slider(
@@ -742,7 +808,6 @@ class UIRamp(UIComponent):
                     children=[
                         html.P(
                             'Frequency',
-                            id='current_freq_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
                             className='col-12'
                         ),
                         dcc.Slider(
@@ -760,38 +825,27 @@ class UIRamp(UIComponent):
                     className='row justify-content-center',
                 )
             ],
-            className='col-12 col-sm-6 d-inline'
+            className='col-12 col-xl-6 d-inline'
         )
 
     # Callback for the Ramp unit's amplitude slider
-    def __createRampAmpCallback(self):
-        def callback(amp):
-            return controller.callRampAmplitude(amp, self._deviceNumber, self._servoNumber)
-        return callback
-
-    # Callback for the Ramp unit's amplitude slider
-    def __createRampFreqCallback(self):
-        def callback(freq):
-            return controller.callRampFrequency(freq, self._deviceNumber, self._servoNumber)
+    def __createRampCallback(self):
+        def callback(amp, freq):
+            context = dash.callback_context
+            return controller.callRamp(amp, freq, context, self._deviceNumber, self._servoNumber)
         return callback
 
     def setCallbacks(self):
         ramp_freq_slider = 'ramp_freq_slider_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
         ramp_amp_slider = 'ramp_amp_slider_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
 
-        amp_label = 'current_amp_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
-        freq_label = 'current_freq_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
-
-        dynamically_generated_function = self.__createRampAmpCallback()
-        self._app.callback(
-            Output(amp_label, 'children'),
-            [Input(ramp_amp_slider, 'value')],
-        )(dynamically_generated_function)
+        amp_out = 'current_ramp_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
 
-        dynamically_generated_function = self.__createRampFreqCallback()
+        dynamically_generated_function = self.__createRampCallback()
         self._app.callback(
-            Output(freq_label, 'children'),
-            [Input(ramp_freq_slider, 'value')],
+            Output(amp_out, 'children'),
+            [Input(ramp_amp_slider, 'value'),
+             Input(ramp_freq_slider, 'value')],
         )(dynamically_generated_function)
 
 
@@ -839,9 +893,6 @@ class UIServoDesignPlot(UIComponent):
 
         for i in range(5):
             inputs.append(Input('filter_update_{0}_{1}'.format(self._deviceNumber, i), 'data'))
-            # inputs.append(Input('filter_unit_dropdown_{0}_{1}'.format(self._deviceNumber, i), 'value'))
-            # inputs.append(Input('filter_frequency_input_{0}_{1}'.format(self._deviceNumber, i), 'value'))
-            # inputs.append(Input('filter_optional_input_{0}_{1}'.format(self._deviceNumber, i), 'value'))
 
         dynamically_generated_function = self._createGraphCallback()
         self._app.callback(
@@ -877,7 +928,7 @@ class UISecondOrderSection(UIComponent):
                             dcc.Input(
                                 type='number',
                                 min=1,
-                                max=controller.device(self._deviceNumber).NUMBER_OF_SERVOS,
+                                max=settings.NUMBER_OF_SERVOS,
                                 value=1,
                                 id='sos_servo_{}'.format(self._deviceNumber),
                                 className='form-control'
@@ -993,7 +1044,7 @@ class UISecondOrderSection(UIComponent):
         for filter in self._uiFilters:
             filter.setCallbacks()
 
-        for i in range(1, controller.device(self._deviceNumber).NUMBER_OF_SERVOS + 1):
+        for i in range(1, settings.NUMBER_OF_SERVOS + 1):
             sectionCheck = 'filterSectionCheck_{0}_{1}'.format(self._deviceNumber, i)
 
             # Apply the values
@@ -1204,7 +1255,7 @@ class UIMonitor(UIComponent):
                         html.Div('Servo', className='col-2 align-self-center'),
                         dcc.RadioItems(
                             options=[{'label': i, 'value': i}
-                                     for i in range(1, controller.device(self._deviceNumber).NUMBER_OF_SERVOS + 1)],
+                                     for i in range(1, settings.NUMBER_OF_SERVOS + 1)],
                             value=1,
                             id='monitorTarget_{}'.format(self._deviceNumber),
                             className='col-10',
@@ -1255,7 +1306,7 @@ class UIMonitor(UIComponent):
                 # Update timer
                 dcc.Interval(
                     id='update_monitor_{}'.format(self._deviceNumber),
-                    interval=1 * 500,
+                    interval=1 * 1000,
                     n_intervals=0
                 ),
                 # Physical ADwin monitor channels
@@ -1336,7 +1387,7 @@ class UIADwinMonitorChannels(UIComponent):
                                     children=[
                                         dcc.Dropdown(
                                             options=[{'label': 'Servo {}'.format(j), 'value': j} for j in range(
-                                                1, controller.device(self._deviceNumber).NUMBER_OF_SERVOS + 1)],
+                                                1, settings.NUMBER_OF_SERVOS + 1)],
                                             value=controller.getMonitorsServo(self._deviceNumber, i),
                                             placeholder='Servo channel',
                                             id='adwin_monitor_channel_target_{0}_{1}'.format(self._deviceNumber, i)
@@ -1363,7 +1414,7 @@ class UIADwinMonitorChannels(UIComponent):
                                 ),
                                 dcc.Store(id='store_adwin_monitor_channel_{0}_{1}'.format(self._deviceNumber, i))],
                             className='row'
-                        ) for i in range(1, controller.device(self._deviceNumber).NUMBER_OF_MONITORS + 1)
+                        ) for i in range(1, settings.NUMBER_OF_MONITORS + 1)
                     ],
                     className='col-12',
                 )
@@ -1384,7 +1435,7 @@ class UIADwinMonitorChannels(UIComponent):
         """The function initiating all callbacks for the given element.
         """
 
-        for i in range(1, controller.device(self._deviceNumber).NUMBER_OF_MONITORS + 1):
+        for i in range(1, settings.NUMBER_OF_MONITORS + 1):
             # setting the function for each individual i
             dynamically_generated_function = self.__setADwinMonitorCallback(i)
             # all HTML IDs relevant to the callback
@@ -1422,7 +1473,7 @@ class UITempFeedback(UIComponent):
             children=[
                 html.Summary(
                     ['Temperature Feedback Control'],
-                    className='col-12'
+                    className='col-6'
                 ),
                 html.Div(
                     children=[
@@ -1515,7 +1566,7 @@ class UITempFeedback(UIComponent):
                             className='row align-items-center'
                         ),
                     ],
-                    className='col-12 col-md-6'
+                    className='col-12'
                 )
             ],
             className='row p-0 justify-items-start align-items-center',  # The detail itself is a row
@@ -1607,3 +1658,164 @@ class UITempFeedback(UIComponent):
         def callback(clicks, dt, num, port, interval, voltLim):
             return controller.callTempButton(clicks, dt, num, port, interval, voltLim, self._servoNumber, self._deviceNumber)
         return callback
+
+
+class UIAutoLock(UIComponent):
+
+    def __init__(self, app, deviceNumber, servoNumber):
+        super().__init__(app, deviceNumber)
+        self._servoNumber = servoNumber
+
+    @property
+    def layout(self):
+        """Returns the elements' structure to be passed to a Dash style layout, usually with html.Div() as a top level container. For additional information read the Dash documentation at https://dash.plot.ly/.
+
+        Returns
+        -------
+        html.Div
+            The html/dash layout.
+
+        """
+        self._layout = html.Details(
+            children=[
+                html.Summary(
+                    ['AutoLock Parameters'],
+                    className='col-6'
+                ),
+                html.Div(
+                    children=[
+                        html.Div(
+                            children=[
+                                html.Div(['Activate'], className='col-12 col-sm-4'),
+                                html.Div(
+                                    children=[
+                                        ToggleSwitch(
+                                            value=controller.getAutolockList(self._deviceNumber),
+                                            id='autolock_{}_{}'.format(self._deviceNumber, self._servoNumber),
+                                        ),
+                                    ],
+                                    className='col-12 col-sm-4'
+                                ),
+                            ],
+                            className='row align-items-center'
+                        ),
+                        html.Div(
+                            children=[
+                                html.Div(['Threshold'], className='col-12 col-sm-4'),
+                                html.Div(
+                                    children=[
+                                        dcc.Input(
+                                            placeholder='Voltage',
+                                            className='w-100 form-control',
+                                            value=controller.getLockThreshold(self._deviceNumber, self._servoNumber),
+                                            id='threshold_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                                        ),
+                                    ],
+                                    className='col-12 col-sm-4'
+                                ),
+                            ],
+                            className='row align-items-center'
+                        ),
+                        html.Div(
+                            children=[
+                                html.Div(['Greater?'], className='col-12 col-sm-4'),
+                                html.Div(
+                                    children=[
+                                        dcc.Dropdown(
+                                            options=[
+                                                {'label': '>', 'value': True},
+                                                {'label': '<', 'value': False}
+                                            ],
+                                            value=controller.getLockGreater(self._deviceNumber, self._servoNumber),
+                                            clearable=False,
+                                            id='lockGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                                            className='w-100 m-0'
+                                        ),
+                                    ],
+                                    className='col-12 col-sm-4'
+                                )
+                            ],
+                            className='row align-items-center'
+                        ),
+                        # html.Div(
+                        #     children=[
+                        #         html.Div(
+                        #             children=[
+                        #                 dcc.Checklist(
+                        #                     options=[
+                        #                         {'label': 'Auto-Relock', 'value': 'on'},
+                        #                     ],
+                        #                     values=controller.getLockRelock(self._deviceNumber, self._servoNumber),
+                        #                     id='autoRelock_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                        #                     className='w-100 m-0',
+                        #                     inputClassName='form-check-input',
+                        #                     labelClassName='form-check form-check-inline'
+                        #                 ),
+                        #             ],
+                        #             className='col-12 col-sm-4'
+                        #         )
+                        #     ],
+                        #     className='row align-items-center'
+                        # ),
+                        html.Div(
+                            children=[
+                                html.Div(['Search Range'], className='col-12'),
+                                dcc.RangeSlider(
+                                    count=1,
+                                    min=-10,
+                                    max=10,
+                                    step=.5,
+                                    value=controller.getLockRange(self._deviceNumber, self._servoNumber),
+                                    allowCross=False,
+                                    id='lockSlider_{0}_{1}'.format(self._deviceNumber, self._servoNumber),
+                                    className='col-10 mt-1',
+                                    pushable=1,
+                                    updatemode='drag',
+                                    marks={i: '{}'.format(i) for i in range(-10, 11)},
+                                ),
+                            ],
+                            className='row justify-content-center align-items-center'
+                        ),
+                    ],
+                    className='col-12'
+                )
+            ],
+            className='row p-0 justify-items-start align-items-center',  # The detail itself is a row
+            style={'margin': '.1vh .5vh'}
+        )
+        return self._layout
+
+    def setCallbacks(self):
+        """The function initiating all callbacks for the given element.
+        """
+        # relock = 'autoRelock_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
+        # relockStore = 'autoRelockStore_{0}_{1}'.format(self._deviceNumber, self._servoNumber)
+        #
+        # dynamically_generated_function = self.__createRelockCallback()
+        # self._app.callback(
+        #     Output(relockStore, 'data'),
+        #     [Input(relock, 'values')]
+        # )(dynamically_generated_function)
+
+        # Servo status callback
+        dynamically_generated_function = self.__createLockStatusCallback(self._servoNumber)
+        self._app.callback(
+            Output('servoStatus_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'children'),
+            [Input('update_stamps_{}'.format(self._deviceNumber), 'n_intervals'),
+             Input('autolock_{}_{}'.format(self._deviceNumber, self._servoNumber), 'value'),
+             Input('lockSlider_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'value'),
+             Input('threshold_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'n_submit'),
+             Input('lockGreater_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'value')],
+            [State('threshold_{0}_{1}'.format(self._deviceNumber, self._servoNumber), 'value')]
+        )(dynamically_generated_function)
+
+    def __createLockStatusCallback(self, servoNumber):
+        def callback(n_interval, lockstate, sliderlist, n_submit_threshold, greater, threshold):
+            context = dash.callback_context
+            return controller.lockStatus(lockstate, threshold, sliderlist, greater, context, self._deviceNumber, servoNumber)
+        return callback
+
+    # def __createRelockCallback(self):
+    #     def callback(values):
+    #         return controller.callAutolockRelock(values, self._deviceNumber, self._servoNumber)
+    #     return callback
diff --git a/src/nqontrol/servo.py b/src/nqontrol/servo.py
index b69b76b..fa17bfe 100644
--- a/src/nqontrol/servo.py
+++ b/src/nqontrol/servo.py
@@ -113,12 +113,12 @@ class Servo:
     JSONPICKLE = ['servoDesign']
     MIN_REFRESH_TIME = .02
     DEFAULT_FILTERS = [
-            [1, 0, 0, 0, 0],
-            [1, 0, 0, 0, 0],
-            [1, 0, 0, 0, 0],
-            [1, 0, 0, 0, 0],
-            [1, 0, 0, 0, 0]
-        ]
+        [1, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0]
+    ]
     DEFAULT_COLUMNS = ['input', 'aux', 'output']
     _manager = mp.Manager()
     realtime = _manager.dict({
@@ -194,17 +194,25 @@ class Servo:
             'offsetSw': False,
             'outputSw': False,
             'inputSw': False,
-            'snapSw': False,
-        })
-        self._snap = self._manager.dict({
-            'limit': 0,
-            'greater': True,
+            # 'snapSw': False,
         })
+        # self._snap = self._manager.dict({
+        #     'limit': 0,
+        #     'greater': True,
+        # })
         self._ramp = self._manager.dict({
             'amplitude': .1,
             'minimum': 0,
             'stepsize': 20,
         })
+        self._autolock = self._manager.dict({
+            'state': 0,
+            'threshold': 0,
+            'min': -5,
+            'max': 5,
+            'greater': True,
+            'relock': False,
+        })
         self._fifo = self._manager.dict({
             'stepsize': self.DEFAULT_FIFO_STEPSIZE,
             'maxlen': settings.FIFO_MAXLEN,
@@ -264,39 +272,47 @@ class Servo:
 
     def _triggerReload(self):
         """Trigger bit to trigger reloading of parameters."""
-        par = self._adw.Get_Par(2)
+        par = self._adw.Get_Par(settings.PAR_RELOADBIT)
         # only trigger if untriggered
         if not general.readBit(par, self._channel - 1):
             par = general.changeBit(par, self._channel - 1, True)
-            self._adw.Set_Par(2, par)
+            self._adw.Set_Par(settings.PAR_RELOADBIT, par)
         else:
             raise Exception("ADwin has been triggered to reload the shared RAM within 10µs or the realtime program doesn't run properly.")
 
     def _readFilterControl(self):
-        c = self._adw.Get_Par(10 + self._channel)
+        c = self._adw.Get_Par(settings.PAR_FCR + self._channel)
         # read control bits
         self._state['auxSw'] = general.readBit(c, 9)
         for i in list(range(5)):
             self._state['filtersEnabled'][i] = general.readBit(c, 4 + i)
-        self._state['snapSw'] = general.readBit(c, 3)
+        # self._state['snapSw'] = general.readBit(c, 3)
         self._state['offsetSw'] = general.readBit(c, 2)
         self._state['outputSw'] = general.readBit(c, 1)
         self._state['inputSw'] = general.readBit(c, 0)
 
+    def _readLockControl(self):
+        indexoffset = (self._channel - 1) * 5
+
+        state = self._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        if state in range(8):
+            self._autolock['state'] = (state & 0x3)
+            self._autolock['relock'] = general.readBit(state, 2)
+
     def _sendFilterControl(self):
         # read current state
-        c = self._adw.Get_Par(10 + self._channel)
+        c = self._adw.Get_Par(settings.PAR_FCR + self._channel)
 
         # set control bits
         c = general.changeBit(c, 9, self._state['auxSw'])
         for i in list(range(5)):
             c = general.changeBit(c, 4 + i, self._state['filtersEnabled'][i])
-        c = general.changeBit(c, 3, self._state['snapSw'])
+        # c = general.changeBit(c, 3, self._state['snapSw'])
         c = general.changeBit(c, 2, self._state['offsetSw'])
         c = general.changeBit(c, 1, self._state['outputSw'])
         c = general.changeBit(c, 0, self._state['inputSw'])
 
-        self._adw.Set_Par(10 + self._channel, c)
+        self._adw.Set_Par(settings.PAR_FCR + self._channel, c)
 
     ########################################
     # Change servo state
@@ -321,6 +337,8 @@ class Servo:
             Defaults to :obj:`True`.
             Possible not to enable the FIFO buffering for this servo.
         """
+        if self._autolock['state']:
+            raise UserInputError('Autolock is active, ramp cannot be activated on this channel.')
 
         if frequency is None:
             stepsize = self._ramp['stepsize']
@@ -340,8 +358,8 @@ class Servo:
 
         control = stepsize * 0x100
         control += self._channel
-        self._adw.Set_Par(3, control)
-        self._adw.Set_FPar(1, amplitude / 10)
+        self._adw.Set_Par(settings.PAR_RCR, control)
+        self._adw.Set_FPar(settings.FPAR_RAMPAMP, amplitude / 10)
 
         if enableFifo:
             factor = 1.2
@@ -359,7 +377,7 @@ class Servo:
     def disableRamp(self):
         """Stop the ramp."""
         self._ramp['minimum'] = 0
-        self._adw.Set_Par(3, 0)
+        self._adw.Set_Par(settings.PAR_RCR, 0)
 
     @property
     def filterStates(self):
@@ -412,7 +430,7 @@ class Servo:
 
     @property
     def rampEnabled(self):
-        control = self._adw.Get_Par(3)
+        control = self._adw.Get_Par(settings.PAR_RCR)
         if control & 15 == self._channel:
             return True
         else:
@@ -488,7 +506,7 @@ class Servo:
         Before using it ensure to block the beam.
         It takes the mean value of {} data points.
         After changing the input amplification it may be necessary to adjust the offset.
-        """.format(10*settings.FIFO_MAXLEN)
+        """.format(10 * settings.FIFO_MAXLEN)
         self.enableFifo(1)
         n = 10000
         self._waitForBufferFilling(n)
@@ -497,101 +515,231 @@ class Servo:
         self.offset = - df['input'].mean()
 
     @property
-    def snapSw(self):
-        """
-        Enable or disable the automatic snapping.
+    def lockState(self):
+        """Return the lock state.
 
-        :getter: Return the state of the switch.
-        :setter: Enable or disable the output.
-        :type: :obj:`bool`
-        """
-        self._readFilterControl()
-        return self._state['snapSw']
+        '0': off
+        `1`: search
+        `2`: lock
 
-    @snapSw.setter
-    def snapSw(self, enabled):
-        if not isinstance(enabled, bool):
-            raise TypeError('the value must be a bool.')
+        Returns
+        -------
+        :obj:`int`
+            The lock state.
 
-        self._state['snapSw'] = enabled
-        self._sendFilterControl()
+        """
+        self._readLockControl()
+        return self._autolock['state']
 
     @property
-    def snap(self):
+    def lockThreshold(self):
+        """Get or set the autolock threshold.
+
+        :getter: Return the threshold.
+        :setter: Set the threshold.
+        :type: :obj:`float`
         """
-        Set or read the snap limit.
+        return self._autolock['threshold']
+
+    @lockThreshold.setter
+    def lockThreshold(self, threshold):
+        try:
+            float(threshold)
+        except ValueError:
+            raise TypeError('threshold must be a float or int.')
+        index_offset = (self._channel - 1) * 5  # the lock state parameter is set on index 1, 6, 12 etc., as each servo channel occupies 5 indices (as of current version)
+        self._autolock['threshold'] = threshold
+        threshold = _convertVolt2Int(threshold, self.auxSensitivity, True)
+        threshold = general.changeBit(threshold, 16, self.lockGreater)
+        # Sending values to ADwin
+        self._adw.SetData_Long([threshold], settings.DATA_LOCK, 2 + index_offset, 1)
 
-        :getter: Return the current limit.
-        :setter: Set the limit to a value.
+    @property
+    def lockSearchMin(self):
+        """Get or set the autolock search range minimum.
+
+        :getter: Return the threshold.
+        :setter: Set the threshold.
         :type: :obj:`float`
         """
-        self._snapRead()
-        return self._snap['limit']
+        return self._autolock['min']
 
-    @snap.setter
-    def snap(self, value):
+    @lockSearchMin.setter
+    def lockSearchMin(self, value):
         try:
             float(value)
         except ValueError:
             raise TypeError('value must be a float or int.')
+        if not -10 <= value <= 10:
+            raise ValueError('Search minimum has to be between -10 and 10 volts.')
+        if value > self._autolock['max']:
+            raise ValueError('Please make sure the maximum is greater than the minimum or try setting the maximum first.')
+        index_offset = (self._channel - 1) * 5  # the lock state parameter is set on index 1, 6, 12 etc., as each servo channel occupies 5 indices (as of current version)
+        self._autolock['min'] = value
+        min = _convertVolt2Int(value, self.auxSensitivity, True)
+        # Sending values to ADwin
+        self._adw.SetData_Long([min], settings.DATA_LOCK, 3 + index_offset, 1)
+
+    @property
+    def lockSearchMax(self):
+        """Get or set the autolock search range maximum.
 
-        self._snap['limit'] = value
-        self.snapSend()
+        :getter: Return the threshold.
+        :setter: Set the threshold.
+        :type: :obj:`float`
+        """
+        return self._autolock['max']
+
+    @lockSearchMax.setter
+    def lockSearchMax(self, value):
+        try:
+            float(value)
+        except ValueError:
+            raise TypeError('value must be a float or int.')
+        if not -10 <= value <= 10:
+            raise ValueError('Search maximum has to be between -10 and 10 volts.')
+        if value < self._autolock['min']:
+            raise ValueError('Please make sure the maximum is greater than the minimum or try setting the minimum first.')
+        index_offset = (self._channel - 1) * 5  # the lock state parameter is set on index 1, 6, 12 etc., as each servo channel occupies 5 indices (as of current version)
+        self._autolock['max'] = value
+        max = _convertVolt2Int(value, self.auxSensitivity, True)
+        self._adw.SetData_Long([max], settings.DATA_LOCK, 4 + index_offset, 1)
 
     @property
-    def snapGreater(self):
+    def lockGreater(self):
         """
-        Set the snap direction to either greater (True) or lesser (False) than the limit.
+        Set the lock direction to either greater (True) or lesser (False) than the threshold.
 
         :getter: Return the current value.
         :setter: Set the condition.
         :type: :obj:`bool`
         """
-        self._snapRead()
-        return self._snap['greater']
+        return self._autolock['greater']
 
-    @snapGreater.setter
-    def snapGreater(self, value):
-        if not isinstance(value, bool):
+    @lockGreater.setter
+    def lockGreater(self, greater):
+        if not isinstance(greater, bool):
             raise TypeError('value must be a bool.')
+        index_offset = (self._channel - 1) * 5  # the lock state parameter is set on index 1, 6, 12 etc., as each servo channel occupies 5 indices (as of current version)
+        threshold = _convertVolt2Int(self.lockThreshold, self.auxSensitivity, True)
+        threshold = general.changeBit(threshold, 16, greater)
+        # Sending values to ADwin
+        self._adw.SetData_Long([threshold], settings.DATA_LOCK, 2 + index_offset, 1)
+        self._autolock['greater'] = greater
 
-        self._snap['greater'] = value
-        self.snapSend()
-
-    def snapSend(self, limit=None, greater=None):
+    @property
+    def relock(self):
         """
-        Value to enable locking.
+        Set the lock to trigger a relock automatically when falling below or above threshold (according to `greater` setting).
 
-        Parameters
-        ----------
-        limit: :obj:`float`
-            Threshold limit to start locking.
-        greater: :obj:`bool`
-            Start locking when the aux value is lower or greater than :obj:`limit`.
+        :getter: Return the current value.
+        :setter: Set the condition.
+        :type: :obj:`bool`
         """
-        if limit is None:
-            limit = self._snap['limit']
-        if greater is None:
-            greater = self._snap['greater']
-
-        try:
-            float(limit)
-        except ValueError:
-            raise TypeError('limit must be a float or int.')
-        if not isinstance(greater, bool):
-            raise TypeError('greater must be a bool.')
-
-        self._snap['limit'] = limit
-        self._snap['greater'] = greater
-
-        limit = _convertVolt2Int(limit, self.auxSensitivity, True)
-        limit = general.changeBit(limit, 16, greater)
-        self._adw.SetData_Long([limit], 7, self._channel, 1)
+        return self._autolock['relock']
 
-    def _snapRead(self):
-        snapping_config = self._adw.GetData_Long(7, self._channel, 1)[0]
-        self._snap['limit'] = _convertInt2Volt(snapping_config & 0xffff, mode=self.auxSensitivity)
-        self._snap['greater'] = general.readBit(snapping_config, 16)
+    @relock.setter
+    def relock(self, value):
+        if not isinstance(value, bool):
+            raise TypeError('value must be a bool.')
+        self._autolock['relock'] = value
+
+    # @property
+    # def snapSw(self):
+    #     """
+    #     Enable or disable the automatic snapping.
+    #
+    #     :getter: Return the state of the switch.
+    #     :setter: Enable or disable the output.
+    #     :type: :obj:`bool`
+    #     """
+    #     self._readFilterControl()
+    #     return self._state['snapSw']
+    #
+    # @snapSw.setter
+    # def snapSw(self, enabled):
+    #     if not isinstance(enabled, bool):
+    #         raise TypeError('the value must be a bool.')
+    #
+    #     self._state['snapSw'] = enabled
+    #     self._sendFilterControl()
+    #
+    # @property
+    # def snap(self):
+    #     """
+    #     Set or read the snap limit.
+    #
+    #     :getter: Return the current limit.
+    #     :setter: Set the limit to a value.
+    #     :type: :obj:`float`
+    #     """
+    #     self._snapRead()
+    #     return self._snap['limit']
+    #
+    # @snap.setter
+    # def snap(self, value):
+    #     try:
+    #         float(value)
+    #     except ValueError:
+    #         raise TypeError('value must be a float or int.')
+    #
+    #     self._snap['limit'] = value
+    #     self.snapSend()
+    #
+    # @property
+    # def snapGreater(self):
+    #     """
+    #     Set the snap direction to either greater (True) or lesser (False) than the limit.
+    #
+    #     :getter: Return the current value.
+    #     :setter: Set the condition.
+    #     :type: :obj:`bool`
+    #     """
+    #     self._snapRead()
+    #     return self._snap['greater']
+    #
+    # @snapGreater.setter
+    # def snapGreater(self, value):
+    #     if not isinstance(value, bool):
+    #         raise TypeError('value must be a bool.')
+    #
+    #     self._snap['greater'] = value
+    #     self.snapSend()
+    #
+    # def snapSend(self, limit=None, greater=None):
+    #     """
+    #     Value to enable locking.
+    #
+    #     Parameters
+    #     ----------
+    #     limit: :obj:`float`
+    #         Threshold limit to start locking.
+    #     greater: :obj:`bool`
+    #         Start locking when the aux value is lower or greater than :obj:`limit`.
+    #     """
+    #     if limit is None:
+    #         limit = self._snap['limit']
+    #     if greater is None:
+    #         greater = self._snap['greater']
+    #
+    #     try:
+    #         float(limit)
+    #     except ValueError:
+    #         raise TypeError('limit must be a float or int.')
+    #     if not isinstance(greater, bool):
+    #         raise TypeError('greater must be a bool.')
+    #
+    #     self._snap['limit'] = limit
+    #     self._snap['greater'] = greater
+    #
+    #     limit = _convertVolt2Int(limit, self.auxSensitivity, True)
+    #     limit = general.changeBit(limit, 16, greater)
+    #     self._adw.SetData_Long([limit], settings.DATA_SNAP, self._channel, 1)
+    #
+    # def _snapRead(self):
+    #     snapping_config = self._adw.GetData_Long(settings.DATA_SNAP, self._channel, 1)[0]
+    #     self._snap['limit'] = _convertInt2Volt(snapping_config & 0xffff, mode=self.auxSensitivity)
+    #     self._snap['greater'] = general.readBit(snapping_config, 16)
 
     @property
     def outputSw(self):
@@ -647,7 +795,7 @@ class Servo:
         self._state['offset'] = offset
         index = self._channel + 8
         offsetInt = _convertVolt2Int(offset, self.inputSensitivity)
-        self._adw.SetData_Double([offsetInt], 2, index, 1)
+        self._adw.SetData_Double([offsetInt], settings.DATA_OFFSETGAIN, index, 1)
 
     @property
     def gain(self):
@@ -665,7 +813,7 @@ class Servo:
         self._state['gain'] = gain
         index = self._channel
         effectiveGain = 1.0 * self.gain / pow(2, self.inputSensitivity)
-        self._adw.SetData_Double([effectiveGain], 2, index, 1)
+        self._adw.SetData_Double([effectiveGain], settings.DATA_OFFSETGAIN, index, 1)
 
     @property
     def inputSensitivity(self):
@@ -699,13 +847,13 @@ class Servo:
 
         self._state['inputSensitivity'] = mode
 
-        currentRegister = self._adw.Get_Par(8)
+        currentRegister = self._adw.Get_Par(settings.PAR_SENSITIVITY)
         register = general.clearBit(currentRegister, self._channel * 2 - 2)
         register = general.clearBit(register, self._channel * 2 - 1)
 
         register += mode << self._channel * 2 - 2
 
-        self._adw.Set_Par(8, register)
+        self._adw.Set_Par(settings.PAR_SENSITIVITY, register)
 
         # Update gain to correct gain change from input sensitivity
         self.gain = self.gain
@@ -743,13 +891,13 @@ class Servo:
 
         self._state['auxSensitivity'] = mode
 
-        currentRegister = self._adw.Get_Par(8)
+        currentRegister = self._adw.Get_Par(settings.PAR_SENSITIVITY)
         register = general.clearBit(currentRegister, self._channel * 2 + 14)
         register = general.clearBit(register, self._channel * 2 + 15)
 
         register += mode << self._channel * 2 + 14
 
-        self._adw.Set_Par(8, register)
+        self._adw.Set_Par(settings.PAR_SENSITIVITY, register)
 
     @property
     def filters(self):
@@ -788,7 +936,7 @@ class Servo:
             for i in f:
                 data.append(i)
 
-        self._adw.SetData_Double(data, 1, startIndex, len(data))
+        self._adw.SetData_Double(data, settings.DATA_FILTERCOEFFS, startIndex, len(data))
 
         self._triggerReload()
 
@@ -849,7 +997,7 @@ class Servo:
     @property
     def _fifoBufferSize(self):
         """Get the current size of the fifo buffer on ADwin."""
-        return self._adw.Fifo_Full(3)
+        return self._adw.Fifo_Full(settings.DATA_FIFO)
 
     @property
     def fifoStepsize(self):
@@ -887,7 +1035,7 @@ class Servo:
 
     @property
     def fifoEnabled(self):
-        if self._adw.Get_Par(4) == self._channel:
+        if self._adw.Get_Par(settings.PAR_ACTIVE_CHANNEL) == self._channel:
             return True
         else:
             return False
@@ -913,8 +1061,8 @@ class Servo:
         else:
             self._fifo['stepsize'] = stepsize
         # Enable on adwin
-        self._adw.Set_Par(4, self._channel)
-        self._adw.Set_Par(6, stepsize)
+        self._adw.Set_Par(settings.PAR_ACTIVE_CHANNEL, self._channel)
+        self._adw.Set_Par(settings.PAR_FIFOSTEPSIZE, stepsize)
         # set refresh time
         self._calculateRefreshTime()
         # Create local buffer
@@ -924,8 +1072,8 @@ class Servo:
         """Disable the FiFo output if it is enabled on this channel."""
         if self.fifoEnabled:
             # Disable on adwin only if this channel is activated
-            self._adw.Set_Par(4, 0)
-            self._adw.Set_Par(6, 0)
+            self._adw.Set_Par(settings.PAR_ACTIVE_CHANNEL, 0)
+            self._adw.Set_Par(settings.PAR_FIFOSTEPSIZE, 0)
             # Destroy local buffer
             self._fifoBuffer = None
 
@@ -943,7 +1091,7 @@ class Servo:
         # Saving 3 16bit channels in a 64bit long variable
         # Byte    | 7 6 | 5 4   | 3 2 | 1 0    |
         # Channel |     | input | aux | output |
-        combined = np.array(self._adw.GetFifo_Double(3, n)[:], dtype='int')
+        combined = np.array(self._adw.GetFifo_Double(settings.DATA_FIFO, n)[:], dtype='int')
 
         def extract_value(combined, offset=0):
             shifted = np.right_shift(combined, offset)
@@ -1314,6 +1462,63 @@ class Servo:
 
         return data[self.__class__.__name__]
 
+    ########################################
+    # Autolock
+    ########################################
+    def autolock(self, lock, threshold=None, min=None, max=None, greater=None, relock=None):
+        if not isinstance(lock, int):
+            raise TypeError('lock has to be an integer.')
+        if lock not in range(2):
+            raise ValueError('The lock state is given using integers, where `0: autolock-off`, `1: start/search-peak`, `2: lock-mode`. The user input should either be `0` or `1`, as the rest ist determined by the locking algorithm.')
+        if threshold is None:
+            threshold = self._autolock['threshold']
+        if min is None:
+            min = self.lockSearchMin
+        if max is None:
+            max = self.lockSearchMax
+        if greater is None:
+            greater = self.lockGreater
+        if relock is None:
+            relock = self.relock
+        if not isinstance(greater, bool):
+            raise TypeError('greater must be a bool.')
+        if not isinstance(relock, bool):
+            raise TypeError('greater must be a bool.')
+        try:
+            float(threshold)
+            float(min)
+            float(max)
+        except ValueError:
+            raise TypeError('parameters must be floats or ints.')
+        self._autolock['state'] = lock
+
+        # disable ramp when locking (should be disabled by the GUI, this is mostly for use with a terminal)
+        if lock and self.rampEnabled:
+            self.disableRamp()
+
+        # disabling input and output while searching
+        if lock:
+            self.outputSw = False
+            self.inputSw = False
+        else:
+            self.inputSw = True
+            self.outputSw = True
+
+        index_offset = (self._channel - 1) * 5  # the lock state parameter is set on index 1, 6, 12 etc., as each servo channel occupies 5 indices (as of current version)
+        # the fifth array index is occupied by the a "lastFound" value, which can be use in case of a relock. it is set within the autolock, not as part of the python program
+
+        # set lockmode to 0 while sending new parameters
+        self._adw.SetData_Long([0], settings.DATA_LOCK, 1 + index_offset, 1)
+        # send all values to ADwin
+        self.lockSearchMin = min
+        self.lockSearchMax = max
+        self.lockThreshold = threshold
+        self.lockGreater = greater
+        self.relock = relock
+        lock = general.changeBit(lock, 2, relock)  # adding relock bit
+        # activating lock
+        self._adw.SetData_Long([lock], settings.DATA_LOCK, 1 + index_offset, 1)  # setting the lock state last
+
 
 class FeedbackController(Thread):
     def __init__(self, servo, dT, mtd, voltage_limit, server, port, update_interval=1):
@@ -1344,7 +1549,7 @@ class FeedbackController(Thread):
         return self._dT
 
     @dT.setter
-    def  dT(self, value):
+    def dT(self, value):
         self._dT = value
         self._servo._tempFeedbackSettings['dT'] = value
 
@@ -1353,7 +1558,7 @@ class FeedbackController(Thread):
         return self._mtd
 
     @mtd.setter
-    def  mtd(self, value):
+    def mtd(self, value):
         value = tuple(value)
         self._mtd = value
         self._servo._tempFeedbackSettings['mtd'] = value
@@ -1363,7 +1568,7 @@ class FeedbackController(Thread):
         return self._voltage_limit
 
     @voltage_limit.setter
-    def  voltage_limit(self, value):
+    def voltage_limit(self, value):
         self._voltage_limit = value
         self._servo._tempFeedbackSettings['voltage_limit'] = value
 
@@ -1372,7 +1577,7 @@ class FeedbackController(Thread):
         return self._update_interval
 
     @update_interval.setter
-    def  update_interval(self, value):
+    def update_interval(self, value):
         self._update_interval = value
         self._servo._tempFeedbackSettings['update_interval'] = value
 
diff --git a/src/nqontrol/servoDevice.py b/src/nqontrol/servoDevice.py
index f6d78ef..0b308f9 100644
--- a/src/nqontrol/servoDevice.py
+++ b/src/nqontrol/servoDevice.py
@@ -8,7 +8,6 @@ from nqontrol.servo import Servo
 import json
 import logging as log
 from OpenQlab.analysis.servo_design import ServoDesign
-from OpenQlab import io
 import jsonpickle
 from nqontrol import settings
 from shutil import copyfile
@@ -38,8 +37,6 @@ class ServoDevice:
     DONT_SERIALIZE = ['adw', '_servos', 'deviceNumber']
     DEFAULT_PROCESS = "nqontrol.TC1"
     JSONPICKLE = ['_servoDesign']
-    NUMBER_OF_SERVOS = 8
-    NUMBER_OF_MONITORS = 8
     # Path of the compiled binary. It comes usually with the source code, but can be exchanged.
 
     def __init__(self, deviceNumber=None,
@@ -54,10 +51,10 @@ class ServoDevice:
         else:
             self.adw = ADwin(deviceNumber, raiseExceptions)
         self._servoDesign = ServoDesign()  # The dummy servo design object
-        self._servos = [None] * self.NUMBER_OF_SERVOS
+        self._servos = [None] * settings.NUMBER_OF_SERVOS
         self.deviceNumber = deviceNumber
 
-        self._monitors = [None] * self.NUMBER_OF_MONITORS
+        self._monitors = [None] * settings.NUMBER_OF_MONITORS
 
         try:
             self._bootAdwin(process, reboot=reboot)
@@ -70,7 +67,7 @@ class ServoDevice:
 
         # Adding servos
         names = settings.SERVO_NAMES
-        for i in range(1, self.NUMBER_OF_SERVOS + 1):
+        for i in range(1, settings.NUMBER_OF_SERVOS + 1):
             # Check if a servo name is set in SETTINGS
             if (deviceNumber in names) and (i in names[deviceNumber]):
                 self.addServo(channel=i, name=names[deviceNumber][i])
@@ -130,7 +127,7 @@ class ServoDevice:
         :getter: Runtime in seconds.
         :type:  :obj:`int`
         """
-        return int(self.adw.Get_Par(1))
+        return int(self.adw.Get_Par(settings.PAR_TIMER))
 
     @property
     def rampEnabled(self):
@@ -140,12 +137,12 @@ class ServoDevice:
         :getter: :obj:`False` if disabled, channel number if enabled.
         :type: :obj:`False` or :obj:`int`
         """
-        control = self.adw.Get_Par(3)
+        control = self.adw.Get_Par(settings.PAR_RCR)
         channel = control & 15
         if channel > 0:
             return channel
         else:
-            return False
+            return 0  # 0 is now the false channel
 
     def _bootAdwin(self,
                    process=DEFAULT_PROCESS,
@@ -208,7 +205,7 @@ class ServoDevice:
         -------
         :obj:`Servo`
             Servo object.
-        """.format(self.NUMBER_OF_SERVOS)
+        """.format(settings.NUMBER_OF_SERVOS)
         return self._servos[channel - 1]
 
     def addServo(self, channel, applySettings=None, name=None):
@@ -221,9 +218,9 @@ class ServoDevice:
             Physical channel from 1 to {}.
         applySettings: :obj:`str` or :obj:`dict`
             You can directly apply settings from a json file or a dict.
-        """.format(self.NUMBER_OF_SERVOS)
-        if channel > self.NUMBER_OF_SERVOS or channel < 1:
-            raise IndexError("Choose a channel from 1 to {}!".format(self.NUMBER_OF_SERVOS))
+        """.format(settings.NUMBER_OF_SERVOS)
+        if channel > settings.NUMBER_OF_SERVOS or channel < 1:
+            raise IndexError("Choose a channel from 1 to {}!".format(settings.NUMBER_OF_SERVOS))
         if self._servos[channel - 1] is None:
             self._servos[channel - 1] = Servo(channel, self.adw, applySettings=applySettings, name=name)
         else:
@@ -237,7 +234,7 @@ class ServoDevice:
         ----------
         channel: :obj:`int`
             Number of the physical channel to remove from 1 to {}.
-        """.format(self.NUMBER_OF_SERVOS)
+        """.format(settings.NUMBER_OF_SERVOS)
         self._servos[channel - 1] = None
 
     def disableMonitor(self, monitor_channel):
@@ -250,7 +247,7 @@ class ServoDevice:
             Channel to disable the output.
         """
         self.monitors[monitor_channel - 1] = None
-        self.adw.SetData_Long([0], 6, monitor_channel, 1)
+        self.adw.SetData_Long([0], settings.DATA_MONITORS, monitor_channel, 1)
 
     def enableMonitor(self, monitor_channel, servo, card):
         """
@@ -281,7 +278,7 @@ class ServoDevice:
             raise ValueError('You should choose one of the possible cards for the monitor output.')
 
         self.monitors[monitor_channel - 1] = dict({'servo': servo, 'card': card})
-        self.adw.SetData_Long([monitor], 6, monitor_channel, 1)
+        self.adw.SetData_Long([monitor], settings.DATA_MONITORS, monitor_channel, 1)
 
     def _backupSettingsFile(self, filename):
         if os.path.isfile(filename):
@@ -345,7 +342,7 @@ class ServoDevice:
             Physical channel from 1 to {}.
         applySettings: :obj:`str` or :obj:`dict`
             Settings to apply to the selected :obj:`Servo`.
-        """.format(self.NUMBER_OF_SERVOS)
+        """.format(settings.NUMBER_OF_SERVOS)
         self.servo(channel).loadSettings(applySettings)
 
     def loadDeviceFromJson(self, filename=settings.SETTINGS_FILE):
@@ -372,7 +369,8 @@ class ServoDevice:
         servos = data[self.__class__.__name__]['_servos']
         for s in servos:
             channel = servos[s]['_channel']
-            self.loadServoFromJson(channel, servos[s])
+            if channel <= settings.NUMBER_OF_SERVOS:
+                self.loadServoFromJson(channel, servos[s])
 
         # Loading device parameters
         self._applySettingsDict(data)
diff --git a/src/nqontrol/settings.py b/src/nqontrol/settings.py
index 013a2c1..58665af 100644
--- a/src/nqontrol/settings.py
+++ b/src/nqontrol/settings.py
@@ -44,6 +44,8 @@ LOG_FORMAT = user_config.get('LOG_FORMAT', '%(levelname)s: %(module)s: %(message
 DEBUG = user_config.get('DEBUG', False)
 
 SERVO_NAMES = user_config.get('SERVO_NAMES', {})  # currently only for one device
+NUMBER_OF_SERVOS = user_config.get('NUMBER_OF_SERVOS', 8)
+NUMBER_OF_MONITORS = user_config.get('NUMBER_OF_MONITORS', 8)
 
 # Temperature feedback
 DEFAULT_TEMP_HOST = user_config.get('DEFAULT_TEMP_HOST', '127.0.0.1')
@@ -55,6 +57,28 @@ RAMP_DATA_POINTS = 0x20000
 FIFO_BUFFER_SIZE = 30003  # Buffer size that is choosen on the adwin system.
 FIFO_MAXLEN = 1000
 
+###########################################################################################
+# ADwin parameter index assignments (don't change, these are mostly for better readability)
+###########################################################################################
+PAR_TIMER = 1
+PAR_RELOADBIT = 2
+PAR_RCR = 3  # Ramp Control Register
+PAR_ACTIVE_CHANNEL = 4
+PAR_FIFOSTEPSIZE = 6
+PAR_TIMEDIFF = 7
+PAR_SENSITIVITY = 8
+PAR_FCR = 10  # Filter Control Register, used as `10 + servo_channel`
+
+FPAR_RAMPAMP = 1  # Ramp amplitude
+
+DATA_FILTERCOEFFS = 1
+DATA_OFFSETGAIN = 2
+DATA_FIFO = 3
+DATA_MONITORS = 6
+DATA_SNAP = 7
+DATA_LOCK = 8
+
+
 ##########################################################
 ################# local settings import ##################
 ##########################################################
diff --git a/src/nqontrol/settings_local.sample.py b/src/nqontrol/settings_local.sample.py
index 6388e37..e9c95ff 100644
--- a/src/nqontrol/settings_local.sample.py
+++ b/src/nqontrol/settings_local.sample.py
@@ -3,7 +3,7 @@
 
 #################### Local configuration ####################
 # Use 0 to enable a dummy device. Otherwise use the channel number
-# DEVICES_LIST = [0]  # The 0 is reserved to mock device for testing!
+DEVICES_LIST = [0]  # The 0 is reserved to mock device for testing!
 # DEVICES_LIST = [1]
 
 # SETTINGS_FILE = 'test.json'
@@ -30,4 +30,8 @@
 # When initialized, the ServoDevice will check whether names are available for its deviceNumber.
 
 # DEBUG = True
+
+# NUMBER_OF_SERVOS = 8  # only for one device currently
+# NUMBER_OF_MONITORS = 8  # same
+
 # LOG_LEVEL = 'INFO'
diff --git a/src/tests/test_servo.py b/src/tests/test_servo.py
index ef11977..d0d76b8 100644
--- a/src/tests/test_servo.py
+++ b/src/tests/test_servo.py
@@ -66,7 +66,7 @@ class TestVoltConvertion(unittest.TestCase):
         mode = 0
         self.assertAlmostEqual(servo._convertVolt2Int(10, mode), 0x7fff)
         self.assertAlmostEqual(servo._convertVolt2Int(10, mode, True), 0xffff)
-        self.assertAlmostEqual(servo._convertVolt2Int(3.7, mode), round(0x8000*.37), 0)
+        self.assertAlmostEqual(servo._convertVolt2Int(3.7, mode), round(0x8000 * .37), 0)
         self.assertAlmostEqual(servo._convertVolt2Int(0, mode), 0)
         self.assertAlmostEqual(servo._convertVolt2Int(0, mode, True), 0x8000)
         self.assertAlmostEqual(servo._convertVolt2Int(-10, mode), -0x8000)
@@ -77,7 +77,7 @@ class TestVoltConvertion(unittest.TestCase):
 
         mode = 3
         self.assertAlmostEqual(servo._convertVolt2Int(1.25, mode), 0x7fff)
-        self.assertAlmostEqual(servo._convertVolt2Int(0.4625, mode), round(0x8000*.37), 0)
+        self.assertAlmostEqual(servo._convertVolt2Int(0.4625, mode), round(0x8000 * .37), 0)
         self.assertAlmostEqual(servo._convertVolt2Int(0, mode), 0)
         self.assertAlmostEqual(servo._convertVolt2Int(-1.25, mode), -0x8000)
         # out of range
@@ -105,16 +105,19 @@ class TestVoltConvertion(unittest.TestCase):
 
 class TestServo(unittest.TestCase):
     def setUp(self):
+        settings.NUMBER_OF_SERVOS = 8  # ensure this is 8 for all the servo tests, since sometimes numbers are explicitly set to 7, 8 etc..
+        settings.NUMBER_OF_MONITORS = 8  # same thing
         self.sd = ServoDevice(settings.DEVICES_LIST[0], reboot=True)
-        # self.sd.reboot()
-        self.s = self.sd.servo(2)
+        self.sd.reboot()
+        self.testchannel = 2
+        self.s = self.sd.servo(self.testchannel)
         import nqontrol
         log.warning('nqontrol path: {}'.format(nqontrol.__path__[0]))
         if 'site-packages' in nqontrol.__path__[0]:
             raise Exception('Not running the development code!!!')
 
     def test_checkNumberAndChannel(self):
-        self.assertEqual(self.s._channel, 2)
+        self.assertEqual(self.s._channel, self.testchannel)
 
     def test_filters(self):
         # default filter state
@@ -125,7 +128,7 @@ class TestServo(unittest.TestCase):
             [1, 0, 0, 0, 0],
             [1, 0, 0, 0, 0]
         ]
-        filtersEnabled = [False]*5
+        filtersEnabled = [False] * 5
         self.assertEqual(self.s._state['filters'], filters)
         self.assertEqual(self.s._state['filtersEnabled'], filtersEnabled)
 
@@ -143,7 +146,7 @@ class TestServo(unittest.TestCase):
         self.s._filters = [[0.0] * 5] * 5
         self.assertEqual(self.s.filters, filters)
         self.assertEqual(self.s._state['filters'], filters)
-        for i in range(3, 9):
+        for i in range(3, settings.NUMBER_OF_SERVOS):
             self.assertEqual(self.sd.servo(i).filters, self.s.DEFAULT_FILTERS)
 
     def test_filterControlRegister(self):
@@ -187,8 +190,8 @@ class TestServo(unittest.TestCase):
         # enable FIFO and test correct Parameters
         stepsize = 100
         self.s.enableFifo(stepsize)
-        self.assertEqual(2, self.s._adw.Get_Par(4))  # Test channel
-        self.assertEqual(stepsize, self.s._adw.Get_Par(6))  # Test stepsize
+        self.assertEqual(2, self.s._adw.Get_Par(settings.PAR_ACTIVE_CHANNEL))  # Test channel
+        self.assertEqual(stepsize, self.s._adw.Get_Par(settings.PAR_FIFOSTEPSIZE))  # Test stepsize
         self.s.disableFifo()
         self.assertFalse(self.s.fifoEnabled)
         self.s.enableFifo(1)
@@ -198,30 +201,30 @@ class TestServo(unittest.TestCase):
 
     def test_monitor(self):
         # assign different channels
-        self.sd.enableMonitor(8, 2, card='input')
-        self.sd.enableMonitor(5, 2, card='aux')
-        self.sd.enableMonitor(1, 2, card='output')
-        self.sd.enableMonitor(2, 2, card='input')
-        self.sd.enableMonitor(3, 2, card='ttl')
-        self.assertEqual(self.s._adw.GetData_Long(6, 8, 1)[0], 2)
-        self.assertEqual(self.s._adw.GetData_Long(6, 5, 1)[0], 10)
-        self.assertEqual(self.s._adw.GetData_Long(6, 1, 1)[0], 22)
-        self.assertEqual(self.s._adw.GetData_Long(6, 2, 1)[0], 2)
-        self.assertEqual(self.s._adw.GetData_Long(6, 3, 1)[0], 30)
+        self.sd.enableMonitor(8, self.testchannel, card='input')
+        self.sd.enableMonitor(5, self.testchannel, card='aux')
+        self.sd.enableMonitor(1, self.testchannel, card='output')
+        self.sd.enableMonitor(2, self.testchannel, card='input')
+        self.sd.enableMonitor(3, self.testchannel, card='ttl')
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 8, 1)[0], 2)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 5, 1)[0], 10)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 1, 1)[0], 22)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 2, 1)[0], 2)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 3, 1)[0], 30)
 
         # disable monitor
         self.sd.disableMonitor(1)
         self.sd.disableMonitor(8)
-        self.assertEqual(self.s._adw.GetData_Long(6, 1, 1)[0], 0)
-        self.assertEqual(self.s._adw.GetData_Long(6, 8, 1)[0], 0)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 1, 1)[0], 0)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_MONITORS, 8, 1)[0], 0)
 
         # try wrong channels
         with self.assertRaises(IndexError):
-            self.sd.enableMonitor(0, 2, card='input')
+            self.sd.enableMonitor(0, self.testchannel, card='input')
         with self.assertRaises(IndexError):
-            self.sd.enableMonitor(9, 2, card='input')
+            self.sd.enableMonitor(9, self.testchannel, card='input')
         with self.assertRaises(IndexError):
-            self.sd.enableMonitor(-1, 2, card='input')
+            self.sd.enableMonitor(-1, self.testchannel, card='input')
 
     def test_saveLoadJson(self):
         # TODO better test
@@ -249,14 +252,14 @@ class TestServo(unittest.TestCase):
     def test_offsetGain(self):
         self.s.offset = 9.4
         self.s.gain = 1.5
-        self.assertEqual(self.s._adw.GetData_Double(2, 2, 1)[:], [1.5])
-        self.assertEqual(self.s._adw.GetData_Double(2, 2+8, 1)[0], 30802)
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel, 1)[:], [1.5])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel + 8, 1)[0], 30802)
 
         self.s.gain = 1.0
         self.s.inputSensitivity = 3
-        self.assertEqual(self.s._adw.GetData_Double(2, 2, 1)[:], [0.125])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel, 1)[:], [0.125])
         self.s.offset = 1
-        self.assertEqual(self.s._adw.GetData_Double(2, 2+8, 1)[:], [26214])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel + 8, 1)[:], [26214])
 
     def test_offsetLimits(self):
         for mode in range(4):
@@ -280,8 +283,8 @@ class TestServo(unittest.TestCase):
 
         self.s.enableRamp(5, 5)
         self.assertEqual(self.s._ramp['amplitude'], 5)
-        self.assertEqual(self.s._adw.Get_Par(3), 1282)
-        self.assertEqual(self.s._adw.Get_FPar(1), 0.5)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_RCR), 1282)
+        self.assertEqual(self.s._adw.Get_FPar(settings.FPAR_RAMPAMP), 0.5)
         self.s.realtimePlot()
         settings.SAMPLING_RATE = 200e3
         sleep(.1)
@@ -291,8 +294,8 @@ class TestServo(unittest.TestCase):
         self.s.enableRamp(255, 10)
         self.assertEqual(self.s._ramp['amplitude'], 10)
         self.assertTrue(self.s.rampEnabled)
-        self.assertEqual(self.s._adw.Get_Par(3), 65282)
-        self.assertEqual(self.s._adw.Get_FPar(1), 1.0)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_RCR), 65282)
+        self.assertEqual(self.s._adw.Get_FPar(settings.FPAR_RAMPAMP), 1.0)
         settings.SAMPLING_RATE = 200e3
         self.s.realtimePlot()
         sleep(.1)
@@ -314,16 +317,16 @@ class TestServo(unittest.TestCase):
         self.s.enableRamp()
 
     def test_inputGain(self):
-        self.assertEqual(self.s._adw.Get_Par(8), 0)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_SENSITIVITY), 0)
 
         self.s.inputSensitivity = 2
         self.sd.servo(8).inputSensitivity = 3
-        self.assertEqual(self.s._adw.Get_Par(8), 49160)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_SENSITIVITY), 49160)
 
         self.s.auxSensitivity = 3
-        self.assertEqual(self.s._adw.Get_Par(8), 835592)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_SENSITIVITY), 835592)
         self.sd.servo(7).auxSensitivity = 2
-        self.assertEqual(self.s._adw.Get_Par(8), 537706504)
+        self.assertEqual(self.s._adw.Get_Par(settings.PAR_SENSITIVITY), 537706504)
 
     def test_runtime(self):
         self.s.enableFifo(1)
@@ -332,10 +335,10 @@ class TestServo(unittest.TestCase):
             self.sd.enableMonitor(i, i, card='input')
             self.sd.servo(i).offset = 3
             self.sd.servo(i).auxSw = True
-            self.sd.servo(i).filters = [[7]*5]*5
+            self.sd.servo(i).filters = [[7] * 5] * 5
         sleep(.1)
-        self.assertLess(self.s._adw.Get_Par(7), 4500)
-        self.assertGreater(self.s._adw.Get_Par(7), 2500)
+        self.assertLess(self.s._adw.Get_Par(settings.PAR_TIMEDIFF), 4500)
+        self.assertGreater(self.s._adw.Get_Par(settings.PAR_TIMEDIFF), 2500)
 
     def test_sampling_rate(self):
         CPU_CLK = 1e9
@@ -519,11 +522,11 @@ class TestServo(unittest.TestCase):
     def test_send_state_after_reboot(self):
         sleep(.1)
         time = self.sd.timestamp
-        self.assertEqual(self.s._adw.GetData_Double(2, 2, 1)[:], [1.0])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel, 1)[:], [1.0])
         self.s.gain = 1.5
-        self.assertEqual(self.s._adw.GetData_Double(2, 2, 1)[:], [1.5])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel, 1)[:], [1.5])
         self.sd.reboot()
-        self.assertEqual(self.s._adw.GetData_Double(2, 2, 1)[:], [1.5])
+        self.assertEqual(self.s._adw.GetData_Double(settings.DATA_OFFSETGAIN, self.testchannel, 1)[:], [1.5])
         self.assertLessEqual(self.sd.timestamp, time)
 
     def test_saving_and_loading_with_plant_and_temp_feedback(self):
@@ -547,55 +550,15 @@ class TestServo(unittest.TestCase):
         self.assertEqual(self.s._tempFeedbackSettings['voltage_limit'], 3.6)
         self.assertEqual(self.s._tempFeedbackSettings['update_interval'], 1.3)
 
-    def test_snapping_disables_output(self):
-        def out():
-            return self.s._readoutNewData(10000)['output'].iloc[-1]
-
-        self.s.enableFifo()
-        self.s.offset = 9
-        self.s.offsetSw = True
-        self.s.inputSw = True
-        self.s.outputSw = True
-        sleep(.01)
-        self.assertGreater(out(), 2)
-        self.s.snapSend(5, True)
-        self.s.snapSw = True
-        sleep(.01)
-        self.assertEqual(out(), 0)
-
-    def test_enable_snapping(self):
-        self.assertEqual(self.s._adw.Get_Par(12), 0)
-        self.s.snapSend(-5, False)
-        self.s.snapSw = True
-        self.assertEqual(self.s._adw.Get_Par(12), 8)
-        # Check if it snaps
-        self.s.snapSend(5, False)
-        sleep(1e-3)
-        self.assertEqual(self.s._adw.Get_Par(12), 2)
-        # Snap when signal is higher
-        self.s.snapSend(-5, True)
-        self.s.snapSw = True
-        sleep(1e-3)
-        self.assertEqual(self.s._adw.Get_Par(12), 2)
-
-    def test_stop_ramp_when_snapping(self):
-        self.s.enableRamp(50, 10, False)
-        self.s.snapSend(5, False)
-        self.s.snapSw = True
-        # Check if it snaps
-        sleep(1e-3)
-        # Ramp stopped?
-        self.assertFalse(self.s.rampEnabled)
-
     def test_apply_old_settings(self):
         self.s.outputSw = True
         dict = self.s.getSettingsDict()
-        del dict['_state']['snapSw']
-        self.s.snapSw = True
+        # del dict['_state']['snapSw']
+        # self.s.snapSw = True
         self.s.outputSw = False
         self.assertFalse(self.s.outputSw)
         self.s.loadSettings(dict)
-        self.assertTrue(self.s.snapSw)
+        # self.assertTrue(self.s.snapSw)
         self.assertTrue(self.s.outputSw)
 
     def test_offset_autoset(self):
@@ -622,18 +585,18 @@ class TestServo(unittest.TestCase):
         self.s._waitForBufferFilling()
         mean_corrected = self.s._readoutNewData(10000)['output'].mean()
         self.assertNotEqual(mean_corrected, 0)
-        self.assertAlmostEqual(mean_corrected, 0, places=2)
+        self.assertAlmostEqual(mean_corrected, 0, places=1)
 
     def test_check_control_switch_updates(self):
         self.assertFalse(self.s.inputSw)
         self.assertFalse(self.s.outputSw)
         self.assertFalse(self.s.offsetSw)
-        self.assertFalse(self.s.snapSw)
+        # self.assertFalse(self.s.snapSw)
         self.assertFalse(self.s.auxSw)
         self.s.inputSw = True
         self.s.outputSw = True
         self.s.offsetSw = True
-        self.s.snapSw = True
+        # self.s.snapSw = True
         self.s.auxSw = True
         self.s._state['inputSw'] = False
         self.assertTrue(self.s.inputSw)
@@ -641,33 +604,151 @@ class TestServo(unittest.TestCase):
         self.assertTrue(self.s.outputSw)
         self.s._state['offsetSw'] = False
         self.assertTrue(self.s.offsetSw)
-        self.s._state['snapSw'] = False
-        self.assertTrue(self.s.snapSw)
+        # self.s._state['snapSw'] = False
+        # self.assertTrue(self.s.snapSw)
         self.s._state['auxSw'] = False
         self.assertTrue(self.s.auxSw)
 
-    def test_snapping_getters_and_setters(self):
+    def test_lock_getters_and_setters(self):
+        with self.assertRaises(TypeError):
+            self.s.lockThreshold = 'wrong type'
+        with self.assertRaises(TypeError):
+            self.s.lockSearchMin = 'wrong type'
+        with self.assertRaises(TypeError):
+            self.s.lockSearchMax = 'wrong type'
+        with self.assertRaises(ValueError):
+            self.s.lockSearchMin = -12
+        with self.assertRaises(ValueError):
+            self.s.lockSearchMax = 13
+        self.s.lockSearchMax = 3
+        with self.assertRaises(ValueError):
+            self.s.lockSearchMin = 5
+        self.s.lockSearchMin = 2
+        with self.assertRaises(ValueError):
+            self.s.lockSearchMax = 0
+        with self.assertRaises(TypeError):
+            self.s.lockGreater = 345
+        with self.assertRaises(TypeError):
+            self.s.lockGreater = 'hello'
+        with self.assertRaises(TypeError):
+            self.s.relock = 345
+        with self.assertRaises(TypeError):
+            self.s.relock = 'hello'
+
+    def test_servo_autolock(self):
+        with self.assertRaises(TypeError):
+            self.s.autolock('tach')
+        with self.assertRaises(ValueError):
+            self.s.autolock(5)
         with self.assertRaises(TypeError):
-            self.s.snapSw = 'wrong type'
+            self.s.autolock(1, greater='bla')
         with self.assertRaises(TypeError):
-            self.s.snapSw = 345
+            self.s.autolock(0, threshold='bla')
         with self.assertRaises(TypeError):
-            self.s.snapGreater = 345
+            self.s.autolock(0, min='bla')
         with self.assertRaises(TypeError):
-            self.s.snapGreater = 'bla'
-
-        # Test it reads the real values from adwin
-        self.s.snap = 4.7
-        self.s._snap['limit'] = 'something different'
-        self.assertAlmostEqual(self.s.snap, 4.7, places=4)
-        # Different sensitivity
-        self.auxSensitivity = 3
-        self.s.snap = .7
-        self.s._snap['limit'] = 'something different'
-        self.assertAlmostEqual(self.s.snap, .7, places=3)
-        self.s.snapGreater = False
-        self.s._snap['greater'] = 'something different'
-        self.assertEqual(self.s.snapGreater, False)
+            self.s.autolock(0, max='bla')
+
+        indexoffset = (self.s._channel - 1) * 5
+        print(indexoffset)
+        self.s.autolock(1, 9, 0, 5, True, True)  # setting threshold to 9 should make sure it never runs out of lock state 1
+        threshold = servo._convertVolt2Int(9, self.s.auxSensitivity, True)
+        threshold = general.changeBit(threshold, 16, True)
+        min = servo._convertVolt2Int(0, self.s.auxSensitivity, True)
+        max = servo._convertVolt2Int(5, self.s.auxSensitivity, True)
+        lock = general.changeBit(1, 2, True)
+        # testing the lock parameters
+        sleep(.1)
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[:], [lock])  # will this work?
+        self.assertEqual(self.s._adw.GetData_Long(settings.DATA_LOCK, 2 + indexoffset, 3)[:], [threshold, min, max])
+
+    def test_lock_search_state(self):
+        # set autolock to value that cant be reached, so lock continues looping
+
+        # lock greater
+        self.s.autolock(1, 8, -1, 1, True, False)
+        # switches need to be off for output and Input
+        sleep(.1)
+        self.assertFalse(self.s.inputSw)
+        self.assertFalse(self.s.outputSw)
+        # check lock state, should be `1`
+        indexoffset = (self.s._channel - 1) * 5
+        lock = self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        lock = (lock & 0x3)
+        self.assertEqual(lock, 1)
+
+        # lock smaller
+        self.s.autolock(1, -9, -1, 1, False, True)
+        sleep(.1)
+        self.assertFalse(self.s.inputSw)
+        self.assertFalse(self.s.outputSw)
+        # check lock state, should be `1`
+        lock = self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        lock = (lock & 0x3)
+        self.assertEqual(lock, 1)
+
+    def test_lock_found_state(self):
+        # set autolock to value that will always be reached, so lock gets activated
+
+        # lock greater
+        self.s.autolock(1, -9, -1, 1, True, False)
+        sleep(.4)
+        # state should be `2`
+        # input/output should be enabled
+        self.assertTrue(self.s.inputSw)
+        self.assertTrue(self.s.outputSw)
+        indexoffset = (self.s._channel - 1) * 5
+        lock = self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        lock = (lock & 0x3)
+        self.assertEqual(lock, 2)
+
+        # lock smaller
+        self.s.autolock(1, 9, -1, 1, False, False)
+        sleep(.3)
+        self.assertTrue(self.s.inputSw)
+        self.assertTrue(self.s.outputSw)
+        # check lock state, should be `2`
+        lock = self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        lock = (lock & 0x3)
+        self.assertEqual(lock, 2)
+
+    def test_lock_off_state(self):
+        self.s.inputSw = True
+        self.s.outputSw = True
+        self.s.autolock(0)
+        sleep(.1)
+        self.assertTrue(self.s.inputSw)
+        self.assertTrue(self.s.outputSw)
+        # check lock state
+        indexoffset = (self.s._channel - 1) * 5
+        lock = self.s._adw.GetData_Long(settings.DATA_LOCK, 1 + indexoffset, 1)[0]
+        lock = (lock & 0x3)
+        self.assertEqual(lock, 0)
+
+    def test_lock_disables_ramp(self):
+        self.s.enableRamp()
+        self.s.autolock(1)
+        sleep(1e-3)
+        self.assertFalse(self.s.rampEnabled)
+
+    def test_lock_disables_output_input(self):
+        def out():
+            return self.s._readoutNewData(10000)['output'].iloc[-1]
+
+        self.s.enableFifo()
+        self.assertEqual(out(), 0)
+        self.s.offset = 5
+        self.s.offsetSw = True
+        self.s.inputSw = True
+        self.s.outputSw = True
+        sleep(.01)
+        self.assertGreater(out(), 2)
+        self.s.autolock(1, 9, 1, 2, True, False)
+        sleep(.01)
+        self.assertFalse(self.s.inputSw)
+        self.assertFalse(self.s.outputSw)
+        self.assertLessEqual(out(), 2)
+        self.assertGreaterEqual(out(), 1)
 
 
 class TestServoDevice(unittest.TestCase):
@@ -750,6 +831,7 @@ class TestServoDevice(unittest.TestCase):
 
     def test_servo_names(self):
         settings.DEVICES_LIST = [0]
+        settings.NUMBER_OF_SERVOS = 3
         settings.SERVO_NAMES[0] = {
             1: 'Cavity',
             2: 'Testing',
-- 
GitLab