-
Notifications
You must be signed in to change notification settings - Fork 1
/
st25r391x_commands.h
72 lines (68 loc) · 3.27 KB
/
st25r391x_commands.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/*
* ST25R3916/7 NFC Reader Driver
*
* Copyright (C) 2020-2022 Paul Guyot <pguyot@kallisys.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA
*/
#ifndef ST25R391X_COMMANDS_H
#define ST25R391X_COMMANDS_H
// ST25R3916/7 datasheet, DS12484 Rev 4, pages 59-60/157
#define ST25R391X_SET_DEFAULT_COMMAND_CODE 0xC0
#define ST25R391X_SET_DEFAULT_COMMAND_CODE_ALT 0xC1
#define ST25R391X_STOP_ALL_COMMAND_CODE 0xC2
#define ST25R391X_STOP_ALL_COMMAND_CODE_ALT 0xC3
#define ST25R391X_TRANSMIT_WITH_CRC_COMMAND_CODE 0xC4
#define ST25R391X_TRANSMIT_WITHOUT_CRC_COMMAND_CODE 0xC5
#define ST25R391X_TRANSMIT_REQA_COMMAND_CODE 0xC6
#define ST25R391X_TRANSMIT_WUPA_COMMAND_CODE 0xC7
#define ST25R391X_NFC_INITIAL_FIELD_ON_COMMAND_CODE 0xC8
#define ST25R391X_NFC_RESPONSE_FIELD_ON_COMMAND_CODE 0xC9
#define ST25R391X_GO_TO_SENSE_COMMAND_CODE 0xCD
#define ST25R391X_GO_TO_SLEEP_COMMAND_CODE 0xCE
#define ST25R391X_MASK_RECEIVE_DATA_COMMAND_CODE 0xD0
#define ST25R391X_UNMASK_RECEIVE_DATA_COMMAND_CODE 0xD1
#define ST25R391X_CHANGE_AM_MODULATION_STATE_COMMAND_CODE 0xD2
#define ST25R391X_MEASURE_AMPLITUDE_COMMAND_CODE 0xD3
#define ST25R391X_RESET_RX_GAIN_COMMAND_CODE 0xD5
#define ST25R391X_ADJUST_REGULATORS_COMMAND_CODE 0xD6
#define ST25R391X_CALIBRATE_DRIVER_TIMING_COMMAND_CODE 0xD8
#define ST25R391X_MEASURE_PHASE_COMMAND_CODE 0xD9
#define ST25R391X_CLEAR_RSSI_COMMAND_CODE 0xDA
#define ST25R391X_CLEAR_FIFO_COMMAND_CODE 0xDB
#define ST25R391X_ENTER_TRANSPARENT_MODE_COMMAND_CODE 0xDC
#define ST25R391X_CALIBRATE_CAPACITIVE_SENSOR_COMMAND_CODE 0xDD
#define ST25R391X_MEASURE_CAPACITANCE_COMMAND_CODE 0xDE
#define ST25R391X_MEASURE_POWER_SUPPLY_COMMAND_CODE 0xDF
#define ST25R391X_START_GENERAL_PURPOSE_TIMER_COMMAND_CODE 0xE0
#define ST25R391X_START_WAKEUP_TIMER_COMMAND_CODE 0xE1
#define ST25R391X_START_MASK_RECEIVE_TIMER_COMMAND_CODE 0xE2
#define ST25R391X_START_NO_RESPONSE_TIMER_COMMAND_CODE 0xE3
#define ST25R391X_START_PPON2_TIMER_COMMAND_CODE 0xE4
#define ST25R391X_STOP_NO_RESPONSE_TIMER_COMMAND_CODE 0xE8
#define ST25R391X_REGISTER_SPACE_B_ACCESS_COMMAND_CODE 0xFB
#define ST25R391X_TEST_ACCESS_COMMAND_CODE 0xFC
// ST25R3916/7 datasheet, DS12484 Rev 4, page 50/157
#define ST25R391X_REGISTER_WRITE_MODE 0b00000000
#define ST25R391X_REGISTER_READ_MODE 0b01000000
#define ST25R391X_FIFO_LOAD_MODE 0b10000000
#define ST25R391X_PT_MEMORY_LOAD_A_CONFIG_MODE 0b10100000
#define ST25R391X_PT_MEMORY_LOAD_F_CONFIG_MODE 0b10101000
#define ST25R391X_PT_MEMORY_LOAD_TSN_DATA_MODE 0b10101100
#define ST25R391X_PT_MEMORY_READ_MODE 0b10111111
#define ST25R391X_FIFO_READ_MODE 0b10011111
#define ST25R391X_DIRECT_COMMAND_MODE 0b11000000
#endif