mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-30 16:24:09 +03:00
Migrate from astyle to clang-format (#8464)
This commit is contained in:
committed by
Max Prokhorov
parent
46190b61f1
commit
19b7a29720
@ -7,4 +7,4 @@
|
||||
|
||||
using ENC28J60lwIP = LwipIntfDev<ENC28J60>;
|
||||
|
||||
#endif // _ENC28J60LWIP_H
|
||||
#endif // _ENC28J60LWIP_H
|
||||
|
@ -42,10 +42,9 @@
|
||||
|
||||
#include "enc28j60.h"
|
||||
|
||||
|
||||
void serial_printf(const char *fmt, ...)
|
||||
void serial_printf(const char* fmt, ...)
|
||||
{
|
||||
char buf[128];
|
||||
char buf[128];
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buf, 128, fmt, args);
|
||||
@ -57,11 +56,15 @@ void serial_printf(const char *fmt, ...)
|
||||
#if DEBUG
|
||||
#define PRINTF(...) printf(__VA_ARGS__)
|
||||
#else
|
||||
#define PRINTF(...) do { (void)0; } while (0)
|
||||
#define PRINTF(...) \
|
||||
do \
|
||||
{ \
|
||||
(void)0; \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
#define EIE 0x1b
|
||||
#define EIR 0x1c
|
||||
#define EIE 0x1b
|
||||
#define EIR 0x1c
|
||||
#define ESTAT 0x1d
|
||||
#define ECON2 0x1e
|
||||
#define ECON1 0x1f
|
||||
@ -69,13 +72,13 @@ void serial_printf(const char *fmt, ...)
|
||||
#define ESTAT_CLKRDY 0x01
|
||||
#define ESTAT_TXABRT 0x02
|
||||
|
||||
#define ECON1_RXEN 0x04
|
||||
#define ECON1_TXRTS 0x08
|
||||
#define ECON1_RXEN 0x04
|
||||
#define ECON1_TXRTS 0x08
|
||||
|
||||
#define ECON2_AUTOINC 0x80
|
||||
#define ECON2_PKTDEC 0x40
|
||||
#define ECON2_PKTDEC 0x40
|
||||
|
||||
#define EIR_TXIF 0x08
|
||||
#define EIR_TXIF 0x08
|
||||
|
||||
#define ERXTX_BANK 0x00
|
||||
|
||||
@ -95,19 +98,19 @@ void serial_printf(const char *fmt, ...)
|
||||
#define ERXRDPTH 0x0d
|
||||
|
||||
#define RX_BUF_START 0x0000
|
||||
#define RX_BUF_END 0x0fff
|
||||
#define RX_BUF_END 0x0fff
|
||||
|
||||
#define TX_BUF_START 0x1200
|
||||
|
||||
/* MACONx registers are in bank 2 */
|
||||
#define MACONX_BANK 0x02
|
||||
|
||||
#define MACON1 0x00
|
||||
#define MACON3 0x02
|
||||
#define MACON4 0x03
|
||||
#define MACON1 0x00
|
||||
#define MACON3 0x02
|
||||
#define MACON4 0x03
|
||||
#define MABBIPG 0x04
|
||||
#define MAIPGL 0x06
|
||||
#define MAIPGH 0x07
|
||||
#define MAIPGL 0x06
|
||||
#define MAIPGH 0x07
|
||||
#define MAMXFLL 0x0a
|
||||
#define MAMXFLH 0x0b
|
||||
|
||||
@ -116,9 +119,9 @@ void serial_printf(const char *fmt, ...)
|
||||
#define MACON1_MARXEN 0x01
|
||||
|
||||
#define MACON3_PADCFG_FULL 0xe0
|
||||
#define MACON3_TXCRCEN 0x10
|
||||
#define MACON3_FRMLNEN 0x02
|
||||
#define MACON3_FULDPX 0x01
|
||||
#define MACON3_TXCRCEN 0x10
|
||||
#define MACON3_FRMLNEN 0x02
|
||||
#define MACON3_FULDPX 0x01
|
||||
|
||||
#define MAX_MAC_LENGTH 1518
|
||||
|
||||
@ -136,39 +139,34 @@ void serial_printf(const char *fmt, ...)
|
||||
#define ERXFCON 0x18
|
||||
#define EPKTCNT 0x19
|
||||
|
||||
#define ERXFCON_UCEN 0x80
|
||||
#define ERXFCON_UCEN 0x80
|
||||
#define ERXFCON_ANDOR 0x40
|
||||
#define ERXFCON_CRCEN 0x20
|
||||
#define ERXFCON_MCEN 0x02
|
||||
#define ERXFCON_BCEN 0x01
|
||||
#define ERXFCON_MCEN 0x02
|
||||
#define ERXFCON_BCEN 0x01
|
||||
|
||||
// The ENC28J60 SPI Interface supports clock speeds up to 20 MHz
|
||||
static const SPISettings spiSettings(20000000, MSBFIRST, SPI_MODE0);
|
||||
|
||||
ENC28J60::ENC28J60(int8_t cs, SPIClass& spi, int8_t intr):
|
||||
_bank(ERXTX_BANK), _cs(cs), _spi(spi)
|
||||
ENC28J60::ENC28J60(int8_t cs, SPIClass& spi, int8_t intr) : _bank(ERXTX_BANK), _cs(cs), _spi(spi)
|
||||
{
|
||||
(void)intr;
|
||||
}
|
||||
|
||||
void
|
||||
ENC28J60::enc28j60_arch_spi_select(void)
|
||||
void ENC28J60::enc28j60_arch_spi_select(void)
|
||||
{
|
||||
SPI.beginTransaction(spiSettings);
|
||||
digitalWrite(_cs, LOW);
|
||||
}
|
||||
|
||||
void
|
||||
ENC28J60::enc28j60_arch_spi_deselect(void)
|
||||
void ENC28J60::enc28j60_arch_spi_deselect(void)
|
||||
{
|
||||
digitalWrite(_cs, HIGH);
|
||||
SPI.endTransaction();
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
uint8_t
|
||||
ENC28J60::is_mac_mii_reg(uint8_t reg)
|
||||
uint8_t ENC28J60::is_mac_mii_reg(uint8_t reg)
|
||||
{
|
||||
/* MAC or MII register (otherwise, ETH register)? */
|
||||
switch (_bank)
|
||||
@ -184,8 +182,7 @@ ENC28J60::is_mac_mii_reg(uint8_t reg)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
uint8_t
|
||||
ENC28J60::readreg(uint8_t reg)
|
||||
uint8_t ENC28J60::readreg(uint8_t reg)
|
||||
{
|
||||
uint8_t r;
|
||||
enc28j60_arch_spi_select();
|
||||
@ -200,8 +197,7 @@ ENC28J60::readreg(uint8_t reg)
|
||||
return r;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::writereg(uint8_t reg, uint8_t data)
|
||||
void ENC28J60::writereg(uint8_t reg, uint8_t data)
|
||||
{
|
||||
enc28j60_arch_spi_select();
|
||||
SPI.transfer(0x40 | (reg & 0x1f));
|
||||
@ -209,8 +205,7 @@ ENC28J60::writereg(uint8_t reg, uint8_t data)
|
||||
enc28j60_arch_spi_deselect();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::setregbitfield(uint8_t reg, uint8_t mask)
|
||||
void ENC28J60::setregbitfield(uint8_t reg, uint8_t mask)
|
||||
{
|
||||
if (is_mac_mii_reg(reg))
|
||||
{
|
||||
@ -225,8 +220,7 @@ ENC28J60::setregbitfield(uint8_t reg, uint8_t mask)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::clearregbitfield(uint8_t reg, uint8_t mask)
|
||||
void ENC28J60::clearregbitfield(uint8_t reg, uint8_t mask)
|
||||
{
|
||||
if (is_mac_mii_reg(reg))
|
||||
{
|
||||
@ -241,15 +235,13 @@ ENC28J60::clearregbitfield(uint8_t reg, uint8_t mask)
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::setregbank(uint8_t new_bank)
|
||||
void ENC28J60::setregbank(uint8_t new_bank)
|
||||
{
|
||||
writereg(ECON1, (readreg(ECON1) & 0xfc) | (new_bank & 0x03));
|
||||
_bank = new_bank;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::writedata(const uint8_t *data, int datalen)
|
||||
void ENC28J60::writedata(const uint8_t* data, int datalen)
|
||||
{
|
||||
int i;
|
||||
enc28j60_arch_spi_select();
|
||||
@ -262,14 +254,12 @@ ENC28J60::writedata(const uint8_t *data, int datalen)
|
||||
enc28j60_arch_spi_deselect();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::writedatabyte(uint8_t byte)
|
||||
void ENC28J60::writedatabyte(uint8_t byte)
|
||||
{
|
||||
writedata(&byte, 1);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int
|
||||
ENC28J60::readdata(uint8_t *buf, int len)
|
||||
int ENC28J60::readdata(uint8_t* buf, int len)
|
||||
{
|
||||
int i;
|
||||
enc28j60_arch_spi_select();
|
||||
@ -283,8 +273,7 @@ ENC28J60::readdata(uint8_t *buf, int len)
|
||||
return i;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
uint8_t
|
||||
ENC28J60::readdatabyte(void)
|
||||
uint8_t ENC28J60::readdatabyte(void)
|
||||
{
|
||||
uint8_t r;
|
||||
readdata(&r, 1);
|
||||
@ -292,8 +281,7 @@ ENC28J60::readdatabyte(void)
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
ENC28J60::softreset(void)
|
||||
void ENC28J60::softreset(void)
|
||||
{
|
||||
enc28j60_arch_spi_select();
|
||||
/* The System Command (soft reset) is 1 1 1 1 1 1 1 1 */
|
||||
@ -304,8 +292,7 @@ ENC28J60::softreset(void)
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
//#if DEBUG
|
||||
uint8_t
|
||||
ENC28J60::readrev(void)
|
||||
uint8_t ENC28J60::readrev(void)
|
||||
{
|
||||
uint8_t rev;
|
||||
setregbank(MAADRX_BANK);
|
||||
@ -324,8 +311,7 @@ ENC28J60::readrev(void)
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
bool
|
||||
ENC28J60::reset(void)
|
||||
bool ENC28J60::reset(void)
|
||||
{
|
||||
PRINTF("enc28j60: resetting chip\n");
|
||||
|
||||
@ -398,7 +384,7 @@ ENC28J60::reset(void)
|
||||
|
||||
/* Wait for OST */
|
||||
PRINTF("waiting for ESTAT_CLKRDY\n");
|
||||
while ((readreg(ESTAT) & ESTAT_CLKRDY) == 0) {};
|
||||
while ((readreg(ESTAT) & ESTAT_CLKRDY) == 0) { };
|
||||
PRINTF("ESTAT_CLKRDY\n");
|
||||
|
||||
setregbank(ERXTX_BANK);
|
||||
@ -470,8 +456,7 @@ ENC28J60::reset(void)
|
||||
setregbitfield(MACON1, MACON1_MARXEN | MACON1_TXPAUS | MACON1_RXPAUS);
|
||||
|
||||
/* Set padding, crc, full duplex */
|
||||
setregbitfield(MACON3, MACON3_PADCFG_FULL | MACON3_TXCRCEN | MACON3_FULDPX |
|
||||
MACON3_FRMLNEN);
|
||||
setregbitfield(MACON3, MACON3_PADCFG_FULL | MACON3_TXCRCEN | MACON3_FULDPX | MACON3_FRMLNEN);
|
||||
|
||||
/* Don't modify MACON4 */
|
||||
|
||||
@ -531,12 +516,11 @@ ENC28J60::reset(void)
|
||||
return true;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
boolean
|
||||
ENC28J60::begin(const uint8_t *address)
|
||||
boolean ENC28J60::begin(const uint8_t* address)
|
||||
{
|
||||
_localMac = address;
|
||||
|
||||
bool ret = reset();
|
||||
bool ret = reset();
|
||||
uint8_t rev = readrev();
|
||||
|
||||
PRINTF("ENC28J60 rev. B%d\n", rev);
|
||||
@ -546,8 +530,7 @@ ENC28J60::begin(const uint8_t *address)
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
uint16_t
|
||||
ENC28J60::sendFrame(const uint8_t *data, uint16_t datalen)
|
||||
uint16_t ENC28J60::sendFrame(const uint8_t* data, uint16_t datalen)
|
||||
{
|
||||
uint16_t dataend;
|
||||
|
||||
@ -598,13 +581,14 @@ ENC28J60::sendFrame(const uint8_t *data, uint16_t datalen)
|
||||
|
||||
/* Send the packet */
|
||||
setregbitfield(ECON1, ECON1_TXRTS);
|
||||
while ((readreg(ECON1) & ECON1_TXRTS) > 0);
|
||||
while ((readreg(ECON1) & ECON1_TXRTS) > 0)
|
||||
;
|
||||
|
||||
#if DEBUG
|
||||
if ((readreg(ESTAT) & ESTAT_TXABRT) != 0)
|
||||
{
|
||||
uint16_t erdpt;
|
||||
uint8_t tsv[7];
|
||||
uint8_t tsv[7];
|
||||
erdpt = (readreg(ERDPTH) << 8) | readreg(ERDPTL);
|
||||
writereg(ERDPTL, (dataend + 1) & 0xff);
|
||||
writereg(ERDPTH, (dataend + 1) >> 8);
|
||||
@ -612,35 +596,32 @@ ENC28J60::sendFrame(const uint8_t *data, uint16_t datalen)
|
||||
writereg(ERDPTL, erdpt & 0xff);
|
||||
writereg(ERDPTH, erdpt >> 8);
|
||||
PRINTF("enc28j60: tx err: %d: %02x:%02x:%02x:%02x:%02x:%02x\n"
|
||||
" tsv: %02x%02x%02x%02x%02x%02x%02x\n", datalen,
|
||||
0xff & data[0], 0xff & data[1], 0xff & data[2],
|
||||
0xff & data[3], 0xff & data[4], 0xff & data[5],
|
||||
tsv[6], tsv[5], tsv[4], tsv[3], tsv[2], tsv[1], tsv[0]);
|
||||
" tsv: %02x%02x%02x%02x%02x%02x%02x\n",
|
||||
datalen, 0xff & data[0], 0xff & data[1], 0xff & data[2], 0xff & data[3],
|
||||
0xff & data[4], 0xff & data[5], tsv[6], tsv[5], tsv[4], tsv[3], tsv[2], tsv[1],
|
||||
tsv[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
PRINTF("enc28j60: tx: %d: %02x:%02x:%02x:%02x:%02x:%02x\n", datalen,
|
||||
0xff & data[0], 0xff & data[1], 0xff & data[2],
|
||||
0xff & data[3], 0xff & data[4], 0xff & data[5]);
|
||||
PRINTF("enc28j60: tx: %d: %02x:%02x:%02x:%02x:%02x:%02x\n", datalen, 0xff & data[0],
|
||||
0xff & data[1], 0xff & data[2], 0xff & data[3], 0xff & data[4], 0xff & data[5]);
|
||||
}
|
||||
#endif
|
||||
|
||||
//sent_packets++;
|
||||
//PRINTF("enc28j60: sent_packets %d\n", sent_packets);
|
||||
// sent_packets++;
|
||||
// PRINTF("enc28j60: sent_packets %d\n", sent_packets);
|
||||
return datalen;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
uint16_t
|
||||
ENC28J60::readFrame(uint8_t *buffer, uint16_t bufsize)
|
||||
uint16_t ENC28J60::readFrame(uint8_t* buffer, uint16_t bufsize)
|
||||
{
|
||||
readFrameSize();
|
||||
return readFrameData(buffer, bufsize);
|
||||
}
|
||||
|
||||
uint16_t
|
||||
ENC28J60::readFrameSize()
|
||||
uint16_t ENC28J60::readFrameSize()
|
||||
{
|
||||
uint8_t n;
|
||||
|
||||
@ -662,13 +643,13 @@ ENC28J60::readFrameSize()
|
||||
/* Read the next packet pointer */
|
||||
nxtpkt[0] = readdatabyte();
|
||||
nxtpkt[1] = readdatabyte();
|
||||
_next = (nxtpkt[1] << 8) + nxtpkt[0];
|
||||
_next = (nxtpkt[1] << 8) + nxtpkt[0];
|
||||
|
||||
PRINTF("enc28j60: nxtpkt 0x%02x%02x\n", _nxtpkt[1], _nxtpkt[0]);
|
||||
|
||||
length[0] = readdatabyte();
|
||||
length[1] = readdatabyte();
|
||||
_len = (length[1] << 8) + length[0];
|
||||
_len = (length[1] << 8) + length[0];
|
||||
|
||||
PRINTF("enc28j60: length 0x%02x%02x\n", length[1], length[0]);
|
||||
|
||||
@ -682,19 +663,16 @@ ENC28J60::readFrameSize()
|
||||
return _len;
|
||||
}
|
||||
|
||||
void
|
||||
ENC28J60::discardFrame(uint16_t framesize)
|
||||
void ENC28J60::discardFrame(uint16_t framesize)
|
||||
{
|
||||
(void)framesize;
|
||||
(void)readFrameData(nullptr, 0);
|
||||
}
|
||||
|
||||
uint16_t
|
||||
ENC28J60::readFrameData(uint8_t *buffer, uint16_t framesize)
|
||||
uint16_t ENC28J60::readFrameData(uint8_t* buffer, uint16_t framesize)
|
||||
{
|
||||
if (framesize < _len)
|
||||
{
|
||||
|
||||
buffer = nullptr;
|
||||
|
||||
/* flush rx fifo */
|
||||
@ -733,12 +711,12 @@ ENC28J60::readFrameData(uint8_t *buffer, uint16_t framesize)
|
||||
PRINTF("enc28j60: rx err: flushed %d\n", _len);
|
||||
return 0;
|
||||
}
|
||||
PRINTF("enc28j60: rx: %d: %02x:%02x:%02x:%02x:%02x:%02x\n", _len,
|
||||
0xff & buffer[0], 0xff & buffer[1], 0xff & buffer[2],
|
||||
0xff & buffer[3], 0xff & buffer[4], 0xff & buffer[5]);
|
||||
PRINTF("enc28j60: rx: %d: %02x:%02x:%02x:%02x:%02x:%02x\n", _len, 0xff & buffer[0],
|
||||
0xff & buffer[1], 0xff & buffer[2], 0xff & buffer[3], 0xff & buffer[4],
|
||||
0xff & buffer[5]);
|
||||
|
||||
//received_packets++;
|
||||
//PRINTF("enc28j60: received_packets %d\n", received_packets);
|
||||
// received_packets++;
|
||||
// PRINTF("enc28j60: received_packets %d\n", received_packets);
|
||||
|
||||
return _len;
|
||||
}
|
||||
|
@ -46,7 +46,6 @@
|
||||
*/
|
||||
class ENC28J60
|
||||
{
|
||||
|
||||
public:
|
||||
/**
|
||||
Constructor that uses the default hardware SPI pins
|
||||
@ -61,7 +60,7 @@ public:
|
||||
@param address the local MAC address for the Ethernet interface
|
||||
@return Returns true if setting up the Ethernet interface was successful
|
||||
*/
|
||||
boolean begin(const uint8_t *address);
|
||||
boolean begin(const uint8_t* address);
|
||||
|
||||
/**
|
||||
Send an Ethernet frame
|
||||
@ -69,7 +68,7 @@ public:
|
||||
@param datalen the length of the data in the packet
|
||||
@return the number of bytes transmitted
|
||||
*/
|
||||
virtual uint16_t sendFrame(const uint8_t *data, uint16_t datalen);
|
||||
virtual uint16_t sendFrame(const uint8_t* data, uint16_t datalen);
|
||||
|
||||
/**
|
||||
Read an Ethernet frame
|
||||
@ -78,10 +77,9 @@ public:
|
||||
@return the length of the received packet
|
||||
or 0 if no packet was received
|
||||
*/
|
||||
virtual uint16_t readFrame(uint8_t *buffer, uint16_t bufsize);
|
||||
virtual uint16_t readFrame(uint8_t* buffer, uint16_t bufsize);
|
||||
|
||||
protected:
|
||||
|
||||
static constexpr bool interruptIsPossible()
|
||||
{
|
||||
return false;
|
||||
@ -109,38 +107,37 @@ protected:
|
||||
@return the length of the received frame
|
||||
or 0 if a problem occurred
|
||||
*/
|
||||
uint16_t readFrameData(uint8_t *frame, uint16_t framesize);
|
||||
uint16_t readFrameData(uint8_t* frame, uint16_t framesize);
|
||||
|
||||
private:
|
||||
|
||||
uint8_t is_mac_mii_reg(uint8_t reg);
|
||||
uint8_t readreg(uint8_t reg);
|
||||
void writereg(uint8_t reg, uint8_t data);
|
||||
void setregbitfield(uint8_t reg, uint8_t mask);
|
||||
void clearregbitfield(uint8_t reg, uint8_t mask);
|
||||
void setregbank(uint8_t new_bank);
|
||||
void writedata(const uint8_t *data, int datalen);
|
||||
void writedatabyte(uint8_t byte);
|
||||
int readdata(uint8_t *buf, int len);
|
||||
void writereg(uint8_t reg, uint8_t data);
|
||||
void setregbitfield(uint8_t reg, uint8_t mask);
|
||||
void clearregbitfield(uint8_t reg, uint8_t mask);
|
||||
void setregbank(uint8_t new_bank);
|
||||
void writedata(const uint8_t* data, int datalen);
|
||||
void writedatabyte(uint8_t byte);
|
||||
int readdata(uint8_t* buf, int len);
|
||||
uint8_t readdatabyte(void);
|
||||
void softreset(void);
|
||||
void softreset(void);
|
||||
uint8_t readrev(void);
|
||||
bool reset(void);
|
||||
bool reset(void);
|
||||
|
||||
void enc28j60_arch_spi_init(void);
|
||||
void enc28j60_arch_spi_init(void);
|
||||
uint8_t enc28j60_arch_spi_write(uint8_t data);
|
||||
uint8_t enc28j60_arch_spi_read(void);
|
||||
void enc28j60_arch_spi_select(void);
|
||||
void enc28j60_arch_spi_deselect(void);
|
||||
void enc28j60_arch_spi_select(void);
|
||||
void enc28j60_arch_spi_deselect(void);
|
||||
|
||||
// Previously defined in contiki/core/sys/clock.h
|
||||
void clock_delay_usec(uint16_t dt);
|
||||
|
||||
uint8_t _bank;
|
||||
int8_t _cs;
|
||||
uint8_t _bank;
|
||||
int8_t _cs;
|
||||
SPIClass& _spi;
|
||||
|
||||
const uint8_t *_localMac;
|
||||
const uint8_t* _localMac;
|
||||
|
||||
/* readFrame*() state */
|
||||
uint16_t _next, _len;
|
||||
|
Reference in New Issue
Block a user