Interconnect (Internal Digital Routing)¶
The interconnect system connects the various hardware peripherals using trigger signals.
Triggers are output when a particular event occurs or condition is met by one of the peripherals. These triggers can be routed to other peripherals using the interconnect system in order to initiate an action at the destination peripheral.
Peripherals must be configured to produce/accept trigger signals. Therefore in practice, there is no need to call _cyhal_connect_signal manually. Instead, use the per-peripheral cyhal_<PERI>_connect_digital or cyhal_<PERI>_enable_output which will handle configuring the peripheral and making the connections internally.
Trigger routing is implemented using trigger multiplexers. A single source trigger can be routed to multiple destinations but a single destination can only be connected to a single source. There are different trigger layouts depending on device architecture.
_cyhal_connect_signal(cyhal_source_t source, cyhal_dest_t dest, cyhal_signal_type_t type)¶
Connects two digital signals on the device using the internal interconnect.
A single source can drive multiple destinations, but a destination can be driven by only one source. If the destination is already connected, or the connection can not be established an error will be returned.
The status of the connect request
[in] source: The source of the signal to connect
[in] dest: The destination of the signal to connect
[in] type: Whether the signal is edge or level triggered
_cyhal_disconnect_signal(cyhal_source_t source, cyhal_dest_t dest)¶
Disconnects two digital signals on the device that were previously connected using the internal interconnect.
The status of the disconnect request
[in] source: The source of the signal to disconnect
[in] dest: The destination of the signal to disconnect
_cyhal_can_connect_signal(cyhal_source_t source, cyhal_dest_t dest)¶
Checks to see if a signal can be connected between the provided source and dest.
Indication of whether a signal can connect between the provided points
[in] source: The source of the signal to check
[in] dest: The destination of the signal to check