Migrating from PPI to DPPI

I'm trying to port a PPI application to an nrf5340. I'm quite puzzled, as it would appear there is no obvious way to achieve what I'm trying to do.

In short, I have a setup where the events E should trigger tasks T accordingly to the relation below. Events originate by timers (E1-4 TIM3, E5 TIM4), and the tasks are simple GPIOTE clear/set

e1 --> t1,t5
e2 --> t2,t6
e3 --> t3,t5
e4 --> t4,t6
e5 --> t2,t4,t6

I'm using the gppi API, as I would like to support both nrf52 and nrf53 families. As far as I understand DPPI does not allow to associate multiple channels to the same task/event. This seems to make it impossible to achieve, as either tasks or events need to be connected to multiple channels.

I think I'm missing something since this was feasible with PPI and does not seem like a very strange use case to me :D

Thanks!

Parents Reply
  • Hi Andrea,

    Yaxit said:
    The problem I have here is that some tasks should be triggered by multiple DPPI channels (e.g. t6).

    The only possible option I see is to use the many-to-many connection and set up channel groups for each event-tasks group. I am not sure if that will allow you to have one event publish to several channels or have one task subscribe to several channels, though. It is not clear from the documentation and I have not found anyone internally who's tried this yet.

    You may have already tried out the channel groups?

    Best regards,

    Maria

Children
Related