Coder Social home page Coder Social logo

nmeacop's Introduction

NMEAcop by jmdasnoy 11/2020 MIT license

Target platform ESP32 NodeMCU Lua 5.1

Overview

This package provides a NMEA0183 multiplexer, traffic controller "cop" and queues for a backbone node.

The target NMEA network design is described in Boat Network design

A limited use example is available Partial example

Application integration

This package provides 3 queues, feeding the backbone and stub outputs and the local decoder. A variety of enqueueing and sending (dequeuing) functions are provided in the actions table. Note the single variants available for data pacing of messages that can be dropped in favour of more recent ones, typically GPS fixes.

The new() function creates new listener objects, that can be precisely configured to handle/route incoming messages with specific tag matching and actions.

The main application will need to call the functions NMEA.sendbackbone and NMEA.sendstub (with a hardware talker function) to produce output. The main application must also call the NMEA.senddecode function ( with a decoder function) to process the messages received and queued for decoding.

The main application is responsible for monitoring the queue sizes with NMEA.stats and adapting the frequency of calls to the sender functions.

The main application will tie the <listener>:process functions to the corresponding hardware listener callbacks to enqueue incoming messages.

The data producers on this node need to call the appropriate enqueuing function to prepare it for transmission. Utility functions include NMEA.addchecksum.

nmeacop's People

Contributors

jmdasnoy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.