| 50 | u8* fill_buf = NULL; |
| 51 | |
| 52 | Result SPIWriteRead(CardType type, void* cmd, u32 cmdSize, void* answer, u32 answerSize, void* data, u32 dataSize) |
| 53 | { |
| 54 | u8 transferOp = pxiDevMakeTransferOption(BAUDRATE_4MHZ, BUSMODE_1BIT), transferOp2 = pxiDevMakeTransferOption(BAUDRATE_1MHZ, BUSMODE_1BIT); |
| 55 | u64 waitOp = pxiDevMakeWaitOperation(WAIT_NONE, DEASSERT_NONE, 0LL); |
| 56 | u64 headerFooterVal = 0; |
| 57 | bool b = type == FLASH_512KB_INFRARED || type == FLASH_256KB_INFRARED; |
| 58 | |
| 59 | PXIDEV_SPIBuffer headerBuffer = {&headerFooterVal, (b) ? 1U : 0U, (b) ? transferOp2 : transferOp, waitOp}; |
| 60 | PXIDEV_SPIBuffer cmdBuffer = {cmd, cmdSize, transferOp, waitOp}; |
| 61 | PXIDEV_SPIBuffer answerBuffer = {answer, answerSize, transferOp, waitOp}; |
| 62 | PXIDEV_SPIBuffer dataBuffer = {data, dataSize, transferOp, waitOp}; |
| 63 | PXIDEV_SPIBuffer nullBuffer = {NULL, 0U, transferOp, waitOp}; |
| 64 | PXIDEV_SPIBuffer footerBuffer = {&headerFooterVal, 0U, transferOp, waitOp}; |
| 65 | |
| 66 | return PXIDEV_SPIMultiWriteRead(&headerBuffer, &cmdBuffer, &answerBuffer, &dataBuffer, &nullBuffer, &footerBuffer); |
| 67 | } |
| 68 | |
| 69 | Result SPIWaitWriteEnd(CardType type) |
| 70 | { |
no outgoing calls
no test coverage detected