/** @file notification.c
-* @brief User Notification Definition File
-* @date 15.Mar.2012
-* @version 03.01.00
-*
-* This file defines empty notification routines.
-* The user needs to remove the while loop and define
-* the sequence.
-*
-*/
+ * @brief User Notification Definition File
+ * @date 15.Mar.2012
+ * @version 03.01.00
+ *
+ * This file defines empty notification routines.
+ * The user needs to remove the while loop and define
+ * the sequence.
+ *
+ */
/* Include Files */
-//#include "ti_drv_esm.h"
-//#include "sys_selftest.h"
-//#include "ti_drv_adc.h"
-//#include "ti_drv_can.h"
-//#include "ti_drv_gio.h"
-//#include "ti_drv_lin.h"
-//#include "ti_drv_mibspi.h"
-//#include "ti_drv_sci.h"
-//#include "ti_drv_het.h"
-//#include "ti_drv_i2c.h"
-/* USER CODE BEGIN (0) */
-//#include "FreeRTOS.h"
-//#include "os_semphr.h"
-//#include "os_task.h"
-
#include "sys/sys.h"
-
-/** @brief Semaphore blocking task when it waits for interrupt signaling message receive
- *
- * Defined in commands.c */
-//extern xSemaphoreHandle canMsgReceived;
-//extern xSemaphoreHandle canMsgSent;
-
-/** @brief Data structure containing converted data from ADC
- *
- * Defined in commands.c */
-//extern canBASE_t *canDst;
-//extern canBASE_t *canSrc;
-//extern uint32_t canMsgBox;
-//extern uint32_t canSendError;
-//extern uint32_t canRecError;
-/* USER CODE END */
+#include "rpp/eth.h"
+#include "sys/ti_drv_can.h"
void esmGroup1Notification(uint32_t channel)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (1) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (2) */
-/* USER CODE END */
-
void esmGroup2Notification(uint32_t channel)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (3) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (4) */
-/* USER CODE END */
-
void memoryPort0TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (5) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (6) */
-/* USER CODE END */
-
void memoryPort1TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (7) */
-/* USER CODE END */
-
+ while (1) ;
}
-
-/* USER CODE BEGIN (8) */
-/* USER CODE END */
-
-/* USER CODE BEGIN (12) */
-/* USER CODE END */
+/** @brief Semaphore blocking task when it waits for interrupt signaling message receive
+ *
+ */
void canErrorNotification(canBASE_t *node, uint32_t notification)
-{
-/* USER CODE BEGIN (13) */
- /* FIXME Move this implementation and header somewhere else
- if (node == canSrc) {
- canSendError = notification;
- xSemaphoreGiveFromISR(canMsgSent, NULL);
- }
- if (node == canDst) {
- canRecError = notification;
- xSemaphoreGiveFromISR(canMsgReceived, NULL);
- }
- */
-/* USER CODE END */
-
-}
-
-/* USER CODE BEGIN (14) */
-/* USER CODE END */
+{}
void canMessageNotification(canBASE_t *node, uint32_t messageBox)
-{
-/* USER CODE BEGIN (15) */
- /* FIXME Move this implementation and header somewhere else
- if (messageBox == canMsgBox)
- {
- if (node == canDst) {
- // node 2 - receive testloopback message complete
- while(!canIsRxMessageArrived(node, canMsgBox))
- ;
- xSemaphoreGiveFromISR(canMsgReceived, NULL);
- }
- if (node == canSrc) {
- xSemaphoreGiveFromISR(canMsgSent, NULL);
- }
- }
- */
-
-/* USER CODE END */
+{}
-}
-
-/* USER CODE BEGIN (16) */
-/* USER CODE END */
void gioNotification(int bit)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (19) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (20) */
-/* USER CODE END */
void i2cNotification(i2cBASE_t *i2c, uint32_t flags)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (21) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (24) */
-/* USER CODE END */
void mibspiNotification(mibspiBASE_t *mibspi, uint32_t flags)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (25) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (26) */
-/* USER CODE END */
-
void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32_t group)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (27) */
-/* USER CODE END */
-
-}
-/* USER CODE BEGIN (28) */
-/* USER CODE END */
-
-void sciNotification(sciBASE_t *sci, uint32_t flags)
-{
-/* USER CODE BEGIN (29) */
- if (sci == sciREG) {
- if (flags & SCI_RX_INT) {
- sciReceive(sci, 1, NULL); // Restart receiving
- }
- }
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (30) */
-/* USER CODE END */
-void pwmNotification(hetBASE_t * hetREG,uint32_t pwm, uint32_t notification)
+void pwmNotification(hetBASE_t *hetREG,uint32_t pwm, uint32_t notification)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (33) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (34) */
-/* USER CODE END */
-
-void edgeNotification(hetBASE_t * hetREG,uint32_t edge)
+void edgeNotification(hetBASE_t *hetREG,uint32_t edge)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (35) */
-/* USER CODE END */
-
+ while (1) ;
}
-/* USER CODE BEGIN (36) */
-/* USER CODE END */
-
void hetNotification(hetBASE_t *het, uint32_t offset)
{
/* enter user code and remove the while loop... */
- while(1);
-/* USER CODE BEGIN (37) */
-/* USER CODE END */
-
+ while (1) ;
}
-/** Semaphore used to stop command, until message is received */
-//xSemaphoreHandle linMsgReceived;
-/** Semaphore used to stop command, until ID is received */
-//xSemaphoreHandle linIDReceived;
-void linNotification(linBASE_t *lin, uint32_t flags)
+#ifndef FREERTOS_POSIX
+extern boolean_t HostPendErrHandler(void);
+#if PHY_LINK_MONITOR_INT
+extern boolean_t LinkIntHandler(void);
+#endif
+#pragma INTERRUPT(MDIOMiscInt, IRQ)
+void MDIOMiscInt(void)
{
- /* FIXME Move this code somewhere else. It was in cmd_lin.c
- if (flags & LIN_ID_INT) {
- xSemaphoreGiveFromISR(linIDReceived, NULL);
- }
- if (flags & LIN_RX_INT) {
- lin->FLR |= (1 << 9);
- xSemaphoreGiveFromISR(linMsgReceived, NULL);
- }
- */
+ if (HostPendErrHandler()) return;
+#if PHY_LINK_MONITOR_INT
+ if (LinkIntHandler()) return;
+#endif
}
+extern void RxIntHandler(uint32_t instNum);
+extern void TxIntHandler(uint32_t instNum);
-#pragma INTERRUPT(EMACCore0RxIsr, FIQ)
+volatile int countEMACCore0RxIsr = 0;
+#pragma INTERRUPT(EMACCore0RxIsr, IRQ)
void EMACCore0RxIsr(void)
{
- /* FIXME was in cmd_emac.c and should move somewhere else.
- rx_irq_cnt++;
+ countEMACCore0RxIsr++;
+ RxIntHandler(0);
+ /* FIXME was in emac_cmd.c/eth.c and should move somewhere else.
+ rx_irq_cnt++;
- // We know we have only one RX Packet Buffer descriptor --
- // so we write it in CP to disable interrupt
- EMACRxCPWrite(emacBase, channel, (unsigned int)rx_desc);
- EMACCoreIntAck(emacBase, EMAC_INT_CORE0_RX);
- */
+ // We know we have only one RX Packet Buffer descriptor --
+ // so we write it in CP to disable interrupt
+ EMACRxCPWrite(emacBase, channel, (unsigned int)rx_desc);
+ EMACCoreIntAck(emacBase, EMAC_INT_CORE0_RX);
+ */
}
-#pragma INTERRUPT(EMACCore0TxIsr, FIQ)
+volatile int countEMACCore0TxIsr = 0;
+#pragma INTERRUPT(EMACCore0TxIsr, IRQ)
void EMACCore0TxIsr(void)
{
- /* FIXME Was in cmd_emac.c and should move somewhere else
- tx_irq_cnt++;
- // If is not being processed by the EMAC anymore
- if (!(fr1.PktFlgLen & EMAC_DSC_FLAG_OWNER)) {
- EMACTxCPWrite(emacBase, channel, (unsigned int)&fr1);
- EMACCoreIntAck(emacBase, EMAC_INT_CORE0_TX);
- }
- */
-}
-
-
-/* USER CODE BEGIN (38) */
-/* USER CODE END */
+ countEMACCore0TxIsr++;
+ TxIntHandler(0);
+ /* FIXME Was in emac_cmd.c/eth.c and should move somewhere else
+ tx_irq_cnt++;
+ // If is not being processed by the EMAC anymore
+ if (!(fr1.PktFlgLen & EMAC_DSC_FLAG_OWNER)) {
+ EMACTxCPWrite(emacBase, channel, (unsigned int)&fr1);
+ EMACCoreIntAck(emacBase, EMAC_INT_CORE0_TX);
+ }
+ */
+}
+#endif /* ifndef FREERTOS_POSIX */