pm3-pm3 works

This commit is contained in:
merlokk 2022-07-03 21:32:29 +03:00
parent e4df73738f
commit 87db9e7ec9

View file

@ -107,12 +107,12 @@ static uint32_t HfEncodeTkm(uint8_t *uid, uint8_t modulation, uint8_t *data) {
for (int j = 0; j < 8; j++) { for (int j = 0; j < 8; j++) {
if (((uid[i] << j) & 0x80) != 0) { if (((uid[i] << j) & 0x80) != 0) {
// `1` // `1`
data[indx++] = 125; data[indx++] = 1;
data[indx++] = 63; data[indx++] = 0;
} else { } else {
// `0` // `0`
data[indx++] = 63; data[indx++] = 0;
data[indx++] = 125; data[indx++] = 1;
} }
} }
} }
@ -149,7 +149,7 @@ int HfWriteTkm(uint8_t *uid, uint8_t modulation, uint32_t timeout) {
LED_C_ON(); LED_C_ON();
FpgaDownloadAndGo(FPGA_BITSTREAM_HF); FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
SetAdcMuxFor(GPIO_MUXSEL_HIPKD); SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_424K); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_212K);
FpgaSetupSsc(FPGA_MAJOR_MODE_HF_SIMULATOR); FpgaSetupSsc(FPGA_MAJOR_MODE_HF_SIMULATOR);
int vHf = 0; // in mV int vHf = 0; // in mV
@ -173,15 +173,13 @@ int HfWriteTkm(uint8_t *uid, uint8_t modulation, uint32_t timeout) {
SpinDelay(10); SpinDelay(10);
for (int i = 0; i < elen; i++) { for (int i = 0; i < elen; i++) {
if (data[i] == 0) for (int j = 0; j < 1;) {
data[i] = 10;
for (int j = 0; j < 13;) {
if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
AT91C_BASE_SSC->SSC_THR = 0xff; AT91C_BASE_SSC->SSC_THR = 0x80;
j++; j++;
} }
} }
if (data[i] > 0) {
for (int j = 0; j < data[i];) { for (int j = 0; j < data[i];) {
if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
AT91C_BASE_SSC->SSC_THR = 0x00; AT91C_BASE_SSC->SSC_THR = 0x00;
@ -189,6 +187,7 @@ int HfWriteTkm(uint8_t *uid, uint8_t modulation, uint32_t timeout) {
} }
} }
} }
}
SpinDelay(100); SpinDelay(100);
} }