mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-29 16:25:54 +08:00
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
#include "mip.h"
|
|
|
|
#if MG_ENABLE_MIP
|
|
|
|
// Instruction set
|
|
enum { OP_RCR, OP_RBM, OP_WCR, OP_WBM, OP_BFS, OP_BFC, OP_SRC };
|
|
|
|
static uint8_t rd(struct mip_spi *spi, uint8_t op, uint8_t addr) {
|
|
spi->begin(spi->spi);
|
|
spi->txn(spi->spi, (uint8_t) ((op << 5) | (addr & 0x1f)));
|
|
uint8_t value = spi->txn(spi->spi, 255);
|
|
if (addr & 0x80) value = spi->txn(spi->spi, 255);
|
|
spi->end(spi->spi);
|
|
return value;
|
|
}
|
|
|
|
static bool mip_driver_enc28j60_init(uint8_t *mac, void *data) {
|
|
(void) mac, (void) data;
|
|
rd(data, OP_SRC, 0x1f);
|
|
return false;
|
|
}
|
|
|
|
static size_t mip_driver_enc28j60_tx(const void *buf, size_t len, void *data) {
|
|
(void) buf, (void) len, (void) data;
|
|
return 0;
|
|
}
|
|
|
|
static size_t mip_driver_enc28j60_rx(void *buf, size_t len, void *data) {
|
|
(void) buf, (void) len, (void) data;
|
|
return 0;
|
|
}
|
|
|
|
static bool mip_driver_enc28j60_up(void *data) {
|
|
(void) data;
|
|
return false;
|
|
}
|
|
|
|
struct mip_driver mip_driver_enc28j60 = {.init = mip_driver_enc28j60_init,
|
|
.tx = mip_driver_enc28j60_tx,
|
|
.rx = mip_driver_enc28j60_rx,
|
|
.up = mip_driver_enc28j60_up};
|
|
#endif
|