Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
38 #include "drv_analog_in.h"
60 #define NFCTAG5_REG_SECTOR_SECURITY_0 0x0000
61 #define NFCTAG5_REG_SECTOR_SECURITY_4 0x0004
62 #define NFCTAG5_REG_SECTOR_SECURITY_8 0x0008
63 #define NFCTAG5_REG_SECTOR_SECURITY_12 0x000C
64 #define NFCTAG5_REG_SECTOR_SECURITY_16 0x0010
65 #define NFCTAG5_REG_SECTOR_SECURITY_20 0x0014
66 #define NFCTAG5_REG_SECTOR_SECURITY_24 0x0018
67 #define NFCTAG5_REG_SECTOR_SECURITY_28 0x001C
68 #define NFCTAG5_REG_SECTOR_SECURITY_32 0x0020
69 #define NFCTAG5_REG_SECTOR_SECURITY_36 0x0024
70 #define NFCTAG5_REG_SECTOR_SECURITY_40 0x0028
71 #define NFCTAG5_REG_SECTOR_SECURITY_44 0x002C
72 #define NFCTAG5_REG_SECTOR_SECURITY_48 0x0030
73 #define NFCTAG5_REG_SECTOR_SECURITY_52 0x0034
74 #define NFCTAG5_REG_SECTOR_SECURITY_56 0x0038
75 #define NFCTAG5_REG_SECTOR_SECURITY_60 0x003C
76 #define NFCTAG5_REG_SECTOR_SECURITY_STATUS_LSB 0x0800
77 #define NFCTAG5_REG_SECTOR_SECURITY_STATUS_MSB 0x0804
78 #define NFCTAG5_REG_I2C_PASSWORD 0x0900
79 #define NFCTAG5_REG_RF_PASSWORD_1 0x0904
80 #define NFCTAG5_REG_RF_PASSWORD_2 0x0908
81 #define NFCTAG5_REG_RF_PASSWORD_3 0x090C
82 #define NFCTAG5_REG_CONFIG 0x0910
83 #define NFCTAG5_REG_UID_LSB 0x0914
84 #define NFCTAG5_REG_UID_MSB 0x0918
85 #define NFCTAG5_REG_IC_REF_MEM_SIZE 0x091C
86 #define NFCTAG5_REG_CONTROL 0x0920
104 #define NFCTAG5_CAPABILITY_CONTAINER_ADDRESS 0x0000
105 #define NFCTAG5_CAPABILITY_CONTAINER 0xE1, 0x40, 0x80, 0x01
106 #define NFCTAG5_NDEF_MESSAGE_START_ADDRESS 0x0004
107 #define NFCTAG5_TYPE_NDEF_MESSAGE 0x03
108 #define NFCTAG5_NDEF_RECORD_HEADER 0xD1
109 #define NFCTAG5_NDEF_TYPE_LENGTH 0x01
110 #define NFCTAG5_NDEF_URI_TYPE 'U'
111 #define NFCTAG5_NDEF_MESSAGE_END_MARK 0xFE
117 #define NFCTAG5_URI_PREFIX_0 0x00
118 #define NFCTAG5_URI_PREFIX_1 0x01
119 #define NFCTAG5_URI_PREFIX_2 0x02
120 #define NFCTAG5_URI_PREFIX_3 0x03
121 #define NFCTAG5_URI_PREFIX_4 0x04
122 #define NFCTAG5_URI_PREFIX_5 0x05
123 #define NFCTAG5_URI_PREFIX_6 0x06
124 #define NFCTAG5_URI_PREFIX_7 0x07
125 #define NFCTAG5_URI_PREFIX_8 0x08
126 #define NFCTAG5_URI_PREFIX_9 0x09
127 #define NFCTAG5_URI_PREFIX_10 0x0A
128 #define NFCTAG5_URI_PREFIX_11 0x0B
129 #define NFCTAG5_URI_PREFIX_12 0x0C
130 #define NFCTAG5_URI_PREFIX_13 0x0D
131 #define NFCTAG5_URI_PREFIX_14 0x0E
132 #define NFCTAG5_URI_PREFIX_15 0x0F
133 #define NFCTAG5_URI_PREFIX_16 0x10
134 #define NFCTAG5_URI_PREFIX_17 0x11
135 #define NFCTAG5_URI_PREFIX_18 0x12
136 #define NFCTAG5_URI_PREFIX_19 0x13
137 #define NFCTAG5_URI_PREFIX_20 0x14
138 #define NFCTAG5_URI_PREFIX_21 0x15
139 #define NFCTAG5_URI_PREFIX_22 0x16
140 #define NFCTAG5_URI_PREFIX_23 0x17
141 #define NFCTAG5_URI_PREFIX_24 0x18
142 #define NFCTAG5_URI_PREFIX_25 0x19
143 #define NFCTAG5_URI_PREFIX_26 0x1A
144 #define NFCTAG5_URI_PREFIX_27 0x1B
145 #define NFCTAG5_URI_PREFIX_28 0x1C
146 #define NFCTAG5_URI_PREFIX_29 0x1D
147 #define NFCTAG5_URI_PREFIX_30 0x1E
148 #define NFCTAG5_URI_PREFIX_31 0x1F
149 #define NFCTAG5_URI_PREFIX_32 0x20
150 #define NFCTAG5_URI_PREFIX_33 0x21
151 #define NFCTAG5_URI_PREFIX_34 0x22
152 #define NFCTAG5_URI_PREFIX_35 0x23
158 #define NFCTAG5_USER_MEMORY_ADDRESS_MIN 0x0000
159 #define NFCTAG5_USER_MEMORY_ADDRESS_MAX 0x1FFF
160 #define NFCTAG5_MEMORY_BLOCK_SIZE 4
161 #define NFCTAG5_MEMORY_BLOCK_MASK 0x1FFC
167 #define NFCTAG5_ADDRESS_MODE_CONFIG 0
168 #define NFCTAG5_ADDRESS_MODE_USER_MEMORY 1
174 #define NFCTAG5_VH_VREF_3V3 3.3
175 #define NFCTAG5_VH_VREF_5V 5.0
176 #define NFCTAG5_VH_VREF NFCTAG5_VH_VREF_3V3
183 #define NFCTAG5_DEVICE_ADDRESS_CONFIG 0x57
184 #define NFCTAG5_DEVICE_ADDRESS_USER_MEMORY 0x53
202 #define NFCTAG5_MAP_MIKROBUS( cfg, mikrobus ) \
203 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
204 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
205 cfg.vh = MIKROBUS( mikrobus, MIKROBUS_AN ); \
206 cfg.busy = MIKROBUS( mikrobus, MIKROBUS_INT )
217 uint8_t value_bytes[ 4 ];
NFC Tag 5 Click memory block union definition.
Definition: nfctag5.h:216
err_t nfctag5_write_memory_block(nfctag5_t *ctx, uint16_t block_addr, nfctag5_block_t *block)
NFC Tag 5 write memory block function.
analog_in_t adc
Definition: nfctag5.h:232
@ NFCTAG5_ERROR
Definition: nfctag5.h:265
@ NFCTAG5_OK
Definition: nfctag5.h:264
err_t nfctag5_write_ndef_uri_record(nfctag5_t *ctx, uint8_t uri_prefix, uint8_t *uri_data, uint8_t data_len)
NFC Tag 5 write NDEF URI record function.
err_t nfctag5_read_message_from_memory(nfctag5_t *ctx, uint16_t block_addr, uint8_t *message, uint16_t message_len)
NFC Tag 5 read message from memory function.
void nfctag5_cfg_setup(nfctag5_cfg_t *cfg)
NFC Tag 5 configuration object setup function.
err_t nfctag5_read_vh_pin_value(nfctag5_t *ctx, uint16_t *data_out)
NFC Tag 5 read AN pin value function.
digital_in_t busy
Definition: nfctag5.h:228
uint32_t i2c_speed
Definition: nfctag5.h:251
float vref
Definition: nfctag5.h:254
err_t nfctag5_write_message_to_memory(nfctag5_t *ctx, uint16_t block_addr, uint8_t *message, uint16_t message_len)
NFC Tag 5 write message to memory function.
pin_name_t vh
Definition: nfctag5.h:248
NFC Tag 5 Click context object.
Definition: nfctag5.h:226
pin_name_t sda
Definition: nfctag5.h:246
err_t nfctag5_init(nfctag5_t *ctx, nfctag5_cfg_t *cfg)
NFC Tag 5 initialization function.
err_t nfctag5_read_vh_pin_voltage(nfctag5_t *ctx, float *data_out)
NFC Tag 5 read VH pin voltage level function.
err_t nfctag5_default_cfg(nfctag5_t *ctx)
NFC Tag 5 default configuration function.
NFC Tag 5 Click configuration object.
Definition: nfctag5.h:244
err_t nfctag5_read_memory_block(nfctag5_t *ctx, uint16_t block_addr, nfctag5_block_t *block)
NFC Tag 5 read memory block function.
err_t nfctag5_set_address_mode(nfctag5_t *ctx, uint8_t mode)
NFC Tag 5 set address mode function.
err_t nfctag5_read_multiple_memory_block(nfctag5_t *ctx, uint16_t block_addr, nfctag5_block_t *block, uint8_t num_blocks)
NFC Tag 5 read multiple memory block function.
uint8_t i2c_address
Definition: nfctag5.h:252
err_t nfctag5_format_memory(nfctag5_t *ctx)
NFC Tag 5 format memory function.
pin_name_t busy
Definition: nfctag5.h:249
uint8_t nfctag5_get_busy_pin(nfctag5_t *ctx)
NFC Tag 5 get busy pin function.
pin_name_t scl
Definition: nfctag5.h:245
uint32_t value
Definition: nfctag5.h:218
uint8_t slave_address
Definition: nfctag5.h:235
nfctag5_return_value_t
NFC Tag 5 Click return value data.
Definition: nfctag5.h:263
analog_in_resolution_t resolution
Definition: nfctag5.h:253
i2c_master_t i2c
Definition: nfctag5.h:231
err_t nfctag5_write_multiple_memory_block(nfctag5_t *ctx, uint16_t block_addr, nfctag5_block_t *block, uint8_t num_blocks)
NFC Tag 5 write multiple memory block function.