Interconnect (Internal Digital Routing)¶
-
group
group_hal_impl_interconnect
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.
Functions
-
cy_rslt_t
_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.
- Parameters
source – [in] The source of the signal to connect
dest – [in] The destination of the signal to connect
type – [in] Whether the signal is edge or level triggered
- Returns
The status of the connect request
-
cy_rslt_t
_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.
- Parameters
source – [in] The source of the signal to disconnect
dest – [in] The destination of the signal to disconnect
- Returns
The status of the disconnect request
-
bool
_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.
- Parameters
source – [in] The source of the signal to check
dest – [in] The destination of the signal to check
- Returns
Indication of whether a signal can connect between the provided points
-
cy_rslt_t