- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When is the Spanning option in the Pin component going to be given separate control from the Contiguous option? Or, if it has been overlooked, can it be changed soon?
It states in both the component and in old and new documentation that this change will occur in the future. The link below is to a workaround from a similar question asked a few years ago, but if the option is supposed to exist without a workaround, I would like to use that. In my case, I am running two CAN controllers, hardware dedicated for each a single and dual wire CAN bus, on the same port, due to component spacing. The dedicated RX pins are not contiguous, so contiguous can't be used. Since they are on the same port, two separate pin components, each with interrupts, can't be used. And the spanning option can't be enabled if a dedicated interrupt is to be used, since the interrupt is port specific.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @CoLy_3905441 ,
We have raised an internal ticket for the query and we are checking if the issue has been fixed or not.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any updates?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any updates?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I made a shell of my project with the workaround from the included link. I adjusted some stuff for a simpler implementation. In the noted link, he adds a mask to clear all the interrupts. In my case, I wanted to leave the interrupts separate. I also use the prebuilt interrupts instead of building my own. An addition from my original project is adding a 4-button DPAD with a separate enter button. I want the DPAD to navigate and the enter to activate a specified function, so I want their interrupts to be cleared separately. In conjunction, the CAN channels are separate, so I only want to send a message on the active network.
Below, I took snippets from my code and boldened the important parts. As well a screenshot of the TopDesign for those not wanting to download the entire project.
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
/*Interrupt Start*/
Glb_isr_Start();
DPAD_isr_Start();
/*Set Interrupt for Non-Contiguous*/
dpad_SetInterruptMode(dpad_ent_0_INTR, dpad_ent_INTR_RISING);
RX_1_SetInterruptMode(RX_SW_0_INTR,RX_SW_INTR_FALLING);
for(;;)
{
}
}
/* `#START DPAD_isr_Interrupt` */
if(dpad_ClearInterrupt())
{
RX_isr_Start();
}
if(dpad_ent_ClearInterrupt())
{
led1_Write(~led1_Read());
}
/* `#START RX_isr_Interrupt` */
if(RX_1_ClearInterrupt())
{
// CAN_1_SendMsg();
}
if(RX_SW_ClearInterrupt())
{
// CAN_SW_SendMsg();
}
CyDelay(1);
led2_Write(~led2_Read());
RX_isr_Stop();