Lines Matching refs:context

36 static void HandleDataReceive (CySCB_Type *base, cy_stc_scb_uart_context_t *context);
37 static void HandleRingBuffer (CySCB_Type *base, cy_stc_scb_uart_context_t *context);
38 static void HandleDataTransmit(CySCB_Type *base, cy_stc_scb_uart_context_t *context);
69 …y_SCB_UART_SetOverSample(CySCB_Type *base, uint32_t overSample, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_SetOverSample() argument
73 if((NULL == base) || (NULL == context) || in Cy_SCB_UART_SetOverSample()
74 …cy_en_scb_uart_mode_t)_FLD2VAL(SCB_UART_CTRL_MODE,SCB_UART_CTRL(base))), context->irdaEnableLowPow… in Cy_SCB_UART_SetOverSample()
82 …_SCB_UART_IRDA == _FLD2VAL(SCB_UART_CTRL_MODE,SCB_UART_CTRL(base))) && (!context->irdaEnableLowPow… in Cy_SCB_UART_SetOverSample()
266 …_Init(CySCB_Type *base, cy_stc_scb_uart_config_t const *config, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_Init() argument
372 if (NULL != context) in Cy_SCB_UART_Init()
374 context->rxStatus = 0UL; in Cy_SCB_UART_Init()
375 context->txStatus = 0UL; in Cy_SCB_UART_Init()
377 context->rxRingBuf = NULL; in Cy_SCB_UART_Init()
378 context->rxRingBufSize = 0UL; in Cy_SCB_UART_Init()
380 context->rxBufIdx = 0UL; in Cy_SCB_UART_Init()
381 context->txLeftToTransmit = 0UL; in Cy_SCB_UART_Init()
383 context->cbEvents = NULL; in Cy_SCB_UART_Init()
384 context->irdaEnableLowPowerReceiver = config->irdaEnableLowPowerReceiver; in Cy_SCB_UART_Init()
390 context->initKey = CY_SCB_UART_INIT_KEY; in Cy_SCB_UART_Init()
470 void Cy_SCB_UART_Disable(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_Disable() argument
474 if (NULL != context) in Cy_SCB_UART_Disable()
476 context->rxStatus = 0UL; in Cy_SCB_UART_Disable()
477 context->txStatus = 0UL; in Cy_SCB_UART_Disable()
479 context->rxBufIdx = 0UL; in Cy_SCB_UART_Disable()
480 context->txLeftToTransmit = 0UL; in Cy_SCB_UART_Disable()
519 cy_stc_scb_uart_context_t *locContext = (cy_stc_scb_uart_context_t *) callbackParams->context; in Cy_SCB_UART_DeepSleepCallback()
668 …_StartRingBuffer(CySCB_Type *base, void *buffer, uint32_t size, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_StartRingBuffer() argument
670 CY_ASSERT_L1(NULL != context); in Cy_SCB_UART_StartRingBuffer()
672 CY_ASSERT_L1(CY_SCB_UART_INIT_KEY == context->initKey); in Cy_SCB_UART_StartRingBuffer()
680 context->rxRingBuf = buffer; in Cy_SCB_UART_StartRingBuffer()
681 context->rxRingBufSize = size; in Cy_SCB_UART_StartRingBuffer()
682 context->rxRingBufHead = 0UL; in Cy_SCB_UART_StartRingBuffer()
683 context->rxRingBufTail = 0UL; in Cy_SCB_UART_StartRingBuffer()
728 void Cy_SCB_UART_StopRingBuffer(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_StopRingBuffer() argument
731 Cy_SCB_UART_ClearRingBuffer(base, context); in Cy_SCB_UART_StopRingBuffer()
733 context->rxRingBuf = NULL; in Cy_SCB_UART_StopRingBuffer()
734 context->rxRingBufSize = 0UL; in Cy_SCB_UART_StopRingBuffer()
761 …_t Cy_SCB_UART_GetNumInRingBuffer(CySCB_Type const *base, cy_stc_scb_uart_context_t const *context) in Cy_SCB_UART_GetNumInRingBuffer() argument
764 uint32_t locHead = context->rxRingBufHead; in Cy_SCB_UART_GetNumInRingBuffer()
769 if (locHead >= context->rxRingBufTail) in Cy_SCB_UART_GetNumInRingBuffer()
771 size = (locHead - context->rxRingBufTail); in Cy_SCB_UART_GetNumInRingBuffer()
775 size = (locHead + (context->rxRingBufSize - context->rxRingBufTail)); in Cy_SCB_UART_GetNumInRingBuffer()
798 void Cy_SCB_UART_ClearRingBuffer(CySCB_Type const *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_ClearRingBuffer() argument
803 context->rxRingBufHead = context->rxRingBufTail; in Cy_SCB_UART_ClearRingBuffer()
851 …SCB_UART_Receive(CySCB_Type *base, void *buffer, uint32_t size, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_Receive() argument
853 CY_ASSERT_L1(NULL != context); in Cy_SCB_UART_Receive()
855 CY_ASSERT_L1(CY_SCB_UART_INIT_KEY == context->initKey); in Cy_SCB_UART_Receive()
862 if (0UL == (context->rxStatus & CY_SCB_UART_RECEIVE_ACTIVE)) in Cy_SCB_UART_Receive()
870 if (NULL != context->rxRingBuf) in Cy_SCB_UART_Receive()
873 numToCopy = Cy_SCB_UART_GetNumInRingBuffer(base, context); in Cy_SCB_UART_Receive()
878 uint32_t locTail = context->rxRingBufTail; in Cy_SCB_UART_Receive()
892 if (locTail == context->rxRingBufSize) in Cy_SCB_UART_Receive()
900 buf[idx] = ((uint8_t *) context->rxRingBuf)[locTail]; in Cy_SCB_UART_Receive()
905 buf[idx] = ((uint16_t *) context->rxRingBuf)[locTail]; in Cy_SCB_UART_Receive()
910 context->rxRingBufTail = locTail; in Cy_SCB_UART_Receive()
914 context->rxBufIdx = numToCopy; in Cy_SCB_UART_Receive()
925 if (context->rxBufIdx > 0UL) in Cy_SCB_UART_Receive()
927 if (NULL != context->cbEvents) in Cy_SCB_UART_Receive()
929 context->cbEvents(CY_SCB_UART_RECEIVE_DONE_EVENT); in Cy_SCB_UART_Receive()
949 context->rxStatus = CY_SCB_UART_RECEIVE_ACTIVE; in Cy_SCB_UART_Receive()
951 context->rxBuf = (void *) tmpBuf; in Cy_SCB_UART_Receive()
952 context->rxBufSize = size; in Cy_SCB_UART_Receive()
953 context->rxBufIdx = numToCopy; in Cy_SCB_UART_Receive()
997 void Cy_SCB_UART_AbortReceive(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_AbortReceive() argument
999 if (NULL == context->rxRingBuf) in Cy_SCB_UART_AbortReceive()
1004 context->rxBufSize = 0UL; in Cy_SCB_UART_AbortReceive()
1005 context->rxBufIdx = 0UL; in Cy_SCB_UART_AbortReceive()
1007 context->rxStatus = 0UL; in Cy_SCB_UART_AbortReceive()
1031 …nt32_t Cy_SCB_UART_GetNumReceived(CySCB_Type const *base, cy_stc_scb_uart_context_t const *context) in Cy_SCB_UART_GetNumReceived() argument
1036 return (context->rxBufIdx); in Cy_SCB_UART_GetNumReceived()
1063 …32_t Cy_SCB_UART_GetReceiveStatus(CySCB_Type const *base, cy_stc_scb_uart_context_t const *context) in Cy_SCB_UART_GetReceiveStatus() argument
1068 return (context->rxStatus); in Cy_SCB_UART_GetReceiveStatus()
1111 …CB_UART_Transmit(CySCB_Type *base, void *buffer, uint32_t size, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_Transmit() argument
1113 CY_ASSERT_L1(NULL != context); in Cy_SCB_UART_Transmit()
1115 CY_ASSERT_L1(CY_SCB_UART_INIT_KEY == context->initKey); in Cy_SCB_UART_Transmit()
1122 if (0UL == (CY_SCB_UART_TRANSMIT_ACTIVE & context->txStatus)) in Cy_SCB_UART_Transmit()
1125 context->txStatus = CY_SCB_UART_TRANSMIT_ACTIVE; in Cy_SCB_UART_Transmit()
1127 context->txBuf = buffer; in Cy_SCB_UART_Transmit()
1128 context->txBufSize = size; in Cy_SCB_UART_Transmit()
1176 void Cy_SCB_UART_AbortTransmit(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_AbortTransmit() argument
1182 context->txBufSize = 0UL; in Cy_SCB_UART_AbortTransmit()
1183 context->txLeftToTransmit = 0UL; in Cy_SCB_UART_AbortTransmit()
1185 context->txStatus = 0UL; in Cy_SCB_UART_AbortTransmit()
1209 … Cy_SCB_UART_GetNumLeftToTransmit(CySCB_Type const *base, cy_stc_scb_uart_context_t const *context) in Cy_SCB_UART_GetNumLeftToTransmit() argument
1214 return (context->txLeftToTransmit); in Cy_SCB_UART_GetNumLeftToTransmit()
1242 …2_t Cy_SCB_UART_GetTransmitStatus(CySCB_Type const *base, cy_stc_scb_uart_context_t const *context) in Cy_SCB_UART_GetTransmitStatus() argument
1247 return (context->txStatus); in Cy_SCB_UART_GetTransmitStatus()
1329 void Cy_SCB_UART_Interrupt(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in Cy_SCB_UART_Interrupt() argument
1339 context->rxStatus |= locRxErr; in Cy_SCB_UART_Interrupt()
1343 if (NULL != context->cbEvents) in Cy_SCB_UART_Interrupt()
1345 context->cbEvents(CY_SCB_UART_RECEIVE_ERR_EVENT); in Cy_SCB_UART_Interrupt()
1352 context->rxStatus |= CY_SCB_UART_RECEIVE_BREAK_DETECT; in Cy_SCB_UART_Interrupt()
1360 if (context->rxBufSize > 0UL) in Cy_SCB_UART_Interrupt()
1362 HandleDataReceive(base, context); in Cy_SCB_UART_Interrupt()
1366 if (NULL != context->rxRingBuf) in Cy_SCB_UART_Interrupt()
1368 HandleRingBuffer(base, context); in Cy_SCB_UART_Interrupt()
1377 if (NULL != context->cbEvents) in Cy_SCB_UART_Interrupt()
1379 context->cbEvents(CY_SCB_UART_RECEIVE_NOT_EMTPY); in Cy_SCB_UART_Interrupt()
1394 context->txStatus |= locTxErr; in Cy_SCB_UART_Interrupt()
1397 if (NULL != context->cbEvents) in Cy_SCB_UART_Interrupt()
1399 context->cbEvents(CY_SCB_UART_TRANSMIT_ERR_EVENT); in Cy_SCB_UART_Interrupt()
1406 HandleDataTransmit(base, context); in Cy_SCB_UART_Interrupt()
1414 if(context->txStatus != CY_SCB_UART_TRANSMIT_ACTIVE) in Cy_SCB_UART_Interrupt()
1425 context->txStatus &= (uint32_t) ~CY_SCB_UART_TRANSMIT_ACTIVE; in Cy_SCB_UART_Interrupt()
1426 context->txLeftToTransmit = 0UL; in Cy_SCB_UART_Interrupt()
1428 if (NULL != context->cbEvents) in Cy_SCB_UART_Interrupt()
1430 context->cbEvents(CY_SCB_UART_TRANSMIT_DONE_EVENT); in Cy_SCB_UART_Interrupt()
1436 if (NULL != context->cbEvents) in Cy_SCB_UART_Interrupt()
1438 context->cbEvents(CY_SCB_UART_TRANSMIT_EMTPY); in Cy_SCB_UART_Interrupt()
1466 static void HandleDataReceive(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in HandleDataReceive() argument
1472 numCopied = Cy_SCB_UART_GetArray(base, context->rxBuf, context->rxBufSize); in HandleDataReceive()
1475 context->rxBufIdx += numCopied; in HandleDataReceive()
1476 context->rxBufSize -= numCopied; in HandleDataReceive()
1478 if (0UL == context->rxBufSize) in HandleDataReceive()
1480 if (NULL != context->rxRingBuf) in HandleDataReceive()
1483 Cy_SCB_SetRxFifoLevel(base, (context->rxRingBufSize >= irqRxLevel) ? in HandleDataReceive()
1484 (irqRxLevel - 1UL) : (context->rxRingBufSize - 1UL)); in HandleDataReceive()
1494 context->rxStatus &= (uint32_t) ~CY_SCB_UART_RECEIVE_ACTIVE; in HandleDataReceive()
1497 if (NULL != context->cbEvents) in HandleDataReceive()
1499 context->cbEvents(CY_SCB_UART_RECEIVE_DONE_EVENT); in HandleDataReceive()
1504 uint8_t *buf = (uint8_t *) context->rxBuf; in HandleDataReceive()
1507 context->rxBuf = (void *) buf; in HandleDataReceive()
1509 if (context->rxBufSize < irqRxLevel) in HandleDataReceive()
1512 Cy_SCB_SetRxFifoLevel(base, (context->rxBufSize - 1UL)); in HandleDataReceive()
1534 static void HandleRingBuffer(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in HandleRingBuffer() argument
1538 uint32_t locHead = context->rxRingBufHead; in HandleRingBuffer()
1546 if (locHead == context->rxRingBufSize) in HandleRingBuffer()
1551 if (locHead == context->rxRingBufTail) in HandleRingBuffer()
1554 if (NULL != context->cbEvents) in HandleRingBuffer()
1556 context->cbEvents(CY_SCB_UART_RB_FULL_EVENT); in HandleRingBuffer()
1562 if (locHead == context->rxRingBufTail) in HandleRingBuffer()
1566 locHead = (locHead > 0UL) ? (locHead - 1UL) : (context->rxRingBufSize - 1UL); in HandleRingBuffer()
1577 ((uint8_t *) context->rxRingBuf)[locHead] = (uint8_t) rxData; in HandleRingBuffer()
1581 ((uint16_t *) context->rxRingBuf)[locHead] = (uint16_t) rxData; in HandleRingBuffer()
1588 context->rxRingBufHead = locHead; in HandleRingBuffer()
1591 numToCopy = context->rxRingBufSize - Cy_SCB_UART_GetNumInRingBuffer(base, context); in HandleRingBuffer()
1618 static void HandleDataTransmit(CySCB_Type *base, cy_stc_scb_uart_context_t *context) in HandleDataTransmit() argument
1624 if (context->txBufSize > 1UL) in HandleDataTransmit()
1626 uint8_t *buf = (uint8_t *) context->txBuf; in HandleDataTransmit()
1629 context->txLeftToTransmit = context->txBufSize; in HandleDataTransmit()
1632 numToCopy = Cy_SCB_UART_PutArray(base, context->txBuf, (context->txBufSize - 1UL)); in HandleDataTransmit()
1635 context->txBufSize -= numToCopy; in HandleDataTransmit()
1638 context->txBuf = (void *) buf; in HandleDataTransmit()
1642 if ((fifoSize != Cy_SCB_GetNumInTxFifo(base)) && (1UL == context->txBufSize)) in HandleDataTransmit()
1647 context->txBufSize = 0UL; in HandleDataTransmit()
1650 txData = (uint32_t) ((byteMode) ? ((uint8_t *) context->txBuf)[0UL] : in HandleDataTransmit()
1651 ((uint16_t *) context->txBuf)[0UL]); in HandleDataTransmit()
1666 context->txStatus |= CY_SCB_UART_TRANSMIT_IN_FIFO; in HandleDataTransmit()
1668 if (NULL != context->cbEvents) in HandleDataTransmit()
1670 context->cbEvents(CY_SCB_UART_TRANSMIT_IN_FIFO_EVENT); in HandleDataTransmit()