#include "system.h"
#include "plIntr.h"

int InitPlIntr(XScuGic * gicPtr) {
	SetPlIntr(gicPtr, PL_TX_INTR_ID, PLIntr1Handler);
	SetPlIntr(gicPtr, PL_RX_INTR_ID, PLIntr2Handler);
//	SetPlIntr(gicPtr, PL2PS_INTR3, PLIntr3Handler);
	return XST_SUCCESS;
}

void SetPlIntr(XScuGic * gicPtr, u32 intrId, Xil_ExceptionHandler handler) {
	XScuGic_Connect(gicPtr, intrId, handler, NULL);
	XScuGic_SetPriorityTriggerType(gicPtr, intrId, 32, 0b11);
	XScuGic_Enable(gicPtr, intrId);
}


void PLIntr1Handler(void* callBack)
{
	txDataReqIntr = true;
	LOG_INFO("PL TX Interupt, ID 63");
}

void PLIntr2Handler(void * callBack)
{
	rxDataRecIntr = true;
	LOG_INFO("PL RX Interupt, ID 64");
}

// VIO Trigger
void PLIntr3Handler(void * callBack)
{
//	LOG_INFO("PL Interupt, ID 3");
//	int32_t gain = 0;
//	ad9361_get_rx_rf_gain(ad9361_phy,0, &gain);
//	xil_printf(INFO_MSG("Gain = %d dB"),gain);
}
