mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-13 17:00:19 +00:00
Add struct mip_spi for SPI drivers, and skeleton for enc28j60 driver
This commit is contained in:
1 parent
3cf85770c7
commit
8a61969c8f
6 files changed
+67
-32
No files matched your search
+11
-2
@@ -1426,9 +1426,9 @@ struct mip_driver {
|
||||
void (*init)(uint8_t *mac, void *data); // Initialise driver
|
||||
size_t (*tx)(const void *, size_t, void *data); // Transmit frame
|
||||
size_t (*rx)(void *buf, size_t len, void *data); // Receive frame (polling)
|
||||
bool (*status)(void *data); // Up/down status
|
||||
bool (*up)(void *data); // Up/down status
|
||||
// Set receive callback for interrupt-driven drivers
|
||||
void (*rxcb)(void (*fn)(void *buf, size_t len, void *rxdata), void *rxdata);
|
||||
void (*setrx)(void (*fn)(void *buf, size_t len, void *rxdata), void *rxdata);
|
||||
};
|
||||
|
||||
struct mip_ipcfg {
|
||||
@@ -1439,6 +1439,15 @@ struct mip_ipcfg {
|
||||
void mip_init(struct mg_mgr *, struct mip_ipcfg *, struct mip_driver *, void *);
|
||||
|
||||
extern struct mip_driver mip_driver_stm32;
|
||||
extern struct mip_driver mip_driver_enc28j60;
|
||||
|
||||
// Drivers that require SPI, can use this SPI abstraction
|
||||
struct mip_spi {
|
||||
void *spi; // Opaque SPI bus descriptor
|
||||
uint8_t (*txn)(void *, uint8_t); // SPI transaction: write 1 byte, read reply
|
||||
void (*begin)(void *); // SPI begin: slave select low
|
||||
void (*end)(void *); // SPI end: slave select high
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user