syntax sugar

This commit is contained in:
iceman1001 2017-01-21 11:33:14 +01:00
commit 0f7279b22d
2 changed files with 18 additions and 7 deletions

View file

@ -2085,17 +2085,17 @@ void ReaderIso14443a(UsbCommand *c) {
} }
if (param & ISO14A_RAW) { if (param & ISO14A_RAW) {
if(param & ISO14A_APPEND_CRC) { if (param & ISO14A_APPEND_CRC) {
if(param & ISO14A_TOPAZMODE) { if (param & ISO14A_TOPAZMODE)
AppendCrc14443b(cmd,len); AppendCrc14443b(cmd,len);
} else { else
AppendCrc14443a(cmd,len); AppendCrc14443a(cmd,len);
}
len += 2; len += 2;
if (lenbits) lenbits += 16; if (lenbits) lenbits += 16;
} }
if(lenbits>0) { // want to send a specific number of bits (e.g. short commands) if (lenbits>0) { // want to send a specific number of bits (e.g. short commands)
if(param & ISO14A_TOPAZMODE) { if (param & ISO14A_TOPAZMODE) {
int bits_to_send = lenbits; int bits_to_send = lenbits;
uint16_t i = 0; uint16_t i = 0;
ReaderTransmitBitsPar(&cmd[i++], MIN(bits_to_send, 7), NULL, NULL); // first byte is always short (7bits) and no parity ReaderTransmitBitsPar(&cmd[i++], MIN(bits_to_send, 7), NULL, NULL); // first byte is always short (7bits) and no parity
@ -2109,7 +2109,7 @@ void ReaderIso14443a(UsbCommand *c) {
ReaderTransmitBitsPar(cmd, lenbits, par, NULL); // bytes are 8 bit with odd parity ReaderTransmitBitsPar(cmd, lenbits, par, NULL); // bytes are 8 bit with odd parity
} }
} else { // want to send complete bytes only } else { // want to send complete bytes only
if(param & ISO14A_TOPAZMODE) { if (param & ISO14A_TOPAZMODE) {
uint16_t i = 0; uint16_t i = 0;
ReaderTransmitBitsPar(&cmd[i++], 7, NULL, NULL); // first byte: 7 bits, no paritiy ReaderTransmitBitsPar(&cmd[i++], 7, NULL, NULL); // first byte: 7 bits, no paritiy
while (i < len) { while (i < len) {

View file

@ -26,6 +26,11 @@
#include "BigBuf.h" #include "BigBuf.h"
#include "parity.h" #include "parity.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct { typedef struct {
enum { enum {
DEMOD_UNSYNCD, DEMOD_UNSYNCD,
@ -110,4 +115,10 @@ extern int EmSendCmd(uint8_t *resp, uint16_t respLen);
int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par); int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par);
bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity, bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity,
uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity); uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity);
#ifdef __cplusplus
}
#endif
#endif /* __ISO14443A_H */ #endif /* __ISO14443A_H */