for learning

Dependencies:   mbed FastPWM

Revision:
225:278b48b86f27
Parent:
223:e26830fbaffd
Child:
226:133f5e9bf4ce
--- a/main.cpp	Mon Dec 28 12:10:50 2020 +0000
+++ b/main.cpp	Wed Dec 30 01:52:49 2020 +0000
@@ -1,4 +1,4 @@
-//201228_2
+//201229_1
 #include "mbed.h"
 #include "FastPWM.h"
 #include "INIT_HW.h"
@@ -199,71 +199,74 @@
 float input_NN[num_input] = { 0.0f };
 
 const float h1[num_input][16] = {
-    {-1.6017948389053345f,1.2721383571624756f,0.1310378611087799f,-0.9444252848625183f,-1.9589552879333496f,1.1329879760742188f,-0.17743819952011108f,-0.19157131016254425f,-0.39761483669281006f,0.02001183293759823f,0.5025057196617126f,-2.509382724761963f,-0.2675858736038208f,0.27560269832611084f,-0.2611466646194458f,-0.9627107977867126f},
-{-1.2710213661193848f,0.9135757684707642f,-0.3988758325576782f,-0.7979171872138977f,-1.4895585775375366f,0.5568610429763794f,-0.4116867780685425f,-0.261433482170105f,-0.22742684185504913f,0.2772603929042816f,0.118864506483078f,-1.5505203008651733f,0.23985113203525543f,-0.2809593081474304f,-0.21292872726917267f,-0.6193060874938965f},
-{-1.1586071252822876f,0.7516070604324341f,0.36955419182777405f,-0.9032031297683716f,-0.9722328782081604f,0.5363096594810486f,0.2916664779186249f,-0.016872992739081383f,-0.34971633553504944f,0.2836141288280487f,-0.054457396268844604f,-0.9038598537445068f,-0.0020234500989317894f,0.19621078670024872f,0.056768983602523804f,-1.1061573028564453f},
-{-0.7506084442138672f,0.1879994422197342f,0.40358296036720276f,0.12524257600307465f,-0.5177642107009888f,-0.18764258921146393f,-0.11764177680015564f,0.31180232763290405f,-0.20574431121349335f,0.42218565940856934f,0.16467393934726715f,0.3004089593887329f,-0.1665881872177124f,0.09486014395952225f,-0.3007376194000244f,-0.8816207051277161f},
-{0.7436127662658691f,-0.604726254940033f,-0.005224883556365967f,0.9320474863052368f,0.5615028142929077f,-0.8275365829467773f,0.13140985369682312f,0.018719080835580826f,-0.24859893321990967f,0.23700864613056183f,-0.41653650999069214f,1.252004861831665f,-0.0686110407114029f,0.23053120076656342f,-0.39249828457832336f,-0.6377205848693848f},
-{3.0718040466308594f,-3.262662887573242f,0.22110894322395325f,2.670456647872925f,2.9312491416931152f,-3.062858819961548f,0.16770240664482117f,-0.1752457618713379f,-0.304975301027298f,0.24974356591701508f,-2.912475347518921f,3.297006845474243f,-0.2682695984840393f,0.3757273256778717f,-0.4196912348270416f,1.0734145641326904f},
-{-1.2198433876037598f,1.5182578563690186f,-0.2540779709815979f,-1.8283756971359253f,-1.570626139640808f,1.7989088296890259f,0.06107431650161743f,-0.7636352777481079f,0.3089294731616974f,-0.09506343305110931f,2.775860548019409f,0.7932590246200562f,-0.17504744231700897f,0.2239564061164856f,-0.15860587358474731f,-0.7237789630889893f},
-{0.7539365291595459f,-0.9152541160583496f,-0.2703247666358948f,0.3871593773365021f,0.3573713004589081f,-0.712091326713562f,-0.18203827738761902f,-0.5724472999572754f,-0.17589353024959564f,-0.025821663439273834f,0.3012785017490387f,0.5540553331375122f,0.3776646554470062f,0.029355080798268318f,0.0436977744102478f,1.1350784301757812f},
-{0.6773941516876221f,-0.1407381296157837f,0.10406997799873352f,-0.31886449456214905f,0.2701631486415863f,-0.2895267903804779f,-0.07359349727630615f,-0.522844135761261f,-0.4761183261871338f,0.22720466554164886f,-0.11068277060985565f,0.17022143304347992f,0.23315370082855225f,0.15179778635501862f,-0.31029027700424194f,0.851940393447876f},
-{0.11661386489868164f,-0.3948979079723358f,0.18748918175697327f,-0.2878238558769226f,0.28554558753967285f,0.11674453318119049f,-0.3036908507347107f,-0.1508290320634842f,-0.14107836782932281f,-0.5925581455230713f,0.2786004841327667f,-1.0318316221237183f,0.37844526767730713f,-0.270053893327713f,0.35390153527259827f,0.38183316588401794f},
-{0.4711846709251404f,0.11557799577713013f,0.3775894343852997f,0.0314268134534359f,0.03386480361223221f,0.016547810286283493f,-0.20654654502868652f,-0.06258935481309891f,-0.4769713580608368f,-0.07612045109272003f,0.6390635967254639f,-0.8360038995742798f,-0.06711658090353012f,-0.030321964994072914f,0.2710213363170624f,-0.054686423391103745f},
-{-0.37094420194625854f,-0.2944038212299347f,-0.40945154428482056f,-0.18097494542598724f,0.14135384559631348f,0.021318335086107254f,0.15575703978538513f,0.29287639260292053f,-0.12214788794517517f,0.1086469367146492f,-0.14901117980480194f,-0.15198558568954468f,0.1470927745103836f,-0.03396562486886978f,0.10656675696372986f,0.06443876773118973f},
-{0.025174643844366074f,-0.12816596031188965f,0.2015570104122162f,0.1076304167509079f,0.45414742827415466f,0.19509439170360565f,-0.24415965378284454f,0.013022400438785553f,-0.10836649686098099f,-0.29661229252815247f,0.09127697348594666f,-0.21214918792247772f,0.09341105818748474f,0.01174785103648901f,-0.22613362967967987f,-0.3625008761882782f},
-{-0.04146391525864601f,-0.02673570066690445f,0.41918185353279114f,-0.1233106479048729f,-0.07927072793245316f,-0.1876136064529419f,-0.32497477531433105f,-0.4840133786201477f,-0.044291287660598755f,-0.3259299099445343f,0.04178468510508537f,-0.0003480979357846081f,-0.31783685088157654f,-0.05072624981403351f,0.04871204495429993f,-0.08137178421020508f},
-{0.1422140747308731f,0.18844546377658844f,0.20596781373023987f,-0.2328251153230667f,0.34344229102134705f,0.06260570883750916f,0.042680561542510986f,0.07508613914251328f,0.4000869691371918f,-0.010638000443577766f,0.13212932646274567f,-0.657844066619873f,0.10472581535577774f,-0.038563571870326996f,0.06784489750862122f,-0.2556094229221344f},
-{0.15386898815631866f,-0.49337783455848694f,-0.4106670916080475f,-0.4150790572166443f,-0.05264211446046829f,-0.05708514153957367f,-0.15809619426727295f,-0.20627009868621826f,0.27094385027885437f,-0.09812130033969879f,-0.3514001667499542f,-0.9586353898048401f,-0.275861918926239f,0.02052518166601658f,-0.08373728394508362f,-0.0018482634332031012f},
+    {-2.2697463035583496f,2.1160788536071777f,0.12903714179992676f,-2.311962842941284f,-2.033754587173462f,2.1115450859069824f,-0.17472904920578003f,-0.3331819772720337f,0.2245292067527771f,-0.09310080856084824f,-0.2364850789308548f,-2.479942560195923f,-0.27122363448143005f,0.29293036460876465f,-0.2571594715118408f,0.7997570633888245f},
+{-1.6175206899642944f,0.8747233748435974f,-0.3927857577800751f,-0.6210108995437622f,-0.6867057681083679f,1.4515836238861084f,-0.4054011106491089f,0.34664079546928406f,0.21746966242790222f,0.1651710569858551f,-0.2733224928379059f,-1.6616266965866089f,0.2283460944890976f,-0.26786449551582336f,-0.20967772603034973f,0.3615615665912628f},
+{-1.2485815286636353f,0.6323836445808411f,0.36391180753707886f,-0.49815866351127625f,-0.37574639916419983f,1.3529977798461914f,0.2872133255004883f,-0.07520823925733566f,-0.04353624954819679f,0.17607754468917847f,-0.3472820818424225f,-1.1856549978256226f,-0.009962721727788448f,0.1882459670305252f,0.05590221285820007f,-0.1354839950799942f},
+{-0.37035778164863586f,0.2764766216278076f,0.39742106199264526f,0.09786108881235123f,-0.4552900493144989f,0.47079044580459595f,-0.11584559082984924f,-0.6199881434440613f,-0.021246016025543213f,0.3174647390842438f,0.09640467911958694f,0.03453358635306358f,-0.1721496433019638f,0.07347317785024643f,-0.2961459457874298f,0.04657832905650139f},
+{1.5702474117279053f,-0.40184739232063293f,-0.0051451027393341064f,0.516058623790741f,0.32582345604896545f,-0.2775055170059204f,0.1294034719467163f,-0.8100912570953369f,-0.1856280118227005f,0.1411595642566681f,0.3481818735599518f,1.010986089706421f,-0.07578666508197784f,0.19066327810287476f,-0.3865056037902832f,-0.6756601929664612f},
+{3.921570062637329f,-3.473679304122925f,0.21773302555084229f,2.6134684085845947f,3.3160603046417236f,-2.2699544429779053f,0.16514194011688232f,1.4215986728668213f,-0.3945431411266327f,0.1619565188884735f,-0.2475448101758957f,2.8288304805755615f,-0.27247968316078186f,0.3155742287635803f,-0.4132833778858185f,-1.749335765838623f},
+{1.2228211164474487f,-0.18562108278274536f,-0.2501986622810364f,0.04795699566602707f,-1.3927079439163208f,-0.08277851343154907f,0.06014183163642883f,-2.607146978378296f,0.24616490304470062f,0.024721112102270126f,0.14736972749233246f,0.5134474039077759f,-0.18025311827659607f,0.267583966255188f,-0.15618428587913513f,0.18829205632209778f},
+{-0.38914060592651367f,0.98116135597229f,-0.26619744300842285f,-0.7627539038658142f,-2.5764272212982178f,-1.3153140544891357f,-0.17925891280174255f,-3.5242974758148193f,-0.1522589921951294f,0.11010321229696274f,0.10167164355516434f,-1.0037798881530762f,0.36388099193573f,0.025797873735427856f,0.04303058981895447f,0.9441773891448975f},
+{-0.23711659014225006f,0.03749708831310272f,0.10248100757598877f,2.0582423210144043f,-0.4214884340763092f,-0.7755205035209656f,-0.07246989011764526f,-2.1488499641418457f,-0.816179633140564f,0.3885577917098999f,-0.3009353578090668f,-0.44453397393226624f,0.2216866910457611f,0.1190120130777359f,-0.30555272102355957f,-0.11512482911348343f},
+{-0.3486669361591339f,-1.4357330799102783f,0.18462657928466797f,3.3947975635528564f,1.2537645101547241f,0.9114041924476624f,-0.2990540862083435f,0.1948457658290863f,-0.6949117183685303f,-0.40582966804504395f,-0.011856677010655403f,-1.1777557134628296f,0.3652753233909607f,-0.3004799783229828f,0.3484981060028076f,-1.0257669687271118f},
+{-0.30276724696159363f,-0.7243128418922424f,0.37182438373565674f,1.9109848737716675f,0.7817525267601013f,1.4623398780822754f,-0.20339298248291016f,0.6901871562004089f,-0.8227569460868835f,0.08449453860521317f,0.34513503313064575f,-1.261414885520935f,-0.07331579923629761f,-0.05159478262066841f,0.26688337326049805f,-1.0774604082107544f},
+{-0.5955638289451599f,-0.7636374235153198f,-0.40320003032684326f,-0.14073055982589722f,0.5583768486976624f,1.3839830160140991f,0.1533789038658142f,0.5793758630752563f,-0.25771084427833557f,0.23128938674926758f,-0.41701540350914f,-0.2349357008934021f,0.1380450278520584f,-0.0441913828253746f,0.10493969917297363f,-0.5167906880378723f},
+{-0.23121966421604156f,-0.2530200779438019f,0.19847965240478516f,-0.9911980032920837f,0.5122191309928894f,0.7782383561134338f,-0.2404318004846573f,0.15677829086780548f,-0.15089081227779388f,-0.203257218003273f,-0.1118941530585289f,-0.38195863366127014f,0.08519630134105682f,-0.003126929048448801f,-0.22268100082874298f,-0.6037920713424683f},
+{-0.1271163672208786f,-0.24466533958911896f,0.4127817749977112f,-0.8709549307823181f,0.2099313586950302f,-0.9028926491737366f,-0.32001304626464844f,0.17364360392093658f,-0.13172510266304016f,-0.25422778725624084f,-0.1979030817747116f,-0.008686555549502373f,-0.3198285400867462f,-0.08344824612140656f,0.0479682981967926f,-0.21525290608406067f},
+{-0.12931154668331146f,0.057841233909130096f,0.20282304286956787f,-0.4424556791782379f,0.42240244150161743f,-1.6744434833526611f,0.04202890396118164f,0.0643862709403038f,0.28223463892936707f,0.04564328491687775f,-0.2825957238674164f,-0.5040830969810486f,0.09628073871135712f,-0.0957854762673378f,0.0668090283870697f,0.07157763838768005f},
+{-0.06334788352251053f,-0.23721008002758026f,-0.40439701080322266f,-0.7362864017486572f,-0.05272766202688217f,-2.7526774406433105f,-0.15568238496780396f,0.04001821205019951f,0.23508107662200928f,-0.042920272797346115f,-0.4774540960788727f,-0.06895071268081665f,-0.2785647511482239f,-0.062423594295978546f,-0.08245879411697388f,0.04138099402189255f},
+{-0.16436980664730072f,-0.5228402018547058f,0.16706281900405884f,-2.2984442710876465f,0.07267970591783524f,-4.615265846252441f,-0.041414469480514526f,0.38444995880126953f,0.1214236170053482f,0.0537165142595768f,-0.357377290725708f,-0.06932318210601807f,0.10447091609239578f,0.2719307839870453f,0.29427415132522583f,-0.21438637375831604f},
 };
 
 const float h2[16][16] = {
-    {-0.9739745259284973f,3.579744815826416f,-0.06966331601142883f,0.8622938990592957f,-0.21907491981983185f,2.2829554080963135f,-0.13155855238437653f,-0.014519207179546356f,-0.43008196353912354f,-0.1415480375289917f,0.17231711745262146f,-4.9480390548706055f,-0.02454538829624653f,-1.7999197244644165f,-0.38519009947776794f,1.4918317794799805f},
-{0.03609159216284752f,-0.6491178274154663f,0.057057321071624756f,-0.5475255846977234f,-0.35503754019737244f,-3.0916311740875244f,-0.5200656652450562f,-0.42126399278640747f,-0.33757925033569336f,0.2895788848400116f,-0.4909915030002594f,-1.1257127523422241f,0.18442146480083466f,1.348382830619812f,-0.5171104669570923f,-2.655162811279297f},
+    {0.6870895624160767f,3.6746487617492676f,-0.06966331601142883f,-1.0642476081848145f,-0.21907491981983185f,5.141122817993164f,2.485464572906494f,-0.049610212445259094f,-0.43008196353912354f,-0.1415480375289917f,1.8557672500610352f,-0.5127325057983398f,0.020933745428919792f,-4.127963066101074f,0.8898313641548157f,-2.5996580123901367f},
+{-0.5193911194801331f,-2.089723825454712f,0.057057321071624756f,-0.2761891186237335f,-0.35503754019737244f,-1.4439270496368408f,2.9152603149414062f,-0.265109658241272f,-0.33757925033569336f,0.2895788848400116f,3.4944498538970947f,-0.6352575421333313f,0.20874691009521484f,0.22130528092384338f,-2.37044358253479f,-3.2518551349639893f},
 {-0.22745239734649658f,0.003037691116333008f,-0.061119019985198975f,0.35696902871131897f,0.05568113923072815f,0.011741191148757935f,-0.20225946605205536f,-0.08465918898582458f,0.3489862382411957f,0.0687277615070343f,0.31964078545570374f,0.3004753887653351f,0.36063823103904724f,-0.42892736196517944f,0.08652284741401672f,0.027493387460708618f},
-{0.15409719944000244f,0.4271918833255768f,-0.2894435524940491f,0.4524352252483368f,0.08946844935417175f,-0.24254196882247925f,-0.5646932125091553f,0.2643083930015564f,0.26211628317832947f,0.2953031361103058f,0.0909804254770279f,0.8597109913825989f,-0.5144365429878235f,-2.37484073638916f,-0.026095986366271973f,0.29753774404525757f},
-{-0.7763098478317261f,2.959994316101074f,-0.25313520431518555f,0.5777999758720398f,0.036378175020217896f,0.7788732051849365f,-0.5079860091209412f,-0.20636579394340515f,-0.024399548768997192f,-0.39465832710266113f,-0.4901541471481323f,-3.3827083110809326f,-0.013386494480073452f,-1.876047134399414f,-0.6391417384147644f,0.6140359044075012f},
-{0.020159810781478882f,0.545926034450531f,-0.3519742488861084f,-0.17923703789710999f,-0.3015052080154419f,-1.5342668294906616f,-0.7026005387306213f,-0.12369749695062637f,-0.23047015070915222f,0.3579089343547821f,-0.2382185161113739f,-5.193862438201904f,-0.3443910777568817f,1.945488691329956f,0.014947117306292057f,-1.2414220571517944f},
+{-0.29042911529541016f,0.0850529670715332f,-0.2894435524940491f,0.9083148241043091f,0.08946844935417175f,-0.3694393038749695f,-1.9789056777954102f,0.30597805976867676f,0.26211628317832947f,0.2953031361103058f,0.3806999921798706f,-0.18785648047924042f,-0.5432137846946716f,-1.2326310873031616f,0.4557395577430725f,0.36813783645629883f},
+{0.05463621765375137f,1.648303747177124f,-0.25313520431518555f,2.1411404609680176f,0.036378175020217896f,0.2640312910079956f,-2.3572585582733154f,-0.3157302737236023f,-0.024399548768997192f,-0.39465832710266113f,0.08887764811515808f,-1.0177232027053833f,-0.03325901925563812f,-0.377375066280365f,-1.5176246166229248f,-1.3263354301452637f},
+{-0.27445268630981445f,0.044222280383110046f,-0.3519742488861084f,0.020389582961797714f,-0.3015052080154419f,-0.05877840891480446f,-0.1295541524887085f,0.031063230708241463f,-0.23047015070915222f,0.3579089343547821f,0.12515008449554443f,-0.3939391076564789f,-0.34014707803726196f,0.8548136949539185f,0.2128278762102127f,-0.009794359095394611f},
 {-0.1828227937221527f,-0.02554568648338318f,-0.3260969817638397f,0.08422836661338806f,-0.38453540205955505f,-0.25432005524635315f,0.285016268491745f,0.12387624382972717f,-0.0982072651386261f,0.13111665844917297f,-0.03692615032196045f,-0.32796353101730347f,-0.21546880900859833f,0.049302369356155396f,-0.27088475227355957f,-0.4124959409236908f},
-{0.3839884400367737f,0.6259503960609436f,0.33083590865135193f,0.04438639059662819f,-0.14358049631118774f,0.12416914105415344f,-0.09043094515800476f,-0.3003333508968353f,0.2600560486316681f,-0.37898191809654236f,0.4972154498100281f,-0.2750113010406494f,-0.31673234701156616f,-0.015966646373271942f,-0.08780939131975174f,0.328056275844574f},
-{-0.4527643918991089f,0.3202667832374573f,-0.11379697918891907f,0.0684560090303421f,0.041274964809417725f,-0.40635451674461365f,-0.2745489478111267f,0.031847670674324036f,0.06103590130805969f,-0.38046833872795105f,-0.45007404685020447f,-0.5276026725769043f,-0.37024784088134766f,-0.3135625123977661f,-0.3714982867240906f,-0.12828999757766724f},
-{0.2802984118461609f,0.5001301765441895f,-0.13502129912376404f,0.6260269284248352f,0.12987366318702698f,0.6041213870048523f,0.2711336314678192f,-0.3632148504257202f,-0.13619378209114075f,0.16938945651054382f,0.5018476247787476f,0.3686026930809021f,0.3811538517475128f,-0.5396527647972107f,-0.19131632149219513f,0.09156869351863861f},
-{-1.5928384065628052f,0.23942683637142181f,0.0457797646522522f,-0.6350169777870178f,-0.03321319818496704f,0.08973085880279541f,-0.18186365067958832f,-0.3142535090446472f,-0.050184011459350586f,0.12480869889259338f,-0.5123732089996338f,-4.090933799743652f,-0.4121001660823822f,1.199095368385315f,-0.18886037170886993f,-0.7048641443252563f},
-{0.03677457198500633f,0.4954114556312561f,0.3954955041408539f,0.2689988911151886f,0.0033026933670043945f,1.278443694114685f,-0.4117635190486908f,-0.24394789338111877f,0.3487861454486847f,-0.32520344853401184f,0.14627091586589813f,-0.9104770421981812f,-0.07545550167560577f,-1.3930959701538086f,0.008092201314866543f,-1.8283593654632568f},
-{-0.31720414757728577f,-0.21001535654067993f,-0.15798500180244446f,0.3665239214897156f,-0.37393757700920105f,0.37094148993492126f,0.11292675137519836f,-0.2947862446308136f,-0.3764709532260895f,0.2424570620059967f,-0.1080506220459938f,-0.2837170362472534f,0.41839322447776794f,-0.01957082748413086f,-0.12957632541656494f,0.10856001079082489f},
-{0.03818705305457115f,0.27717405557632446f,-0.2018718123435974f,0.06585641950368881f,0.07545611262321472f,0.05265878140926361f,-0.11297860741615295f,-0.21416273713111877f,-0.24509364366531372f,0.19522181153297424f,0.351835161447525f,-0.2859584093093872f,-0.16718891263008118f,0.23180222511291504f,-0.23956191539764404f,-0.07242263853549957f},
+{-0.7745811343193054f,0.43823742866516113f,0.33083590865135193f,0.32325437664985657f,-0.14358049631118774f,-0.5838668942451477f,-2.7892940044403076f,-0.4364927411079407f,0.2600560486316681f,-0.37898191809654236f,0.48453131318092346f,-0.45433786511421204f,-0.4077425003051758f,0.10996997356414795f,-4.25514030456543f,-3.7227020263671875f},
+{-0.006837370339781046f,0.1642095148563385f,-0.11379697918891907f,0.33623170852661133f,0.041274964809417725f,-0.5825773477554321f,-0.1624518483877182f,0.0019084513187408447f,0.06103590130805969f,-0.38046833872795105f,0.1595766246318817f,-0.545246958732605f,-0.37024784088134766f,-0.1575523167848587f,-0.09610440582036972f,-0.48694995045661926f},
+{-0.1087164357304573f,0.3503989279270172f,-0.13502129912376404f,-0.060202471911907196f,0.12987366318702698f,0.12094435840845108f,0.2711336314678192f,-0.3632148504257202f,-0.13619378209114075f,0.16938945651054382f,0.13571058213710785f,0.3872660994529724f,0.3811538517475128f,-0.35255753993988037f,-0.006949732080101967f,-0.2228918820619583f},
+{-0.2894132733345032f,0.011871201917529106f,0.0457797646522522f,-0.35378244519233704f,-0.03321319818496704f,-0.4036423861980438f,0.17873415350914001f,-0.20421427488327026f,-0.050184011459350586f,0.12480869889259338f,-0.19837161898612976f,0.3545852601528168f,-0.3647043704986572f,0.4003598093986511f,-0.41271811723709106f,-0.26710039377212524f},
+{0.3008931577205658f,-0.14995072782039642f,0.3954955041408539f,0.5216120481491089f,0.0033026933670043945f,0.2185026854276657f,0.2904948890209198f,-0.13695485889911652f,0.3487861454486847f,-0.32520344853401184f,0.06570026278495789f,-0.4404744505882263f,-0.03746383264660835f,0.36095479130744934f,-0.4144689738750458f,0.08218350261449814f},
+{-0.2646476626396179f,-0.2206238955259323f,-0.15798500180244446f,0.37385594844818115f,-0.37393757700920105f,0.35715484619140625f,0.11292675137519836f,-0.2947862446308136f,-0.3764709532260895f,0.2424570620059967f,-0.11781324446201324f,-0.2837170362472534f,0.41839322447776794f,-0.007101783994585276f,-0.11921016871929169f,0.0991160050034523f},
+{-0.2612467110157013f,0.26446953415870667f,-0.2018718123435974f,-0.04702913016080856f,0.07545611262321472f,0.04219565540552139f,-0.11297860741615295f,-0.21416273713111877f,-0.24509364366531372f,0.19522181153297424f,0.3128192722797394f,-0.28594154119491577f,-0.16718891263008118f,0.237469881772995f,-0.22471296787261963f,-0.08226354420185089f},
 {0.4138670265674591f,0.1604653298854828f,0.056746453046798706f,0.036025404930114746f,0.3228367865085602f,-0.07083973288536072f,0.018455177545547485f,0.0059362053871154785f,0.40515169501304626f,0.014240056276321411f,-0.07738298177719116f,0.1407785713672638f,-0.13024571537971497f,-0.29546058177948f,-0.11976784467697144f,-0.35825538635253906f},
-{-1.0752074718475342f,-2.8200089931488037f,0.12081471085548401f,-0.12609876692295074f,0.29976895451545715f,0.4510769844055176f,-0.2826606035232544f,0.18327592313289642f,-0.3893685042858124f,-0.02222958207130432f,-0.19482164084911346f,-0.37641236186027527f,-0.19991017878055573f,-1.0054714679718018f,0.06622982025146484f,1.2732210159301758f},
+{-0.7134329676628113f,-0.052853863686323166f,0.12081471085548401f,0.0885314866900444f,0.29976895451545715f,0.13591955602169037f,0.4252123534679413f,0.31089308857917786f,-0.3893685042858124f,-0.02222958207130432f,0.368678480386734f,-0.4235660135746002f,-0.3287670612335205f,-0.030784178525209427f,-0.33652985095977783f,0.15664343535900116f},
 };
 
 const float h3[16][16] = {
-    {-0.36079341173171997f,0.5496202707290649f,-0.6524567604064941f,-1.0138130187988281f,-0.7639057636260986f,0.5781964063644409f,0.3332441747188568f,0.3036012351512909f,-0.2405819296836853f,0.04891335964202881f,-0.11870327591896057f,0.4001283347606659f,-0.533208429813385f,0.9845144152641296f,0.32505926489830017f,-0.19595709443092346f},
-{0.047732532024383545f,0.017954785376787186f,-0.18629395961761475f,-0.9162130951881409f,-0.43290695548057556f,-4.281400680541992f,-0.3198729455471039f,0.06247803568840027f,-0.19349214434623718f,-0.9508686065673828f,0.2572092115879059f,-0.41319137811660767f,-0.35956844687461853f,-0.5297766327857971f,0.10103966295719147f,-0.7109990119934082f},
+    {-0.36079341173171997f,-0.011012091301381588f,-0.08469975739717484f,-0.05051663517951965f,-0.13180319964885712f,0.03014490008354187f,0.3332441747188568f,0.3036012351512909f,0.12052453309297562f,-0.07464778423309326f,-0.11870327591896057f,0.4001283347606659f,0.05569266155362129f,0.3470017910003662f,0.2124619036912918f,0.6467408537864685f},
+{0.047732532024383545f,-0.4710002541542053f,-3.973160743713379f,-1.6878151893615723f,-1.8207725286483765f,0.9388903975486755f,-0.2720594108104706f,0.06247803568840027f,-1.3784089088439941f,-0.3999633491039276f,0.2454482764005661f,0.4260072708129883f,-1.9264519214630127f,-0.9032373428344727f,1.5214601755142212f,-0.7143508195877075f},
 {0.07903262972831726f,0.2790505588054657f,-0.07798504829406738f,0.04248586297035217f,-0.1963958442211151f,-0.19260792434215546f,-0.4038352966308594f,0.015906542539596558f,0.15353140234947205f,0.030178606510162354f,0.2488909661769867f,0.13805970549583435f,-0.0816211998462677f,-0.20733052492141724f,-0.3036302626132965f,0.054825395345687866f},
-{-0.30922991037368774f,-0.05632366985082626f,-1.3186177015304565f,-0.9530683755874634f,-0.49597063660621643f,0.2564902603626251f,0.20021501183509827f,0.07002416253089905f,-0.4060443043708801f,-0.4593014717102051f,0.13192829489707947f,0.41021624207496643f,-0.2266009896993637f,0.25329798460006714f,0.28113701939582825f,-0.15740571916103363f},
+{-0.30922991037368774f,0.1856261044740677f,0.2812199592590332f,-0.2940351665019989f,-0.5251300930976868f,1.2234913110733032f,0.04465974494814873f,0.07002416253089905f,-0.7640371322631836f,-0.5844600796699524f,-0.056033775210380554f,-1.5783137083053589f,-0.22802484035491943f,0.5673947334289551f,-0.09663663804531097f,0.0034908787347376347f},
 {-0.39607733488082886f,-0.05481579899787903f,0.1976260244846344f,0.022423356771469116f,0.16892847418785095f,-0.27518749237060547f,0.16012099385261536f,0.3626593053340912f,-0.08640444278717041f,-0.11053556203842163f,-0.10529157519340515f,-0.31317979097366333f,-0.1530032455921173f,-0.1336749792098999f,0.22959044575691223f,0.19986507296562195f},
-{-0.37449589371681213f,-0.02029903419315815f,-2.5072414875030518f,-12.973404884338379f,0.2337467223405838f,1.0865919589996338f,-0.18732719123363495f,0.22384825348854065f,-0.850281298160553f,-0.4489060342311859f,-0.23735009133815765f,0.05998014658689499f,0.23774290084838867f,0.08863037824630737f,0.5211813449859619f,-1.1956897974014282f},
-{0.4110594093799591f,0.2715781033039093f,-0.12724249064922333f,0.37246426939964294f,-0.06906148046255112f,-0.05251416191458702f,-0.08670487999916077f,-0.25336313247680664f,-0.030661463737487793f,-0.06259563565254211f,-0.1344406008720398f,0.35313835740089417f,0.13369451463222504f,0.2011522799730301f,0.3126353323459625f,-0.3391006588935852f},
-{-0.40892091393470764f,0.04420051723718643f,-0.26215535402297974f,0.25968697667121887f,0.4493691027164459f,-0.16038022935390472f,-0.23312048614025116f,-0.390264093875885f,0.28059282898902893f,-0.1559126079082489f,-0.14134526252746582f,-0.0003446042537689209f,-0.17052586376667023f,-0.4737553000450134f,0.08030081540346146f,0.005298197269439697f},
+{-0.37449589371681213f,0.5151291489601135f,-2.110109329223633f,0.039931271225214005f,-0.3436148762702942f,0.45118024945259094f,-0.18732719123363495f,0.22384825348854065f,-3.0164310932159424f,-0.3240533769130707f,-0.19109833240509033f,1.3143516778945923f,0.5283421874046326f,0.049671806395053864f,0.1680707335472107f,1.2531133890151978f},
+{0.4110594093799591f,0.33176305890083313f,-0.4520510137081146f,-3.3476786613464355f,0.948876678943634f,0.008992924354970455f,-0.08670487999916077f,-0.25336313247680664f,-0.25318628549575806f,-0.3312968611717224f,0.0184091255068779f,-0.24467864632606506f,1.1397196054458618f,-19.880067825317383f,-0.41450992226600647f,0.6386731863021851f},
+{-0.40892091393470764f,0.06075982749462128f,-0.2628916800022125f,0.02211926504969597f,0.17967818677425385f,0.1892240345478058f,-0.23312048614025116f,-0.390264093875885f,0.16904254257678986f,-0.1559126079082489f,-0.14134526252746582f,-0.14881500601768494f,-0.3672119975090027f,-0.12088104337453842f,0.2601229250431061f,-0.13139896094799042f},
 {0.10697010159492493f,-0.12228584289550781f,-0.37870171666145325f,0.21184906363487244f,-0.37222859263420105f,-0.17138728499412537f,-0.1382003128528595f,0.3493293821811676f,-0.360889196395874f,-0.3875247836112976f,0.42142823338508606f,-0.3482915461063385f,-0.3289247751235962f,-0.2186824083328247f,0.09620395302772522f,-0.06898030638694763f},
 {0.2847062647342682f,0.018552124500274658f,0.11435768008232117f,0.36562982201576233f,-0.047046810388565063f,0.30447837710380554f,0.2430230677127838f,0.2909286320209503f,-0.2802048921585083f,0.18043199181556702f,0.41849127411842346f,-0.287167489528656f,0.24394884705543518f,-0.14084559679031372f,-0.10168051719665527f,0.010465055704116821f},
-{0.15459725260734558f,0.3123319149017334f,0.10377500206232071f,-0.044353384524583817f,-0.2320195883512497f,0.12762269377708435f,-0.08742031455039978f,0.05785742402076721f,-0.07219423353672028f,-0.2943510413169861f,0.1268840730190277f,-0.30447322130203247f,-0.044554103165864944f,-0.20284022390842438f,0.5049844980239868f,0.23406195640563965f},
-{-0.408692330121994f,0.7442746162414551f,-0.3166918158531189f,-0.5923694968223572f,-2.5536251068115234f,2.459355354309082f,0.03285527229309082f,0.38763079047203064f,-0.20705322921276093f,-0.25883403420448303f,0.12809070944786072f,0.03996849060058594f,1.5557342767715454f,2.810499429702759f,0.883807361125946f,-0.5292647480964661f},
-{-0.2991822361946106f,0.3794580399990082f,-0.07897943258285522f,-0.05932474136352539f,-0.019097916781902313f,0.10188531875610352f,-0.11253207921981812f,0.34576353430747986f,0.04814547300338745f,-0.35770976543426514f,-0.044228196144104004f,-0.36229726672172546f,0.015840977430343628f,-0.13475483655929565f,0.36124154925346375f,-0.16869547963142395f},
-{-0.2675279378890991f,-0.4076881408691406f,0.6109089851379395f,1.124742865562439f,0.791110098361969f,-1.8034776449203491f,-0.32875844836235046f,-0.31893211603164673f,-0.6889935731887817f,-1.1343306303024292f,-0.5256567001342773f,-0.8404866456985474f,1.0291988849639893f,-1.3514559268951416f,0.12213380634784698f,0.17103822529315948f},
-{-0.015470266342163086f,-0.23503242433071136f,0.13451209664344788f,0.36471807956695557f,-0.08753460645675659f,-0.20316985249519348f,0.05196094512939453f,-0.008358269929885864f,-0.4239840805530548f,-0.38441595435142517f,0.13179203867912292f,-0.11511552333831787f,0.07671336829662323f,0.1646096110343933f,0.19001242518424988f,-0.29890790581703186f},
-{0.1863725483417511f,-0.07918193191289902f,-0.8252384066581726f,-36.685184478759766f,1.862860083580017f,1.8086168766021729f,0.04860696196556091f,0.17769548296928406f,-0.32842522859573364f,-0.40967434644699097f,-0.3929237127304077f,-0.0008496989612467587f,2.3736817836761475f,1.629492998123169f,-0.45149895548820496f,-0.32196617126464844f},
+{0.15459725260734558f,1.7241225242614746f,-0.6365997791290283f,-0.35132426023483276f,0.17890878021717072f,-0.6558207869529724f,-0.08742031455039978f,0.05785742402076721f,-0.03979473561048508f,-0.39906400442123413f,-0.15960898995399475f,1.2954472303390503f,-2.621685266494751f,-1.0401958227157593f,0.6017050743103027f,1.5809630155563354f},
+{-0.408692330121994f,-0.29477816820144653f,0.03837122768163681f,-0.11855655163526535f,0.060835614800453186f,-0.262676477432251f,0.03285527229309082f,0.38763079047203064f,-0.3194047212600708f,-0.25883403420448303f,0.12809070944786072f,0.03996849060058594f,-0.5533397197723389f,-0.2563649117946625f,-0.37028229236602783f,0.15349136292934418f},
+{-0.2991822361946106f,0.22577506303787231f,-0.07897943258285522f,0.07559660822153091f,0.1937188357114792f,0.11779775470495224f,-0.11253207921981812f,0.34576353430747986f,0.16782228648662567f,-0.35770976543426514f,-0.044228196144104004f,-0.36229726672172546f,0.015840977430343628f,-0.13475483655929565f,0.4367380738258362f,-0.03075362741947174f},
+{-0.2675279378890991f,-0.3534528315067291f,0.795311689376831f,-3.40805721282959f,-0.04898405075073242f,-0.01076955534517765f,-0.42279961705207825f,-0.31893211603164673f,-0.8699809908866882f,-0.7178359627723694f,-0.5807120203971863f,0.3136196434497833f,0.3418859839439392f,0.009392887353897095f,-0.25633153319358826f,0.2063475251197815f},
+{-0.015470266342163086f,-0.33451321721076965f,-1.8089319467544556f,0.1993291825056076f,-1.3866753578186035f,-0.6183779239654541f,-0.13107649981975555f,-0.008358269929885864f,-0.1463192254304886f,-0.5245264768600464f,0.15223190188407898f,-0.3079873025417328f,0.01583760976791382f,-0.49864935874938965f,1.9532345533370972f,1.1015044450759888f},
+{0.1863725483417511f,-1.3953653573989868f,-0.785886287689209f,-1.5119303464889526f,1.1382683515548706f,0.32635053992271423f,-0.12577135860919952f,0.17769548296928406f,-0.13496801257133484f,0.0018981441389769316f,-0.4641093313694f,0.44618114829063416f,0.9706767797470093f,-3.185784339904785f,-4.110508918762207f,-0.701421856880188f},
 };
 
