Git Product home page Git Product logo

sal-stack-nanostack-slip's Introduction

sal-stack-nanostack-slip

SLIP protocol support for Nanostack

sal-stack-nanostack-slip's People

Contributors

devran01 avatar jpellikk-arm avatar urutva avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sal-stack-nanostack-slip's Issues

SLIP TX does not appear to ever be started

Hi there,

Sorry if i'm missing something, I've been digging for a few hours now and can't see where the SlipMACDriver actually initiates a transmission.

In practice this presents as [ERR ][slip]: Ran out of TX Buffers. and there does not appear to be any slip packet output over serial (also the serial send method is never called, validated in the debugger).

The transmission process as far as I can see:

  1. SlipMACDriver::slip_if_tx() is called to send a SLIP packet
    • copies the transmission data into one of the available buffers
    • binds txIrq() for the current instance (this is commented out with a TODO)
    • binds a callback for the current slip instance
  2. SlipMACDriver::txIrq() gets called on the completion of the underlying serial tx
    • loads a buffer if there is not currently one set to pCurSlipTxBuffer
    • outputs one character
    • returns the buffer and clears pCurSlipTxBuffer once it is empty

So once a transmission has been started, provided the underlying serial interrupt is being called (which also appears to be a problem on my platform, par for the embedded course).
But in the first instance, or if there isn't a transmission already in flight it'll never begin another transmission?

My suggestion would be that txIrq() should be fired from the slip_if_tx() method after registering the callback, or alternately via a signal to the SLIP_IRQ_Thread, but I am unsure as to how this was intended to work.

Thanks for the help (again!),

Ryan

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.