usbMsgLen_t usbFunctionSetup(uint8_t data[8]) { usbRequest_t *rq = (void *)data; usbMsgPtr = usbOutputBuffer; if (rq->bRequest == REQ_TEST_PROGRAMMER) { usbOutputBuffer[0] = ERROR_OK; usbOutputBuffer[1] = MAJOR_VERSION; usbOutputBuffer[2] = MINOR_VERSION; usbOutputBuffer[3] = rq->wValue.bytes[0]; usbOutputBuffer[4] = rq->wValue.bytes[1]; usbOutputBuffer[5] = rq->wIndex.bytes[0]; usbOutputBuffer[6] = rq->wIndex.bytes[1]; return 7; } else if (rq->bRequest == REQ_TURN_PROG_ON) { return turnProgOn(); } else if (rq->bRequest == REQ_TURN_PROG_OFF) { return turnProgOff(); } else if (rq->bRequest == REQ_TEST_NRF) { return nrfTest(); } else if (rq->bRequest == REQ_PROGRAM_PAGE) { return programPage(rq->wValue.word, rq->wIndex.word); } else if(rq->bRequest == REQ_READ) { return readMemory(rq->wValue.word, rq->wIndex.word); } else if(rq->bRequest == REQ_ERASE_PAGE) { return erasePage(rq->wValue.word); } return 0; }
bool eskylinkTest() { return nrfTest(); }