-const float hout[16] = { 0.45773375034332275f,0.3443804383277893f,-0.43964359164237976f,-0.21056394279003143f,0.19662600755691528f,0.7040731906890869f,0.0030125975608825684f,0.15066689252853394f,0.10095822811126709f,-0.13003124296665192f,0.18801097571849823f,0.0785079076886177f,-0.15748845040798187f,0.1868625432252884f,0.18598346412181854f,-0.9022102355957031f };
-
-const float b1[16] = { 0.7107149362564087f,1.0883506536483765f,-1.7145336866378784f,0.09724511206150055f,1.4542453289031982f,1.417521595954895f,-0.058932315558195114f,0.9398505687713623f,0.4389953017234802f,-0.9609658718109131f,0.8672975301742554f,1.5156910419464111f,-0.3718140721321106f,-0.886523962020874f,-1.087764859199524f,2.5278995037078857f };
-
-const float b2[16] = { -0.4577406942844391f,-0.4344789981842041f,-1.4564176797866821f,-0.6435210704803467f,-0.6939148902893066f,-0.16397996246814728f,-0.013260572217404842f,-0.43840786814689636f,-1.20063054561615f,-1.912178635597229f,-0.1346415877342224f,0.10342646390199661f,-0.23722384870052338f,0.9154923558235168f,-0.1802087128162384f,1.0650097131729126f };
-
-const float b3[16] = { -1.963319182395935f,-0.7180035710334778f,0.7040019035339355f,-0.4437018930912018f,-0.7515134811401367f,1.0377838611602783f,-0.45353031158447266f,-0.6562485098838806f,0.04508165270090103f,0.06766403466463089f,-0.29913392663002014f,-0.09212813526391983f,-1.5836485624313354f,0.42195138335227966f,-1.3884198665618896f,-0.511356770992279f };
-
-const float bout[1] = { 0.09115694463253021f };
+const float hout[16] = { 0.45773375034332275f,0.3343513309955597f,0.20888426899909973f,0.12405800819396973f,-0.1822827309370041f,0.22027702629566193f,0.09631972014904022f,0.15066689252853394f,-0.2117258608341217f,-0.047320280224084854f,0.041092678904533386f,-0.17925195395946503f,-0.10832655429840088f,0.15202918648719788f,-0.11462922394275665f,-0.2474198341369629f };
+
+const float b1[16] = { 0.8578622937202454f,1.8717803955078125f,-1.7145336866378784f,0.11644494533538818f,0.5963828563690186f,1.2755355834960938f,-0.058932315558195114f,3.150829315185547f,0.7200431823730469f,-0.8998371362686157f,0.5687511563301086f,1.343883991241455f,-0.37784427404403687f,-0.8744925856590271f,-1.087764859199524f,1.0147984027862549f };
+
+const float b2[16] = { -0.3640436828136444f,-0.5804413557052612f,-1.4564176797866821f,-0.31257641315460205f,-0.6939148902893066f,-0.19237355887889862f,0.5664706230163574f,-0.4364980459213257f,-1.20063054561615f,-1.912178635597229f,-1.241424560546875f,0.05994709953665733f,-0.21352645754814148f,1.2648658752441406f,1.2819905281066895f,1.829100489616394f };
+
+const float b3[16] = { -1.963319182395935f,-0.4856412708759308f,0.6176115870475769f,0.19022414088249207f,1.1651538610458374f,-0.002870276104658842f,-0.6302200555801392f,-0.6562485098838806f,1.461742877960205f,0.2694356143474579f,-0.36246874928474426f,-2.8072521686553955f,-0.5458581447601318f,0.6261339783668518f,-1.5309842824935913f,-0.11706110090017319f };
+
+const float bout[1] = { -0.08046042919158936f };
+
+float valve_ref_pos_buffer[10] = {0.0f};
 
 /////////////////////////////////////////////////////////////////////////////////////////////RL
 float input_RL[num_input_RL] = { 0.0f };
@@ -2348,7 +2351,15 @@
 
             case MODE_VALVE_POSITION_CONTROL: {
                 if (OPERATING_MODE == 5) { //SW Valve
-                    VALVE_POS_CONTROL(valve_pos.ref);
+                    ////For Test LIMC//////////////////////////////////////////
+//                    VALVE_POS_CONTROL(valve_pos.ref);
+                    for(int i=0; i<9; i++){
+                        valve_ref_pos_buffer[i] = valve_ref_pos_buffer[i+1];
+                    }
+                    valve_ref_pos_buffer[9] = valve_pos.ref;
+                    VALVE_POS_CONTROL(valve_ref_pos_buffer[0]);
+                    ////////////////////////////////////////////////////////////
+                    
                     V_out = Vout.ref;
                 } else if (CURRENT_CONTROL_MODE == 0) { //PWM
                     V_out = valve_pos.ref;