static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *wait)
{
int c;
static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *wait)
{
int c;
// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD);
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX);
if(*wait < 10) { *wait = 10; }
// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD);
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX);
if(*wait < 10) { *wait = 10; }
// for(c = 0; c < *wait;) {
// if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
// AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing!
// for(c = 0; c < *wait;) {
// if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
// AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing!
static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int *wait)
{
int c = 0;
static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int *wait)
{
int c = 0;
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K);
if(*wait < 10) { *wait = 10; }
for(;;) {
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = cmd[c];
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K);
if(*wait < 10) { *wait = 10; }
for(;;) {
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = cmd[c];
// number of decoded bytes
static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
{
// number of decoded bytes
static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
{
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
} // "end if correlation > 0" (max/(arraylen(FrameSOF)/skip))
return k; // return the number of bytes demodulated
} // "end if correlation > 0" (max/(arraylen(FrameSOF)/skip))
return k; // return the number of bytes demodulated
}
// Now the GetISO15693 message from sniffing command
static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
{
}
// Now the GetISO15693 message from sniffing command
static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed)
{
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
//-----------------------------------------------------------------------------
void AcquireRawAdcSamplesIso15693(void)
{
//-----------------------------------------------------------------------------
void AcquireRawAdcSamplesIso15693(void)
{
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
// every other is Q. We just want power, so abs(I) + abs(Q) is
// close to what we want.
if(getNext) {
- uint8_t *answer = (((uint8_t *)BigBuf) + 3660);
- if (recv!=NULL) memset(BigBuf + 3660, 0, 100);
+ uint8_t *answer = BigBuf_get_addr() + 3660;
+ if (recv != NULL) memset(answer, 0, 100);
if (!speed) {
// low speed (1 out of 256)
CodeIso15693AsReader256(send, sendlen);
if (!speed) {
// low speed (1 out of 256)
CodeIso15693AsReader256(send, sendlen);
- memset(BigBuf + 3660, 0x00, 300);
-
- FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
+ memset(answer1, 0x00, 300);
void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]) {
int recvlen=0;
void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]) {
int recvlen=0;