diff options
author | Filipe Rodrigues <filipepazrodrigues@gmail.com> | 2018-06-17 15:50:25 -0700 |
---|---|---|
committer | Filipe Rodrigues <filipepazrodrigues@gmail.com> | 2018-06-17 15:50:25 -0700 |
commit | be13902026cdfea208a3d3016657c259361a0aaf (patch) | |
tree | caee7cb56bdb7f46c785164827add734faf2cb55 /Demos/Device/LowLevel/CCID/CCID.c | |
parent | fc371d0d0e3a60b06dec862e37612375860c41d5 (diff) | |
download | lufa-be13902026cdfea208a3d3016657c259361a0aaf.tar.gz lufa-be13902026cdfea208a3d3016657c259361a0aaf.tar.bz2 lufa-be13902026cdfea208a3d3016657c259361a0aaf.zip |
Review fixes
- Added documentation
- Removed incomplete XfrBlock message
- Renamed Attr to Atr
Diffstat (limited to 'Demos/Device/LowLevel/CCID/CCID.c')
-rw-r--r-- | Demos/Device/LowLevel/CCID/CCID.c | 57 |
1 files changed, 3 insertions, 54 deletions
diff --git a/Demos/Device/LowLevel/CCID/CCID.c b/Demos/Device/LowLevel/CCID/CCID.c index b80507659..8b46e89be 100644 --- a/Demos/Device/LowLevel/CCID/CCID.c +++ b/Demos/Device/LowLevel/CCID/CCID.c @@ -197,13 +197,13 @@ void EVENT_USB_Device_ControlRequest(void) * THe slot must reply back with a recognizable ATR (answer to reset) */ uint8_t CCID_IccPowerOn(uint8_t slot, - uint8_t* attr, - uint8_t* attrLength, + uint8_t* atr, + uint8_t* atrLength, uint8_t* error) { if (slot == 0) { - Iso7816_CreateSimpleAttr(attr, attrLength); + Iso7816_CreateSimpleAtr(atr, atrLength); *error = CCID_ERROR_NO_ERROR; return CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR | CCID_ICCSTATUS_PRESENTANDACTIVE; @@ -394,57 +394,6 @@ void CCID_Task(void) break; } - case CCID_PC_to_RDR_XfrBlock: - { - uint8_t Bwi = Endpoint_Read_8(); - uint16_t LevelParameter = Endpoint_Read_16_LE(); - uint8_t ReceivedBuffer[0x4]; - - (void)Bwi; - (void)LevelParameter; - - Endpoint_Read_Stream_LE(ReceivedBuffer, sizeof(ReceivedBuffer), NULL); - - uint8_t SendBuffer[0x2] = {0x90, 0x00}; - uint8_t SendLength = sizeof(SendBuffer); - - USB_CCID_RDR_to_PC_DataBlock_t* ResponseBlock = (USB_CCID_RDR_to_PC_DataBlock_t*)&BlockBuffer; - ResponseBlock->CCIDHeader.MessageType = CCID_RDR_to_PC_DataBlock; - ResponseBlock->CCIDHeader.Slot = CCIDHeader.Slot; - ResponseBlock->CCIDHeader.Seq = CCIDHeader.Seq; - - ResponseBlock->ChainParam = 0; - - // TODO: Callback - Status = CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR | CCID_ICCSTATUS_PRESENTANDACTIVE; - - if (CCID_CheckStatusNoError(Status) && !Aborted) - { - ResponseBlock->CCIDHeader.Length = SendLength; - memcpy(&ResponseBlock->Data, SendBuffer, SendLength); - } - else if (Aborted) - { - Status = CCID_COMMANDSTATUS_FAILED | CCID_ICCSTATUS_PRESENTANDACTIVE; - Error = CCID_ERROR_CMD_ABORTED; - SendLength = 0; - } - else - { - SendLength = 0; - } - - ResponseBlock->Status = Status; - ResponseBlock->Error = Error; - - Endpoint_ClearOUT(); - - Endpoint_SelectEndpoint(CCID_IN_EPADDR); - Endpoint_Write_Stream_LE(ResponseBlock, sizeof(USB_CCID_RDR_to_PC_DataBlock_t) + SendLength, NULL); - Endpoint_ClearIN(); - break; - } - case CCID_PC_to_RDR_Abort: { USB_CCID_RDR_to_PC_SlotStatus_t* ResponseAbort = (USB_CCID_RDR_to_PC_SlotStatus_t*)&BlockBuffer; |