sorry it was writing to PIO_IER that is causing the issues
void InputRecorder::enable_trig_interrupts()
{
TRIG_PIN_PORT->PIO_IDR = 0xFFFFFFFF;
//TRIG_PIN_PORT->PIO_IER |= PIO_PB12; <--- swapped to b port, this was the offending line
if(actv_trigs[0] != 0)
{
pmc_enable_periph_clk(TRIG_PMC_CLK_ID);
trigs_are_enabled = true;
NVIC_EnableIRQ(TRIG_PORT_IRQ);
}
}