Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-1339

Change subscribed signals search to check filters as well ('Low Level CAN Service')

XMLWordPrintable

      Currently, the 'Low Level CAN Service' is checking for duplicate signals using only the 'name' of the signal. So, when an already subscribed signal is requested for a new subscription, filter is ignore and the new subscription will receive the same data as the previously subscribed subscription.

      Technical details : 
      To handle correctly multiple subscription with different filters for the same signal, a method called 'isSignalSubscriptionCorresponding' should be added in 'low_can_socket_t' class. This method will take an 'std::shared_ptr<can_signal_t>' and and 'event_filter_t' as parameter and return a boolean at 'true' if parameters are corresponding to the current 'subscription' object.

      This method should be used in 'subscribe_unsubscribe_can_signals' function of 'low-can-cb.cpp' file. By doing that, a new subscription object (and therefore, a new SocketCAN socket) will be created if the filters is not the same as the previously subscribed subscription.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Jon Jonathan Aillet
            Jon Jonathan Aillet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: