mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2025-02-19 23:46:02 +01:00
Bugfix STM32 MAX_SOCK_NUM set to 8 for now
This commit is contained in:
parent
04be72b2f9
commit
a992035e10
@ -211,6 +211,8 @@ bool EthernetInterface::checkLink() {
|
|||||||
}
|
}
|
||||||
mdns.begin(Ethernet.localIP(), WIFI_HOSTNAME); // hostname
|
mdns.begin(Ethernet.localIP(), WIFI_HOSTNAME); // hostname
|
||||||
mdns.addServiceRecord(WIFI_HOSTNAME "._withrottle", IP_PORT, MDNSServiceTCP);
|
mdns.addServiceRecord(WIFI_HOSTNAME "._withrottle", IP_PORT, MDNSServiceTCP);
|
||||||
|
// Not sure if we need to run it once, but just in case!
|
||||||
|
mdns.run();
|
||||||
// only create a outboundRing it none exists, this may happen if the cable
|
// only create a outboundRing it none exists, this may happen if the cable
|
||||||
// gets disconnected and connected again
|
// gets disconnected and connected again
|
||||||
if(!outboundRing)
|
if(!outboundRing)
|
||||||
@ -244,10 +246,14 @@ bool EthernetInterface::checkLink() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EthernetInterface::loop2() {
|
void EthernetInterface::loop2() {
|
||||||
if (!outboundRing) { // no idea to call loop2() if we can't handle outgoing data in it
|
if (!outboundRing) { // no idea to call loop2() if we can't handle outgoing data in it
|
||||||
if (Diag::ETHERNET) DIAG(F("No outboundRing"));
|
if (Diag::ETHERNET) DIAG(F("No outboundRing"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Always do this because we don't want traffic to intefere with being found!
|
||||||
|
mdns.run();
|
||||||
|
|
||||||
// get client from the server
|
// get client from the server
|
||||||
#if defined (STM32_ETHERNET)
|
#if defined (STM32_ETHERNET)
|
||||||
// STM32Ethernet doesn't use accept(), just available()
|
// STM32Ethernet doesn't use accept(), just available()
|
||||||
@ -323,8 +329,6 @@ void EthernetInterface::loop2() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mdns.run();
|
|
||||||
|
|
||||||
WiThrottle::loop(outboundRing);
|
WiThrottle::loop(outboundRing);
|
||||||
|
|
||||||
// handle at most 1 outbound transmission
|
// handle at most 1 outbound transmission
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
#include <lwip/netif.h>
|
#include <lwip/netif.h>
|
||||||
extern "C" struct netif gnetif;
|
extern "C" struct netif gnetif;
|
||||||
#define STM32_ETHERNET
|
#define STM32_ETHERNET
|
||||||
#define MAX_SOCK_NUM 10
|
#define MAX_SOCK_NUM 8
|
||||||
#else
|
#else
|
||||||
#include "Ethernet.h"
|
#include "Ethernet.h"
|
||||||
// #define MAX_SOCK_NUM 4
|
// #define MAX_SOCK_NUM 4
|
||||||
@ -57,7 +57,6 @@
|
|||||||
|
|
||||||
#define MAX_ETH_BUFFER 512
|
#define MAX_ETH_BUFFER 512
|
||||||
#define OUTBOUND_RING_SIZE 2048
|
#define OUTBOUND_RING_SIZE 2048
|
||||||
|
|
||||||
class EthernetInterface {
|
class EthernetInterface {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -76,7 +75,7 @@ class EthernetInterface {
|
|||||||
struct {
|
struct {
|
||||||
EthernetClient client;
|
EthernetClient client;
|
||||||
bool inUse;
|
bool inUse;
|
||||||
} clients[MAX_CLIENT];
|
} clients[MAX_SOCK_NUM];
|
||||||
// accept up to MAX_SOCK_NUM client connections at the same time; This depends on the chipset used on the Shield
|
// accept up to MAX_SOCK_NUM client connections at the same time; This depends on the chipset used on the Shield
|
||||||
|
|
||||||
uint8_t buffer[MAX_ETH_BUFFER+1]; // buffer used by TCP for the recv
|
uint8_t buffer[MAX_ETH_BUFFER+1]; // buffer used by TCP for the recv
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
#include "StringFormatter.h"
|
#include "StringFormatter.h"
|
||||||
|
|
||||||
#define VERSION "5.3.13"
|
#define VERSION "5.3.14"
|
||||||
|
// 5.3.14 - Bugfix: MAX_SOCK_NUM on STM32 for now set to 8 which seems reliable - no doubt some setting in lwip needs tweaking for more
|
||||||
// 5.3.13 - Bugfix: refactored the Ethernet client handling code to use an inUse boolean for each client - now works!
|
// 5.3.13 - Bugfix: refactored the Ethernet client handling code to use an inUse boolean for each client - now works!
|
||||||
// 5.2.60 - Bugfix: Opcode AFTEROVERLOAD does not have an argument that is a pin and needs to be initialized
|
// 5.2.60 - Bugfix: Opcode AFTEROVERLOAD does not have an argument that is a pin and needs to be initialized
|
||||||
// - Remove inrush throttle after half good time so that we go to mode overload if problem persists
|
// - Remove inrush throttle after half good time so that we go to mode overload if problem persists
|
||||||
|
Loading…
Reference in New Issue
Block a user