Go to the documentation of this file.
35 #include "mikrosdk_version.h"
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_i2c_master.h"
48 #include "drv_analog_in.h"
70 #define NFCTAG5_REG_SECTOR_SECURITY_0 0x0000
71 #define NFCTAG5_REG_SECTOR_SECURITY_4 0x0004
72 #define NFCTAG5_REG_SECTOR_SECURITY_8 0x0008
73 #define NFCTAG5_REG_SECTOR_SECURITY_12 0x000C
74 #define NFCTAG5_REG_SECTOR_SECURITY_16 0x0010
75 #define NFCTAG5_REG_SECTOR_SECURITY_20 0x0014
76 #define NFCTAG5_REG_SECTOR_SECURITY_24 0x0018
77 #define NFCTAG5_REG_SECTOR_SECURITY_28 0x001C
78 #define NFCTAG5_REG_SECTOR_SECURITY_32 0x0020
79 #define NFCTAG5_REG_SECTOR_SECURITY_36 0x0024
80 #define NFCTAG5_REG_SECTOR_SECURITY_40 0x0028
81 #define NFCTAG5_REG_SECTOR_SECURITY_44 0x002C
82 #define NFCTAG5_REG_SECTOR_SECURITY_48 0x0030
83 #define NFCTAG5_REG_SECTOR_SECURITY_52 0x0034
84 #define NFCTAG5_REG_SECTOR_SECURITY_56 0x0038
85 #define NFCTAG5_REG_SECTOR_SECURITY_60 0x003C
86 #define NFCTAG5_REG_SECTOR_SECURITY_STATUS_LSB 0x0800
87 #define NFCTAG5_REG_SECTOR_SECURITY_STATUS_MSB 0x0804
88 #define NFCTAG5_REG_I2C_PASSWORD 0x0900
89 #define NFCTAG5_REG_RF_PASSWORD_1 0x0904
90 #define NFCTAG5_REG_RF_PASSWORD_2 0x0908
91 #define NFCTAG5_REG_RF_PASSWORD_3 0x090C
92 #define NFCTAG5_REG_CONFIG 0x0910
93 #define NFCTAG5_REG_UID_LSB 0x0914
94 #define NFCTAG5_REG_UID_MSB 0x0918
95 #define NFCTAG5_REG_IC_REF_MEM_SIZE 0x091C
96 #define NFCTAG5_REG_CONTROL 0x0920
114 #define NFCTAG5_CAPABILITY_CONTAINER_ADDRESS 0x0000
115 #define NFCTAG5_CAPABILITY_CONTAINER 0xE1, 0x40, 0x80, 0x01
116 #define NFCTAG5_NDEF_MESSAGE_START_ADDRESS 0x0004
117 #define NFCTAG5_TYPE_NDEF_MESSAGE 0x03
118 #define NFCTAG5_NDEF_RECORD_HEADER 0xD1
119 #define NFCTAG5_NDEF_TYPE_LENGTH 0x01
120 #define NFCTAG5_NDEF_URI_TYPE 'U'
121 #define NFCTAG5_NDEF_MESSAGE_END_MARK 0xFE
127 #define NFCTAG5_URI_PREFIX_0 0x00
128 #define NFCTAG5_URI_PREFIX_1 0x01
129 #define NFCTAG5_URI_PREFIX_2 0x02
130 #define NFCTAG5_URI_PREFIX_3 0x03
131 #define NFCTAG5_URI_PREFIX_4 0x04
132 #define NFCTAG5_URI_PREFIX_5 0x05
133 #define NFCTAG5_URI_PREFIX_6 0x06
134 #define NFCTAG5_URI_PREFIX_7 0x07
135 #define NFCTAG5_URI_PREFIX_8 0x08
136 #define NFCTAG5_URI_PREFIX_9 0x09
137 #define NFCTAG5_URI_PREFIX_10 0x0A
138 #define NFCTAG5_URI_PREFIX_11 0x0B
139 #define NFCTAG5_URI_PREFIX_12 0x0C
140 #define NFCTAG5_URI_PREFIX_13 0x0D
141 #define NFCTAG5_URI_PREFIX_14 0x0E
142 #define NFCTAG5_URI_PREFIX_15 0x0F
143 #define NFCTAG5_URI_PREFIX_16 0x10
144 #define NFCTAG5_URI_PREFIX_17 0x11
145 #define NFCTAG5_URI_PREFIX_18 0x12
146 #define NFCTAG5_URI_PREFIX_19 0x13
147 #define NFCTAG5_URI_PREFIX_20 0x14
148 #define NFCTAG5_URI_PREFIX_21 0x15
149 #define NFCTAG5_URI_PREFIX_22 0x16
150 #define NFCTAG5_URI_PREFIX_23 0x17
151 #define NFCTAG5_URI_PREFIX_24 0x18
152 #define NFCTAG5_URI_PREFIX_25 0x19
153 #define NFCTAG5_URI_PREFIX_26 0x1A
154 #define NFCTAG5_URI_PREFIX_27 0x1B
155 #define NFCTAG5_URI_PREFIX_28 0x1C
156 #define NFCTAG5_URI_PREFIX_29 0x1D
157 #define NFCTAG5_URI_PREFIX_30 0x1E
158 #define NFCTAG5_URI_PREFIX_31 0x1F
159 #define NFCTAG5_URI_PREFIX_32 0x20
160 #define NFCTAG5_URI_PREFIX_33 0x21
161 #define NFCTAG5_URI_PREFIX_34 0x22
162 #define NFCTAG5_URI_PREFIX_35 0x23
168 #define NFCTAG5_USER_MEMORY_ADDRESS_MIN 0x0000
169 #define NFCTAG5_USER_MEMORY_ADDRESS_MAX 0x1FFF
170 #define NFCTAG5_MEMORY_BLOCK_SIZE 4
171 #define NFCTAG5_MEMORY_BLOCK_MASK 0x1FFC
177 #define NFCTAG5_ADDRESS_MODE_CONFIG 0
178 #define NFCTAG5_ADDRESS_MODE_USER_MEMORY 1
184 #define NFCTAG5_VH_VREF_3V3 3.3
185 #define NFCTAG5_VH_VREF_5V 5.0
186 #define NFCTAG5_VH_VREF NFCTAG5_VH_VREF_3V3
193 #define NFCTAG5_DEVICE_ADDRESS_CONFIG 0x57
194 #define NFCTAG5_DEVICE_ADDRESS_USER_MEMORY 0x53
212 #define NFCTAG5_MAP_MIKROBUS( cfg, mikrobus ) \
213 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
214 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
215 cfg.vh = MIKROBUS( mikrobus, MIKROBUS_AN ); \
216 cfg.busy = MIKROBUS( mikrobus, MIKROBUS_INT )
227 uint8_t value_bytes[ 4 ];
NFC Tag 5 Click memory block union definition.
Definition: nfctag5.h:226
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:242
@ NFCTAG5_ERROR
Definition: nfctag5.h:275
@ NFCTAG5_OK
Definition: nfctag5.h:274
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:238
uint32_t i2c_speed
Definition: nfctag5.h:261
float vref
Definition: nfctag5.h:264
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:258
NFC Tag 5 Click context object.
Definition: nfctag5.h:236
pin_name_t sda
Definition: nfctag5.h:256
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:254
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:262
err_t nfctag5_format_memory(nfctag5_t *ctx)
NFC Tag 5 format memory function.
pin_name_t busy
Definition: nfctag5.h:259
uint8_t nfctag5_get_busy_pin(nfctag5_t *ctx)
NFC Tag 5 get busy pin function.
pin_name_t scl
Definition: nfctag5.h:255
uint32_t value
Definition: nfctag5.h:228
uint8_t slave_address
Definition: nfctag5.h:245
nfctag5_return_value_t
NFC Tag 5 Click return value data.
Definition: nfctag5.h:273
analog_in_resolution_t resolution
Definition: nfctag5.h:263
i2c_master_t i2c
Definition: nfctag5.h:241
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.