Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
antiA

anti

@anti
About
Posts
4
Topics
0
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Serial API: NOACK when sending with ACK failed
    antiA anti

    In the BACnet protocol, the messages are not sent directly, but pushed into an internal state machine that remembers (some) of the previously messages sent (i.e. memorize(_msg); send(_msg); ).

    The state machine also peeks incoming messages and can trigger a message re-send in case of a missed ACK.

    the difference with MySensors is that all the messages are numbered, otherwise you would not know which message of the last N sent previously was ACKed,
    but well.. ACKing the last similar message might be good enough.

    Anyway @SiLeX : if you want to try, this is not that complicated, (if you don't take into account the STREAMs) it will just costs about (1 status byte + 1 timestamp + 1 frame size) x N ; for N frames memorized.

    Feature Requests ack nrf24l01+

  • RS485/RS232/Serial transport class for mysensors.org
    antiA anti

    Replying to myself... Of course the "Controller" MUST be properly connected
    for dynamic nodes IDs to function properly, since it's the controller's job to affect the node ids.

    This explains a part of my original problem.

    Development rs485 serial rs485

  • RS485/RS232/Serial transport class for mysensors.org
    antiA anti

    @TimO Well... it turns out that the garbage seen on the wire was not garbage, just the binary serial protocol. And the node was desperately attempting to find a parent, with no success.

    FYI this is how I workaround it. But I did not feel like I could fix it for 100% sure.

    The gateway ignored the broadcasts from the node. The following code in MyTransportRS485 triggered for probably wrong reasons (sender=0; nodeid=0;station=broadcast) :

                   if ((_recSender == _nodeId) ||
                      (_recStation != _nodeId &&
                       _recStation != BROADCAST_ADDRESS)) {
                              _dev.print(" wrongid: ");
    

    Since the gateway was not responding correctly to the node broadcasts, I solved the serial communication problem between node and gateway by defining a fixed node Id :

    #define MY_NODE_ID 10
    

    (ps: the MySensors version used was cloned from git today)

    Development rs485 serial rs485

  • RS485/RS232/Serial transport class for mysensors.org
    antiA anti

    @TimO I cloned the current development branch, and tried to use a modified motion sketch, and a gateway sketch, simply interconnecting two mini-pros with TTL serial : the same problem appears.

    I can only see garbage sent on the AltSerial pins, so the gateway don't see the message.

    Before I dig more and start debugging, did anybody made progress on that problem ?

    Development rs485 serial rs485
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular