Lines Matching refs:context

40 static void HandleErrors      (CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context);
41 static void HandleAddress (CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context);
43 static void HandleDataReceive (CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context);
44 static void HandleDataTransmit(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context);
45 static void HandleStop (CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context);
46 static void UpdateAddressMask (CySCB_Type *base, cy_stc_scb_ezi2c_context_t const *context);
75 cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_Init() argument
78 if ((NULL == base) || (NULL == config) || (NULL == context)) in Cy_SCB_EZI2C_Init()
104 context->address2 = 0U; in Cy_SCB_EZI2C_Init()
105 Cy_SCB_EZI2C_SetAddress1(base, config->slaveAddress1, context); in Cy_SCB_EZI2C_Init()
109 Cy_SCB_EZI2C_SetAddress1(base, config->slaveAddress1, context); in Cy_SCB_EZI2C_Init()
110 Cy_SCB_EZI2C_SetAddress2(base, config->slaveAddress2, context); in Cy_SCB_EZI2C_Init()
126 context->status = 0UL; in Cy_SCB_EZI2C_Init()
127 context->state = CY_SCB_EZI2C_STATE_IDLE; in Cy_SCB_EZI2C_Init()
129 context->subAddrSize = config->subAddressSize; in Cy_SCB_EZI2C_Init()
131 context->buf1Size = 0UL; in Cy_SCB_EZI2C_Init()
132 context->buf1rwBondary = 0UL; in Cy_SCB_EZI2C_Init()
133 context->baseAddr1 = 0UL; in Cy_SCB_EZI2C_Init()
135 context->buf2Size = 0UL; in Cy_SCB_EZI2C_Init()
136 context->buf2rwBondary = 0UL; in Cy_SCB_EZI2C_Init()
137 context->baseAddr2 = 0UL; in Cy_SCB_EZI2C_Init()
203 void Cy_SCB_EZI2C_Disable(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_Disable() argument
208 context->status = 0UL; in Cy_SCB_EZI2C_Disable()
209 context->state = CY_SCB_EZI2C_STATE_IDLE; in Cy_SCB_EZI2C_Disable()
258 cy_stc_scb_ezi2c_context_t *locContext = (cy_stc_scb_ezi2c_context_t *) callbackParams->context; in Cy_SCB_EZI2C_DeepSleepCallback()
432 cy_stc_scb_ezi2c_context_t *locContext = (cy_stc_scb_ezi2c_context_t *) callbackParams->context; in Cy_SCB_EZI2C_HibernateCallback()
513 uint32_t Cy_SCB_EZI2C_GetActivity(CySCB_Type const *base, cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_GetActivity() argument
523 retStatus = context->status; in Cy_SCB_EZI2C_GetActivity()
524 context->status &= CY_SCB_EZI2C_STATUS_BUSY; in Cy_SCB_EZI2C_GetActivity()
551 void Cy_SCB_EZI2C_SetAddress1(CySCB_Type *base, uint8_t addr, cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_SetAddress1() argument
554 CY_ASSERT_L2(addr != context->address2); in Cy_SCB_EZI2C_SetAddress1()
556 context->address1 = addr; in Cy_SCB_EZI2C_SetAddress1()
560 UpdateAddressMask(base, context); in Cy_SCB_EZI2C_SetAddress1()
583 uint32_t Cy_SCB_EZI2C_GetAddress1(CySCB_Type const *base, cy_stc_scb_ezi2c_context_t const *context) in Cy_SCB_EZI2C_GetAddress1() argument
588 return ((uint32_t) context->address1); in Cy_SCB_EZI2C_GetAddress1()
627 cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_SetBuffer1() argument
635 context->buf1 = buffer; in Cy_SCB_EZI2C_SetBuffer1()
636 context->buf1Size = size; in Cy_SCB_EZI2C_SetBuffer1()
637 context->buf1rwBondary = rwBoundary; in Cy_SCB_EZI2C_SetBuffer1()
673 void Cy_SCB_EZI2C_SetAddress2(CySCB_Type *base, uint8_t addr, cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_SetAddress2() argument
676 CY_ASSERT_L2(addr != context->address1); in Cy_SCB_EZI2C_SetAddress2()
678 context->address2 = addr; in Cy_SCB_EZI2C_SetAddress2()
680 UpdateAddressMask(base, context); in Cy_SCB_EZI2C_SetAddress2()
703 uint32_t Cy_SCB_EZI2C_GetAddress2(CySCB_Type const *base, cy_stc_scb_ezi2c_context_t const *context) in Cy_SCB_EZI2C_GetAddress2() argument
708 return ((uint32_t) context->address2); in Cy_SCB_EZI2C_GetAddress2()
747 cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_SetBuffer2() argument
755 context->buf2 = buffer; in Cy_SCB_EZI2C_SetBuffer2()
756 context->buf2Size = size; in Cy_SCB_EZI2C_SetBuffer2()
757 context->buf2rwBondary = rwBoundary; in Cy_SCB_EZI2C_SetBuffer2()
779 void Cy_SCB_EZI2C_Interrupt(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in Cy_SCB_EZI2C_Interrupt() argument
789 context->state = CY_SCB_EZI2C_STATE_ADDR; in Cy_SCB_EZI2C_Interrupt()
800 HandleErrors(base, context); in Cy_SCB_EZI2C_Interrupt()
809 if ((CY_SCB_EZI2C_STATE_RX_DATA1 == context->state) && in Cy_SCB_EZI2C_Interrupt()
821 HandleDataReceive(base, context); in Cy_SCB_EZI2C_Interrupt()
829 HandleStop(base, context); in Cy_SCB_EZI2C_Interrupt()
840 HandleAddress(base, context); in Cy_SCB_EZI2C_Interrupt()
849 HandleDataTransmit(base, context); in Cy_SCB_EZI2C_Interrupt()
873 static void HandleErrors(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in HandleErrors() argument
875 context->status |= CY_SCB_EZI2C_STATUS_ERR; in HandleErrors()
903 static void HandleAddress(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in HandleAddress() argument
907 context->addr1Active = true; in HandleAddress()
909 if (0U != context->address2) in HandleAddress()
916 if ((address == context->address1) || (address == context->address2)) in HandleAddress()
919 if (address == context->address2) in HandleAddress()
921 context->addr1Active = false; in HandleAddress()
946 context->status |= CY_SCB_EZI2C_STATUS_BUSY; in HandleAddress()
952 context->state = CY_SCB_EZI2C_STATE_TX_DATA; in HandleAddress()
955 if (context->addr1Active) in HandleAddress()
957 context->curBuf = &context->buf1[context->baseAddr1]; in HandleAddress()
958 context->bufSize = context->buf1Size - context->baseAddr1; in HandleAddress()
962 context->curBuf = &context->buf2[context->baseAddr2]; in HandleAddress()
963 context->bufSize = context->buf2Size - context->baseAddr2; in HandleAddress()
971 context->state = CY_SCB_EZI2C_STATE_RX_OFFSET_MSB; in HandleAddress()
973 context->bufSize = ((context->addr1Active) ? context->buf1Size : context->buf2Size); in HandleAddress()
1038 static void HandleDataReceive(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in HandleDataReceive() argument
1040 switch(context->state) in HandleDataReceive()
1051 if (context->subAddrSize == CY_SCB_EZI2C_SUB_ADDR16_BITS) in HandleDataReceive()
1053 if (context->state == CY_SCB_EZI2C_STATE_RX_OFFSET_MSB) in HandleDataReceive()
1059 context->idx = (uint32_t) (baseAddr << 8UL); in HandleDataReceive()
1063 context->state = CY_SCB_EZI2C_STATE_RX_OFFSET_LSB; in HandleDataReceive()
1068 baseAddr |= context->idx; in HandleDataReceive()
1078 if (baseAddr < context->bufSize) in HandleDataReceive()
1081 if (context->addr1Active) in HandleDataReceive()
1083 context->baseAddr1 = baseAddr; in HandleDataReceive()
1087 context->baseAddr2 = baseAddr; in HandleDataReceive()
1091 context->idx = baseAddr; in HandleDataReceive()
1096context->idx = ((context->addr1Active) ? context->baseAddr1 : context->baseAddr2); in HandleDataReceive()
1108 if (context->addr1Active) in HandleDataReceive()
1110 context->curBuf = &context->buf1[context->baseAddr1]; in HandleDataReceive()
1111 context->bufSize = ((context->baseAddr1 < context->buf1rwBondary) ? in HandleDataReceive()
1112 … (context->buf1rwBondary - context->baseAddr1) : (0UL)); in HandleDataReceive()
1116 context->curBuf = &context->buf2[context->baseAddr2]; in HandleDataReceive()
1117 context->bufSize = ((context->baseAddr2 < context->buf2rwBondary) ? in HandleDataReceive()
1118 … (context->buf2rwBondary - context->baseAddr2) : (0UL)); in HandleDataReceive()
1122 if ((0U != context->address2) || (context->bufSize < CY_SCB_EZI2C_FIFO_SIZE)) in HandleDataReceive()
1125 context->state = CY_SCB_EZI2C_STATE_RX_DATA0; in HandleDataReceive()
1131 UpdateRxFifoLevel(base, context->bufSize); in HandleDataReceive()
1133 context->state = CY_SCB_EZI2C_STATE_RX_DATA1; in HandleDataReceive()
1145 if (context->bufSize > 0UL) in HandleDataReceive()
1151 context->curBuf[0UL] = (uint8_t) byte; in HandleDataReceive()
1152 context->bufSize--; in HandleDataReceive()
1153 context->curBuf++; in HandleDataReceive()
1156 context->idx++; in HandleDataReceive()
1173 numToCopy = Cy_SCB_ReadArray(base, context->curBuf, numToCopy); in HandleDataReceive()
1174 context->bufSize -= numToCopy; in HandleDataReceive()
1175 context->curBuf += numToCopy; in HandleDataReceive()
1178 UpdateRxFifoLevel(base, context->bufSize); in HandleDataReceive()
1181 context->idx++; in HandleDataReceive()
1208 static void HandleDataTransmit(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in HandleDataTransmit() argument
1210 if (context->bufSize > 0UL) in HandleDataTransmit()
1213 uint32_t numToCopy = Cy_SCB_WriteArray(base, context->curBuf, context->bufSize); in HandleDataTransmit()
1214 context->bufSize -= numToCopy; in HandleDataTransmit()
1215 context->curBuf += numToCopy; in HandleDataTransmit()
1218 if (0UL == context->bufSize) in HandleDataTransmit()
1243 static void HandleStop(CySCB_Type *base, cy_stc_scb_ezi2c_context_t *context) in HandleStop() argument
1246 if (0UL != (CY_SCB_EZI2C_STATUS_ERR & context->status)) in HandleStop()
1253 if (CY_SCB_EZI2C_STATE_TX_DATA == context->state) in HandleStop()
1266 context->status &= (uint32_t) ~CY_SCB_EZI2C_STATUS_BUSY; in HandleStop()
1268 if (context->addr1Active) in HandleStop()
1270context->status |= ((CY_SCB_EZI2C_STATE_TX_DATA == context->state) ? CY_SCB_EZI2C_STATUS_READ1 : in HandleStop()
1271 … ((context->baseAddr1 != context->idx) ? CY_SCB_EZI2C_STATUS_WRITE1 : 0UL)); in HandleStop()
1275context->status |= ((CY_SCB_EZI2C_STATE_TX_DATA == context->state) ? CY_SCB_EZI2C_STATUS_READ2 : in HandleStop()
1276 … ((context->baseAddr2 != context->idx) ? CY_SCB_EZI2C_STATUS_WRITE2 : 0UL)); in HandleStop()
1280 context->state = CY_SCB_EZI2C_STATE_IDLE; in HandleStop()
1310 static void UpdateAddressMask(CySCB_Type *base, cy_stc_scb_ezi2c_context_t const *context) in UpdateAddressMask() argument
1315 if (0U != context->address2) in UpdateAddressMask()
1318 addrMask = (uint32_t) ~((uint32_t) context->address1 ^ (uint32_t) context->address2); in UpdateAddressMask()