{"_id":"@coremarine/nr-norsub-emru","_rev":"6-99c752febaa3e8adf3e3cdba1db7efef","name":"@coremarine/nr-norsub-emru","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@coremarine/nr-norsub-emru","version":"1.0.0","keywords":["node-red","mru","imu","norsub","nmea","nmea0183","0183","parser"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nr-norsub-emru@1.0.0","maintainers":[{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/nr-norsub-emru#readme","bugs":{"url":"https://github.com/core-marine-dev/nr-norsub-emru/issues"},"dist":{"shasum":"a09af1c39054d59c10d7acbe8301c51dba6ba345","tarball":"https://registry.npmjs.org/@coremarine/nr-norsub-emru/-/nr-norsub-emru-1.0.0.tgz","fileCount":9,"integrity":"sha512-aUnXLkNK0NPzxGuXkrwlhCTGs+XwJifB1Enzw6f36O45dXMoURPey4hBhAj5A03QG7b9aWRv9f5nlTTqe9dlng==","signatures":[{"sig":"MEYCIQCsunWeBW+ortMKNCGcb2ZeaVBgBbzYFFQqet93wCL29gIhAM8Xuc8BW1bNjttggv60E4VixjfnPUtVWLJjuYO+EFtt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73911},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"dcd1e2898d8b8e339919ce68943f994950a0829a","scripts":{"test":"mocha \"tests/**/*.test.js\""},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"nmea-parser":"src/parser.js"},"version":">=2.0.0"},"deprecated":"Package renamed to @coremarine/norsub-emru-nodered","repository":{"url":"git+https://github.com/core-marine-dev/nr-norsub-emru.git","type":"git"},"_npmVersion":"10.2.3","description":"Node-Red component to work with NorSub eMRU devices","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.22.4","@coremarine/norsub-emru":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"node-red":"^3.1.3","node-red-node-test-helper":"^0.3.3"},"_npmOperationalInternal":{"tmp":"tmp/nr-norsub-emru_1.0.0_1705569998809_0.7171502355566575","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@coremarine/nr-norsub-emru","version":"1.0.1","keywords":["node-red","mru","imu","norsub","nmea","nmea0183","0183","parser"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nr-norsub-emru@1.0.1","maintainers":[{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/nr-norsub-emru#readme","bugs":{"url":"https://github.com/core-marine-dev/nr-norsub-emru/issues"},"dist":{"shasum":"1b38c61a42f6dd52ad3abc592e877aa385dbcbd6","tarball":"https://registry.npmjs.org/@coremarine/nr-norsub-emru/-/nr-norsub-emru-1.0.1.tgz","fileCount":9,"integrity":"sha512-Lc8S/lawAaN75LP6sP0XMgRQVEBHg+ph0PMQrw+baybr1Zk2XVRQ/AwPeAG1ljIirO60LW81TYI1iAvW65HqmA==","signatures":[{"sig":"MEYCIQDpzNnJK28LiMZUb6VWsGaDdkuOuVltc4IOq12luq1kNgIhANLL736fI+Gd5BsWNO0N5KhVtF7Ttt6e+EdJbJnazRTP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73911},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"401af0e49f0dd9396d7271e2ab9803dbd9ec7c41","scripts":{"test":"mocha \"tests/**/*.test.js\""},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"nmea-parser":"src/parser.js"},"version":">=2.0.0"},"deprecated":"Package renamed to @coremarine/norsub-emru-nodered","repository":{"url":"git+https://github.com/core-marine-dev/nr-norsub-emru.git","type":"git"},"_npmVersion":"10.2.3","description":"Node-Red component to work with NorSub eMRU devices","directories":{},"_nodeVersion":"18.19.0","dependencies":{"zod":"^3.22.4","@coremarine/norsub-emru":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"node-red":"^3.1.3","node-red-node-test-helper":"^0.3.3"},"_npmOperationalInternal":{"tmp":"tmp/nr-norsub-emru_1.0.1_1705579250980_0.364259685386239","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-01-18T09:26:38.700Z","modified":"2026-03-11T07:15:33.692Z","1.0.0":"2024-01-18T09:26:39.028Z","1.0.1":"2024-01-18T12:00:51.136Z"},"bugs":{"url":"https://github.com/core-marine-dev/nr-norsub-emru/issues"},"author":{"name":"CoreMarine"},"license":"MIT","homepage":"https://github.com/core-marine-dev/nr-norsub-emru#readme","keywords":["node-red","mru","imu","norsub","nmea","nmea0183","0183","parser"],"repository":{"url":"git+https://github.com/core-marine-dev/nr-norsub-emru.git","type":"git"},"description":"Node-Red component to work with NorSub eMRU devices","maintainers":[{"email":"dev@core-marine.com","name":"coremarinedev"},{"email":"crisconru@gmail.com","name":"crisconru"},{"email":"egr@core-marine.com","name":"egr666"}],"readme":"# nr-norsub-emru\n\n![npm (scoped)](https://img.shields.io/npm/v/%40coremarine/nr-norsub-emru)\n[![publish](https://github.com/core-marine-dev/nr-norsub-emru/actions/workflows/publish.yml/badge.svg)](https://github.com/core-marine-dev/nr-norsub-emru/actions/workflows/publish.yml)\n![npm](https://img.shields.io/npm/dy/%40coremarine/nr-norsub-emru)\n\nNode-Red component for the [Norsub-eMRU library](https://github.com/core-marine-dev/norsub-emru) to read NorSub NMEA propietary protocols and NMEA 0183 sentences. It is a wrapper of [@coremarine/norsub-emru](https://github.com/core-marine-dev/norsub-emru) (check it docs).\n\n## Input\n\nNorSub component uses 5 properties to work:\n\n- `payload` is the main property with NMEA content.\n- `protocols`, `sentence`, `memory` and `fake` are optionals.\n\n| Input property         | Description                                                                            |\n| :--------------------- | :------------------------------------------------------------------------------------- |\n| `payload` (string)     | NMEA ASCII content (important, it is an *ASCII* string, not other encoding).           |\n| *`memory`* (object)    | Object to check or enabled / disabled parser memory state (look details below).        |\n| *`protocols`* (object) | Object to get or set the protocols supported and their sentences (look details below). |\n| *`sentence`* (string)  | Sentence ID to get if it is supported and its info (look details below).               |\n| *`fake`* (string)      | Sentence ID to get a full fake NMEA-like sentence if it is supported.                  |\n\n## Output\n\nEach input proerty would be responded in the same output property\n\n| Output property        | Description                                                                                                                    |\n| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------- |\n| payload (array)        | It gives you the same parsing output that the CoreMarine NMEA Parser (an array of object with the info of each NMEA sentence). |\n| *`memory`* (object)    | Response to the *memory* input (look details below).                                                                           |\n| *`protocols`* (object) | Response to the *protocols* input (look details below).                                                                        |\n| *`sentence`* (string)  | Response to the *sentence* input (look details below).                                                                         |\n| *`fake`* (string)      | Response to the *fake* input (look details below).                                                                             |\n\n## Details\n\nNorSub parser translate NMEA ASCII string data into a JavaScript objects (one for each\nNMEA sentence). Each time it receives data from payload input, it gives the parsed sentences to payload output.\n\nIt just a wrapper of the npm library [@coremarine/norsub-emru](https://github.com/core-marine-dev/norsub-emru) (take a look on it).\n\nTo interact with the *memory* | *protocols* | *sentence* API is through the `memory` | `protocols` | `sentence` property:\n\n- If you request something in `msg.memory` | `msg.protocols` | `msg.sentence` input\n- The response will be in `msg.memory` | `msg.protocols` | `msg.sentence` output\n\n### Memory\n\nIt is enabled by default:\n\n- memory enabled: Every time you inject data, it's attached to the internal data.\n- memory disabled: Every time you inject data, it clears internal data and add new one.\n\nInternally it has a buffer with a max number of characters\n\n|                          Input                           |                            Output                             |\n| :------------------------------------------------------: | :-----------------------------------------------------------: |\n| `memory`: { `command`: `\"set\"`, `payload`: **boolean** } | `memory`: { `memory`: **boolean**, `characters`: **number** } |\n|             `memory`: { `command`: `\"get\"` }             | `memory`: { `memory`: **boolean**, `characters`: **number** } |\n\n### Protocols\n\nThe parser can be feeded or expanded to understand more nmea sentences, standard or propietary.\nTo do that it should be passed an object with the property `command` equal to `\"set\"` and one this three properties:\n\n1. `file`: It's the string file path to the protocols YAML file.\n2. `content`: It's the string content of the protocols YAML file.\n3. `protocols`: It's the JS object after parsing the protocols YAML file.\n\nIf you send more of them, parser only will read one (`file` upper other, `content` upper `protocols`)\n\nIf you just want to know what are the known or supported sentences, you just need the command `get`.\n\n|                            Input                             |         Output         |\n| :----------------------------------------------------------: | :--------------------: |\n|   `protocols`: { `command`: `\"set\"`, `file`: **string** }    | `protocols`: **array** |\n|  `protocols`: { `command`: `\"set\"`, `content`: **string** }  | `protocols`: **array** |\n| `protocols`: { `command`: `\"set\"`, `protocols`: **object** } | `protocols`: **array** |\n|             `protocols`: { `command`: `\"get\"` }              | `protocols`: **array** |\n\n### Sentence\n\nIf you want to know if a sentence is known / supported, you need to send the sentence id.\nResponse will be an `object` with the whole info or `null` if it's unknown / not supported yet.\n\n|         Input          |              Output             |\n| :--------------------: | :-----------------------------: |\n| `sentence`: **string** | `sentence`: **object** | `null` |\n\n### Fake\n\nIf you want to get a NMEA-like sentence, maybe just to do some tests, you need to send the sentence id.\nResponse will be a `string` with the whole ASCII sentence or `null` if it's unknown / not supported yet.\nThis fake sentence is correct in terms of NMEA requirements but each field has garbage.\n\n|       Input        |            Output           |\n| :----------------: | :-------------------------: |\n| `fake`: **string** | `fake`: **string** | `null` |\n","readmeFilename":"README.md"}