Giter Site home page Giter Site logo

umcp's Introduction

uMCP

Lightweight communication protocol with guaranteed delivery

uMCP - a free view on the DDCMP protocol, especially designed to work with small baudrates and channels with high error probability - for example, underwater acoustic channel etc. uMCP is designed for better usability of uWAVE and RedLINE underwater acoustic modems (but not only!).

It is very similar to DDCMP, but has some differencies:

  • smaller overhead
  • possible communication between tributary stations
  • no NAKs, all error situations are managed by timeouts to decrease traffic
  • easy pipelining

timeouts are causing transmission of REP (reply to message), remote system answers with ACK (which, in fact, contains remote system state)

  • if error is due to lost ACK, it will be corrected by ACK retransmission from the remote system
  • if error is due to lost DATA message, it will be corrected by DATA message retransmission to the remote system Retransmission performed without pipelining.

Message framing

SIGN : 8 bit (start signature) = 0xAD SID : 8 bit (sender ID) TID : 8 bit (target ID) PTYPE : 8 bit (packet type)

if PTYPE == STR || PTYPE == STA

  • no extra data

else if PTYPE == REP TCNT : 8 bit

else if PTYPE == ACK TCNT : 8 bit RCNT : 8 bit

else if PTYPE = DTA || PTYPE == DTE TCNT : 8 bit RCNT : 8 bit

endif

HCHK : 8 bit (header checksum)

if PTYPE == DTA || PTYPE == DTE DCNT : 8 bit (data counter) DATA : 8 bit * DCNT

endif

umcp's People

Contributors

alekunderwater 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.