Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Adam Slowik
    3. Posts
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Posts made by Adam Slowik

    • RE: CAN bus transport implementation

      @virtualmkr said in CAN bus transport implementation:

      I'm not a "radio guy", but I think this code change looks fine. When sanity check fails then MySensors core calls transportInit() which would try to re-initialise the MCP2515 module.

      Ok. I'll update code.

      @virtualmkr said in CAN bus transport implementation:

      I have done some modifications in the CAN transport files.
      @Adam-Slowik I would like to create a PR in your forked repo. Then we can discuss the code changes in GitHub. Would that be Ok for you - do you have time for this?

      Sure. Make PR. I'll try to review it within 48h.

      @virtualmkr said in CAN bus transport implementation:

      When I send 32 byte message I observed the sub telegrams do not always arrive in send order

      Other limitation I see is the limited CAN telegram buffer of 3 packets in the MCP2515 module. I'm afraid for reliable operation with MySensors a change from polling to interrupt mode is required.

      I think this two issues are linked. Now packets are sent in correct order (could You verify it?). If packets are sent in short periods We should use interrupt to keep MCP2515 buffers empty. When We fail to keep buffers empty (due to polling mechanism) We receive sub telegrams in mixed order. This theory could be true if MCP2515 buffers are implemented as LIFO. I'll look into documentation to figure it out.
      Anyway both fixes are worth to implement. I'll try to do this over weekend.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      Are You still have an issue when MY_DEBUG is deactivated? Have You tried to add delay as is was suggested in one of the threads You found?

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      So library gives us 3 interesting functions:

      INT8U checkError(void);           
      INT8U errorCountRX(void);                                           
      INT8U errorCountTX(void);   
      

      Full description can be found in library source code and in documentation chapter 6:
      https://ww1.microchip.com/downloads/en/DeviceDoc/MCP2515-Stand-Alone-CAN-Controller-with-SPI-20001801J.pdf

      long story short:

      1. INT8U checkError(void); returns:
        -CAN_CTRLERROR when things are bad or very bad
        -CAN_OK when things are ok or not so bad (error counters below 96)
        I would like to chage implementation of sanity check to something like this:
      bool transportSanityCheck(void)
      {
      	return (CAN0.getError()==CAN_OK)
      }
      

      It won't blink diodes in case of communication problems, but will provide some feedback about communication to MySensors library.

      2)INT8U errorCountRX(void); return error counter for received messages. AFAIK this counter is incremented when error occurs and decremented when message is received. I'm not a 'radio guy' but i think this could be returned as int16_t transportGetReceivingSNR(void) or int16_t transportGetReceivingRSSI(void). I know SNR and RSSI are radio related parameters, but perhaps We could bend the border here. Maybe some 'radio guy' could say something about this idea?

      3)INT8U errorCountTX(void); same situation as with #2. 'Radio guy' opinion would by great.

      Again ideas #2 and #3 are not solving problems, but providing feedback to MySensors.

      Are My ideas ok, or do they do not pass sanityCheck() 🙂

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      The original idea was: how to check the status of the CAN bus.
      . is there any dialogue ?
      . are there any messages?
      of course this can be done with MySensors.
      But to get as close as possible to the communication channel (the CAN bus) I thought it was easy to do.

      That is something I can work with. I will check if used library provides some function to check bus status.

      @JeeLet said in CAN bus transport implementation:

      my time available for the computer will soon be reduced (purchase and work of a house)

      I totally understand.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      The list of #define go up for the MySensors sketch .
      ( if I'm not mistaken ?)

      You are right.

      @JeeLet said in CAN bus transport implementation:

      can be added, for testing and controlling the CAN bus
      #define CAN_MSGAVAIL
      #define CAN_OK
      #define CAN_CTRLERROR

      I'm afraid i do not understand what You want to achieve.
      To clarify things lets look at CAN_CLOCK

      CAN_CLOCK can take values: 0 or 1 or 2 those values are defined in mcp_can_dfs.h:

      #define MCP_20MHZ    0
      #define MCP_16MHZ    1
      #define MCP_8MHZ     2
      

      If You want to use 8MHz You can
      #define CAN_CLOCK 2
      or
      #define CAN_CLOCK MCP_8MHZ
      Both lines will do the same. However #define CAN_CLOCK MCP_8MHZ is recommended approach.
      So CAN_CLOCK can take one of values values (0,1,2), and user (based on used hardware) should pick one of them.

      Next example could be CAN_INT. User should be able to pick which interrupt pin should be used.

      Now when it comes to:

      #define CAN_MSGAVAIL    
      #define CAN_OK  
      #define CAN_CTRLERROR  
      

      in mcp_can_dfs.h We can find a section:

      #define CAN_OK             (0)
      #define CAN_FAILINIT       (1)
      #define CAN_FAILTX         (2)
      #define CAN_MSGAVAIL       (3)
      #define CAN_NOMSG          (4)
      #define CAN_CTRLERROR      (5)
      #define CAN_GETTXBFTIMEOUT (6)
      #define CAN_SENDMSGTIMEOUT (7)
      #define CAN_FAIL       (0xff)
      

      This We can treat as return code dictionary.
      For example when I initialize CAN in MyTransportCAN.cpp:

      	if (CAN0.begin(MCP_STDEXT, CAN_SPEED, CAN_CLOCK) != CAN_OK) {
      		canInitialized = false;
      		return false;
      	}
      	canInitialized = true;
      

      I could write if (CAN0.begin(MCP_STDEXT, CAN_SPEED, CAN_CLOCK) != 0 but recommended approach is to use dictionary key (CAN_OK) instead of dictionary value (0)

      Now overriding CAN_OK to 777 instead of 0 is possible, but it won't cause nothing but chaos. If We do that the function CAN0.begin(MCP_STDEXT, CAN_SPEED, CAN_CLOCK) would return 777 instead of 0. I don't think user should do that.

      Code from mcp_can.cpp:

      INT8U MCP_CAN::checkReceive(void)
      {
      	INT8U res;
      	res = mcp2515_readStatus();                                         /* RXnIF in Bit 1 and 0         */
      	if (res & MCP_STAT_RXIF_MASK) {
      		return CAN_MSGAVAIL;
      	} else {
      		return CAN_NOMSG;
      	}
      }
      

      This function returns dictionary key CAN_MSGAVAIL or CAN_NOMSG but if We could stop in debug We would see 3 or 4
      Again overriding CAN_MSGAVAIL to let's say 42 won't give user nothing.

      @JeeLet said in CAN bus transport implementation:

      return of the last 24 hours .
      CAN bus no error, good dialogue, no hole in the measurements and commands.
      the hardware base on the bus is :
      gateway + node 55 + node 56 .
      I will add another node 57.
      I think to go until 6 nodes

      I keep My fingers crossed. Great job.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      I'm not sure if We understood each other. This line #define CAN_CLOCK MCP_16MHZ should be in Your sketch. You should not modify MyConfig.h.
      Libraries (in general not only MySensors) should not be modified. MyConfig.h is part of library.

      Let's take a look at this code from MyConfig.h

      #ifndef CAN_CLOCK
      #define CAN_CLOCK MCP_8MHZ
      #endif. 
      

      This is if statement. If user didn't defined CAN_CLOCK define it as CAN_CLOCK MCP_8MHZ
      If user defined (in sketch) CAN_CLOCK then do nothing.

      So You can treat MyConfig.h as a set of defaults which can be overridden from sketch.

      I have put all relevant (in My opinion) properties from MCP_CAN_lib into MyConfig.h, so You can override them. If I have missed some relevant property please let Me know.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      I'm going from 8Mhz to 16Mhz (in development/MyConfig.h on line 306)

      In My opinion You should not override MyConfig.h. If You want to go for 16MHz You should put:

      #define CAN_CLOCK MCP_16MHZ
      

      in Your sketch. Preferably somewhere around line:

      #define MY_CAN
      

      @JeeLet said in CAN bus transport implementation:

      can you explain how I can bring up in the sketch the parameters that are related to the MCP_CAN_lib library

      If it's a parameter that is listed in MyConfig.h simply define it like 'CAN_CLOCK'. If parameter is not listed in MyConfig please let me know exactly what parameter You would like to modify, then I will try to figure it out.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      I test what now???

      I was at similar position some time ago:

      @Adam-Slowik said in CAN bus transport implementation:

      Any suggestion what to test next?

      I have no idea what to test next. I do not use MySensors. I hope this will change in the future, but as of now I'm a newbie.

      If You won't get any advice from more experienced users I would suggest to do some long running test to see if it's stable. If it's stable try to use it in some real use cases.

      If You find any bugs in transmission layer post logs here. I will do My best to support CAN, because I will need it in a future.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      what was the problem ???

      Previous messages used 7 bytes long payload. Single CAN frame is able to transfer 8 bytes. So all messages was contained in single frame. Example with time, used 17 (!) bytes long payload. In order to transfer 17 bytes there is need to split data to 3 messages (8+8+1). Next in the other side of wire You have to concat it. This mechanism of splitting and concating had a bug. For details check last 3 commits (at the bottom)
      https://github.com/mysensors/MySensors/compare/development...AdamSlowik:development

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      I found a bug in my code. Please re-download new version.

      If something won't work please enable CAN debug by adding:
      #define MY_DEBUG_VERBOSE_CAN

      add this to gateway and to node sketch

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      In previous example (with diodes) did You set CAN_CLOCK to MCP_16MHZ?

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet said in CAN bus transport implementation:

      Arduino 8bit and MySensors is over for you?

      No it is not over. Right now I don't have enough time. Now I am able to work for let's say 1 hour per week. Probably I will become more active at the end of 2023 😄

      @JeeLet said in CAN bus transport implementation:

      bah No the time is not up

      Here You posted RS485 version:
      https://forum.mysensors.org/topic/4809/real-time-clock-module-lcd-display-and-controller-time/8?_=1655208396048

      Could You post here CAN version?

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      @JeeLet as I can see You had bussy weekend. I was AFK so I was unable to respond. Within working days I should be able to respond quicker.

      @JeeLet said in CAN bus transport implementation:

      lines 163 and 228 modify and error resolved

      Can you push Your fix to My repo?

      @JeeLet said in CAN bus transport implementation:

      a proof in video that it is functional

      Great job! I never was at this stage.

      @JeeLet said in CAN bus transport implementation:

      all is not functional, on the end of the video, the reset or reboot does not work, (but functional with the RS485 bus)
      .... to follow

      Can You provide (gateway/node) logs from reset scenario. It would be great to have those logs either for RS485 and CAN so I can compare them.

      @JeeLet said in CAN bus transport implementation:

      I would like to test the Node to Node with the filtering.
      a question : is it difficult to put the filters on the MySensors sketch ???

      Could You describe what kind of test You would like to perform? Right now there is no way to set filters from the sketch. I think it should stay this way.

      Perhaps We have different things in mind when We think about filters. I'll try to describe how I see this.

      When it comes to CAN frame there is header and body. Header contains metadata and body contains data. mcp2515 can filter frames based on header content. Header contains id of destination node. Based on this id filters are set to drop any messages not intended for current node. This way if gateway want to send message to node with id=51 only node with this id receives this message.

      There is exception for this rule. Messages with destination id set to BROADCAST_ADDRESS reaches all nodes.

      With this in mind I see no reason to set filters differently. Of course I can be wrong.

      Composition of header is described in MyTransportCAN.cpp in method _buildHeader()

      As of now my all can modules and arduinos are burried in some box at My attic so I am unable to test anything

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      So I have pull up some config parameters. Those are defined and briefly described in:
      https://github.com/AdamSlowik/MySensors/blob/development/MyConfig.h
      lines 270-315
      You can set those parameters to different values, but for first run I suggest deploy examples without modifications. By examples I mean those 2 files:
      https://github.com/AdamSlowik/MySensors/blob/development/examples/CANSwitch/CANSwitch.ino
      https://github.com/AdamSlowik/MySensors/blob/development/examples/GatewaySerialCAN/GatewaySerialCAN.ino

      If it fails I would set:
      CAN_CLOCK to MCP_16MHZ
      because i think can module from Your vendor uses 16MHz (My used 8MHz)

      filters are set in:
      https://github.com/AdamSlowik/MySensors/blob/development/hal/transport/CAN/MyTransportCAN.cpp
      line 37 method _initFilters()
      without clear reason (eg. bug) I would recommend to not alter it.
      Filters are set to drop messages not intended for certain node. Thanks to this MCU do not have to handle 'spam'.

      If My answer answers Yours questions then great. If this is insufficient ask for a specific parameter or line in code I will try to answer any questions asap

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      1

      • which CAN library did you start on,

      I have used https://github.com/coryjfowler/MCP_CAN_lib
      This library is embedded in code in my fork, so if You are going to test My fork You don't have to worry about underlying library. Consider it an implementation detail. If You are going to implement CAN bus transport at Your own, You can pick different library.

      2

      • the management of Float values is also managed ?

      I did not tested transferring float numbers over CAN network, however in my opinion such concern is out of the scope of protocol implementation. During implementation My goal was to transfer array of bytes from one arduino to another via CAN. I don't care how those bytes are interpreted. Those bytes can be Strings, ints, floats, images etc. It should not matter.

      3

      • and of course any CAN card is managed, like this one https://www.gotronic.fr/ori-module-bus-can-sbc-can01-28405.jpg

      Any CAN module supported by underlying library should be ok (so after all it's not an implemantation detail). Library readme says it will work with MCP2515 and MCP25625. Module picked by You (https://www.gotronic.fr/art-module-bus-can-sbc-can01-28405.htm) have MCP2515+MCP2562 so You should be god. Module used by Me had MCP2515+tja1050. Yours transciever is different then mine, however I hope it doesn't matter

      4

      I prepare another test computer for the installation of your version 🙂

      I would really appreciate Your feedback

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      Hi @JeeLet, to test my implementation You should:

      1. Set up hardware as described in my first post in this thrread.
      2. Download source from my fork (https://github.com/AdamSlowik/MySensors/archive/refs/heads/development.zip)
      3. Somewhere in Your lib folder swap official MySensors files with those downloaded.
      4. Upload "CANSwitch.ino" to first arduino and "GatewaySerialCAN.ino" to second one. Both files can be found in examples.

      If everything is fine then You Should get results similar to those presented in my post dated to "14 Jul 2020, 20:42"

      Please let Us know if You managed to reproduce My results.

      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      After setting node id, My examples works.

      Sensor restarts communication once at startup, and then it looks ok. Logs below.

      That's it for today.

      Any suggestion what to test next?
      Any ideas why communication restarts at startup?

      logs trimmed due to max post length.

      gateway:

      
      20:30:00.383 -> 0;255;3;0;14;Gateway startup complete.
      20:30:00.383 -> 0;255;0;0;18;2.4.0-alpha
      20:30:00.383 -> send partLen: 7
      20:30:00.383 -> send data: 0;0;255;2;3;20;255;.
      20:30:00.383 -> send CAN len: 7
      20:30:00.383 -> send CAN noOfFrames: 1
      20:30:00.383 -> send CAN id: 2148597504
      20:30:00.383 -> send packet sent
      20:30:07.317 -> READ CAN id: 2148597517
      20:30:07.317 -> READ CAN from: 13
      20:30:07.317 -> READ CAN to: 255
      20:30:07.317 -> READ CAN currentPart: 0
      20:30:07.317 -> READ CAN totalPartCount: 1
      20:30:07.317 -> READ CAN messageId: 0
      20:30:07.350 -> READ CAN data: 
      20:30:07.350 -> 13, 13, 255, 2, 3, 7, 255, 
      20:30:07.350 -> READ CAN SLOT: 7
      20:30:07.350 -> READ CAN lastReceivedPart: 1
      20:30:07.350 -> READ CAN packet received
      20:30:07.350 -> transport receive called
      20:30:07.350 -> transport receive data: 13, 13, 255, 2, 3, 7, 255, 
      20:30:08.213 -> send partLen: 8
      20:30:08.213 -> send data: 0;0;13;10;35;8;255;0;.
      20:30:08.213 -> send CAN len: 8
      20:30:08.213 -> send CAN noOfFrames: 1
      20:30:08.213 -> send CAN id: 2148535552
      20:30:08.213 -> send packet sent
      20:30:09.340 -> READ CAN id: 2148597517
      20:30:09.340 -> READ CAN from: 13
      20:30:09.340 -> READ CAN to: 255
      20:30:09.340 -> READ CAN currentPart: 0
      20:30:09.340 -> READ CAN totalPartCount: 1
      20:30:09.373 -> READ CAN messageId: 0
      20:30:09.373 -> READ CAN data: 
      20:30:09.373 -> 13, 13, 255, 2, 3, 7, 255, 
      20:30:09.373 -> READ CAN SLOT: 7
      20:30:09.373 -> READ CAN lastReceivedPart: 1
      20:30:09.373 -> READ CAN packet received
      20:30:09.373 -> transport receive called
      20:30:09.373 -> transport receive data: 13, 13, 255, 2, 3, 7, 255, 
      20:30:10.202 -> send partLen: 8
      20:30:10.202 -> send data: 0;0;13;10;35;8;255;0;.
      20:30:10.202 -> send CAN len: 8
      20:30:10.202 -> send CAN noOfFrames: 1
      20:30:10.202 -> send CAN id: 2148535552
      20:30:10.202 -> send packet sent
      20:30:11.362 -> READ CAN id: 2148597517
      20:30:11.362 -> READ CAN from: 13
      20:30:11.362 -> READ CAN to: 255
      20:30:11.362 -> READ CAN currentPart: 0
      20:30:11.362 -> READ CAN totalPartCount: 1
      20:30:11.395 -> READ CAN messageId: 0
      20:30:11.395 -> READ CAN data: 
      20:30:11.395 -> 13, 13, 255, 2, 3, 7, 255, 
      20:30:11.395 -> READ CAN SLOT: 7
      20:30:11.395 -> READ CAN lastReceivedPart: 1
      20:30:11.395 -> READ CAN packet received
      20:30:11.395 -> transport receive called
      20:30:11.395 -> transport receive data: 13, 13, 255, 2, 3, 7, 255, 
      20:30:12.191 -> send partLen: 8
      20:30:12.191 -> send data: 0;0;13;10;35;8;255;0;.
      20:30:12.191 -> send CAN len: 8
      20:30:12.191 -> send CAN noOfFrames: 1
      20:30:12.191 -> send CAN id: 2148535552
      20:30:12.191 -> send packet sent
      20:30:13.384 -> READ CAN id: 2148597517
      20:30:13.384 -> READ CAN from: 13
      20:30:13.384 -> READ CAN to: 255
      20:30:13.384 -> READ CAN currentPart: 0
      20:30:13.384 -> READ CAN totalPartCount: 1
      20:30:13.384 -> READ CAN messageId: 0
      20:30:13.417 -> READ CAN data: 
      20:30:13.417 -> 13, 13, 255, 2, 3, 7, 255, 
      20:30:13.417 -> READ CAN SLOT: 7
      20:30:13.417 -> READ CAN lastReceivedPart: 1
      20:30:13.417 -> READ CAN packet received
      20:30:13.417 -> transport receive called
      20:30:13.417 -> transport receive data: 13, 13, 255, 2, 3, 7, 255, 
      20:30:14.179 -> send partLen: 8
      20:30:14.179 -> send data: 0;0;13;10;35;8;255;0;.
      20:30:14.179 -> send CAN len: 8
      20:30:14.179 -> send CAN noOfFrames: 1
      20:30:14.179 -> send CAN id: 2148535552
      20:30:14.179 -> send packet sent
      20:30:25.460 -> READ CAN id: 2148597517
      20:30:25.493 -> READ CAN from: 13
      20:30:25.493 -> READ CAN to: 255
      20:30:25.493 -> READ CAN currentPart: 0
      20:30:25.493 -> READ CAN totalPartCount: 1
      20:30:25.493 -> READ CAN messageId: 0
      20:30:25.493 -> READ CAN data: 
      20:30:25.493 -> 13, 13, 255, 2, 3, 7, 255, 
      20:30:25.493 -> READ CAN SLOT: 7
      20:30:25.493 -> READ CAN lastReceivedPart: 1
      20:30:25.493 -> READ CAN packet received
      20:30:25.493 -> transport receive called
      20:30:25.493 -> transport receive data: 13, 13, 255, 2, 3, 7, 255, 
      20:30:25.991 -> send partLen: 8
      20:30:26.024 -> send data: 0;0;13;10;35;8;255;0;.
      20:30:26.024 -> send CAN len: 8
      20:30:26.024 -> send CAN noOfFrames: 1
      20:30:26.024 -> send CAN id: 2148535552
      20:30:26.024 -> send packet sent
      20:30:27.483 -> READ CAN id: 2148532237
      20:30:27.516 -> READ CAN from: 13
      20:30:27.516 -> READ CAN to: 0
      20:30:27.516 -> READ CAN currentPart: 0
      20:30:27.516 -> READ CAN totalPartCount: 1
      20:30:27.516 -> READ CAN messageId: 0
      20:30:27.516 -> READ CAN data: 
      20:30:27.516 -> 13, 13, 0, 10, 35, 24, 255, 1, 
      20:30:27.516 -> READ CAN SLOT: 7
      20:30:27.516 -> READ CAN lastReceivedPart: 1
      20:30:27.516 -> READ CAN packet received
      20:30:27.516 -> transport receive called
      20:30:27.516 -> transport receive data: 13, 13, 0, 10, 35, 24, 255, 1, 
      20:30:27.516 -> send partLen: 8
      20:30:27.516 -> send data: 0;0;13;10;35;25;255;1;.
      20:30:27.549 -> send CAN len: 8
      20:30:27.549 -> send CAN noOfFrames: 1
      20:30:27.549 -> send CAN id: 2148535552
      20:30:27.549 -> send packet sent
      20:30:27.582 -> READ CAN id: 2149580813
      20:30:27.582 -> READ CAN from: 13
      20:30:27.582 -> READ CAN to: 0
      20:30:27.582 -> READ CAN currentPart: 0
      20:30:27.582 -> READ CAN totalPartCount: 2
      20:30:27.582 -> READ CAN messageId: 0
      20:30:27.582 -> READ CAN data: 
      20:30:27.582 -> 13, 13, 0, 18, 195, 15, 255, 1, 
      20:30:27.582 -> READ CAN SLOT: 7
      20:30:27.616 -> READ CAN lastReceivedPart: 1
      20:30:29.606 -> READ CAN id: 2150629389
      20:30:29.606 -> READ CAN from: 13
      20:30:29.606 -> READ CAN to: 0
      20:30:29.606 -> READ CAN currentPart: 0
      20:30:29.606 -> READ CAN totalPartCount: 3
      20:30:29.606 -> READ CAN messageId: 0
      20:30:29.606 -> READ CAN data: 
      20:30:29.606 -> 13, 13, 0, 90, 0, 17, 255, 50, 
      20:30:29.606 -> READ CAN SLOT: 6
      20:30:29.606 -> READ CAN lastReceivedPart: 1
      20:30:29.606 -> READ CAN id: 2148532237
      20:30:29.606 -> READ CAN from: 13
      20:30:29.639 -> READ CAN to: 0
      20:30:29.639 -> READ CAN currentPart: 0
      20:30:29.639 -> READ CAN totalPartCount: 1
      20:30:29.639 -> READ CAN messageId: 0
      20:30:29.639 -> READ CAN data: 
      20:30:29.639 -> 13, 13, 0, 10, 35, 6, 255, 0, 
      20:30:29.639 -> READ CAN SLOT: 5
      20:30:29.639 -> READ CAN lastReceivedPart: 1
      20:30:29.639 -> READ CAN packet received
      20:30:29.639 -> transport receive called
      20:30:29.639 -> transport receive data: 13, 13, 0, 10, 35, 6, 255, 0, 
      20:30:29.639 -> 13;255;3;0;6;0
      20:30:31.628 -> READ CAN id: 2150629389
      20:30:31.628 -> READ CAN from: 13
      20:30:31.628 -> READ CAN to: 0
      20:30:31.628 -> READ CAN currentPart: 0
      20:30:31.628 -> READ CAN totalPartCount: 3
      20:30:31.628 -> READ CAN messageId: 0
      20:30:31.664 -> READ CAN data: 
      20:30:31.664 -> 13, 13, 0, 106, 3, 11, 255, 66, 
      20:30:31.664 -> READ CAN SLOT: 5
      20:30:31.664 -> READ CAN lastReceivedPart: 1
      20:30:31.664 -> READ CAN id: 2149580813
      20:30:31.664 -> READ CAN from: 13
      20:30:31.664 -> READ CAN to: 0
      20:30:31.664 -> READ CAN currentPart: 0
      20:30:31.664 -> READ CAN totalPartCount: 2
      20:30:31.664 -> READ CAN messageId: 0
      20:30:31.664 -> READ CAN data: 
      20:30:31.664 -> 13, 13, 0, 26, 3, 12, 255, 49, 
      20:30:31.664 -> READ CAN SLOT: 4
      20:30:31.664 -> READ CAN lastReceivedPart: 1
      20:30:31.664 -> READ CAN id: 2148532237
      20:30:31.664 -> READ CAN from: 13
      20:30:31.664 -> READ CAN to: 0
      20:30:31.664 -> READ CAN currentPart: 0
      20:30:31.694 -> READ CAN totalPartCount: 1
      20:30:31.694 -> READ CAN messageId: 0
      20:30:31.694 -> READ CAN data: 
      20:30:31.694 -> 13, 13, 0, 2, 0, 0, 4, 
      20:30:31.694 -> READ CAN SLOT: 3
      20:30:31.694 -> READ CAN lastReceivedPart: 1
      20:30:31.694 -> READ CAN packet received
      20:30:31.694 -> transport receive called
      20:30:31.694 -> transport receive data: 13, 13, 0, 2, 0, 0, 4, 
      20:30:31.694 -> 13;4;0;0;0;
      20:30:31.694 -> READ CAN id: 2148532237
      20:30:31.694 -> READ CAN from: 13
      20:30:31.694 -> READ CAN to: 0
      20:30:31.694 -> READ CAN currentPart: 0
      20:30:31.727 -> READ CAN totalPartCount: 1
      20:30:31.727 -> READ CAN messageId: 0
      20:30:31.727 -> READ CAN data: 
      20:30:31.727 -> 13, 13, 0, 10, 35, 26, 255, 2, 
      20:30:31.727 -> READ CAN SLOT: 3
      20:30:31.727 -> READ CAN lastReceivedPart: 1
      20:30:31.727 -> READ CAN packet received
      20:30:31.727 -> transport receive called
      20:30:31.727 -> transport receive data: 13, 13, 0, 10, 35, 26, 255, 2, 
      20:30:31.727 -> send partLen: 8
      20:30:31.727 -> send data: 0;0;13;10;35;27;255;1;.
      20:30:31.727 -> send CAN len: 8
      20:30:31.727 -> send CAN noOfFrames: 1
      20:30:31.727 -> send CAN id: 2148535552
      20:30:31.727 -> send packet sent
      20:30:31.827 -> READ CAN id: 2148532237
      20:30:31.827 -> READ CAN from: 13
      20:30:31.827 -> READ CAN to: 0
      20:30:31.827 -> READ CAN currentPart: 0
      20:30:31.827 -> READ CAN totalPartCount: 1
      20:30:31.827 -> READ CAN messageId: 0
      20:30:31.827 -> READ CAN data: 
      20:30:31.827 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:30:31.827 -> READ CAN SLOT: 3
      20:30:31.827 -> READ CAN lastReceivedPart: 1
      20:30:31.827 -> READ CAN packet received
      20:30:31.827 -> transport receive called
      20:30:31.827 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:30:31.827 -> 13;4;1;0;16;1
      20:30:58.571 -> READ CAN id: 2148532237
      20:30:58.571 -> READ CAN from: 13
      20:30:58.571 -> READ CAN to: 0
      20:30:58.571 -> READ CAN currentPart: 0
      20:30:58.571 -> READ CAN totalPartCount: 1
      20:30:58.571 -> READ CAN messageId: 0
      20:30:58.571 -> READ CAN data: 
      20:30:58.571 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:30:58.571 -> READ CAN SLOT: 3
      20:30:58.571 -> READ CAN lastReceivedPart: 1
      20:30:58.571 -> READ CAN packet received
      20:30:58.571 -> transport receive called
      20:30:58.571 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:30:58.571 -> 13;4;1;0;16;0
      20:30:58.736 -> READ CAN id: 2148532237
      20:30:58.736 -> READ CAN from: 13
      20:30:58.736 -> READ CAN to: 0
      20:30:58.736 -> READ CAN currentPart: 0
      20:30:58.736 -> READ CAN totalPartCount: 1
      20:30:58.736 -> READ CAN messageId: 0
      20:30:58.736 -> READ CAN data: 
      20:30:58.736 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:30:58.770 -> READ CAN SLOT: 3
      20:30:58.770 -> READ CAN lastReceivedPart: 1
      20:30:58.770 -> READ CAN packet received
      20:30:58.770 -> transport receive called
      20:30:58.770 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:30:58.770 -> 13;4;1;0;16;1
      20:31:00.062 -> READ CAN id: 2148532237
      20:31:00.062 -> READ CAN from: 13
      20:31:00.062 -> READ CAN to: 0
      20:31:00.062 -> READ CAN currentPart: 0
      20:31:00.062 -> READ CAN totalPartCount: 1
      20:31:00.062 -> READ CAN messageId: 0
      20:31:00.062 -> READ CAN data: 
      20:31:00.062 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:00.062 -> READ CAN SLOT: 3
      20:31:00.062 -> READ CAN lastReceivedPart: 1
      20:31:00.062 -> READ CAN packet received
      20:31:00.062 -> transport receive called
      20:31:00.095 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:00.095 -> 13;4;1;0;16;0
      20:31:01.521 -> READ CAN id: 2148532237
      20:31:01.521 -> READ CAN from: 13
      20:31:01.521 -> READ CAN to: 0
      20:31:01.521 -> READ CAN currentPart: 0
      20:31:01.521 -> READ CAN totalPartCount: 1
      20:31:01.521 -> READ CAN messageId: 0
      20:31:01.521 -> READ CAN data: 
      20:31:01.521 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:01.521 -> READ CAN SLOT: 3
      20:31:01.521 -> READ CAN lastReceivedPart: 1
      20:31:01.521 -> READ CAN packet received
      20:31:01.521 -> transport receive called
      20:31:01.521 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:01.521 -> 13;4;1;0;16;1
      20:31:02.913 -> READ CAN id: 2148532237
      20:31:02.913 -> READ CAN from: 13
      20:31:02.913 -> READ CAN to: 0
      20:31:02.913 -> READ CAN currentPart: 0
      20:31:02.913 -> READ CAN totalPartCount: 1
      20:31:02.913 -> READ CAN messageId: 0
      20:31:02.913 -> READ CAN data: 
      20:31:02.913 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:02.913 -> READ CAN SLOT: 3
      20:31:02.913 -> READ CAN lastReceivedPart: 1
      20:31:02.946 -> READ CAN packet received
      20:31:02.946 -> transport receive called
      20:31:02.946 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:02.946 -> 13;4;1;0;16;0
      20:31:03.775 -> READ CAN id: 2148532237
      20:31:03.775 -> READ CAN from: 13
      20:31:03.775 -> READ CAN to: 0
      20:31:03.775 -> READ CAN currentPart: 0
      20:31:03.775 -> READ CAN totalPartCount: 1
      20:31:03.775 -> READ CAN messageId: 0
      20:31:03.775 -> READ CAN data: 
      20:31:03.775 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:03.775 -> READ CAN SLOT: 3
      20:31:03.775 -> READ CAN lastReceivedPart: 1
      20:31:03.775 -> READ CAN packet received
      20:31:03.808 -> transport receive called
      20:31:03.808 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:03.808 -> 13;4;1;0;16;1
      20:31:05.399 -> READ CAN id: 2148532237
      20:31:05.433 -> READ CAN from: 13
      20:31:05.433 -> READ CAN to: 0
      20:31:05.433 -> READ CAN currentPart: 0
      20:31:05.433 -> READ CAN totalPartCount: 1
      20:31:05.433 -> READ CAN messageId: 0
      20:31:05.433 -> READ CAN data: 
      20:31:05.433 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:05.433 -> READ CAN SLOT: 3
      20:31:05.433 -> READ CAN lastReceivedPart: 1
      20:31:05.433 -> READ CAN packet received
      20:31:05.433 -> transport receive called
      20:31:05.433 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:05.433 -> 13;4;1;0;16;0
      20:31:05.565 -> READ CAN id: 2148532237
      20:31:05.565 -> READ CAN from: 13
      20:31:05.565 -> READ CAN to: 0
      20:31:05.565 -> READ CAN currentPart: 0
      20:31:05.565 -> READ CAN totalPartCount: 1
      20:31:05.565 -> READ CAN messageId: 0
      20:31:05.565 -> READ CAN data: 
      20:31:05.565 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:05.565 -> READ CAN SLOT: 3
      20:31:05.565 -> READ CAN lastReceivedPart: 1
      20:31:05.565 -> READ CAN packet received
      20:31:05.565 -> transport receive called
      20:31:05.565 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:05.598 -> 13;4;1;0;16;1
      20:31:05.864 -> READ CAN id: 2148532237
      20:31:05.897 -> READ CAN from: 13
      20:31:05.897 -> READ CAN to: 0
      20:31:05.897 -> READ CAN currentPart: 0
      20:31:05.897 -> READ CAN totalPartCount: 1
      20:31:05.897 -> READ CAN messageId: 0
      20:31:05.897 -> READ CAN data: 
      20:31:05.897 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:05.897 -> READ CAN SLOT: 3
      20:31:05.897 -> READ CAN lastReceivedPart: 1
      20:31:05.897 -> READ CAN packet received
      20:31:05.897 -> transport receive called
      20:31:05.897 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:05.897 -> 13;4;1;0;16;0
      20:31:05.996 -> READ CAN id: 2148532237
      20:31:05.996 -> READ CAN from: 13
      20:31:05.996 -> READ CAN to: 0
      20:31:05.996 -> READ CAN currentPart: 0
      20:31:05.996 -> READ CAN totalPartCount: 1
      20:31:05.996 -> READ CAN messageId: 0
      20:31:05.996 -> READ CAN data: 
      20:31:05.996 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:06.029 -> READ CAN SLOT: 3
      20:31:06.029 -> READ CAN lastReceivedPart: 1
      20:31:06.029 -> READ CAN packet received
      20:31:06.029 -> transport receive called
      20:31:06.029 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:06.029 -> 13;4;1;0;16;1
      20:31:06.560 -> READ CAN id: 2148532237
      20:31:06.560 -> READ CAN from: 13
      20:31:06.560 -> READ CAN to: 0
      20:31:06.560 -> READ CAN currentPart: 0
      20:31:06.560 -> READ CAN totalPartCount: 1
      20:31:06.560 -> READ CAN messageId: 0
      20:31:06.560 -> READ CAN data: 
      20:31:06.560 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:06.560 -> READ CAN SLOT: 3
      20:31:06.560 -> READ CAN lastReceivedPart: 1
      20:31:06.560 -> READ CAN packet received
      20:31:06.560 -> transport receive called
      20:31:06.560 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:06.560 -> 13;4;1;0;16;0
      20:31:07.024 -> READ CAN id: 2148532237
      20:31:07.024 -> READ CAN from: 13
      20:31:07.024 -> READ CAN to: 0
      20:31:07.024 -> READ CAN currentPart: 0
      20:31:07.024 -> READ CAN totalPartCount: 1
      20:31:07.024 -> READ CAN messageId: 0
      20:31:07.024 -> READ CAN data: 
      20:31:07.024 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:07.024 -> READ CAN SLOT: 3
      20:31:07.024 -> READ CAN lastReceivedPart: 1
      20:31:07.024 -> READ CAN packet received
      20:31:07.024 -> transport receive called
      20:31:07.057 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:07.057 -> 13;4;1;0;16;1
      20:31:07.554 -> READ CAN id: 2148532237
      20:31:07.554 -> READ CAN from: 13
      20:31:07.554 -> READ CAN to: 0
      20:31:07.587 -> READ CAN currentPart: 0
      20:31:07.587 -> READ CAN totalPartCount: 1
      20:31:07.587 -> READ CAN messageId: 0
      20:31:07.587 -> READ CAN data: 
      20:31:07.587 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:07.587 -> READ CAN SLOT: 3
      20:31:07.587 -> READ CAN lastReceivedPart: 1
      20:31:07.587 -> READ CAN packet received
      20:31:07.587 -> transport receive called
      20:31:07.587 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:07.587 -> 13;4;1;0;16;0
      20:31:07.654 -> READ CAN id: 2148532237
      20:31:07.687 -> READ CAN from: 13
      20:31:07.687 -> READ CAN to: 0
      20:31:07.687 -> READ CAN currentPart: 0
      20:31:07.687 -> READ CAN totalPartCount: 1
      20:31:07.687 -> READ CAN messageId: 0
      20:31:07.687 -> READ CAN data: 
      20:31:07.687 -> 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:07.687 -> READ CAN SLOT: 3
      20:31:07.687 -> READ CAN lastReceivedPart: 1
      20:31:07.687 -> READ CAN packet received
      20:31:07.687 -> transport receive called
      20:31:07.687 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 1, 
      20:31:07.687 -> 13;4;1;0;16;1
      20:31:07.919 -> READ CAN id: 2148532237
      20:31:07.919 -> READ CAN from: 13
      20:31:07.919 -> READ CAN to: 0
      20:31:07.919 -> READ CAN currentPart: 0
      20:31:07.919 -> READ CAN totalPartCount: 1
      20:31:07.919 -> READ CAN messageId: 0
      20:31:07.919 -> READ CAN data: 
      20:31:07.919 -> 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:07.919 -> READ CAN SLOT: 3
      20:31:07.919 -> READ CAN lastReceivedPart: 1
      20:31:07.919 -> READ CAN packet received
      20:31:07.919 -> transport receive called
      20:31:07.919 -> transport receive data: 13, 13, 0, 10, 33, 16, 4, 0, 
      20:31:07.952 -> 13;4;1;0;16;0
      
      

      sensor

      20:30:07.251 ->  
      20:30:07.251 ->  __  __       ____
      20:30:07.251 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      20:30:07.251 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      20:30:07.251 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      20:30:07.251 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
      20:30:07.251 ->         |___/                      2.4.0-alpha
      20:30:07.251 -> 
      20:30:07.251 -> 17 MCO:BGN:INIT NODE,CP=RCNNA---,FQ=16,REL=0,VER=2.4.0-alpha
      20:30:07.251 -> 27 TSM:INIT
      20:30:07.251 -> 28 TSF:WUR:MS=0
      20:30:07.284 -> Entering Configuration Mode Successful!
      20:30:07.284 -> Setting Baudrate Successful!
      20:30:07.284 -> Starting to Set Mask!
      20:30:07.284 -> Setting Mask Successful!
      20:30:07.284 -> Starting to Set Filter!
      20:30:07.284 -> Setting Filter Successfull!
      20:30:07.284 -> Starting to Set Filter!
      20:30:07.284 -> Setting Filter Successfull!
      20:30:07.284 -> Starting to Set Mask!
      20:30:07.284 -> Setting Mask Successful!
      20:30:07.284 -> Starting to Set Filter!
      20:30:07.284 -> Setting Filter Successfull!
      20:30:07.284 -> Starting to Set Filter!
      20:30:07.284 -> Setting Filter Successfull!
      20:30:07.317 -> Starting to Set Filter!
      20:30:07.317 -> Setting Filter Successfull!
      20:30:07.317 -> Starting to Set Filter!
      20:30:07.317 -> Setting Filter Successfull!
      20:30:07.317 -> 66 TSM:INIT:TSP OK
      20:30:07.317 -> 73 TSM:INIT:STATID=13
      20:30:07.317 -> 75 TSF:SID:OK,ID=13
      20:30:07.317 -> 77 TSM:FPAR
      20:30:07.317 -> send partLen: 7
      20:30:07.317 -> send data: 13;13;255;2;3;7;255;.
      20:30:07.317 -> send CAN len: 7
      20:30:07.317 -> send CAN noOfFrames: 1
      20:30:07.317 -> send CAN id: 2148597517
      20:30:07.317 -> send packet sent
      20:30:07.317 -> 84 ?TSF:MSG:SEND,13-13-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:09.340 -> 2097 !TSM:FPAR:NO REPLY
      20:30:09.340 -> 2099 TSM:FPAR
      20:30:09.340 -> send partLen: 7
      20:30:09.340 -> send data: 13;13;255;2;3;7;255;.
      20:30:09.340 -> send CAN len: 7
      20:30:09.340 -> send CAN noOfFrames: 1
      20:30:09.340 -> send CAN id: 2148597517
      20:30:09.340 -> send packet sent
      20:30:09.340 -> 2106 ?TSF:MSG:SEND,13-13-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:11.362 -> 4118 !TSM:FPAR:NO REPLY
      20:30:11.362 -> 4120 TSM:FPAR
      20:30:11.362 -> send partLen: 7
      20:30:11.362 -> send data: 13;13;255;2;3;7;255;.
      20:30:11.362 -> send CAN len: 7
      20:30:11.362 -> send CAN noOfFrames: 1
      20:30:11.362 -> send CAN id: 2148597517
      20:30:11.362 -> send packet sent
      20:30:11.362 -> 4127 ?TSF:MSG:SEND,13-13-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:13.384 -> 6140 !TSM:FPAR:NO REPLY
      20:30:13.384 -> 6142 TSM:FPAR
      20:30:13.384 -> send partLen: 7
      20:30:13.384 -> send data: 13;13;255;2;3;7;255;.
      20:30:13.384 -> send CAN len: 7
      20:30:13.384 -> send CAN noOfFrames: 1
      20:30:13.384 -> send CAN id: 2148597517
      20:30:13.384 -> send packet sent
      20:30:13.384 -> 6150 ?TSF:MSG:SEND,13-13-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:15.406 -> 8162 !TSM:FPAR:FAIL
      20:30:15.406 -> 8163 TSM:FAIL:CNT=1
      20:30:15.406 -> 8165 TSM:FAIL:DIS
      20:30:15.406 -> 8167 TSF:TDI:TSL
      20:30:25.427 -> 18169 TSM:FAIL:RE-INIT
      20:30:25.427 -> 18171 TSM:INIT
      20:30:25.427 -> Entering Configuration Mode Successful!
      20:30:25.427 -> Setting Baudrate Successful!
      20:30:25.427 -> Starting to Set Mask!
      20:30:25.427 -> Setting Mask Successful!
      20:30:25.427 -> Starting to Set Filter!
      20:30:25.427 -> Setting Filter Successfull!
      20:30:25.427 -> Starting to Set Filter!
      20:30:25.427 -> Setting Filter Successfull!
      20:30:25.427 -> Starting to Set Mask!
      20:30:25.427 -> Setting Mask Successful!
      20:30:25.427 -> Starting to Set Filter!
      20:30:25.460 -> Setting Filter Successfull!
      20:30:25.460 -> Starting to Set Filter!
      20:30:25.460 -> Setting Filter Successfull!
      20:30:25.460 -> Starting to Set Filter!
      20:30:25.460 -> Setting Filter Successfull!
      20:30:25.460 -> Starting to Set Filter!
      20:30:25.460 -> Setting Filter Successfull!
      20:30:25.460 -> 18209 TSM:INIT:TSP OK
      20:30:25.460 -> 18216 TSM:INIT:STATID=13
      20:30:25.460 -> 18219 TSF:SID:OK,ID=13
      20:30:25.460 -> 18221 TSM:FPAR
      20:30:25.460 -> send partLen: 7
      20:30:25.460 -> send data: 13;13;255;2;3;7;255;.
      20:30:25.460 -> send CAN len: 7
      20:30:25.460 -> send CAN noOfFrames: 1
      20:30:25.493 -> send CAN id: 2148597517
      20:30:25.493 -> send packet sent
      20:30:25.493 -> 18229 ?TSF:MSG:SEND,13-13-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:26.024 -> READ CAN id: 2148535552
      20:30:26.024 -> READ CAN from: 0
      20:30:26.024 -> READ CAN to: 13
      20:30:26.024 -> READ CAN currentPart: 0
      20:30:26.024 -> READ CAN totalPartCount: 1
      20:30:26.024 -> READ CAN messageId: 0
      20:30:26.024 -> READ CAN data: 
      20:30:26.024 -> 0, 0, 13, 10, 35, 8, 255, 0, 
      20:30:26.024 -> READ CAN SLOT: 7
      20:30:26.024 -> READ CAN lastReceivedPart: 1
      20:30:26.024 -> READ CAN packet received
      20:30:26.024 -> transport receive called
      20:30:26.024 -> transport receive data: 0, 0, 13, 10, 35, 8, 255, 0, 
      20:30:26.061 -> 18790 TSF:MSG:READ,0-0-13,s=255,c=3,t=8,pt=1,l=1,sg=0:0
      20:30:26.061 -> 18800 TSF:MSG:FPAR OK,ID=0,D=1
      20:30:27.483 -> 20241 TSM:FPAR:OK
      20:30:27.483 -> 20242 TSM:ID
      20:30:27.483 -> 20244 TSM:ID:OK
      20:30:27.483 -> 20245 TSM:UPL
      20:30:27.483 -> send partLen: 8
      20:30:27.483 -> send data: 13;13;0;10;35;24;255;1;.
      20:30:27.483 -> send CAN len: 8
      20:30:27.516 -> send CAN noOfFrames: 1
      20:30:27.516 -> send CAN id: 2148532237
      20:30:27.516 -> send packet sent
      20:30:27.516 -> 20252 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
      20:30:27.549 -> READ CAN id: 2148535552
      20:30:27.549 -> READ CAN from: 0
      20:30:27.549 -> READ CAN to: 13
      20:30:27.549 -> READ CAN currentPart: 0
      20:30:27.549 -> READ CAN totalPartCount: 1
      20:30:27.549 -> READ CAN messageId: 0
      20:30:27.549 -> READ CAN data: 
      20:30:27.549 -> 0, 0, 13, 10, 35, 25, 255, 1, 
      20:30:27.549 -> READ CAN SLOT: 7
      20:30:27.549 -> READ CAN lastReceivedPart: 1
      20:30:27.549 -> READ CAN packet received
      20:30:27.549 -> transport receive called
      20:30:27.549 -> transport receive data: 0, 0, 13, 10, 35, 25, 255, 1, 
      20:30:27.549 -> 20310 TSF:MSG:READ,0-0-13,s=255,c=3,t=25,pt=1,l=1,sg=0:1
      20:30:27.582 -> 20321 TSF:MSG:PONG RECV,HP=1
      20:30:27.582 -> 20323 TSM:UPL:OK
      20:30:27.582 -> 20325 TSM:READY:ID=13,PAR=0,DIS=1
      20:30:27.582 -> send partLen: 8
      20:30:27.582 -> send data: 13;13;0;18;195;15;255;1;.
      20:30:27.582 -> send CAN len: 9
      20:30:27.582 -> send CAN noOfFrames: 2
      20:30:27.582 -> send CAN id: 2149580813
      20:30:27.582 -> send packet sent
      20:30:27.582 -> 20334 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
      20:30:29.606 -> send partLen: 8
      20:30:29.606 -> send data: 13;13;0;90;0;17;255;50;.
      20:30:29.606 -> send CAN len: 18
      20:30:29.606 -> send CAN noOfFrames: 3
      20:30:29.606 -> send CAN id: 2150629389
      20:30:29.606 -> send packet sent
      20:30:29.606 -> 22351 TSF:MSG:SEND,13-13-0-0,s=255,c=0,t=17,pt=0,l=11,sg=0,ft=0,st=OK:2.4.0-alpha
      20:30:29.606 -> send partLen: 8
      20:30:29.606 -> send data: 13;13;0;10;35;6;255;0;.
      20:30:29.606 -> send CAN len: 8
      20:30:29.606 -> send CAN noOfFrames: 1
      20:30:29.606 -> send CAN id: 2148532237
      20:30:29.606 -> send packet sent
      20:30:29.639 -> 22370 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
      20:30:31.628 -> send partLen: 8
      20:30:31.628 -> send data: 13;13;0;106;3;11;255;66;.
      20:30:31.628 -> send CAN len: 20
      20:30:31.628 -> send CAN noOfFrames: 3
      20:30:31.628 -> send CAN id: 2150629389
      20:30:31.628 -> send packet sent
      20:30:31.628 -> 24387 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=OK:Binary Sensor
      20:30:31.662 -> send partLen: 8
      20:30:31.662 -> send data: 13;13;0;26;3;12;255;49;.
      20:30:31.662 -> send CAN len: 10
      20:30:31.662 -> send CAN noOfFrames: 2
      20:30:31.662 -> send CAN id: 2149580813
      20:30:31.662 -> send packet sent
      20:30:31.662 -> 24406 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
      20:30:31.662 -> send partLen: 7
      20:30:31.662 -> send data: 13;13;0;2;0;0;4;.
      20:30:31.662 -> send CAN len: 7
      20:30:31.662 -> send CAN noOfFrames: 1
      20:30:31.662 -> send CAN id: 2148532237
      20:30:31.662 -> send packet sent
      20:30:31.662 -> 24423 TSF:MSG:SEND,13-13-0-0,s=4,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK:
      20:30:31.694 -> 24434 MCO:REG:REQ
      20:30:31.694 -> send partLen: 8
      20:30:31.694 -> send data: 13;13;0;10;35;26;255;2;.
      20:30:31.694 -> send CAN len: 8
      20:30:31.694 -> send CAN noOfFrames: 1
      20:30:31.694 -> send CAN id: 2148532237
      20:30:31.694 -> send packet sent
      20:30:31.694 -> 24442 TSF:MSG:SEND,13-13-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
      20:30:31.727 -> READ CAN id: 2148535552
      20:30:31.727 -> READ CAN from: 0
      20:30:31.727 -> READ CAN to: 13
      20:30:31.727 -> READ CAN currentPart: 0
      20:30:31.760 -> READ CAN totalPartCount: 1
      20:30:31.760 -> READ CAN messageId: 0
      20:30:31.760 -> READ CAN data: 
      20:30:31.760 -> 0, 0, 13, 10, 35, 27, 255, 1, 
      20:30:31.760 -> READ CAN SLOT: 7
      20:30:31.760 -> READ CAN lastReceivedPart: 1
      20:30:31.760 -> READ CAN packet received
      20:30:31.760 -> transport receive called
      20:30:31.760 -> transport receive data: 0, 0, 13, 10, 35, 27, 255, 1, 
      20:30:31.760 -> 24513 TSF:MSG:READ,0-0-13,s=255,c=3,t=27,pt=1,l=1,sg=0:1
      20:30:31.760 -> 24523 MCO:PIM:NODE REG=1
      20:30:31.760 -> 24525 MCO:BGN:STP
      20:30:31.760 -> 24527 MCO:BGN:INIT OK,TSP=1
      20:30:31.794 -> 24529 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:30:31.794 -> 24535 TSF:TDI:TSL
      20:30:31.794 -> 24537 MCO:SLP:WUP=-1
      20:30:31.794 -> 24539 TSF:TRI:TSB
      20:30:31.794 -> send partLen: 8
      20:30:31.794 -> send data: 13;13;0;10;33;16;4;1;.
      20:30:31.794 -> send CAN len: 8
      20:30:31.827 -> send CAN noOfFrames: 1
      20:30:31.827 -> send CAN id: 2148532237
      20:30:31.827 -> send packet sent
      20:30:31.827 -> 24546 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:1
      20:30:31.827 -> 24557 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:30:31.827 -> 24562 TSF:TDI:TSL
      20:30:58.538 -> 24563 MCO:SLP:WUP=1
      20:30:58.538 -> 24565 TSF:TRI:TSB
      20:30:58.538 -> 24567 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:30:58.538 -> 24572 TSF:TDI:TSL
      20:30:58.538 -> 24573 MCO:SLP:WUP=-1
      20:30:58.538 -> 24576 TSF:TRI:TSB
      20:30:58.538 -> send partLen: 8
      20:30:58.538 -> send data: 13;13;0;10;33;16;4;0;.
      20:30:58.571 -> send CAN len: 8
      20:30:58.571 -> send CAN noOfFrames: 1
      20:30:58.571 -> send CAN id: 2148532237
      20:30:58.571 -> send packet sent
      20:30:58.571 -> 24584 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:0
      20:30:58.571 -> 24595 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:30:58.571 -> 24599 TSF:TDI:TSL
      20:30:58.703 -> 24601 MCO:SLP:WUP=1
      20:30:58.703 -> 24603 TSF:TRI:TSB
      20:30:58.703 -> 24605 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:30:58.703 -> 24609 TSF:TDI:TSL
      20:30:58.736 -> 24611 MCO:SLP:WUP=-1
      20:30:58.736 -> 24613 TSF:TRI:TSB
      20:30:58.736 -> send partLen: 8
      20:30:58.736 -> send data: 13;13;0;10;33;16;4;1;.
      20:30:58.736 -> send CAN len: 8
      20:30:58.736 -> send CAN noOfFrames: 1
      20:30:58.736 -> send CAN id: 2148532237
      20:30:58.736 -> send packet sent
      20:30:58.736 -> 24622 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:1
      20:30:58.736 -> 24633 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:30:58.770 -> 24637 TSF:TDI:TSL
      20:31:00.029 -> 24639 MCO:SLP:WUP=1
      20:31:00.029 -> 24640 TSF:TRI:TSB
      20:31:00.029 -> 24642 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:00.029 -> 24647 TSF:TDI:TSL
      20:31:00.062 -> 24649 MCO:SLP:WUP=-1
      20:31:00.062 -> 24651 TSF:TRI:TSB
      20:31:00.062 -> send partLen: 8
      20:31:00.062 -> send data: 13;13;0;10;33;16;4;0;.
      20:31:00.062 -> send CAN len: 8
      20:31:00.062 -> send CAN noOfFrames: 1
      20:31:00.062 -> send CAN id: 2148532237
      20:31:00.062 -> send packet sent
      20:31:00.062 -> 24658 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:0
      20:31:00.062 -> 24670 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:00.062 -> 24674 TSF:TDI:TSL
      20:31:00.128 -> 24676 MCO:SLP:WUP=1
      20:31:00.128 -> 24678 TSF:TRI:TSB
      20:31:00.128 -> 24680 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:00.128 -> 24684 TSF:TDI:TSL
      20:31:00.162 -> 24686 MCO:SLP:WUP=-1
      20:31:00.162 -> 24688 TSF:TRI:TSB
      20:31:00.162 -> 24690 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:00.162 -> 24694 TSF:TDI:TSL
      20:31:01.454 -> 24696 MCO:SLP:WUP=1
      20:31:01.454 -> 24698 TSF:TRI:TSB
      20:31:01.454 -> 24699 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:01.487 -> 24705 TSF:TDI:TSL
      20:31:01.487 -> 24707 MCO:SLP:WUP=-1
      20:31:01.487 -> 24709 TSF:TRI:TSB
      20:31:01.487 -> send partLen: 8
      20:31:01.487 -> send data: 13;13;0;10;33;16;4;1;.
      20:31:01.487 -> send CAN len: 8
      20:31:01.487 -> send CAN noOfFrames: 1
      20:31:01.521 -> send CAN id: 2148532237
      20:31:01.521 -> send packet sent
      20:31:01.521 -> 24716 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:1
      20:31:01.521 -> 24727 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:01.521 -> 24732 TSF:TDI:TSL
      20:31:02.880 -> 24733 MCO:SLP:WUP=1
      20:31:02.880 -> 24735 TSF:TRI:TSB
      20:31:02.880 -> 24737 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:02.880 -> 24742 TSF:TDI:TSL
      20:31:02.913 -> 24743 MCO:SLP:WUP=-1
      20:31:02.913 -> 24745 TSF:TRI:TSB
      20:31:02.913 -> send partLen: 8
      20:31:02.913 -> send data: 13;13;0;10;33;16;4;0;.
      20:31:02.913 -> send CAN len: 8
      20:31:02.913 -> send CAN noOfFrames: 1
      20:31:02.913 -> send CAN id: 2148532237
      20:31:02.913 -> send packet sent
      20:31:02.913 -> 24754 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:0
      20:31:02.913 -> 24765 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:02.946 -> 24769 TSF:TDI:TSL
      20:31:03.742 -> 24771 MCO:SLP:WUP=1
      20:31:03.742 -> 24773 TSF:TRI:TSB
      20:31:03.742 -> 24775 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:03.742 -> 24779 TSF:TDI:TSL
      20:31:03.775 -> 24781 MCO:SLP:WUP=-1
      20:31:03.775 -> 24783 TSF:TRI:TSB
      20:31:03.775 -> send partLen: 8
      20:31:03.775 -> send data: 13;13;0;10;33;16;4;1;.
      20:31:03.775 -> send CAN len: 8
      20:31:03.775 -> send CAN noOfFrames: 1
      20:31:03.775 -> send CAN id: 2148532237
      20:31:03.775 -> send packet sent
      20:31:03.775 -> 24792 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:1
      20:31:03.775 -> 24803 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:03.775 -> 24807 TSF:TDI:TSL
      20:31:05.366 -> 24809 MCO:SLP:WUP=1
      20:31:05.366 -> 24810 TSF:TRI:TSB
      20:31:05.366 -> 24812 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:05.366 -> 24817 TSF:TDI:TSL
      20:31:05.399 -> 24819 MCO:SLP:WUP=-1
      20:31:05.399 -> 24821 TSF:TRI:TSB
      20:31:05.399 -> send partLen: 8
      20:31:05.399 -> send data: 13;13;0;10;33;16;4;0;.
      20:31:05.399 -> send CAN len: 8
      20:31:05.399 -> send CAN noOfFrames: 1
      20:31:05.399 -> send CAN id: 2148532237
      20:31:05.399 -> send packet sent
      20:31:05.433 -> 24828 TSF:MSG:SEND,13-13-0-0,s=4,c=1,t=16,pt=1,l=1,sg=0,ft=0,st=OK:0
      20:31:05.433 -> 24840 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
      20:31:05.433 -> 24844 TSF:TDI:TSL
      20:31:05.532 -> 24846 MCO:SLP:WUP=1
      20:31:05.532 -> 24848 TSF:TRI:TSB
      20:31:05.532 -> 24850 MCO:SLP:MS=5,SMS=0,I1=255,M1=255,I2=255,M2=255
      20:31:05.532 -> 24854 TSF:TDI:TSL
      20:31:05.565 -> 24856 MCO:SLP:WUP=-1
      20:31:05.565 -> 24858 TSF:TRI:TSB
      20:31:05.565 -> send partLen: 8
      20:31:05.565 -> send data: 13;13;0;10;33;16;4;1;.
      
      
      
      
      posted in Development
      Adam Slowik
      Adam Slowik
    • RE: CAN bus transport implementation

      Hi,

      I've made some progress. There was some basic bug (details in repository). Now gateway and sensor talk to each other, but there is some misunderstanding between them.

      I'll try to figure it out, but any help with logs analysis is welcome.

      In attachments below are log samples. Gateway starts first. Debug logs are disabled (my custom logs are using to much memory). Sensor debug logs are enabled.

      The question is why sensor restarts communication?

      Hints how to read logs:

      "19:07:45.523 -> Entering Configuration Mode Successful!"
      this log is from library. It appers on transmission initialization / reinitilization

      'send' prefix:

      19:07:45.556 -> send partLen: 7
      long messages are split. This is length of current part

      19:07:45.556 -> send data: 255;255;255;2;3;7;255;.
      data send in this part

      19:07:45.556 -> send CAN len: 7
      Whole message length

      19:07:45.556 -> send CAN noOfFrames: 1
      number of frames required to send complete message.

      19:07:45.590 -> send CAN id: 2148597504
      CAN id

      19:07:45.590 -> send packet sent
      this message indicates success.

      'READ CAN' prefix. This prefix is used inside 'transportDataAvailable()'

      19:07:46.618 -> READ CAN id: 2148597504
      CAN id.

      19:07:46.618 -> READ CAN from: 0
      message received from address

      19:07:46.618 -> READ CAN to: 255
      message send to address

      19:07:46.618 -> READ CAN currentPart: 0
      current part (counter starts from 0)

      19:07:46.618 -> READ CAN totalPartCount: 1
      total part count (counter starts from 1 :))

      19:07:46.618 -> READ CAN messageId: 0
      message id. Right now always 0;

      19:07:46.618 -> READ CAN data:
      19:07:46.618 -> 0, 0, 255, 10, 35, 8, 255, 0,
      received data

      19:07:46.618 -> READ CAN SLOT: 7
      buffer index

      19:07:46.618 -> READ CAN lastReceivedPart: 1
      number of received parts

      19:07:46.618 -> READ CAN packet received
      this logs indicates that entire message was assembled and controller can call 'transportReceive'

      'transport receive' prefix is used inside 'transportReceive()'
      19:07:46.618 -> transport receive called
      'transportReceive()' was called[0_1594748956959_sensor](Uploading 100%)

      19:07:46.618 -> transport receive data: 0, 0, 255, 10, 35, 8, 255, 0,
      data was found and returned.

      gateway logs:

      19:07:37.398 -> Entering Configuration Mode Successful!
      19:07:37.398 -> Setting Baudrate Successful!
      19:07:37.398 -> Starting to Set Mask!
      19:07:37.398 -> Setting Mask Successful!
      19:07:37.398 -> Starting to Set Filter!
      19:07:37.398 -> Setting Filter Successfull!
      19:07:37.398 -> Starting to Set Filter!
      19:07:37.398 -> Setting Filter Successfull!
      19:07:37.398 -> Starting to Set Mask!
      19:07:37.432 -> Setting Mask Successful!
      19:07:37.432 -> Starting to Set Filter!
      19:07:37.432 -> Setting Filter Successfull!
      19:07:37.432 -> Starting to Set Filter!
      19:07:37.432 -> Setting Filter Successfull!
      19:07:37.432 -> Starting to Set Filter!
      19:07:37.432 -> Setting Filter Successfull!
      19:07:37.432 -> Starting to Set Filter!
      19:07:37.432 -> Setting Filter Successfull!
      19:07:37.432 -> 0;255;3;0;14;Gateway startup complete.
      19:07:37.432 -> 0;255;0;0;18;2.4.0-alpha
      19:07:37.432 -> send partLen: 7
      19:07:37.432 -> send data: 0;0;255;2;3;20;255;.
      19:07:37.432 -> send CAN len: 7
      19:07:37.432 -> send CAN noOfFrames: 1
      19:07:37.465 -> send CAN id: 2148597504
      19:07:37.465 -> send packet sent
      19:07:45.556 -> READ CAN id: 2148597504
      19:07:45.589 -> READ CAN from: 0
      19:07:45.589 -> READ CAN to: 255
      19:07:45.589 -> READ CAN currentPart: 0
      19:07:45.589 -> READ CAN totalPartCount: 1
      19:07:45.589 -> READ CAN messageId: 0
      19:07:45.589 -> READ CAN data: 
      19:07:45.589 -> 255, 255, 255, 2, 3, 7, 255, 
      19:07:45.589 -> READ CAN SLOT: 7
      19:07:45.589 -> READ CAN lastReceivedPart: 1
      19:07:45.589 -> READ CAN packet received
      19:07:45.589 -> transport receive called
      19:07:45.589 -> transport receive data: 255, 255, 255, 2, 3, 7, 255, 
      19:07:46.617 -> send partLen: 8
      19:07:46.617 -> send data: 0;0;255;10;35;8;255;0;.
      19:07:46.617 -> send CAN len: 8
      19:07:46.617 -> send CAN noOfFrames: 1
      19:07:46.617 -> send CAN id: 2148597504
      19:07:46.617 -> send packet sent
      19:07:47.579 -> READ CAN id: 2148532224
      19:07:47.612 -> READ CAN from: 0
      19:07:47.612 -> READ CAN to: 0
      19:07:47.612 -> READ CAN currentPart: 0
      19:07:47.612 -> READ CAN totalPartCount: 1
      19:07:47.612 -> READ CAN messageId: 0
      19:07:47.612 -> READ CAN data: 
      19:07:47.612 -> 255, 255, 0, 2, 3, 3, 48, 
      19:07:47.612 -> READ CAN SLOT: 7
      19:07:47.612 -> READ CAN lastReceivedPart: 1
      19:07:47.612 -> READ CAN packet received
      19:07:47.612 -> transport receive called
      19:07:47.612 -> transport receive data: 255, 255, 0, 2, 3, 3, 48, 
      19:07:47.612 -> 255;48;3;0;3;
      19:07:49.601 -> READ CAN id: 2148532224
      19:07:49.601 -> READ CAN from: 0
      19:07:49.635 -> READ CAN to: 0
      19:07:49.635 -> READ CAN currentPart: 0
      19:07:49.635 -> READ CAN totalPartCount: 1
      19:07:49.635 -> READ CAN messageId: 0
      19:07:49.635 -> READ CAN data: 
      19:07:49.635 -> 255, 255, 0, 2, 3, 3, 21, 
      19:07:49.635 -> READ CAN SLOT: 7
      19:07:49.635 -> READ CAN lastReceivedPart: 1
      19:07:49.635 -> READ CAN packet received
      19:07:49.635 -> transport receive called
      19:07:49.635 -> transport receive data: 255, 255, 0, 2, 3, 3, 21, 
      19:07:49.635 -> 255;21;3;0;3;
      19:07:51.624 -> READ CAN id: 2148532224
      19:07:51.657 -> READ CAN from: 0
      19:07:51.657 -> READ CAN to: 0
      19:07:51.657 -> READ CAN currentPart: 0
      19:07:51.657 -> READ CAN totalPartCount: 1
      19:07:51.657 -> READ CAN messageId: 0
      19:07:51.657 -> READ CAN data: 
      19:07:51.657 -> 255, 255, 0, 2, 3, 3, 249, 
      19:07:51.657 -> READ CAN SLOT: 7
      19:07:51.657 -> READ CAN lastReceivedPart: 1
      19:07:51.657 -> READ CAN packet received
      19:07:51.657 -> transport receive called
      19:07:51.657 -> transport receive data: 255, 255, 0, 2, 3, 3, 249, 
      19:07:51.657 -> 255;249;3;0;3;
      19:07:53.646 -> READ CAN id: 2148532224
      19:07:53.646 -> READ CAN from: 0
      19:07:53.679 -> READ CAN to: 0
      19:07:53.679 -> READ CAN currentPart: 0
      19:07:53.679 -> READ CAN totalPartCount: 1
      19:07:53.679 -> READ CAN messageId: 0
      19:07:53.679 -> READ CAN data: 
      19:07:53.679 -> 255, 255, 0, 2, 3, 3, 222, 
      19:07:53.679 -> READ CAN SLOT: 7
      19:07:53.679 -> READ CAN lastReceivedPart: 1
      19:07:53.679 -> READ CAN packet received
      19:07:53.679 -> transport receive called
      19:07:53.679 -> transport receive data: 255, 255, 0, 2, 3, 3, 222, 
      19:07:53.679 -> 255;222;3;0;3;
      19:08:05.746 -> READ CAN id: 2148597504
      19:08:05.746 -> READ CAN from: 0
      19:08:05.746 -> READ CAN to: 255
      19:08:05.746 -> READ CAN currentPart: 0
      19:08:05.746 -> READ CAN totalPartCount: 1
      19:08:05.746 -> READ CAN messageId: 0
      19:08:05.746 -> READ CAN data: 
      19:08:05.746 -> 255, 255, 255, 2, 3, 7, 255, 
      19:08:05.746 -> READ CAN SLOT: 7
      19:08:05.746 -> READ CAN lastReceivedPart: 1
      19:08:05.746 -> READ CAN packet received
      19:08:05.746 -> transport receive called
      19:08:05.746 -> transport receive data: 255, 255, 255, 2, 3, 7, 255, 
      19:08:06.376 -> send partLen: 8
      19:08:06.376 -> send data: 0;0;255;10;35;8;255;0;.
      19:08:06.409 -> send CAN len: 8
      19:08:06.409 -> send CAN noOfFrames: 1
      19:08:06.409 -> send CAN id: 2148597504
      19:08:06.409 -> send packet sent
      19:08:07.768 -> READ CAN id: 2148532224
      19:08:07.768 -> READ CAN from: 0
      19:08:07.768 -> READ CAN to: 0
      19:08:07.768 -> READ CAN currentPart: 0
      19:08:07.768 -> READ CAN totalPartCount: 1
      19:08:07.768 -> READ CAN messageId: 0
      19:08:07.768 -> READ CAN data: 
      19:08:07.768 -> 255, 255, 0, 2, 3, 3, 238, 
      19:08:07.768 -> READ CAN SLOT: 7
      19:08:07.768 -> READ CAN lastReceivedPart: 1
      19:08:07.768 -> READ CAN packet received
      19:08:07.768 -> transport receive called
      19:08:07.768 -> transport receive data: 255, 255, 0, 2, 3, 3, 238, 
      19:08:07.802 -> 255;238;3;0;3;
      19:08:09.791 -> READ CAN id: 2148532224
      19:08:09.791 -> READ CAN from: 0
      19:08:09.791 -> READ CAN to: 0
      19:08:09.791 -> READ CAN currentPart: 0
      19:08:09.791 -> READ CAN totalPartCount: 1
      19:08:09.791 -> READ CAN messageId: 0
      19:08:09.791 -> READ CAN data: 
      19:08:09.791 -> 255, 255, 0, 2, 3, 3, 212, 
      19:08:09.791 -> READ CAN SLOT: 7
      19:08:09.791 -> READ CAN lastReceivedPart: 1
      19:08:09.791 -> READ CAN packet received
      19:08:09.791 -> transport receive called
      19:08:09.791 -> transport receive data: 255, 255, 0, 2, 3, 3, 212, 
      19:08:09.824 -> 255;212;3;0;3;
      19:08:11.812 -> READ CAN id: 2148532224
      19:08:11.812 -> READ CAN from: 0
      19:08:11.812 -> READ CAN to: 0
      19:08:11.812 -> READ CAN currentPart: 0
      19:08:11.812 -> READ CAN totalPartCount: 1
      19:08:11.812 -> READ CAN messageId: 0
      19:08:11.812 -> READ CAN data: 
      19:08:11.812 -> 255, 255, 0, 2, 3, 3, 185, 
      19:08:11.812 -> READ CAN SLOT: 7
      19:08:11.812 -> READ CAN lastReceivedPart: 1
      19:08:11.812 -> READ CAN packet received
      19:08:11.812 -> transport receive called
      19:08:11.812 -> transport receive data: 255, 255, 0, 2, 3, 3, 185, 
      19:08:11.846 -> 255;185;3;0;3;
      19:08:13.834 -> READ CAN id: 2148532224
      19:08:13.834 -> READ CAN from: 0
      19:08:13.834 -> READ CAN to: 0
      19:08:13.834 -> READ CAN currentPart: 0
      19:08:13.834 -> READ CAN totalPartCount: 1
      19:08:13.834 -> READ CAN messageId: 0
      19:08:13.834 -> READ CAN data: 
      19:08:13.834 -> 255, 255, 0, 2, 3, 3, 157, 
      19:08:13.834 -> READ CAN SLOT: 7
      19:08:13.834 -> READ CAN lastReceivedPart: 1
      19:08:13.834 -> READ CAN packet received
      19:08:13.834 -> transport receive called
      19:08:13.834 -> transport receive data: 255, 255, 0, 2, 3, 3, 157, 
      19:08:13.867 -> 255;157;3;0;3;
      19:08:25.900 -> READ CAN id: 2148597504
      19:08:25.900 -> READ CAN from: 0
      19:08:25.900 -> READ CAN to: 255
      19:08:25.900 -> READ CAN currentPart: 0
      19:08:25.900 -> READ CAN totalPartCount: 1
      19:08:25.900 -> READ CAN messageId: 0
      19:08:25.900 -> READ CAN data: 
      19:08:25.900 -> 255, 255, 255, 2, 3, 7, 255, 
      19:08:25.900 -> READ CAN SLOT: 7
      19:08:25.900 -> READ CAN lastReceivedPart: 1
      19:08:25.933 -> READ CAN packet received
      19:08:25.933 -> transport receive called
      19:08:25.933 -> transport receive data: 255, 255, 255, 2, 3, 7, 255, 
      19:08:26.165 -> send partLen: 8
      19:08:26.165 -> send data: 0;0;255;10;35;8;255;0;.
      19:08:26.165 -> send CAN len: 8
      19:08:26.198 -> send CAN noOfFrames: 1
      19:08:26.198 -> send CAN id: 2148597504
      19:08:26.198 -> send packet sent
      19:08:27.922 -> READ CAN id: 2148532224
      19:08:27.922 -> READ CAN from: 0
      19:08:27.922 -> READ CAN to: 0
      19:08:27.922 -> READ CAN currentPart: 0
      19:08:27.922 -> READ CAN totalPartCount: 1
      19:08:27.922 -> READ CAN messageId: 0
      19:08:27.922 -> READ CAN data: 
      19:08:27.922 -> 255, 255, 0, 2, 3, 3, 175, 
      19:08:27.958 -> READ CAN SLOT: 7
      19:08:27.958 -> READ CAN lastReceivedPart: 1
      19:08:27.958 -> READ CAN packet received
      19:08:27.958 -> transport receive called
      19:08:27.958 -> transport receive data: 255, 255, 0, 2, 3, 3, 175, 
      19:08:27.958 -> 255;175;3;0;3;
      19:08:29.945 -> READ CAN id: 2148532224
      19:08:29.945 -> READ CAN from: 0
      19:08:29.945 -> READ CAN to: 0
      19:08:29.945 -> READ CAN currentPart: 0
      19:08:29.945 -> READ CAN totalPartCount: 1
      19:08:29.945 -> READ CAN messageId: 0
      19:08:29.945 -> READ CAN data: 
      19:08:29.945 -> 255, 255, 0, 2, 3, 3, 148, 
      19:08:29.978 -> READ CAN SLOT: 7
      19:08:29.978 -> READ CAN lastReceivedPart: 1
      19:08:29.978 -> READ CAN packet received
      19:08:29.978 -> transport receive called
      19:08:29.978 -> transport receive data: 255, 255, 0, 2, 3, 3, 148, 
      19:08:29.978 -> 255;148;3;0;3;
      19:08:31.967 -> READ CAN id: 2148532224
      19:08:31.967 -> READ CAN from: 0
      19:08:31.967 -> READ CAN to: 0
      19:08:31.967 -> READ CAN currentPart: 0
      19:08:31.967 -> READ CAN totalPartCount: 1
      19:08:31.967 -> READ CAN messageId: 0
      19:08:31.967 -> READ CAN data: 
      19:08:31.967 -> 255, 255, 0, 2, 3, 3, 120, 
      19:08:31.967 -> READ CAN SLOT: 7
      19:08:31.967 -> READ CAN lastReceivedPart: 1
      19:08:32.000 -> READ CAN packet received
      19:08:32.000 -> transport receive called
      19:08:32.000 -> transport receive data: 255, 255, 0, 2, 3, 3, 120, 
      19:08:32.000 -> 255;120;3;0;3;
      19:08:33.989 -> READ CAN id: 2148532224
      19:08:33.989 -> READ CAN from: 0
      19:08:33.989 -> READ CAN to: 0
      19:08:33.989 -> READ CAN currentPart: 0
      19:08:33.989 -> READ CAN totalPartCount: 1
      19:08:33.989 -> READ CAN messageId: 0
      19:08:33.989 -> READ CAN data: 
      19:08:33.989 -> 255, 255, 0, 2, 3, 3, 93, 
      19:08:33.989 -> READ CAN SLOT: 7
      19:08:33.989 -> READ CAN lastReceivedPart: 1
      19:08:33.989 -> READ CAN packet received
      19:08:34.023 -> transport receive called
      19:08:34.023 -> transport receive data: 255, 255, 0, 2, 3, 3, 93, 
      19:08:34.023 -> 255;93;3;0;3;
      19:08:46.059 -> READ CAN id: 2148597504
      19:08:46.059 -> READ CAN from: 0
      19:08:46.059 -> READ CAN to: 255
      19:08:46.059 -> READ CAN currentPart: 0
      19:08:46.059 -> READ CAN totalPartCount: 1
      19:08:46.059 -> READ CAN messageId: 0
      19:08:46.059 -> READ CAN data: 
      19:08:46.092 -> 255, 255, 255, 2, 3, 7, 255, 
      19:08:46.092 -> READ CAN SLOT: 7
      19:08:46.092 -> READ CAN lastReceivedPart: 1
      19:08:46.092 -> READ CAN packet received
      19:08:46.092 -> transport receive called
      19:08:46.092 -> transport receive data: 255, 255, 255, 2, 3, 7, 255, 
      19:08:46.987 -> send partLen: 8
      19:08:46.987 -> send data: 0;0;255;10;35;8;255;0;.
      19:08:46.987 -> send CAN len: 8
      19:08:46.987 -> send CAN noOfFrames: 1
      19:08:46.987 -> send CAN id: 2148597504
      19:08:46.987 -> send packet sent
      

      sensor logs:

      19:07:45.490 ->  
      19:07:45.490 ->  __  __       ____
      19:07:45.490 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      19:07:45.490 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      19:07:45.490 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      19:07:45.490 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
      19:07:45.523 ->         |___/                      2.4.0-alpha
      19:07:45.523 -> 
      19:07:45.523 -> 17 MCO:BGN:INIT NODE,CP=RCNNA---,FQ=16,REL=0,VER=2.4.0-alpha
      19:07:45.523 -> 27 TSM:INIT
      19:07:45.523 -> 28 TSF:WUR:MS=0
      19:07:45.523 -> Entering Configuration Mode Successful!
      19:07:45.523 -> Setting Baudrate Successful!
      19:07:45.523 -> Starting to Set Mask!
      19:07:45.523 -> Setting Mask Successful!
      19:07:45.523 -> Starting to Set Filter!
      19:07:45.523 -> Setting Filter Successfull!
      19:07:45.523 -> Starting to Set Filter!
      19:07:45.523 -> Setting Filter Successfull!
      19:07:45.556 -> Starting to Set Mask!
      19:07:45.556 -> Setting Mask Successful!
      19:07:45.556 -> Starting to Set Filter!
      19:07:45.556 -> Setting Filter Successfull!
      19:07:45.556 -> Starting to Set Filter!
      19:07:45.556 -> Setting Filter Successfull!
      19:07:45.556 -> Starting to Set Filter!
      19:07:45.556 -> Setting Filter Successfull!
      19:07:45.556 -> Starting to Set Filter!
      19:07:45.556 -> Setting Filter Successfull!
      19:07:45.556 -> 66 TSM:INIT:TSP OK
      19:07:45.556 -> 73 TSM:FPAR
      19:07:45.556 -> send partLen: 7
      19:07:45.556 -> send data: 255;255;255;2;3;7;255;.
      19:07:45.556 -> send CAN len: 7
      19:07:45.556 -> send CAN noOfFrames: 1
      19:07:45.590 -> send CAN id: 2148597504
      19:07:45.590 -> send packet sent
      19:07:45.590 -> 80 ?TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      19:07:46.618 -> READ CAN id: 2148597504
      19:07:46.618 -> READ CAN from: 0
      19:07:46.618 -> READ CAN to: 255
      19:07:46.618 -> READ CAN currentPart: 0
      19:07:46.618 -> READ CAN totalPartCount: 1
      19:07:46.618 -> READ CAN messageId: 0
      19:07:46.618 -> READ CAN data: 
      19:07:46.618 -> 0, 0, 255, 10, 35, 8, 255, 0, 
      19:07:46.618 -> READ CAN SLOT: 7
      19:07:46.618 -> READ CAN lastReceivedPart: 1
      19:07:46.618 -> READ CAN packet received
      19:07:46.618 -> transport receive called
      19:07:46.618 -> transport receive data: 0, 0, 255, 10, 35, 8, 255, 0, 
      19:07:46.651 -> 1142 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
      19:07:46.651 -> 1153 TSF:MSG:FPAR OK,ID=0,D=1
      19:07:47.579 -> 2094 TSM:FPAR:OK
      19:07:47.579 -> 2095 TSM:ID
      19:07:47.579 -> 2096 TSM:ID:REQ
      19:07:47.579 -> send partLen: 7
      19:07:47.579 -> send data: 255;255;0;2;3;3;48;.
      19:07:47.579 -> send CAN len: 7
      19:07:47.579 -> send CAN noOfFrames: 1
      19:07:47.612 -> send CAN id: 2148532224
      19:07:47.612 -> send packet sent
      19:07:47.612 -> 2103 TSF:MSG:SEND,255-255-0-0,s=48,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:07:49.601 -> 4116 TSM:ID
      19:07:49.601 -> 4117 TSM:ID:REQ
      19:07:49.601 -> send partLen: 7
      19:07:49.601 -> send data: 255;255;0;2;3;3;21;.
      19:07:49.601 -> send CAN len: 7
      19:07:49.601 -> send CAN noOfFrames: 1
      19:07:49.601 -> send CAN id: 2148532224
      19:07:49.635 -> send packet sent
      19:07:49.635 -> 4124 TSF:MSG:SEND,255-255-0-0,s=21,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:07:51.624 -> 6136 TSM:ID
      19:07:51.624 -> 6137 TSM:ID:REQ
      19:07:51.624 -> send partLen: 7
      19:07:51.624 -> send data: 255;255;0;2;3;3;249;.
      19:07:51.624 -> send CAN len: 7
      19:07:51.624 -> send CAN noOfFrames: 1
      19:07:51.624 -> send CAN id: 2148532224
      19:07:51.657 -> send packet sent
      19:07:51.657 -> 6145 TSF:MSG:SEND,255-255-0-0,s=249,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:07:53.646 -> 8157 TSM:ID
      19:07:53.646 -> 8158 TSM:ID:REQ
      19:07:53.646 -> send partLen: 7
      19:07:53.646 -> send data: 255;255;0;2;3;3;222;.
      19:07:53.646 -> send CAN len: 7
      19:07:53.646 -> send CAN noOfFrames: 1
      19:07:53.646 -> send CAN id: 2148532224
      19:07:53.646 -> send packet sent
      19:07:53.679 -> 8165 TSF:MSG:SEND,255-255-0-0,s=222,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:07:55.668 -> 10177 !TSM:ID:FAIL
      19:07:55.668 -> 10178 TSM:FAIL:CNT=1
      19:07:55.668 -> 10180 TSM:FAIL:DIS
      19:07:55.668 -> 10182 TSF:TDI:TSL
      19:08:05.680 -> 20185 TSM:FAIL:RE-INIT
      19:08:05.680 -> 20187 TSM:INIT
      19:08:05.680 -> Entering Configuration Mode Successful!
      19:08:05.680 -> Setting Baudrate Successful!
      19:08:05.680 -> Starting to Set Mask!
      19:08:05.680 -> Setting Mask Successful!
      19:08:05.680 -> Starting to Set Filter!
      19:08:05.680 -> Setting Filter Successfull!
      19:08:05.713 -> Starting to Set Filter!
      19:08:05.713 -> Setting Filter Successfull!
      19:08:05.713 -> Starting to Set Mask!
      19:08:05.713 -> Setting Mask Successful!
      19:08:05.713 -> Starting to Set Filter!
      19:08:05.713 -> Setting Filter Successfull!
      19:08:05.713 -> Starting to Set Filter!
      19:08:05.713 -> Setting Filter Successfull!
      19:08:05.713 -> Starting to Set Filter!
      19:08:05.713 -> Setting Filter Successfull!
      19:08:05.713 -> Starting to Set Filter!
      19:08:05.713 -> Setting Filter Successfull!
      19:08:05.713 -> 20225 TSM:INIT:TSP OK
      19:08:05.713 -> 20232 TSM:FPAR
      19:08:05.713 -> send partLen: 7
      19:08:05.746 -> send data: 255;255;255;2;3;7;255;.
      19:08:05.746 -> send CAN len: 7
      19:08:05.746 -> send CAN noOfFrames: 1
      19:08:05.746 -> send CAN id: 2148597504
      19:08:05.746 -> send packet sent
      19:08:05.746 -> 20239 ?TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:06.409 -> READ CAN id: 2148597504
      19:08:06.409 -> READ CAN from: 0
      19:08:06.409 -> READ CAN to: 255
      19:08:06.409 -> READ CAN currentPart: 0
      19:08:06.409 -> READ CAN totalPartCount: 1
      19:08:06.409 -> READ CAN messageId: 0
      19:08:06.409 -> READ CAN data: 
      19:08:06.409 -> 0, 0, 255, 10, 35, 8, 255, 0, 
      19:08:06.409 -> READ CAN SLOT: 7
      19:08:06.409 -> READ CAN lastReceivedPart: 1
      19:08:06.409 -> READ CAN packet received
      19:08:06.409 -> transport receive called
      19:08:06.409 -> transport receive data: 0, 0, 255, 10, 35, 8, 255, 0, 
      19:08:06.409 -> 20921 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
      19:08:06.442 -> 20931 TSF:MSG:FPAR OK,ID=0,D=1
      19:08:07.735 -> 22252 TSM:FPAR:OK
      19:08:07.735 -> 22253 TSM:ID
      19:08:07.735 -> 22254 TSM:ID:REQ
      19:08:07.768 -> send partLen: 7
      19:08:07.768 -> send data: 255;255;0;2;3;3;238;.
      19:08:07.768 -> send CAN len: 7
      19:08:07.768 -> send CAN noOfFrames: 1
      19:08:07.768 -> send CAN id: 2148532224
      19:08:07.768 -> send packet sent
      19:08:07.768 -> 22262 TSF:MSG:SEND,255-255-0-0,s=238,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:09.758 -> 24275 TSM:ID
      19:08:09.758 -> 24276 TSM:ID:REQ
      19:08:09.758 -> send partLen: 7
      19:08:09.791 -> send data: 255;255;0;2;3;3;212;.
      19:08:09.791 -> send CAN len: 7
      19:08:09.791 -> send CAN noOfFrames: 1
      19:08:09.791 -> send CAN id: 2148532224
      19:08:09.791 -> send packet sent
      19:08:09.791 -> 24284 TSF:MSG:SEND,255-255-0-0,s=212,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:11.779 -> 26296 TSM:ID
      19:08:11.779 -> 26297 TSM:ID:REQ
      19:08:11.779 -> send partLen: 7
      19:08:11.812 -> send data: 255;255;0;2;3;3;185;.
      19:08:11.812 -> send CAN len: 7
      19:08:11.812 -> send CAN noOfFrames: 1
      19:08:11.812 -> send CAN id: 2148532224
      19:08:11.812 -> send packet sent
      19:08:11.812 -> 26304 TSF:MSG:SEND,255-255-0-0,s=185,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:13.801 -> 28316 TSM:ID
      19:08:13.801 -> 28317 TSM:ID:REQ
      19:08:13.801 -> send partLen: 7
      19:08:13.834 -> send data: 255;255;0;2;3;3;157;.
      19:08:13.834 -> send CAN len: 7
      19:08:13.834 -> send CAN noOfFrames: 1
      19:08:13.834 -> send CAN id: 2148532224
      19:08:13.834 -> send packet sent
      19:08:13.834 -> 28324 TSF:MSG:SEND,255-255-0-0,s=157,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:15.823 -> 30337 !TSM:ID:FAIL
      19:08:15.823 -> 30338 TSM:FAIL:CNT=2
      19:08:15.823 -> 30340 TSM:FAIL:DIS
      19:08:15.823 -> 30342 TSF:TDI:TSL
      19:08:25.834 -> 40345 TSM:FAIL:RE-INIT
      19:08:25.834 -> 40347 TSM:INIT
      19:08:25.834 -> Entering Configuration Mode Successful!
      19:08:25.867 -> Setting Baudrate Successful!
      19:08:25.867 -> Starting to Set Mask!
      19:08:25.867 -> Setting Mask Successful!
      19:08:25.867 -> Starting to Set Filter!
      19:08:25.867 -> Setting Filter Successfull!
      19:08:25.867 -> Starting to Set Filter!
      19:08:25.867 -> Setting Filter Successfull!
      19:08:25.867 -> Starting to Set Mask!
      19:08:25.867 -> Setting Mask Successful!
      19:08:25.867 -> Starting to Set Filter!
      19:08:25.867 -> Setting Filter Successfull!
      19:08:25.867 -> Starting to Set Filter!
      19:08:25.867 -> Setting Filter Successfull!
      19:08:25.867 -> Starting to Set Filter!
      19:08:25.900 -> Setting Filter Successfull!
      19:08:25.900 -> Starting to Set Filter!
      19:08:25.900 -> Setting Filter Successfull!
      19:08:25.900 -> 40385 TSM:INIT:TSP OK
      19:08:25.900 -> 40392 TSM:FPAR
      19:08:25.900 -> send partLen: 7
      19:08:25.900 -> send data: 255;255;255;2;3;7;255;.
      19:08:25.900 -> send CAN len: 7
      19:08:25.900 -> send CAN noOfFrames: 1
      19:08:25.900 -> send CAN id: 2148597504
      19:08:25.900 -> send packet sent
      19:08:25.900 -> 40399 ?TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:26.165 -> READ CAN id: 2148597504
      19:08:26.165 -> READ CAN from: 0
      19:08:26.198 -> READ CAN to: 255
      19:08:26.198 -> READ CAN currentPart: 0
      19:08:26.198 -> READ CAN totalPartCount: 1
      19:08:26.198 -> READ CAN messageId: 0
      19:08:26.198 -> READ CAN data: 
      19:08:26.198 -> 0, 0, 255, 10, 35, 8, 255, 0, 
      19:08:26.198 -> READ CAN SLOT: 7
      19:08:26.198 -> READ CAN lastReceivedPart: 1
      19:08:26.198 -> READ CAN packet received
      19:08:26.198 -> transport receive called
      19:08:26.198 -> transport receive data: 0, 0, 255, 10, 35, 8, 255, 0, 
      19:08:26.198 -> 40702 TSF:MSG:READ,0-0-255,s=255,c=3,t=8,pt=1,l=1,sg=0:0
      19:08:26.198 -> 40713 TSF:MSG:FPAR OK,ID=0,D=1
      19:08:27.923 -> 42413 TSM:FPAR:OK
      19:08:27.923 -> 42414 TSM:ID
      19:08:27.923 -> 42415 TSM:ID:REQ
      19:08:27.923 -> send partLen: 7
      19:08:27.923 -> send data: 255;255;0;2;3;3;175;.
      19:08:27.923 -> send CAN len: 7
      19:08:27.923 -> send CAN noOfFrames: 1
      19:08:27.923 -> send CAN id: 2148532224
      19:08:27.923 -> send packet sent
      19:08:27.923 -> 42423 TSF:MSG:SEND,255-255-0-0,s=175,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:29.945 -> 44435 TSM:ID
      19:08:29.945 -> 44436 TSM:ID:REQ
      19:08:29.945 -> send partLen: 7
      19:08:29.945 -> send data: 255;255;0;2;3;3;148;.
      19:08:29.945 -> send CAN len: 7
      19:08:29.945 -> send CAN noOfFrames: 1
      19:08:29.945 -> send CAN id: 2148532224
      19:08:29.945 -> send packet sent
      19:08:29.945 -> 44443 TSF:MSG:SEND,255-255-0-0,s=148,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:31.967 -> 46455 TSM:ID
      19:08:31.967 -> 46456 TSM:ID:REQ
      19:08:31.967 -> send partLen: 7
      19:08:31.967 -> send data: 255;255;0;2;3;3;120;.
      19:08:31.967 -> send CAN len: 7
      19:08:31.967 -> send CAN noOfFrames: 1
      19:08:31.967 -> send CAN id: 2148532224
      19:08:31.967 -> send packet sent
      19:08:31.967 -> 46464 TSF:MSG:SEND,255-255-0-0,s=120,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:33.989 -> 48476 TSM:ID
      19:08:33.989 -> 48477 TSM:ID:REQ
      19:08:33.989 -> send partLen: 7
      19:08:33.989 -> send data: 255;255;0;2;3;3;93;.
      19:08:33.989 -> send CAN len: 7
      19:08:33.989 -> send CAN noOfFrames: 1
      19:08:33.989 -> send CAN id: 2148532224
      19:08:33.989 -> send packet sent
      19:08:33.989 -> 48484 TSF:MSG:SEND,255-255-0-0,s=93,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
      19:08:36.012 -> 50496 !TSM:ID:FAIL
      19:08:36.012 -> 50497 TSM:FAIL:CNT=3
      19:08:36.012 -> 50499 TSM:FAIL:DIS
      19:08:36.012 -> 50501 TSF:TDI:TSL
      19:08:45.992 -> 60504 TSM:FAIL:RE-INIT
      19:08:45.992 -> 60506 TSM:INIT
      
      posted in Development
      Adam Slowik
      Adam Slowik
    • CAN bus transport implementation

      Hi,

      I'm trying to add CAN transmission to MySensors.

      This is my fork: https://github.com/AdamSlowik/MySensors/tree/feature/can

      This is how I connected my CAN modules to arduino (except pin INT of CAN module is connected to pin 2 of arduino):
      https://www.14core.com/wiring-the-two-mcp2515-stand-alone-can-controller-with-spi/

      My CAN module is popular one (mpc2515 with tja1050)

      My fork contains following examples:
      -GatewaySerialCAN
      -CANSwitch (simpler version of BinarySwitchSleepSensor)

      Heavy lifting (MCP2515 driver stuff) is done by https://github.com/coryjfowler/MCP_CAN_lib

      After uploading mentioned sketches to arduinos, sensor sends frame. I belive this is request for new node ID (it's 7 bytes long).
      Gateway recives this frame (data is same as in sensor side). After that strange things happens. Gateway ends up in some endless loop calling 'transportDataAvailable'. This might be normal but 'IF' statement 'if(!hwDigitalRead(CAN0_INT))' is always true. Because this statement is true program reads data from CAN. Since 'IF' statement (in my opinion) is false positiv, data from CAN are garbage (0xFFFFFFFF).

      Two easiest explenation for me are:
      a) Gateway uses pin 2 and this interfere with communication code
      b) Used CAN library is somehow incompatible with MySensors

      I belive wiring issue is not the case. All things are soldered in universal board and tested with examples provided by CAN library.

      Can someone look at My code especialy at how I use pin 2?
      Perhaps someone have CAN modules to reproduce My issue?

      posted in Development
      Adam Slowik
      Adam Slowik