Select one of the symbols to view example projects that use it.
 
Outline
#define ENC28J60_SPI_CMD_RCR
#define ENC28J60_SPI_CMD_RBM
#define ENC28J60_SPI_CMD_WCR
#define ENC28J60_SPI_CMD_WBM
#define ENC28J60_SPI_CMD_BFS
#define ENC28J60_SPI_CMD_BFC
#define ENC28J60_SPI_CMD_SRC
#define ENC28J60_EIE
#define ENC28J60_EIR
#define ENC28J60_ESTAT
#define ENC28J60_ECON2
#define ENC28J60_ECON1
#define ENC28J60_ERDPTL
#define ENC28J60_ERDPTH
#define ENC28J60_EWRPTL
#define ENC28J60_EWRPTH
#define ENC28J60_ETXSTL
#define ENC28J60_ETXSTH
#define ENC28J60_ETXNDL
#define ENC28J60_ETXNDH
#define ENC28J60_ERXSTL
#define ENC28J60_ERXSTH
#define ENC28J60_ERXNDL
#define ENC28J60_ERXNDH
#define ENC28J60_ERXRDPTL
#define ENC28J60_ERXRDPTH
#define ENC28J60_ERXWRPTL
#define ENC28J60_ERXWRPTH
#define ENC28J60_EDMASTL
#define ENC28J60_EDMASTH
#define ENC28J60_EDMANDL
#define ENC28J60_EDMANDH
#define ENC28J60_EDMADSTL
#define ENC28J60_EDMADSTH
#define ENC28J60_EDMACSL
#define ENC28J60_EDMACSH
#define ENC28J60_EHT0
#define ENC28J60_EHT1
#define ENC28J60_EHT2
#define ENC28J60_EHT3
#define ENC28J60_EHT4
#define ENC28J60_EHT5
#define ENC28J60_EHT6
#define ENC28J60_EHT7
#define ENC28J60_EPMM0
#define ENC28J60_EPMM1
#define ENC28J60_EPMM2
#define ENC28J60_EPMM3
#define ENC28J60_EPMM4
#define ENC28J60_EPMM5
#define ENC28J60_EPMM6
#define ENC28J60_EPMM7
#define ENC28J60_EPMCSL
#define ENC28J60_EPMCSH
#define ENC28J60_EPMOL
#define ENC28J60_EPMOH
#define ENC28J60_ERXFCON
#define ENC28J60_EPKTCNT
#define ENC28J60_MACON1
#define ENC28J60_MACON2
#define ENC28J60_MACON3
#define ENC28J60_MACON4
#define ENC28J60_MABBIPG
#define ENC28J60_MAIPGL
#define ENC28J60_MAIPGH
#define ENC28J60_MACLCON1
#define ENC28J60_MACLCON2
#define ENC28J60_MAMXFLL
#define ENC28J60_MAMXFLH
#define ENC28J60_MICMD
#define ENC28J60_MIREGADR
#define ENC28J60_MIWRL
#define ENC28J60_MIWRH
#define ENC28J60_MIRDL
#define ENC28J60_MIRDH
#define ENC28J60_MAADR5
#define ENC28J60_MAADR6
#define ENC28J60_MAADR3
#define ENC28J60_MAADR4
#define ENC28J60_MAADR1
#define ENC28J60_MAADR2
#define ENC28J60_EBSTSD
#define ENC28J60_EBSTCON
#define ENC28J60_EBSTCSL
#define ENC28J60_EBSTCSH
#define ENC28J60_MISTAT
#define ENC28J60_EREVID
#define ENC28J60_ECOCON
#define ENC28J60_EFLOCON
#define ENC28J60_EPAUSL
#define ENC28J60_EPAUSH
#define EIE_INTIE
#define EIE_PKTIE
#define EIE_DMAIE
#define EIE_LINKIE
#define EIE_TXIE
#define EIE_TXERIE
#define EIE_RXERIE
#define EIR_PKTIF
#define EIR_DMAIF
#define EIR_LINKIF
#define EIR_TXIF
#define EIR_TXERIF
#define EIR_RXERIF
#define ESTAT_INT
#define ESTAT_BUFER
#define ESTAT_LATECOL
#define ESTAT_RXBUSY
#define ESTAT_TXABRT
#define ESTAT_CLKRDY
#define ECON2_AUTOINC
#define ECON2_PKTDEC
#define ECON2_PWRSV
#define ECON2_VRPS
#define ECON1_TXRST
#define ECON1_RXRST
#define ECON1_DMAST
#define ECON1_CSUMEN
#define ECON1_TXRTS
#define ECON1_RXEN
#define ECON1_BSEL1
#define ECON1_BSEL0
#define ERXFCON_UCEN
#define ERXFCON_ANDOR
#define ERXFCON_CRCEN
#define ERXFCON_PMEN
#define ERXFCON_MPEN
#define ERXFCON_HTEN
#define ERXFCON_MCEN
#define ERXFCON_BCEN
#define MACON1_TXPAUS
#define MACON1_RXPAUS
#define MACON1_PASSALL
#define MACON1_MARXEN
#define MACON3_PADCFG2
#define MACON3_PADCFG1
#define MACON3_PADCFG0
#define MACON3_TXCRCEN
#define MACON3_PHDRLEN
#define MACON3_HFRMLEN
#define MACON3_FRMLNEN
#define MACON3_FULDPX
#define MACON4_DEFER
#define MACON4_BPEN
#define MACON4_NOBKFF
#define MICMD_MIISCAN
#define MICMD_MIIRD
#define EBSTCON_PSV2
#define EBSTCON_PSV1
#define EBSTCON_PSV0
#define EBSTCON_PSEL
#define EBSTCON_TMSEL1
#define EBSTCON_TMSEL0
#define EBSTCON_TME
#define EBSTCON_BISTST
#define MISTAT_NVALID
#define MISTAT_SCAN
#define MISTAT_BUSY
#define EFLOCON_FULDPXS
#define EFLOCON_FCEN1
#define EFLOCON_FCEN0
Files
loading...
SourceVuESP-IDF Framework and Examplesstatic_ip samplemanaged_components/espressif__enc28j60/src/enc28j60.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2019-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #pragma once #ifdef __cplusplus extern "C" { #endif /** * @brief SPI Instruction Set * *//* ... */ #define ENC28J60_SPI_CMD_RCR (0x00) // Read Control Register #define ENC28J60_SPI_CMD_RBM (0x01) // Read Buffer Memory #define ENC28J60_SPI_CMD_WCR (0x02) // Write Control Register #define ENC28J60_SPI_CMD_WBM (0x03) // Write Buffer Memory #define ENC28J60_SPI_CMD_BFS (0x04) // Bit Field Set #define ENC28J60_SPI_CMD_BFC (0x05) // Bit Field Clear #define ENC28J60_SPI_CMD_SRC (0x07) // Soft Reset /** * @brief Shared Registers in ENC28J60 (accessible on each bank) * *//* ... */ #define ENC28J60_EIE (0x1B) // Ethernet Interrupt Enable #define ENC28J60_EIR (0x1C) // Ethernet Interrupt flags #define ENC28J60_ESTAT (0x1D) // Ethernet Status #define ENC28J60_ECON2 (0x1E) // Ethernet Control Register2 #define ENC28J60_ECON1 (0x1F) // Ethernet Control Register1 /** * @brief Per-bank Registers in ENC28J60 * @note Address[15:12]: Register Type, 0 -> ETH, 1 -> MII/MAC * Address[11:8] : Bank address * Address[7:0] : Register Index *//* ... */ // Bank 0 Registers #define ENC28J60_ERDPTL (0x0000) // Read Pointer Low Byte ERDPT<7:0>) #define ENC28J60_ERDPTH (0x0001) // Read Pointer High Byte (ERDPT<12:8>) #define ENC28J60_EWRPTL (0x0002) // Write Pointer Low Byte (EWRPT<7:0>) #define ENC28J60_EWRPTH (0x0003) // Write Pointer High Byte (EWRPT<12:8>) #define ENC28J60_ETXSTL (0x0004) // TX Start Low Byte (ETXST<7:0>) #define ENC28J60_ETXSTH (0x0005) // TX Start High Byte (ETXST<12:8>) #define ENC28J60_ETXNDL (0x0006) // TX End Low Byte (ETXND<7:0>) #define ENC28J60_ETXNDH (0x0007) // TX End High Byte (ETXND<12:8>) #define ENC28J60_ERXSTL (0x0008) // RX Start Low Byte (ERXST<7:0>) #define ENC28J60_ERXSTH (0x0009) // RX Start High Byte (ERXST<12:8>) #define ENC28J60_ERXNDL (0x000A) // RX End Low Byte (ERXND<7:0>) #define ENC28J60_ERXNDH (0x000B) // RX End High Byte (ERXND<12:8>) #define ENC28J60_ERXRDPTL (0x000C) // RX RD Pointer Low Byte (ERXRDPT<7:0>) #define ENC28J60_ERXRDPTH (0x000D) // RX RD Pointer High Byte (ERXRDPT<12:8>) #define ENC28J60_ERXWRPTL (0x000E) // RX WR Pointer Low Byte (ERXWRPT<7:0>) #define ENC28J60_ERXWRPTH (0x000F) // RX WR Pointer High Byte (ERXWRPT<12:8>) #define ENC28J60_EDMASTL (0x0010) // DMA Start Low Byte (EDMAST<7:0>) #define ENC28J60_EDMASTH (0x0011) // DMA Start High Byte (EDMAST<12:8>) #define ENC28J60_EDMANDL (0x0012) // DMA End Low Byte (EDMAND<7:0>) #define ENC28J60_EDMANDH (0x0013) // DMA End High Byte (EDMAND<12:8>) #define ENC28J60_EDMADSTL (0x0014) // DMA Destination Low Byte (EDMADST<7:0>) #define ENC28J60_EDMADSTH (0x0015) // DMA Destination High Byte (EDMADST<12:8>) #define ENC28J60_EDMACSL (0x0016) // DMA Checksum Low Byte (EDMACS<7:0>) #define ENC28J60_EDMACSH (0x0017) // DMA Checksum High Byte (EDMACS<15:8>) // Bank 1 Registers #define ENC28J60_EHT0 (0x0100) // Hash Table Byte 0 (EHT<7:0>) #define ENC28J60_EHT1 (0x0101) // Hash Table Byte 1 (EHT<15:8>) #define ENC28J60_EHT2 (0x0102) // Hash Table Byte 2 (EHT<23:16>) #define ENC28J60_EHT3 (0x0103) // Hash Table Byte 3 (EHT<31:24>) #define ENC28J60_EHT4 (0x0104) // Hash Table Byte 4 (EHT<39:32>) #define ENC28J60_EHT5 (0x0105) // Hash Table Byte 5 (EHT<47:40>) #define ENC28J60_EHT6 (0x0106) // Hash Table Byte 6 (EHT<55:48>) #define ENC28J60_EHT7 (0x0107) // Hash Table Byte 7 (EHT<63:56>) #define ENC28J60_EPMM0 (0x0108) // Pattern Match Mask Byte 0 (EPMM<7:0>) #define ENC28J60_EPMM1 (0x0109) // Pattern Match Mask Byte 1 (EPMM<15:8>) #define ENC28J60_EPMM2 (0x010A) // Pattern Match Mask Byte 2 (EPMM<23:16>) #define ENC28J60_EPMM3 (0x010B) // Pattern Match Mask Byte 3 (EPMM<31:24>) #define ENC28J60_EPMM4 (0x010C) // Pattern Match Mask Byte 4 (EPMM<39:32>) #define ENC28J60_EPMM5 (0x010D) // Pattern Match Mask Byte 5 (EPMM<47:40>) #define ENC28J60_EPMM6 (0x010E) // Pattern Match Mask Byte 6 (EPMM<55:48>) #define ENC28J60_EPMM7 (0x010F) // Pattern Match Mask Byte 7 (EPMM<63:56>) #define ENC28J60_EPMCSL (0x0110) // Pattern Match Checksum Low Byte (EPMCS<7:0>) #define ENC28J60_EPMCSH (0x0111) // Pattern Match Checksum High Byte (EPMCS<15:0>) #define ENC28J60_EPMOL (0x0114) // Pattern Match Offset Low Byte (EPMO<7:0>) #define ENC28J60_EPMOH (0x0115) // Pattern Match Offset High Byte (EPMO<12:8>) #define ENC28J60_ERXFCON (0x0118) // Receive Fileter Control #define ENC28J60_EPKTCNT (0x0119) // Ethernet Packet Count // Bank 2 Register #define ENC28J60_MACON1 (0x1200) // MAC Control Register 1 #define ENC28J60_MACON2 (0x1201) // MAC Control Register 2 #define ENC28J60_MACON3 (0x1202) // MAC Control Register 3 #define ENC28J60_MACON4 (0x1203) // MAC Control Register 4 #define ENC28J60_MABBIPG (0x1204) // Back-to-Back Inter-Packet Gap (BBIPG<6:0>) #define ENC28J60_MAIPGL (0x1206) // Non-Back-to-Back Inter-Packet Gap Low Byte (MAIPGL<6:0>) #define ENC28J60_MAIPGH (0x1207) // Non-Back-to-Back Inter-Packet Gap High Byte (MAIPGH<6:0>) #define ENC28J60_MACLCON1 (0x1208) // Retransmission Maximum (RETMAX<3:0>) #define ENC28J60_MACLCON2 (0x1209) // Collision Window (COLWIN<5:0>) #define ENC28J60_MAMXFLL (0x120A) // Maximum Frame Length Low Byte (MAMXFL<7:0>) #define ENC28J60_MAMXFLH (0x120B) // Maximum Frame Length High Byte (MAMXFL<15:8>) #define ENC28J60_MICMD (0x1212) // MII Command Register #define ENC28J60_MIREGADR (0x1214) // MII Register Address (MIREGADR<4:0>) #define ENC28J60_MIWRL (0x1216) // MII Write Data Low Byte (MIWR<7:0>) #define ENC28J60_MIWRH (0x1217) // MII Write Data High Byte (MIWR<15:8>) #define ENC28J60_MIRDL (0x1218) // MII Read Data Low Byte (MIRD<7:0>) #define ENC28J60_MIRDH (0x1219) // MII Read Data High Byte(MIRD<15:8>) // Bank 3 Registers #define ENC28J60_MAADR5 (0x1300) // MAC Address Byte 5 (MAADR<15:8>) #define ENC28J60_MAADR6 (0x1301) // MAC Address Byte 6 (MAADR<7:0>) #define ENC28J60_MAADR3 (0x1302) // MAC Address Byte 3 (MAADR<31:24>), OUI Byte 3 #define ENC28J60_MAADR4 (0x1303) // MAC Address Byte 4 (MAADR<23:16>) #define ENC28J60_MAADR1 (0x1304) // MAC Address Byte 1 (MAADR<47:40>), OUI Byte 1 #define ENC28J60_MAADR2 (0x1305) // MAC Address Byte 2 (MAADR<39:32>), OUI Byte 2 #define ENC28J60_EBSTSD (0x0306) // Built-in Self-Test Fill Seed (EBSTSD<7:0>) #define ENC28J60_EBSTCON (0x0307) // Built-in Self-Test Control #define ENC28J60_EBSTCSL (0x0308) // Built-in Self-Test Checksum Low Byte (EBSTCS<7:0>) #define ENC28J60_EBSTCSH (0x0309) // Built-in Self-Test Checksum High Byte (EBSTCS<15:8>) #define ENC28J60_MISTAT (0x130A) // MII Status Register #define ENC28J60_EREVID (0x0312) // Ethernet Revision ID (EREVID<4:0>) #define ENC28J60_ECOCON (0x0315) // Clock Output Control Register #define ENC28J60_EFLOCON (0x0317) // Ethernet Flow Control #define ENC28J60_EPAUSL (0x0318) // Pause Timer Value Low Byte (EPAUS<7:0>) #define ENC28J60_EPAUSH (0x0319) // Pause Timer Value High Byte (EPAUS<15:8>) /** * @brief status and flag of ENC28J60 specific registers * *//* ... */ // EIE bit definitions #define EIE_INTIE (1<<7) // Global INT Interrupt Enable #define EIE_PKTIE (1<<6) // Receive Packet Pending Interrupt Enable #define EIE_DMAIE (1<<5) // DMA Interrupt Enable #define EIE_LINKIE (1<<4) // Link Status Change Interrupt Enable #define EIE_TXIE (1<<3) // Transmit Enable #define EIE_TXERIE (1<<1) // Transmit Error Interrupt Enable #define EIE_RXERIE (1<<0) // Receive Error Interrupt Enable // EIR bit definitions #define EIR_PKTIF (1<<6) // Receive Packet Pending Interrupt Flag #define EIR_DMAIF (1<<5) // DMA Interrupt Flag #define EIR_LINKIF (1<<4) // Link Change Interrupt Flag #define EIR_TXIF (1<<3) // Transmit Interrupt Flag #define EIR_TXERIF (1<<1) // Transmit Error Interrupt Flag #define EIR_RXERIF (1<<0) // Receive Error Interrupt Flag // ESTAT bit definitions #define ESTAT_INT (1<<7) // INT Interrupt Flag #define ESTAT_BUFER (1<<6) // Buffer Error Status #define ESTAT_LATECOL (1<<4) // Late Collision Error #define ESTAT_RXBUSY (1<<2) // Receive Busy #define ESTAT_TXABRT (1<<1) // Transmit Abort Error #define ESTAT_CLKRDY (1<<0) // Clock Ready // ECON2 bit definitions #define ECON2_AUTOINC (1<<7) // Automatic Buffer Pointer Increment Enable #define ECON2_PKTDEC (1<<6) // Packet Decrement #define ECON2_PWRSV (1<<5) // Power Save Enable #define ECON2_VRPS (1<<3) // Voltage Regulator Power Save Enable // ECON1 bit definitions #define ECON1_TXRST (1<<7) // Transmit Logic Reset #define ECON1_RXRST (1<<6) // Receive Logic Reset #define ECON1_DMAST (1<<5) // DMA Start and Busy Status #define ECON1_CSUMEN (1<<4) // DMA Checksum Enable #define ECON1_TXRTS (1<<3) // Transmit Request to Send #define ECON1_RXEN (1<<2) // Receive Enable #define ECON1_BSEL1 (1<<1) // Bank Select1 #define ECON1_BSEL0 (1<<0) // Bank Select0 // ERXFCON bit definitions #define ERXFCON_UCEN (1<<7) // Unicast Filter Enable #define ERXFCON_ANDOR (1<<6) // AND/OR Filter Select #define ERXFCON_CRCEN (1<<5) // Post-Filter CRC Check Enable #define ERXFCON_PMEN (1<<4) // Pattern Match Filter Enable #define ERXFCON_MPEN (1<<3) // Magic Packet Filter Enable #define ERXFCON_HTEN (1<<2) // Hash Table Filter Enable #define ERXFCON_MCEN (1<<1) // Multicast Filter Enable #define ERXFCON_BCEN (1<<0) // Broadcast Filter Enable // MACON1 bit definitions #define MACON1_TXPAUS (1<<3) // Pause Control Frame Transmission Enable #define MACON1_RXPAUS (1<<2) // Pause Control Frame Reception Enable #define MACON1_PASSALL (1<<1) // Pass All Received Frames Enable #define MACON1_MARXEN (1<<0) // MAC Receive Enable // MACON3 bit definitions #define MACON3_PADCFG2 (1<<7) // Automatic Pad and CRC Configuration bit 2 #define MACON3_PADCFG1 (1<<6) // Automatic Pad and CRC Configuration bit 1 #define MACON3_PADCFG0 (1<<5) // Automatic Pad and CRC Configuration bit 0 #define MACON3_TXCRCEN (1<<4) // Transmit CRC Enable #define MACON3_PHDRLEN (1<<3) // Proprietary Header Enable #define MACON3_HFRMLEN (1<<2) // Huge Frame Enable #define MACON3_FRMLNEN (1<<1) // Frame Length Checking Enable #define MACON3_FULDPX (1<<0) // MAC Full-Duplex Enable // MACON4 bit definitions #define MACON4_DEFER (1<<6) // Defer Transmission Enable #define MACON4_BPEN (1<<5) // No Backoff During Backpressure Enable #define MACON4_NOBKFF (1<<4) // No Backoff Enable // MICMD bit definitions #define MICMD_MIISCAN (1<<1) // MII Scan Enable #define MICMD_MIIRD (1<<0) // MII Read Enable // EBSTCON bit definitions #define EBSTCON_PSV2 (1<<7) // Pattern Shift Value 2 #define EBSTCON_PSV1 (1<<6) // Pattern Shift Value 1 #define EBSTCON_PSV0 (1<<5) // Pattern Shift Value 0 #define EBSTCON_PSEL (1<<4) // Port Select #define EBSTCON_TMSEL1 (1<<3) // Test Mode Select 1 #define EBSTCON_TMSEL0 (1<<2) // Test Mode Select 0 #define EBSTCON_TME (1<<1) // Test Mode Enable #define EBSTCON_BISTST (1<<0) // Built-in Self-Test Start/Busy // MISTAT bit definitions #define MISTAT_NVALID (1<<2) // MII Management Read Data Not Valid #define MISTAT_SCAN (1<<1) // MII Management Scan Operation in Progress #define MISTAT_BUSY (1<<0) // MII Management Busy // EFLOCON bit definitions #define EFLOCON_FULDPXS (1<<2) // Full-Duplex Shadown #define EFLOCON_FCEN1 (1<<1) // Flow Control Enable 1 #define EFLOCON_FCEN0 (1<<0) // Flow Control Enable 0161 defines #ifdef __cplusplus }{...} #endif
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.