{"_id":"@clysema/ebrain-iot-pids","_rev":"3-f697511d1ac9fc7b9ca682e22a780890","name":"@clysema/ebrain-iot-pids","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.0":{"name":"@clysema/ebrain-iot-pids","version":"1.0.0","description":"https://www.npmjs.com/package/awesome-pid","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"joi":"^17.4.2","node-pid-controller":"^1.0.1"},"keywords":[],"author":{"name":"Víctor Navarro","email":"v.navarro@camposcorporacion.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/ingeniadevteam/ebrain-iot-pids.git"},"gitHead":"c3f0c488f0ba3605c741ed62ae9b5693fc4bb7b9","bugs":{"url":"https://github.com/ingeniadevteam/ebrain-iot-pids/issues"},"homepage":"https://github.com/ingeniadevteam/ebrain-iot-pids#readme","_id":"@clysema/ebrain-iot-pids@1.0.0","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-4GUletp+nHT44szigFLc0y6FFjJNFkZcsgz8p6mPAiIqwpUQ8Y6dTqEVD/Gw/TE+zpV/GZUr5T/59SYC16CTiA==","shasum":"4f67518a47f4c8ff52773c2a0d172215e83f07c4","tarball":"https://registry.npmjs.org/@clysema/ebrain-iot-pids/-/ebrain-iot-pids-1.0.0.tgz","fileCount":4,"unpackedSize":2693,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzHp+7ZdYRe+w5EpTInYM/KvfbRbIE6Yp9yUBYYNaWoQIgFdugs5WChH1m7HpGTuM5zHedYx03Go7+iEInSTNAjNw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja9eZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoP6w//djgoWse39aziQ3DvxViAtB7Jljez/pHkj6i/ibOPSqPv18/p\r\nb+a9pgg+1NO90nMWCDeNTsS8qD5aizF+UN4gJ6RB/DESJxQY+NCcG8AX5DTu\r\nV33g3ItCOCgrxWgSbciJjThrNq3RZ9FGgqBVqFzYwMwjeKEZ8LKYpmC+/Qct\r\n/603L9kXrDpDD8nU7g0xIi2HUTX+CnmqUUYpYv4oCfRw6VRET+qaKBQ36jiI\r\ncMkQcuExMgk8rhTAnC0sgom/6OiDSygaMuiQKY7rlsFSuyQ+Kk1EsmQDLtlV\r\nSFewIckwtU3IcTy/c50KSlKJHBk/VNv2YaYM1v1xBhjOYdVAjBY9GP25DOV4\r\n8lrRMF3yVWRrAmlTY4Y3WCQ62TK8cyik4KEzrOOJYlmSDnxnPcD7gQR83FTM\r\ng6rLzNj/KQ4LNnCKfz5U4teLwOiom0D8MjJSY5Xk7B9KJ/IOjrDx3LyOwDGC\r\nVaEN65JtdfIKSoIq4akNCmH9PdIb4gcfkVxQglkhVK8kbmwi8cLtGLnAGRsb\r\ndpiZeVJanGw5h22OLv9zRPP7PVGUqnrMUS7+fuUpHT62uRsvXVk2MaZMLaxo\r\nw8LaZK6AkKK7MZWi1NUaS7tsin1OYECt8UI/kHhv5hWF3s6VrnDF2OVene33\r\noeUoyPkrQ3EDPCSoMurRlK25xajbuhbCphI=\r\n=n8Dj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},"directories":{},"maintainers":[{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},{"name":"vicnala","email":"vicnala@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ebrain-iot-pids_1.0.0_1668011929571_0.25401719338512874"},"_hasShrinkwrap":false},"2.0.0":{"name":"@clysema/ebrain-iot-pids","version":"2.0.0","description":"https://www.npmjs.com/package/awesome-pid","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"joi":"^17.4.2"},"keywords":[],"author":{"name":"Víctor Navarro","email":"v.navarro@camposcorporacion.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/ingeniadevteam/ebrain-iot-pids.git"},"gitHead":"621d5e9123c7d56e0c20fac4008bb7cb1c553667","bugs":{"url":"https://github.com/ingeniadevteam/ebrain-iot-pids/issues"},"homepage":"https://github.com/ingeniadevteam/ebrain-iot-pids#readme","_id":"@clysema/ebrain-iot-pids@2.0.0","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-P9WwB3wH4XWF0kIcnFurmKJsr3X7+q8+mCIGPJy7kyAd5JNqJCq23exBPmW8GEodLMetyYqEAX25H7BsIwDlOA==","shasum":"9a4524fc49fc5fb8af8b839c175fc5f244fdcfec","tarball":"https://registry.npmjs.org/@clysema/ebrain-iot-pids/-/ebrain-iot-pids-2.0.0.tgz","fileCount":5,"unpackedSize":6192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCnHipjwHBMo34iQsB/XEJoj/neTN9wRf1HeG0MW/BcgIhAPrEuDHuEEaoo5xUjRuUkAbu1nyAw0MkN5H06gtIs2RB"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiz/cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMkg/9ErfC2Vxy8bYGzeJ5foqpSqp9nhdegCSIh7qtNt/wDvOD1nSC\r\nDT6TuP7S9XYqc45+UTsgKcFOTUnPsYxMEIcUsHXMz43M0/lwHbRgVOObFP8l\r\nHPwrusJXXGod/tkbaq58OvQgju4cZRQFfTc8tet3hAUaweK+eQQdbAwpZWP5\r\nFWtd6OqZCoh9OWeXNhTbUrhnss2+IyOI1UWs2J/KlZJHZeYZ5b+Vz7ogXS8m\r\nyb8q2Tx9t1CDwUH4eZTej6k4P9wNDkg30gclcwg1/AQHo3wKKexv+yVhEHc3\r\nbaqmm8XpSXgvwPMHTPNopjwc1boONvGgYZtA1IJyzGYGEz6l6OgWrIw3GDxJ\r\n2oGMv9+IBrxR1J6k+b7oQ4iOvTmmhkyzMIfzAC06UqHtaVIeD7jdek0T2wZH\r\nZ1wTAneSYHGBtO7zm9VH/mofvXZgEHMxdMjhCT+K6D9TLV/MCK6vUmCo+9vd\r\nsyu+cJXWCpWVgW5zAe/ECDicTuB1PmY3MzOoQNNCsMEygvUeeFpE9DYpsEFR\r\nPGugO16Nq1aMt1WiZG3HcDazH4Hz7+sU1vhL0qroAcwZUV+JmMtsBofkk+Ro\r\nTs5MRQpQucslNWVH/QUx7uI4V+1g0NhPiuqhqVXf8Kb1oGKgGf0gC8wAcH1v\r\nGI76hNQU3D/gxvZMZP2U/4ZKPkoLuInof68=\r\n=58q1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},"directories":{},"maintainers":[{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},{"name":"vicnala","email":"vicnala@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ebrain-iot-pids_2.0.0_1670070236554_0.10025567825691795"},"_hasShrinkwrap":false},"2.0.1":{"name":"@clysema/ebrain-iot-pids","version":"2.0.1","description":"https://www.npmjs.com/package/awesome-pid","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"joi":"^17.4.2"},"keywords":[],"author":{"name":"Víctor Navarro","email":"v.navarro@camposcorporacion.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/ingeniadevteam/ebrain-iot-pids.git"},"gitHead":"ca2bbfb7c4b836313191e403341873e2307a60ee","bugs":{"url":"https://github.com/ingeniadevteam/ebrain-iot-pids/issues"},"homepage":"https://github.com/ingeniadevteam/ebrain-iot-pids#readme","_id":"@clysema/ebrain-iot-pids@2.0.1","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-TUOg5fHuA/ckgrHpW+iCGpMmdGvZM1/Kohxcfk7UVjYu/rvfJXmqlEqERAAoBalWV0pKmk8g5pCzNrARGRBHzw==","shasum":"5ecdbb5ebb3be258a1132d95fc7a1672a3c72b78","tarball":"https://registry.npmjs.org/@clysema/ebrain-iot-pids/-/ebrain-iot-pids-2.0.1.tgz","fileCount":5,"unpackedSize":6189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaXFhSS0zXYpcYYGeHyQVHDFmxzr+XfvTEvcJ1WIHCfQIhAMmMdmqht8xaxtGC55iGLXYtYzi/L+RuQZHWe0p5NTK6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJji0C4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzEw//eSVVk6IbRB4cdqagPM/okSoDhrvtR/Uahub1lPNm3nNtQaER\r\nDzOjYGtJUTrCxuszQdWC6BwNBCLA2COnkJOEp8AdqwdYERH0FSZtCTo3dylP\r\ntGvua981JwxICW/c8AhNYg4hQVRf3ZJ/dDhOy94O/LkZH+GiDbSl500iDbIy\r\n9GE4UUqeJXzI0aPH5eDlDVvSLp5M98PikFmDjm4ByKNL8JcnCECo3pCsTihN\r\nVATAGU3ai2q5r9c4TOfbkq3NQupHiKqkpo99YYpHU8kLdnuQI3taDfRaKhcX\r\n0I9Fhdkh+xWsApuo9/Pls+CvgjiBdmEqg40n6em+ZnZWtEBd7wXVNG3pNmdH\r\nEXorbVCJWWsAujpg+63j8em68X33p/ufitlFlGBx1F9pnRFbA6yF0B1hkUSY\r\nqPEO7ptbV7tiaUy2ErnkhBhURhvOpNP4LOkr0B/s9BOexz+q7aqBdr+DSWKI\r\n08nsyn5hzUhMTEJ6tEZcg6YoTriTNstPMWuPQ43MGJdbpxuUD8SBLb/F4SJX\r\nuTG1iscsXRvX+zkpNfYVd4Wp5N8ShYkrhbiVgAiipM2Ca05AhlUK43n6JCPB\r\nI8D5qNBiGfYBGQYPxinAtcSnvHNRJx3p5N/6D04VDimWmIePHUhIS40+FrvE\r\n1LTzEwpJ/v8dUxc/PwmdJwf17+K+xM+R60Y=\r\n=sd90\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},"directories":{},"maintainers":[{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},{"name":"vicnala","email":"vicnala@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ebrain-iot-pids_2.0.1_1670070456326_0.2607830715971029"},"_hasShrinkwrap":false},"2.0.2":{"name":"@clysema/ebrain-iot-pids","version":"2.0.2","description":"https://www.npmjs.com/package/awesome-pid","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"joi":"^17.4.2"},"keywords":[],"author":{"name":"Víctor Navarro","email":"v.navarro@camposcorporacion.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/ingeniadevteam/ebrain-iot-pids.git"},"gitHead":"2f42902304fd0a64d9edf8662ce23f953892b734","bugs":{"url":"https://github.com/ingeniadevteam/ebrain-iot-pids/issues"},"homepage":"https://github.com/ingeniadevteam/ebrain-iot-pids#readme","_id":"@clysema/ebrain-iot-pids@2.0.2","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-8vBmWALOdPk2L5ROom8hIXZunsHmBfAvjGsH9dSTweoQRfpd/FepwIX/2P0pmafDHASwshUZb3WjsLh8lxYelg==","shasum":"5fc269e9154356a323f48783f48949dd6568c18f","tarball":"https://registry.npmjs.org/@clysema/ebrain-iot-pids/-/ebrain-iot-pids-2.0.2.tgz","fileCount":5,"unpackedSize":6190,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkMW01BR4ZkERndPjnYqi0mPqx0YLVzf9mt650TK57fAiAAvQEAl0nP/dIFkFIf/lJG/V3KP5oQDblhKf9HhyaDWQ=="}]},"_npmUser":{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},"directories":{},"maintainers":[{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},{"name":"vicnala","email":"vicnala@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ebrain-iot-pids_2.0.2_1708543548652_0.9276512082166419"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-09T16:38:49.500Z","1.0.0":"2022-11-09T16:38:49.762Z","modified":"2024-02-21T19:25:49.418Z","2.0.0":"2022-12-03T12:23:56.762Z","2.0.1":"2022-12-03T12:27:36.491Z","2.0.2":"2024-02-21T19:25:48.925Z"},"maintainers":[{"name":"vnavarroclysema","email":"v.navarro@clysema.com"},{"name":"vicnala","email":"vicnala@gmail.com"}],"description":"https://www.npmjs.com/package/awesome-pid","homepage":"https://github.com/ingeniadevteam/ebrain-iot-pids#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/ingeniadevteam/ebrain-iot-pids.git"},"author":{"name":"Víctor Navarro","email":"v.navarro@camposcorporacion.com"},"bugs":{"url":"https://github.com/ingeniadevteam/ebrain-iot-pids/issues"},"license":"ISC","readme":"# PID\n\nhttps://www.npmjs.com/package/awesome-pid\n\n## Config\n\nconfig/pid.json\n```json\n[\n  {\n    \"name\": \"PID1\", // PID name\n    \"k_p\": 0.5,     // Proportional gain\n    \"k_i\": 0.05,    // Integral gain\n    \"k_d\": 0.1,     // Derivative gain\n    \"dt\": 1000,     // Time interval in milliseconds\n  }\n]\n```\n\n## Example\n\n```js\napp.pids.PID1.setTarget(32); // 32ºC\nlet goalReached = false\nwhile (!goalReached) {\n  let output = measureFromSomeSensor();\n  let input  = ctr.update(output);\n  applyInputToActuator(input);\n  goalReached = (input === 0) ? true : false; // in the case of continuous control, you let this variable 'false'\n}\n\n```\n","readmeFilename":"README.md"}