UNPKG

nimcodec

Version:

Encoder/decoder for satellite IoT using Non-IP Messages

1,354 lines (555 loc) 25.5 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Namespace: types</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <script src="scripts/jquery.min.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css"> <link type="text/css" rel="stylesheet" href="styles/jaguar.css"> <script> var config = {"monospaceLinks":false,"cleverLinks":true,"default":{}}; </script> </head> <body> <div id="wrap" class="clearfix"> <div class="navigation"> <h3 class="applicationName"><a href="index.html"></a></h3> <div class="search"> <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations"> </div> <ul class="list"> <li class="item" data-name="field"> <span class="title"> <a href="field.html">field</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.array"> <span class="title"> <a href="field.array.html">field.array</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.bitkeylist"> <span class="title"> <a href="field.bitkeylist.html">field.bitkeylist</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.bool"> <span class="title"> <a href="field.bool.html">field.bool</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.data"> <span class="title"> <a href="field.data.html">field.data</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.enum"> <span class="title"> <a href="field.enum.html">field.enum</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.int"> <span class="title"> <a href="field.int.html">field.int</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.string"> <span class="title"> <a href="field.string.html">field.string</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="field.uint"> <span class="title"> <a href="field.uint.html">field.uint</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="nimo"> <span class="title"> <a href="nimo.html">nimo</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> <span class="subtitle">Methods</span> <li data-name="nimo.decodeMessage"><a href="nimo.html#.decodeMessage">decodeMessage</a></li> <li data-name="nimo.encodeMessage"><a href="nimo.html#.encodeMessage">encodeMessage</a></li> <li data-name="nimo.exportJson"><a href="nimo.html#.exportJson">exportJson</a></li> <li data-name="nimo.exportXml"><a href="nimo.html#.exportXml">exportXml</a></li> <li data-name="nimo.importCodec"><a href="nimo.html#.importCodec">importCodec</a></li> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="types"> <span class="title"> <a href="types.html">types</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> <span class="subtitle">Typedefs</span> <li data-name="types.Field"><a href="types.html#.Field">Field</a></li> <li data-name="types.FieldType"><a href="types.html#.FieldType">FieldType</a></li> <li data-name="types.Message"><a href="types.html#.Message">Message</a></li> <li data-name="types.NimoCodec"><a href="types.html#.NimoCodec">NimoCodec</a></li> <li data-name="types.Service"><a href="types.html#.Service">Service</a></li> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> </ul> </div> <div class="main"> <h1 class="page-title" data-filename="types.html">Namespace: types</h1> <section> <header> <h2> types </h2> </header> <article> <div class="container-overview"> <div class="description"><p>Type definitions for readability</p></div> <dl class="details"> </dl> </div> <h3 class="subsection-title">Type Definitions</h3> <dl> <dt> <div class="nameContainer"> <h4 class="name" id=".Field">types.Field<span class="type-signature type object">Object</span> </h4> </div> </dt> <dd> <div class="description"> <p>Field definition. Certain type-specific properties are required.</p> </div> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last"><p>Unique name for the field within a Message</p></td> </tr> <tr> <td class="name"><code>type</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last"><p>A valid field type value from FieldType</p></td> </tr> <tr> <td class="name"><code>description</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Optional description</p></td> </tr> <tr> <td class="name"><code>size</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Type-specific requirement/interpretation</p></td> </tr> <tr> <td class="name"><code>optional</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Flag allowing optional presence of the field</p></td> </tr> <tr> <td class="name"><code>fixed</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Type-specific optional flag for fixed-size <code>string</code>, <code>data</code> or <code>array</code></p></td> </tr> <tr> <td class="name"><code>items</code></td> <td class="type"> <span class="param-type">Array.&lt;String></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Required for <code>enum</code> type only</p></td> </tr> <tr> <td class="name"><code>fields</code></td> <td class="type"> <span class="param-type">Array.&lt;Field></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Required for <code>array</code> and <code>bitkeylist</code> types</p></td> </tr> </tbody> </table></dl> </dl> </dd> <dt> <div class="nameContainer"> <h4 class="name" id=".FieldType">types.FieldType<span class="type-signature type object">Object</span> </h4> </div> </dt> <dd> <div class="description"> <p>Enumeration of types (placeholder)</p> </div> <dl class="details"> </dl> </dd> <dt> <div class="nameContainer"> <h4 class="name" id=".Message">types.Message<span class="type-signature type object">Object</span> </h4> </div> </dt> <dd> <div class="description"> <p>Message definition. Typically include 1 or more <code>Field</code> but could represent a 2-byte command.</p> </div> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>messageKey</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>Directionally-unique within Service [0..255]. 2nd byte of raw payload sent over-the-air.</p></td> </tr> <tr> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last"><p>Unique within Service</p></td> </tr> <tr> <td class="name"><code>description</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Optional description</p></td> </tr> <tr> <td class="name"><code>fields</code></td> <td class="type"> <span class="param-type">Array.&lt;Field></span> </td> <td class="attributes"> </td> <td class="description last"><p>List of Fields comprising the message content</p></td> </tr> </tbody> </table></dl> </dl> </dd> <dt> <div class="nameContainer"> <h4 class="name" id=".NimoCodec">types.NimoCodec<span class="type-signature type object">Object</span> </h4> </div> </dt> <dd> <div class="description"> <p>NIM Codec definition</p> </div> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>nimoCodecKey</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last"><p>Common tag indicating NIM codec definition</p> <h6>Properties</h6> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>services</code></td> <td class="type"> <span class="param-type">Array.&lt;Service></span> </td> <td class="description last"><p>The list of Service definitions</p></td> </tr> </tbody> </table> </td> </tr> </tbody> </table></dl> </dl> </dd> <dt> <div class="nameContainer"> <h4 class="name" id=".Service">types.Service<span class="type-signature type object">Object</span> </h4> </div> </dt> <dd> <div class="description"> <p><code>Service</code> definition must have at least 1 <code>Message</code> in uplink or downlink. Message keys can be reused between uplink or downlink though the intent is to match downlink command with uplink response.</p> </div> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>serviceKey</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>Unique within NimCodec [0..255]. 1st byte of raw payload sent over-the-air. 0..15 reserved for system use.</p></td> </tr> <tr> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> </td> <td class="description last"><p>Unique within NimCodec</p></td> </tr> <tr> <td class="name"><code>description</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Optional description</p></td> </tr> <tr> <td class="name"><code>uplinkMessages</code></td> <td class="type"> <span class="param-type">Array.&lt;Message></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Mobile-Originated Messages</p></td> </tr> <tr> <td class="name"><code>downlinkMessages</code></td> <td class="type"> <span class="param-type">Array.&lt;Message></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Mobile-Terminated Messages</p></td> </tr> </tbody> </table></dl> </dl> </dd> </dl> </article> </section> <footer> Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Feb 05 2024 16:52:36 GMT-0500 (Eastern Standard Time) </footer> </div> </div> <script>prettyPrint();</script> <script src="scripts/jaguar.js"></script> </body> </html>