Jump to content

Piotr Rzeszut

Members
  • Posts

    84
  • Joined

  • Last visited

Posts posted by Piotr Rzeszut

  1. Hi @attila!

    Great job on an ability to synchronize two devices together! AnalogDiscovery 

    This is what I wondered about some time ago:

    I have a few suggestions - observations on this feature:

    1. Is there a possibility to display some warning when it is detected that trigger lines have been disconnected or are not connected properly?
    2. In some tools (like interface) only channels from the main device are seen - is this a limitation of the solution or an bug?
    3. Of course I follow the naming convention of lines from the second device, but I think it would be better to name them like: DIO 1.0, DIO 1.1, ... (for the master device) and DIO 2.0, DIO 2.1, ... as in my opinion it would be easier to identify interesting channel.

    Best regards and again thank you for your great work!

  2. Hi @attila,

    Now everything is working great, I observed no crashes, the warning is displayed when trying to send too long frame, actual baud-rates are displayed, frames are transmitted correctly.

    Some additional observations:

    • When trying to receive BRS frame using protocol a warning is displayed that such reception format is only supported by Logic Analyzer, that is ok. But then the rest of this frame is received as an malformed frame. This is generally OK, as we have warning that we reached capabilities of that tool, but maybe we can ignore rest of this frame not to have displayed this malformed data.
    • Might add other standard FDRs of: 2M, 4M and 8M to drop-down list.

     

    And once again - thanks for great tech support - I am again happy to have Analog Discovery 2 hardware ;)

  3. Hi @attila,

    Thanks for the explanation - yes a warning on reaching limit would be great. And also a note on actual rates achieved is very good, as yes - some rates are hard to generate with a given clock. I do not except people to use non-standard rates often but it is a nice touch for debugging some applications.

    From my point of view it looks very good. If you would need some additional testing - let me know.

    So far all the data I am working on is decoded correctly and now CRC is calculated correctly.

     

    BTW: What was the issue with this CRC calculation?

     

  4. @attila, hi,

    Thanks for fast updates! Now it is working correctly, as intended.

    I also have tested CAN-FD transmit function from Protocol tab and noted some issues:

    • Was it always that you can select only DIO0..7, not full range of DIO0..15 ?
    • It would be also nice to have FDR specified here as an arbitrary value instead of integer multiplier only
    • For frame lengths more than 12 bytes with IDE enabled something is not working TX BI: h0FB SRR: 1 IE: h00000 RTR: 0 FD-EDL: 1 R0: 0 BRS: 1 (2X) ESI: 0 DLC: h9 (12B) DATA: h01 h02 h03 h04 h05 h06 h07 h08 h09 h0A h0B h00 SBC: hA CRC: h060C8
    • For frame lengths more than 20 bytes with IDE disabled something is not working TX BI: h0FB RTR: 0 FD-EDL: 1 R0: 0 BRS: 1 (2X) ESI: 1 DLC: hB (20B) DATA: h01 h02 h03 h04 h05 h06 h07 h08 h09 h0A h0B h0C h0D h0E h0F h10 h11 h00 h00 h00 SBC: h6 CRC: h0FE16D
  5. @attila

    I identified more closely crash situation where crash happens.

    I had a view like in files attached above opened and running and there were a periodically retransmitted CAN frames (standard CAN, extID=0xB02, DLC=1, DATA=0x55) that were not ACKed. After a minute or so Waveforms crashed. This behavior repeated at least 3 times.

     

    Thanks for the update - can you possibly show your calculation method?
    I will try to get the fragment of ISO standard in my hands so I can check on this.

  6. If you need I might provide some additional data captures - you would be probably interested in shorter (<16 bytes) and longer (>16 bytes) frames as they use different CRC length. Just let me know what kind of data would be useful for you - I might generate everything using hardware that is proved to work.

  7. @attila

    CAN-FD CRC again

    https://can-newsletter.org/engineering/standardization/141209_iso-can-fd-or-non-iso-can-fd

    Here they do reference differences by explicitly pointing out:

    Quote

    The CAN FD protocol has been changed to improve the failure detection capability. In particular, a 3-bit stuff-bit counter was introduced and an additional parity bit. Also, the value for the CRC calculation has been changed. These improvements make the ISO CAN FD protocol incompatible to the original CAN FD protocol developed by Bosch.

    So I assume you have implemented everything according to non-ISO standard, while I am using ISO version.

  8. Hi @attila,

    About the crash:

    The hardware configuration is #8 for Analog Discovery 2, the Scope and Logic Analyzer are configured as in attached file (so LA is triggering on any CAN ID and Scope is triggered from LA). As the device is receiving and decoding CAN frames - from time to time, without warning (not matters if the window is focused or not) the WaveForms beta window disappear by itself. It was not a case for the latest release. As I notice it again I will try to gather more information.

    About the CAN-FD CRC

    The frames I attached are 100% correct. They are generated by STM32H7xx and Kvaser USBcan Pro 2xHS v2. Maybe your concerns are caused by the fact, that we are having (unfortunately) 2 different CAN-FD standards - ISO11898-1 and Bosch CAN FD Specification V1.0 (aka non-ISO). I am working in ISO11898-1 standard.

  9. @attila

    It mostly works, but there seem to be some issue with CRC section when using FD mode - it indicates that CRC is wrong and then tries to decode new frame, while this is still same frame.

    I am attaching a representative data - both of the frames are 100% correct.

    If you need some additional real-word data let me know.

    Also an suggestion - as in real world an engineer might want to set fast bit-rate that is not an integer multiply of base bit-rate it would be better to specify FDR not as a multiplier of Rate value but rather as another window to select value (same as for base Rate).

    Also I noted it crashes from time to time without any warning (Windows 10, Analog Discovery 2, 3.19.12 (2023-01-19)) - is there a place where it stores some crash logs so I can help?

    debug_CAN_FD.dwf3work

  10. Hi!

    I am using currently UART SPY mode in Waveforms software.

    However I really need to use this mode in Python SDK, as I am decoding some protocol and with python scripting I may simplify the process a lot.

    I went through SDK manual and examples and I found only UART Rx or UART Tx Rx - no example for "dual Rx"...
     

    Am I missing something?

    Thanks in advance for help.

×
×
  • Create New...