|
|
@ -48,7 +48,7 @@
|
|
|
|
struct sGooseReceiver
|
|
|
|
struct sGooseReceiver
|
|
|
|
{
|
|
|
|
{
|
|
|
|
bool running;
|
|
|
|
bool running;
|
|
|
|
bool stopped;
|
|
|
|
bool stop;
|
|
|
|
char* interfaceId;
|
|
|
|
char* interfaceId;
|
|
|
|
uint8_t* buffer;
|
|
|
|
uint8_t* buffer;
|
|
|
|
EthernetSocket ethSocket;
|
|
|
|
EthernetSocket ethSocket;
|
|
|
@ -65,6 +65,7 @@ GooseReceiver_create()
|
|
|
|
|
|
|
|
|
|
|
|
if (self != NULL) {
|
|
|
|
if (self != NULL) {
|
|
|
|
self->running = false;
|
|
|
|
self->running = false;
|
|
|
|
|
|
|
|
self->stop = false;
|
|
|
|
self->interfaceId = NULL;
|
|
|
|
self->interfaceId = NULL;
|
|
|
|
self->buffer = (uint8_t*) GLOBAL_MALLOC(ETH_BUFFER_LENGTH);
|
|
|
|
self->buffer = (uint8_t*) GLOBAL_MALLOC(ETH_BUFFER_LENGTH);
|
|
|
|
self->ethSocket = NULL;
|
|
|
|
self->ethSocket = NULL;
|
|
|
@ -772,9 +773,6 @@ gooseReceiverLoop(void* threadParameter)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
GooseReceiver self = (GooseReceiver) threadParameter;
|
|
|
|
GooseReceiver self = (GooseReceiver) threadParameter;
|
|
|
|
|
|
|
|
|
|
|
|
self->running = true;
|
|
|
|
|
|
|
|
self->stopped = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GooseReceiver_startThreadless(self);
|
|
|
|
GooseReceiver_startThreadless(self);
|
|
|
|
|
|
|
|
|
|
|
|
if (self->running) {
|
|
|
|
if (self->running) {
|
|
|
@ -783,12 +781,13 @@ gooseReceiverLoop(void* threadParameter)
|
|
|
|
|
|
|
|
|
|
|
|
if (GooseReceiver_tick(self) == false)
|
|
|
|
if (GooseReceiver_tick(self) == false)
|
|
|
|
Thread_sleep(1);
|
|
|
|
Thread_sleep(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (self->stop)
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GooseReceiver_stopThreadless(self);
|
|
|
|
GooseReceiver_stopThreadless(self);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
self->stopped = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -822,12 +821,11 @@ void
|
|
|
|
GooseReceiver_stop(GooseReceiver self)
|
|
|
|
GooseReceiver_stop(GooseReceiver self)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
#if (CONFIG_MMS_THREADLESS_STACK == 0)
|
|
|
|
#if (CONFIG_MMS_THREADLESS_STACK == 0)
|
|
|
|
|
|
|
|
self->stop = true;
|
|
|
|
self->running = false;
|
|
|
|
self->running = false;
|
|
|
|
|
|
|
|
|
|
|
|
Thread_destroy(self->thread);
|
|
|
|
Thread_destroy(self->thread);
|
|
|
|
|
|
|
|
self->stop = false;
|
|
|
|
while (self->stopped == false)
|
|
|
|
|
|
|
|
Thread_sleep(1);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|