first working(?) version

This commit is contained in:
feelfree69
2026-04-12 13:02:42 +02:00
parent 7eb3676aaf
commit f7b8aed2f7
5 changed files with 12 additions and 16 deletions
+3 -1
View File
@@ -353,8 +353,10 @@ void dhcp_stop(void) __banked
}
void dhcp_callback(void) __banked
void dhcp_callback(uint16_t lport) __banked
{
if (lport != HTONS(DHCPC_CLIENT_PORT)) // Is this call for us? If not, ignore it
return;
if (!dhcp_state.state)
return;
if (uip_closed()) {
+1 -1
View File
@@ -16,7 +16,7 @@
void dhcp_start(void) __banked;
void dhcp_stop(void) __banked;
// void dhcp_periodic(void) __banked;
void dhcp_callback(void) __banked;
void dhcp_callback(uint16_t lport) __banked;
struct dhcp_state {
+4 -2
View File
@@ -38,7 +38,6 @@ void syslog_start(void) __banked
print_string("Started syslog to IP ");
itoa(syslog_addr[0]); write_char('.'); itoa(syslog_addr[0]>>8); write_char('.');
itoa(syslog_addr[1]); write_char('.'); itoa(syslog_addr[1]>>8); write_char('\n');
syslog_enabled = 1;
}
else {
@@ -58,8 +57,11 @@ void syslog_stop(void) __banked
}
}
void syslog_callback(void) __banked
void syslog_callback(uint16_t lport) __banked
{
if (lport != syslog_conn->lport)
return;
if ((logptr_r != logptr_w) && full_line_available)
{
int16_t log_size = logptr_w - logptr_r;
+1 -1
View File
@@ -8,6 +8,6 @@
void syslog_init(void) __banked;
void syslog_start(void) __banked;
void syslog_stop(void) __banked;
void syslog_callback(void) __banked;
void syslog_callback(uint16_t lport) __banked;
#endif
+3 -11
View File
@@ -1,17 +1,9 @@
#include "stdint.h"
#include "uip/uip.h"
#include "udp_apps.h"
static uint8_t callbacknr;
void udp_callbacks(void)
{
// Calling more than one callback from the same UIP_UDP_APPCALL does not work; we use a simple dispatcher
if (callbacknr == 0) {
dhcp_callback();
callbacknr = 1;
} else {
syslog_callback();
callbacknr = 0;
}
dhcp_callback(uip_udp_conn->lport); // let the application decide if this is for it or not
syslog_callback(uip_udp_conn->lport); // let the application decide if this is for it or not
}