{"_id":"@atim/codec","_rev":"14-9154755d869091f677e7e245ab8ed044","time":{"1.0.0":"2019-06-18T09:24:47.446Z","created":"2019-06-18T09:25:38.116Z","1.0.2":"2019-06-18T09:25:38.355Z","modified":"2022-04-04T16:04:34.097Z","1.0.3":"2019-06-18T09:27:27.837Z","1.0.4":"2019-06-19T08:18:36.562Z","1.0.5":"2019-06-21T07:54:10.860Z","1.0.6":"2019-06-27T13:22:28.929Z","1.0.7":"2019-06-28T08:17:16.580Z","1.0.8":"2019-12-12T10:37:49.440Z"},"name":"@atim/codec","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.2":{"name":"@atim/codec","version":"1.0.2","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"_id":"@atim/codec@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"qd-atim","email":"qd@atim.com"},"dist":{"integrity":"sha512-zLVQsHyVENJFEfU71kO+FwXIgwArIkdTpqexvpmxQoPY30q0+ZLUofNNQurIYtf3kiHYTOn/jixfhTHo2FEdKw==","shasum":"8d8475ce8cd3bdb401313e2cb34120186c27f938","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.2.tgz","fileCount":84,"unpackedSize":166391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCK4SCRA9TVsSAnZWagAAspUP+wUwawQlOBrbJl7QuwMQ\nOuiiOSYjc5mFUn8i6ddinJxUc8UQXauL0WuB+Ni+NKqvTftWhKq+Ikt8/M+e\nbKZ/UCj1+Bl60Q/ZSixnp9+QxVbKL91A154mVY6zrn2cS/edA0Mk0qsiXaQ6\nncecVLYjjPFCXgLGuD5Vp38VFmDTGlKNwYCt0ql1wiu/1vLEIOVIDa49uGnC\nUo5RYq2XXxaB7KYZPQ7yenPRxr3Vtq+xLGTX4FXWf81q2v6NBGEBCUlUQBL6\nPQUi7ytBfewT43KZkCqtZ2XMXgW20HrWdkBouNHltLd6HGfcgGZhrh5KvzX0\nu59Jz9EVD8TWpZIXWSGZDfi8kWI78Ymg/ix1wEHhBNp7+coUJzQ3PqokdzzH\nmogJzB/dQumxoSvgqTDT3/9llwz/g24lCm39LFHYm2Need6xoYSnFkxeoN0W\nmv/V1AXTtvQ+6oJWF/3nV1nrjcmThyhZwlWYLaC6iY9OMtKN4hqBvI38w+Wf\nfQAjRtCQlnLNXAlpAQCVDezh47cZUbcJQRjhYrif91hSRqNoawgs2P2HflDG\ndv/rHUxnKPpDeyCEPCeC3yjnXu2lbWMEquFenZUvb4WeYnMDZLyscWa19mSH\nqED75EOsnq1+x0FwcZgQLjJD9QmHtnZ4cKZRfNLdxNHo3quafkyz34ztr65q\nsB63\r\n=NUqT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC68E58YPB3Xmr1SmsFVqgjAuFUO/Sa6FQT20UOUdaYpQIhANrWnepl0+DhvWGtzOVWgWsrALc1uFJ2jOe9auAEQwC6"}]},"maintainers":[{"name":"qd-atim","email":"qd@atim.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.2_1560849938191_0.16257213208747046"},"_hasShrinkwrap":false},"1.0.3":{"name":"@atim/codec","version":"1.0.3","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"_id":"@atim/codec@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"qd-atim","email":"qd@atim.com"},"dist":{"integrity":"sha512-XU9YI9oxIfWyvII+26nNU8OZsGG72V8XPgBDNL+J2eTDGqrlO5a3HbgBXBKSfdVp8XIJSPBQUmvHA1dBUPBo6Q==","shasum":"23a03a463b519dacd0b656c7c2939c0cbd42a308","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.3.tgz","fileCount":84,"unpackedSize":166391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCK6ACRA9TVsSAnZWagAAs8kQAJoki471kVwbQ85HltqS\nH5x0cSl80+wxuzPNMErEJXP6cUTncyEoZm8JMV/31T/B5AY0b9okDk/QKsJx\nCsK0aGb+P273/ZNxWxUljlg1L+PnOjk1cU/rXu8JEJ1yJOI7eh9VXZ/vHDgk\nf2t/Fmb31nSW9l7JhO0x/q03YdJHLvkh3scdYeJHja1C5JDwqABAswGUv40p\nBblyYYcDbPNQweVU8NLahbOdx92koSOhlfKXGMdanYjrA/7j6tLEygkyfTt7\n3I20uXavscMOQGXb/cetuAOlsQas/7MnsgKe5Nx6wxsLf3wrUaw79fs5aYQ7\nN1DBIzQxbkGPvOD3e8UDAlmLS2e/OY2rYTROpdV4Wj+xGP1YqqyZOhCzwOHc\nbBu9FoVEOiJybODBajsQ1V8WQv60JKXq63VtXrf5Z7jHg/lTrlpw/Pukc459\nns1aqClpUWat2i/n7v/2WIEXEJd1iwnEmnny0iDl81zMxPttNr8s7IYm3WqD\ntVxKY1N8Yfu1BEUDyMBwyJjJebKZ9vYIFqcngmOkhDLR+F3YolVa84bNNz01\nVPHh33CB8c2OyiSsTdiH04gRW7eLU2edgss2I4vdxRmAXkIN0dZsKyCmnBo0\nrUVr9VbxqX7f0P03b8fBiAJ0PC+CENGbptrGWQmliq2FaOPkcCgmaKPE9Jvo\nXBz3\r\n=phQq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpn64+sgDu/unD9++eZwWTZnv/CyCrsQ4Ph1xrj7qYkQIgeD/aAUEYSMYjwJ/gfYRGkLVipXgj5kr9GMF2CNOLjLk="}]},"maintainers":[{"name":"qd-atim","email":"qd@atim.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.3_1560850046433_0.6693296868786618"},"_hasShrinkwrap":false},"1.0.4":{"name":"@atim/codec","version":"1.0.4","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"gitHead":"ca1275422079c5629b299fcf452247600a81474c","_id":"@atim/codec@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"qd-atim","email":"qd@atim.com"},"dist":{"integrity":"sha512-a2jcZGDVn31NpR1Yp5lqPYi90meB7/jCQ5qoqfGCFCCwoAyec5g6fUby5gXO/1wJ7zNLkGmJfbS8VvXV/J5MMg==","shasum":"1923a43d7762a3a9972140778bcc21b08c8061c3","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.4.tgz","fileCount":85,"unpackedSize":167886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCe/dCRA9TVsSAnZWagAAQsIP/0murfdIclwCNBAQ0WtX\nvTG7mb9TgOc4KuqgjHooH/GkViWijw+rhaqCsqaB17V2UArMv87UCNsm9+eL\nJOK2vjnEuPTtgNXNbHYLitCD8OnfIgxRsoF3Htj5XlxeTjPJbR2WMLgPa0Qy\n0hxb+0C2B3Uk54PI1Ewf77Q+21nUB7zmUC8HO3Iu5FsZDCGA77Y3KrK5qFUX\nnJh0T2RhoLNr9hRuLHADleKyME8RgLKOgkxrany2O0+qjhAJNPjSI9XDT5ae\nq3WsrwBUMJ9tLBVjdsSTzx6iKxU/y8v21oj+S9lijHovIF8BKiTG/kwy+l5M\nxtrIRs2pem7ATMRDi/ShUG3pbaRTlN9dMFavZ1Xgt0FuaZMni1NHcdlwsjv4\nGkxNuA7sh/GlZI3L1DwHxyKpu2wgCJMv+cxiJJuMbMOZ9JRmk40Gmcn4YdyN\nsn3izGLwidRqWkT7cn24OH2KubBL9YclcFZpad4CLEUS/EE+o2bV0QVMUTWp\nZXjfJjyRiyiBIp0SAXEu6bxmkYmhqs3ofo9ZBCJ9o9TXpi+O41YxkT0LVeGi\n6x50Kxcd04csQjPHoGkWNvq5atcYu5aQ21OzfO2KeKsTPnc188haKdGWwKq5\nny78qQ+b9qTjdzBNYK2cFxNGqP4rLvK9ztoDoRCW79xRX4U6xPk5BmOXBUJI\nlZJY\r\n=URgF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+TSvaRTyslsPb+TSEz24E8r6C9FBvDD1F15aLlFQ1SAiEA/Dr2NJ9o6QWmgX5OwM0BkM3kEfdM2CfqM3jFyhO9k4k="}]},"maintainers":[{"name":"qd-atim","email":"qd@atim.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.4_1560932316360_0.6149736245270665"},"_hasShrinkwrap":false},"1.0.5":{"name":"@atim/codec","version":"1.0.5","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"gitHead":"19403b4edd42bef80600e619f8c729174ab41811","_id":"@atim/codec@1.0.5","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"qd-atim","email":"qd@atim.com"},"dist":{"integrity":"sha512-15Ho7oWZ3JkTnwBlspJ8nIIX0TO/6K9xUD3SCyqJPcdOMiHlcSIvfGGbd+k/14YXWC2KDZixPnVV7uFG3zej7Q==","shasum":"1733ef3093ec71b9712114cd1a5612b9ac0a7852","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.5.tgz","fileCount":88,"unpackedSize":177139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDI0jCRA9TVsSAnZWagAAnPsP/2Vi6orvzi5LzDGfMPDK\n0bZHi44WYsiveeJ2PqD5hfGcG2n6akvynU8vbAQO+V+rp1Dzx+nr1NxQa5yD\nxIpUa1fA8e05RieZbIeh5CVp+GcS/kovYmmjmev9t8d+yr6JXZaID0q9P+Z7\nm/tBUdfWfwrRAM7bwLRmKDyVtqjQRdndHhm+YfUNf9TlsIO4qhKXrfEJjtMm\nQErqVQOFjqJ52RyuAyrE4zS+3zMkE7MylD4uWwtp/mgWxa48m0RePhI8e29T\nO3HJL8z8g5F4MDTLSbhi0hjsN8NNKP/qljpB64ml74Awb0spBPhaJ778BEKS\nyo3jHQ4ttjqiw/wSomPBLngNzp91B8NdG0q69RaM7iP2KEos4ZQkotzVJc8D\nkdXVIND2eztNk2GWGakY9Zrp6u1x0XPhSjhoo5T4Veg22Nf+aVrT61ZMHDzq\nfXlHMYfEKtvYB8Urn7OrrdRgnaqZmFkrGI/XwpAxb9YV9bl3TXQUB1ifkhll\n25BTCobEdqwG9THQmAnMykOlWPBgktcbLQjACYxXdBII7nm6RHKYRcAm2Fvt\nJ5KhpdKv7hi7wCXWsDtPKV5Du+LvXLq0uHT9dqVlSYhQMtth+vRQhixitHRL\ndzSmqGdDzhLBOhxCT71ZukVpQQ6ASraGiNm3Ff753/E4bRsg2MogEvsTZcyK\njJgG\r\n=qNkk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8skAWY9WaWXK/dXf3fjPhyAACm4KnCI7JY4LdqDbRDQIhAPwHDcj0iHO5tbnEDxgJandAlwYAZRDqMGzW1qf5sgL5"}]},"maintainers":[{"name":"qd-atim","email":"qd@atim.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.5_1561103650676_0.680326036371371"},"_hasShrinkwrap":false},"1.0.7":{"name":"@atim/codec","version":"1.0.7","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"gitHead":"4c191b9bc50bd62017ae67e903f7e914601da6c4","_id":"@atim/codec@1.0.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"as-atim","email":"as@atim.com"},"dist":{"integrity":"sha512-jtb+vPATnnZnoLneBSpNfBixW8xBWGOu0UcxsuD1AGltDvZRSwaKbgW15vX4lL54T8ijI8GXuHsTPdLYzddMig==","shasum":"15a09bff681124a395e20884104a96efe28309c7","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.7.tgz","fileCount":93,"unpackedSize":209555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFc0NCRA9TVsSAnZWagAAnm8QAIYsfaum2VzCx3gMlM6k\nOscmiiuwS6cXhzluiRuVRy74jimeuO9gPZGD7FZDQ5wo51PLqN1pwf86VBxp\n/F9BQQbHaX5DzJ9zPEVHmRCZe8Q3jIJlkzSDwP+R2dn6bUDE/Zq/pF4Mg7Vm\nsnggkYb2acBEj3ch+3eMmrBX31DpBJtL8WcFI7KI9vpoXX8hLZzn4tBlpCzR\n+nI/H8miY+WasaHQF1WzQZZTPcVQt5YZf0a+EYCDzARlNzdpGM3d8N52DbIL\n2ggNmnzfOZZp0TEw1usUo7ryDSYz+YioAoM3pkd/0ZnvloKL4uiPlAbGJRk9\nKJS9VJdZLyAb6R+EX7d7AdmYcgnPvbXnzkRJRwsdts9nusLzZziX98WxWFiK\nxV+V4zpcvw9z3/0k8+G79RtmB2cJEra8oMfeszgrkm/aEDlcwCmSscb2rkpl\ndZ3i5tKGPCVxXfAEv2At3vd789n11sKTcILxQSVg8+ZQ+vPbiJEHKb+rCPA6\noPylNG3RJN3RRzHadByBDrJC8NRrmH8FErvqEimlkH9N17RPwHLoXyr3u4DC\nXM85NDRBuhxQY2UyWR/qoPnJzQuDk/pMNoL2VZxquwzgBXnq/JumohJyxe74\nO6AJZvdijnaXqsQBXNb3HxGV21CsKDSs/G8uHQ0zWXTPwP813Hhz7tXU2msR\nUGzk\r\n=voXz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfoj1QWQ78TH44RLdJi9KoU9N4Tx8Lxmb+QmiT6OSSFAiAW6o3rXWslJzIaFo2sRteM1bUs1Ho9OGR/mLcmYuFblg=="}]},"maintainers":[{"email":"as@atim.com","name":"as-atim"},{"email":"qd@atim.com","name":"qd-atim"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.7_1561709836409_0.5841007316892319"},"_hasShrinkwrap":false},"1.0.8":{"name":"@atim/codec","version":"1.0.8","description":"Decoding library for Atim products","main":"dist/codec.js","types":"dist/codec.d.ts","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","dependencies":{"@types/node":"^12.0.4"},"gitHead":"9dc6127a49964b2b1113a6bee8723fa12bbba814","_id":"@atim/codec@1.0.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"as-atim","email":"pm@atim.com"},"dist":{"integrity":"sha512-NU5zokjoUFBSwEbFR1txL989JYgNjZKEmEdX+tLZkgbYi5fiwxumE1Al4W57t9Sqbi3rKMZDwD48kLUNso8Mmg==","shasum":"eeef28214b5e55eef523ee6a1caf5e33f34e7506","tarball":"https://registry.npmjs.org/@atim/codec/-/codec-1.0.8.tgz","fileCount":97,"unpackedSize":213902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8hh9CRA9TVsSAnZWagAAywQP/0w1dOrQd0C1H+/2i3hj\noze2Xwm/iVply1KeTvA/839GLWQuZHZTLk9bhqBFh5yCyjOKWAbk+ctwrd2K\nutCC815FCcRPX3TsG37jFoc10OkrAUi5pxifhwbk49oqNoFMhCYO/Bn7nwGk\nDMXA3ZkeW9myZORWYv3V0GjWjKbq8NS+clm/WMo5l6sYEOBTzdSf9M39rOOO\nPOO7MamCbfn0tw2EqtULjE2JKPqWfezUXB68oXs/5F2TiWju90qgBlPwRvTQ\ne4ypQRKDTBC2LfAqly7ZEj9S6k8Wu6I9kQISa/UYy6gtFmsWbNfgs478IfPu\ngKZjjOzGhYEq5ef4nACU7aEdMpBT8E+Mh7YIiWDhpYWjj7L/9CB9O4BvyTI0\niyXzn4f9b5Cv8+sNlnrKhQw7c5kphCwvmL5WfHsVhYdY8jH2EE3Lxe4j/KUB\n6jizJPCHpif1Gv/6YEuh4kcrkQqGgsl4TOfrIBfJAq7AATjrHWC81xu14+gI\nx5cGTGDwCxbbJQfzMYbzR/EE2N9pzJXTbjMFEIMhUrXW2yDjkRItaBRz11LH\n3lVEcFUlOzb6laOgiqKhBqY0m68I0K+O1xo+lnJSs3KLH6A32oDBeTPtNAC0\nSYjD9xKo3quNWuNjJ0kESCbGTf/IuH9Yjxcx68+rsr85/2gzmnXm7MKJFsa3\nt9zB\r\n=KSsq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/wiUl5I3uDN4aVCFAuh9yC2aOgh55j/J9OnDc6wmIAAIgFhILD/skhuprY3hcDsXaucvhySojnX3My9ZSYTLPe/I="}]},"maintainers":[{"email":"as@atim.com","name":"as-atim"},{"email":"qd@atim.com","name":"qd-atim"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codec_1.0.8_1576147069208_0.42127567633549523"},"_hasShrinkwrap":false}},"maintainers":[{"email":"as@atim.com","name":"as-atim"},{"email":"qd@atim.com","name":"qd-atim"}],"description":"Decoding library for Atim products","keywords":["atim","codec"],"author":{"name":"ATIM"},"license":"unlicensed","readme":"<img align=\"right\" width=\"80\" height=\"80\" alt=\"ATIM logo\" title=\"ATIM\" src=\"http://www.atim.com/wp-content/media/img/fr/atim_flat.svg\"/>\r\n\r\n# ATIM Codec for ACW Products\r\n\r\n## Decoder\r\n\r\n### Usage\r\n\r\n#### Standard frames\r\n\r\n* Load the library :\r\n\r\n```bash\r\nconst codec = require('@atim/codec');\r\n```\r\n\r\n* Instanciate one frame :\r\n\r\n```bash\r\nvar frame = codec.frame.factory('010C760C7664');\r\n```\r\nwhere '010C760C7664' is the received frame.\r\n\r\n* Decode the frame :\r\n\r\n```bash\r\nframe.decode();\r\n```\r\n\r\n* Result :\r\n\r\n```bash\r\nframe0x01 {\r\n  channels:\r\n   [ channel {\r\n       range: [range],\r\n       label: 'Idle Supply Voltage',\r\n       decoder: [Function],\r\n       value: 3190 },\r\n     channel {\r\n       range: [range],\r\n       label: 'Tx Supply Voltage',\r\n       decoder: [Function],\r\n       value: 3190 } ],\r\n  buffer: <Buffer 01 0c 76 0c 76 64>,\r\n  label: 'Keep alive' }\r\n```\r\n#### Custom frames\r\n\r\nWhen using DINRS / DINRSM devices, you define frame format by yourself. Thereby, we cannot automatically decode the frame.\r\nYou have to pass extra parameters that describe the channels that are sent by the device.\r\n\r\n```bash\r\ncodec.frame.factory('030D2A0C2B64', [\r\n    new codec.channel('Channel 1', 2, 3, (buffer) => { return buffer.readUInt16BE(0); }),\r\n    new codec.channel('Channel 2', 4, 5, (buffer) => { return buffer.readUInt16BE(0); })\r\n]);\r\n```\r\nA channel is defined by a label, a starting byte in the frame, an ending byte in the frame and a decoding function.\r\n\r\nA frame is read starting at byte 1 which is the header of the frame.\r\n\r\n|         | byte 1  | byte 2  | byte 3  | byte 4  | byte 5  | byte 6  | byte 7  |   ...   |\r\n| :-----: | :-----: | :-----: | :-----: | :-----: | :-----: | :-----: | :-----: | :-----: | \r\n|  Frame  | 03      | 0D      | 2A      | 0C      | 2B      | 64      |         |         |   |\r\n\r\nIn this case :\r\n* first channel is read from offset 2 to 3 : 0D2A, then after applying function : 3370.\r\n* second channel is read from offset 4 to 5 : 0C2B, then after applying function : 3115.\r\n\r\n## Encoder\r\n\r\nCodec encoding is available for DINDIO, TH and TMxD family products.\r\n\r\nRefer to the user guide of each device to find the parameters you can configure.\r\n\r\n### Usage\r\n\r\n* Load the library :\r\n\r\n```bash\r\nconst codec = require('@atim/codec');\r\n```\r\n\r\n* Instanciate one downlink :\r\n\r\n```bash\r\nvar downlink = new codec.downlink_th();\r\n```\r\n\r\nDownlink can be used with TH, TMxD and DINDIO devices.\r\n\r\n* Pass some values to the downlink :\r\n\r\n```bash\r\ndownlink.values({\r\n    2: new Date(),\r\n    3: 1,\r\n    6: 5.2,\r\n    7: 1,\r\n    8: -7.6,\r\n    9: 22,\r\n    10: 1,\r\n    11: 30,\r\n    12: 1,\r\n    13: 30,\r\n    14: -2.2,\r\n    15: 1,\r\n});\r\n```\r\n\r\nRefer to the documentation of the device to specify parameter/value key.\r\n\r\n* Encode the downlink :\r\n\r\n```bash\r\ndownlink.encode();\r\n```\r\n\r\n* Result :\r\n\r\n```bash\r\nconsole.log(downlink.get_downlinks_raws());\r\n[ '828e248d01',\r\n  '0301',\r\n  '0634',\r\n  '0701',\r\n  '482e39',\r\n  '494e64',\r\n  '0a01',\r\n  '0b1e',\r\n  '0c01',\r\n  '0d1e',\r\n  '0eea',\r\n  '0f01' ]\r\n\r\nconsole.log(downlink.get_grouped_downlinks_raws(8));\r\n[ '821a258d01482e39',\r\n  '494e6407010f01',\r\n  '063403010b1e0c01',\r\n  '0d1e0eea0a01' ]\r\nconsole.log(downlink.get_grouped_downlinks_raws());\r\n[ '82bf298d01482e39494e6407010f01063403010b1e0c010d1e0eea0a01' ]\r\n```\r\n\r\n`get_downlinks_raws` returns one downlink per parameters provided to the `value` function.\r\n\r\n`get_grouped_downlinks_raws` groups downlinks to optimize the required number of transmissions.\r\nOptionnal parameter `size` define the Max size of the message (8 in Sigfox network).\r\n","readmeFilename":"README.md"}