New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

hex-frame-parser

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hex-frame-parser

Encode & decode hexadecimal frames with ease

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

Hexadecimal frame parser npm npm bundle size

Encode & decode hexadecimal frames with ease

Install

$ npm install --save hex-frame-parser

Usage

const Decoder = require('hex-frame-parser').Decoder;
const DecoderProperty = require('hex-frame-parser').DecoderProperty;

// Objects
const decoder = new Decoder('47c85d800f03'); // the hexadecimal frame to decode

// Define the syntax (bitStartPos, bitEndPos, key, type, unit, add, subtract, divide, multiply)
decoder.decoderProperties.push(new DecoderProperty(0, 32, false, 'pressure', 'float', 'hPa', null, null, 100, null));

// See the result
console.log(decoder.decode());

Properties

  • bitStartPos: Number defines the position of the starting bit to decode
  • bitEndPos: Number defines the position of the ending bit to decode
  • isSigned: Boolean defines if the data is signed or unsigned
  • key: String defines the name of the data to decode
  • type: String defines the type of the data to decode (see below for usable types)
  • unit: String defines the unit of the data to decode
  • add: Number defines the number to add to the data
  • subtract: Number defines the number to subtract to the data
  • multiply: Number defines the number to multiply to the data
  • divide: Number defines the number to divide to the data

Types (32bits architecture)

type can be:

  • char
  • short
  • int
  • long
  • float
  • bool

Examples

const Decoder = require('hex-frame-parser').Decoder;
const DecoderProperty = require('hex-frame-parser').DecoderProperty;

// #1
const decoder_1 = new Decoder('47c85d800f03');
decoder_1.decoderProperties.push(new DecoderProperty(0, 32, false, 'pressure', 'float', 'hPa', null, null, null, 100));
decoder_1.decoderProperties.push(new DecoderProperty(8, 16, false, 'humidity', 'int', '%'));
console.log(decoder_1.decode());

// #2
const decoder_2 = new Decoder('b6096249');
decoder_2.decoderProperties.push(new DecoderProperty(8, 13, false, 'mode', 'bool', ''));
console.log(decoder_2.decode());

// #3
const decoder_3 = new Decoder('1a00bd4aa5181d');
decoder_3.decoderProperties.push(new DecoderProperty(8, 24, true, 'temperature', 'int', '°C', null, null, null, 8));
decoder_3.decoderProperties.push(new DecoderProperty(24, 32, false, 'humidity', 'int', '%',  null, null, null, 2));
console.log(decoder_3.decode());

// #4
const decoder_4 = new Decoder('32b641e0224484');
decoder_4.decoderProperties.push(new DecoderProperty(4, 13, true, 'temperature', 'int', '°C',  null, null, 0.25, null));
console.log(decoder_4.decode());

Keywords

encode

FAQs

Package last updated on 28 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts