2022-01-05 01:56 AM
I would like to write my own program which can send messages and read from the mailbox on an st25dv-i2c. On one end I have a st32-L0 nucleo board which can access a x-nucleo-nfc04A1 mailbox via i2c. On the other end I have a st32-L433 connected to a x-nucleo-nfc06A1 (SPI). I have been unable to read or write to the mailbox via RF.
My current progress on writing to the mailbox is:
1) I have configured registers A and B using the iso15693 register map provided by the disco GUI
2) I have encoded my message, which is a single byte with a value of 1, added CRC and SOF/EOF.
SOF, 0x02, 0xAA, 0x02, 0x00, 0x01, 0x5D, 0x03, EOF ->
21 20 02 02 02 20 20 20 20 20 02 02 02 02 02 02 02 08 02 02 02 08 80 08 08 80 02 02 02 04
3) I have done the following commands: Stop, Reset RX Gain, Clear FIFO
4) I have updated the num tx bytes register 2 with: tx_len << 3 where tx_len = 30 for this case
5) I have written the encoded message to the FIFO, read FIFO to check, and sent without CRC
I have no response from my st25dv. However, sending the non-encoded message above via the GUI and a discovery board (w/out SOF and EOF) does work.
Am I missing something? Any help is appreciated.
Register map below:
struct reg_config config_A[64] = {
//REG VAL
{0x00, 0x07},
{0x01, 0x3c},
{0x02, 0xcb},
{0x03, 0x70},
{0x04, 0x00},
{0x05, 0x00},
{0x06, 0x00},
{0x07, 0x00},
{0x08, 0x50},
{0x09, 0x38},
{0x0a, 0x00},
{0x0b, 0x13},
{0x0c, 0x2d},
{0x0d, 0x00},
{0x0e, 0x00},
{0x0f, 0x04},
{0x10, 0x52},
{0x11, 0xc4},
{0x12, 0x20},
{0x13, 0x01},
{0x14, 0x84},
{0x15, 0x80},
{0x16, 0x87},
{0x17, 0xbf},
{0x18, 0x0f},
{0x19, 0xfb},
{0x1a, 0x00},
{0x1b, 0x00},
{0x1c, 0x00},
{0x1d, 0x00},
{0x1e, 0x00},
{0x1f, 0x00},
{0x20, 0x00},
{0x21, 0x00},
{0x22, 0x00},
{0x23, 0xf0},
{0x24, 0x00},
{0x25, 0x8b},
{0x26, 0xc5},
{0x27, 0xe3},
{0x28, 0x70},
{0x29, 0x2f},
{0x2a, 0x11},
{0x2b, 0x00},
{0x2c, 0x00},
{0x2d, 0xb8},
{0x2e, 0x62},
{0x2f, 0x00},
{0x30, 0x00},
{0x31, 0x10},
{0x32, 0x00},
{0x33, 0x00},
{0x34, 0x00},
{0x35, 0x00},
{0x36, 0x00},
{0x37, 0x00},
{0x38, 0x00},
{0x39, 0x00},
{0x3a, 0x00},
{0x3b, 0x00},
{0x3c, 0x00},
{0x3d, 0x00},
{0x3e, 0x00},
{0x3f, 0x2a},
};
struct reg_config config_B[17] = {
{0x05, 0x40},
{0x06, 0x00},
{0x0b, 0x0c},
{0x0c, 0x13},
{0x0d, 0x01},
{0x0f, 0x00},
{0x15, 0x00},
{0x28, 0x10},
{0x29, 0x7c},
{0x2a, 0x80},
{0x2b, 0x04},
{0x2c, 0x90},
{0x30, 0x00},
{0x31, 0x00},
{0x32, 0x00},
{0x33, 0x00},
//{0x81, 0x40},
};
Solved! Go to Solution.
2022-01-05 04:43 AM
Hi,
maybe you want to have a look at this thread here: st25r39-problems-with-reading-iso15693. It could help a bit and maybe you first try the payload mentioned there.
From a quick glance:
Best Regards, Ulysses
2022-01-05 04:43 AM
Hi,
maybe you want to have a look at this thread here: st25r39-problems-with-reading-iso15693. It could help a bit and maybe you first try the payload mentioned there.
From a quick glance:
Best Regards, Ulysses
2022-01-05 10:59 AM
Hi Ulysses,
Indeed, reading the FIFO was the issue. I am able to write to the mailbox via RF now. Thank you for your quick reply!
Best,
Oliver