diff options
Diffstat (limited to 'circuitpython/extmod/lwip-include')
| -rw-r--r-- | circuitpython/extmod/lwip-include/arch/cc.h | 41 | ||||
| -rw-r--r-- | circuitpython/extmod/lwip-include/arch/perf.h | 7 | ||||
| -rw-r--r-- | circuitpython/extmod/lwip-include/lwipopts.h | 35 |
3 files changed, 83 insertions, 0 deletions
diff --git a/circuitpython/extmod/lwip-include/arch/cc.h b/circuitpython/extmod/lwip-include/arch/cc.h new file mode 100644 index 0000000..400dc6e --- /dev/null +++ b/circuitpython/extmod/lwip-include/arch/cc.h @@ -0,0 +1,41 @@ +#ifndef MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_CC_H +#define MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_CC_H + +#include <stdint.h> + +// Generate lwip's internal types from stdint + +typedef uint8_t u8_t; +typedef int8_t s8_t; +typedef uint16_t u16_t; +typedef int16_t s16_t; +typedef uint32_t u32_t; +typedef int32_t s32_t; + +typedef u32_t mem_ptr_t; + +#define U16_F "hu" +#define S16_F "hd" +#define X16_F "hx" +#define U32_F "u" +#define S32_F "d" +#define X32_F "x" + +#define X8_F "02x" +#define SZT_F "u" + +#define BYTE_ORDER LITTLE_ENDIAN + +#define LWIP_CHKSUM_ALGORITHM 2 + +#include <assert.h> +#define LWIP_PLATFORM_DIAG(x) +#define LWIP_PLATFORM_ASSERT(x) { assert(1); } + +//#define PACK_STRUCT_FIELD(x) x __attribute__((packed)) +#define PACK_STRUCT_FIELD(x) x +#define PACK_STRUCT_STRUCT __attribute__((packed)) +#define PACK_STRUCT_BEGIN +#define PACK_STRUCT_END + +#endif // MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_CC_H diff --git a/circuitpython/extmod/lwip-include/arch/perf.h b/circuitpython/extmod/lwip-include/arch/perf.h new file mode 100644 index 0000000..d310fc3 --- /dev/null +++ b/circuitpython/extmod/lwip-include/arch/perf.h @@ -0,0 +1,7 @@ +#ifndef MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_PERF_H +#define MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_PERF_H + +#define PERF_START /* null definition */ +#define PERF_STOP(x) /* null definition */ + +#endif // MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_ARCH_PERF_H diff --git a/circuitpython/extmod/lwip-include/lwipopts.h b/circuitpython/extmod/lwip-include/lwipopts.h new file mode 100644 index 0000000..805bec2 --- /dev/null +++ b/circuitpython/extmod/lwip-include/lwipopts.h @@ -0,0 +1,35 @@ +#ifndef MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_LWIPOPTS_H +#define MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_LWIPOPTS_H + +#include <py/mpconfig.h> +#include <py/misc.h> +#include <py/mphal.h> + +// We're running without an OS for this port. We don't provide any services except light protection. +#define NO_SYS 1 + +#define SYS_LIGHTWEIGHT_PROT 1 +#include <stdint.h> +typedef uint32_t sys_prot_t; + +#define TCP_LISTEN_BACKLOG 1 + +// We'll put these into a proper ifdef once somebody implements an ethernet driver +#define LWIP_ARP 0 +#define LWIP_ETHERNET 0 + +#define LWIP_DNS 1 + +#define LWIP_NETCONN 0 +#define LWIP_SOCKET 0 + +#if MICROPY_PY_LWIP_SLIP +#define LWIP_HAVE_SLIPIF 1 +#endif + +// For now, we can simply define this as a macro for the timer code. But this function isn't +// universal and other ports will need to do something else. It may be necessary to move +// things like this into a port-provided header file. +#define sys_now mp_hal_ticks_ms + +#endif // MICROPY_INCLUDED_EXTMOD_LWIP_INCLUDE_LWIPOPTS_H |
