stm32-community / stm32-enc28j60

An ENC28J60 (cheap ethernet module) library for STM32 projects
63 stars 26 forks source link

V3 Branch ... a mess ? #15

Open DtNeo opened 2 months ago

DtNeo commented 2 months ago

Hello!

I’m sharing the v3 update tonight and wanted to provide some explanations.

defines: Contains macro definitions and constants, and is intended for users to specify their configuration variables, such as the desired IP address, the IP addresses of local servers for communication, and other customizable settings.

EtherShield: Serves as a summary of specific commands, consolidating key functions for managing the Ethernet shield.

packet: Handles packet processing and sending operations. (NEW !!!)

dnslkup: Implements DNS lookup functionality to resolve domain names to IP addresses.

_ip_arp_udptcp: Implements core network protocols, including IP, ARP, and UDP. The file shouldn't be TCP, there is a file dedicated.

tcp: Manages TCP connections and related operations.

net: Provides low-level network utilities and data structures. (not working)

_websrv_helpfunctions: Offers helper functions for web server operations. (not working)

dhcp: Implements DHCP client functionality for dynamic IP address configuration.

enc28j60: Manages the ENC28J60 Ethernet controller communication.

LogManager: Aims to provide various logging methods for the ENC28J60 module, and is designed to improve overall communication. Currently, the udplog2 function is widely used throughout the code.

ntp: Handles NTP client operations to synchronize time.

RTC: Manages the Real-Time Clock (RTC) on the STM32.

timers: Implements timing and delay functionalities using hardware timers.

_errorhandler: Handles error reporting and recovery mechanisms.

DtNeo commented 2 weeks ago

Did no one test it?

xaionaro commented 2 weeks ago

Sorry, just too much stuff on my plate. It is still in my queue to check when I'll have time. Nobody pays for this, and you know, I have tons of projects like this, unfortunately.

I do appreciate you sharing the PR! The project does require a lot of refactoring (and redesigning even).