nimcodec
Version:
Encoder/decoder for satellite IoT using Non-IP Messages
1,354 lines (555 loc) • 25.5 kB
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">
<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">
<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">
<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">
<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.<String></span>
</td>
<td class="attributes">
<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.<Field></span>
</td>
<td class="attributes">
<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">
<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.<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.<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">
<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.<Message></span>
</td>
<td class="attributes">
<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.<Message></span>
</td>
<td class="attributes">
<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>