canvca support for SYNC messges

2006-01-27
2013-06-04
  • Kalle Johanson
    Kalle Johanson
    2006-01-27

    Hi,

    I am playing little bit with canvca library. I'd like to ask whether PDOProcessor suppports handling of SYNC messages?
    I mean a situation when a PDO is configured to be sent synchronously after a SYNC message arrives.

    I had a look into the code and it seems to me that this is not implemented.

    Anyway, I wonder how PDOs are processed by method vcaPDOProcessor_processMsg (in vca_pdo.c). It seems to me that only corresponding PDO in OD is searched, but if found no action is performed with it. Did I miss something?

    Thank you,
    Kalle

     
    • Pavel Pisa
      Pavel Pisa
      2006-01-27

      Hello Kale,

      > I'd like to ask whether PDOProcessor supports handling of SYNC messages?
      The code places infrastructure there, but not all features are
      finished. It is waiting to some spare time, project funding,
      students diploma thesis work or contributors.

      The PDO can be sent as response to the source value change notification
      over event connectors. This is tested, works and is probably most
      complicated mode if should be done without polling.
      The SYNC driven and time driven modes needs to be implemented.
      The function _pdo_hub_event() should be divided into part processed
      at variable change notification, which only marks fields requiring
      update and PDO should be moved on list of Tx PDOs which require
      more processing. The second part should do real update and sending.
      Then PDO processor should take PDO from the list, update it and send
      it to the CAN bus. SYNC response would mean only connecting
      of SYNC filer and new rx_hub on PDO processor through
      vcaNet_msg_rec_connect(). SYNC processing would mean only marking PDO
      as requiring to be sent. Each PDO should contain timer field and then
      periodic mode could be implemented as marking PDO to be sent
      in timer call-back.

      > vcaPDOProcessor_processMsg
      This is alternative to use of the full vcaNet_msg_rec_connect()
      infrastructure. So yes, above mentioned functionality of marking
      SYNC triggered PDOs for Tx could be added there.
      The key is to refactor _pdo_hub_event() function and addition
      of list for PDOs with pending requests.

      All that is thought through in my head, but time is terrible enemy.
      I can touch code some way to sketch my ideas, but it would probably
      break code. Change could help others to see my ideas. But you or
      somebody else needs to pledge time to debug code and test its
      standard compliance and functionality standard.
      But I can spent only minimal time with that.

      I expect, that you use CVS code version, if no, switch to it,
      because there is more enhancements accumulated already.

      Best wishes

                   Pavel