Temporarily remove feature to ignore reattempting to open a serial device after it had failed once. Increase number of allowed serial device blocks to 20.
This commit is contained in:
parent
4e6bf4684a
commit
df39832f4f
|
|
@ -57,10 +57,13 @@ int monocoque_serial_free(SerialDevice* serialdevice)
|
||||||
slogd("freeing physical device %s", monocoque_serial_devices[serialdevice->id].portname);
|
slogd("freeing physical device %s", monocoque_serial_devices[serialdevice->id].portname);
|
||||||
sp_close(monocoque_serial_devices[serialdevice->id].port);
|
sp_close(monocoque_serial_devices[serialdevice->id].port);
|
||||||
sp_free_port(monocoque_serial_devices[serialdevice->id].port);
|
sp_free_port(monocoque_serial_devices[serialdevice->id].port);
|
||||||
|
free(monocoque_serial_devices[serialdevice->id].portname);
|
||||||
|
|
||||||
|
monocoque_serial_devices[serialdevice->id].port = NULL;
|
||||||
|
monocoque_serial_devices[serialdevice->id].portname = NULL;
|
||||||
monocoque_serial_devices[serialdevice->id].busy = false;
|
monocoque_serial_devices[serialdevice->id].busy = false;
|
||||||
monocoque_serial_devices[serialdevice->id].open = false;
|
monocoque_serial_devices[serialdevice->id].open = false;
|
||||||
monocoque_serial_devices[serialdevice->id].openfail = false;
|
monocoque_serial_devices[serialdevice->id].openfail = false;
|
||||||
free(monocoque_serial_devices[serialdevice->id].portname);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -208,7 +211,7 @@ int monocoque_serial_open(SerialDevice* serialdevice, const char* portdev)
|
||||||
free(monocoque_serial_devices[i].portname);
|
free(monocoque_serial_devices[i].portname);
|
||||||
monocoque_serial_devices[i].portname = NULL;
|
monocoque_serial_devices[i].portname = NULL;
|
||||||
monocoque_serial_devices[i].open = false;
|
monocoque_serial_devices[i].open = false;
|
||||||
monocoque_serial_devices[i].openfail = true;
|
monocoque_serial_devices[i].openfail = false;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ typedef struct
|
||||||
}
|
}
|
||||||
monocoque_serial_device;
|
monocoque_serial_device;
|
||||||
|
|
||||||
static monocoque_serial_device monocoque_serial_devices[10];
|
static monocoque_serial_device monocoque_serial_devices[20];
|
||||||
|
|
||||||
int monocoque_serial_write(uint8_t serialdevicenum, void* data, size_t size, int timeout);
|
int monocoque_serial_write(uint8_t serialdevicenum, void* data, size_t size, int timeout);
|
||||||
int monocoque_serial_write_block(uint8_t serialdevicenum, void* data, size_t size, int timeout);
|
int monocoque_serial_write_block(uint8_t serialdevicenum, void* data, size_t size, int timeout);
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,8 @@
|
||||||
|
|
||||||
#include "gameloop.h"
|
#include "gameloop.h"
|
||||||
#include "loopdata.h"
|
#include "loopdata.h"
|
||||||
#include "../devices/sound.h"
|
|
||||||
#include "../helper/parameters.h"
|
|
||||||
#include "../helper/confighelper.h"
|
#include "../helper/confighelper.h"
|
||||||
#include "../devices/simdevice.h"
|
#include "../devices/simdevice.h"
|
||||||
#include "../devices/serialadapter.h"
|
|
||||||
#include "../simulatorapi/simapi/simapi/simdata.h"
|
#include "../simulatorapi/simapi/simapi/simdata.h"
|
||||||
#include "../simulatorapi/simapi/simapi/simmapper.h"
|
#include "../simulatorapi/simapi/simapi/simmapper.h"
|
||||||
#include "../slog/slog.h"
|
#include "../slog/slog.h"
|
||||||
|
|
@ -252,15 +249,11 @@ void looprun(MonocoqueSettings* ms, loop_data* f, SimData* simdata)
|
||||||
f->simdevices = malloc(f->numdevices * sizeof(SimDevice));
|
f->simdevices = malloc(f->numdevices * sizeof(SimDevice));
|
||||||
int initdevices = devinit(f->simdevices, configureddevices, ds, ms);
|
int initdevices = devinit(f->simdevices, configureddevices, ds, ms);
|
||||||
|
|
||||||
|
for( int i = 0; i < configureddevices; i++)
|
||||||
for(int d = 0; d < 10; d++)
|
|
||||||
{
|
{
|
||||||
monocoque_serial_devices[d].open = false;
|
settingsfree(ds[i]);
|
||||||
monocoque_serial_devices[d].openfail = false;
|
|
||||||
monocoque_serial_devices[d].busy = false;
|
|
||||||
monocoque_serial_devices[d].refs = 0;
|
|
||||||
}
|
}
|
||||||
|
free(ds);
|
||||||
|
|
||||||
int numdevices = f->numdevices;
|
int numdevices = f->numdevices;
|
||||||
SimDevice* devices = f->simdevices;
|
SimDevice* devices = f->simdevices;
|
||||||
|
|
@ -287,12 +280,7 @@ void looprun(MonocoqueSettings* ms, loop_data* f, SimData* simdata)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
for( i = 0; i < configureddevices; i++)
|
|
||||||
{
|
|
||||||
settingsfree(ds[i]);
|
|
||||||
}
|
|
||||||
free(ds);
|
|
||||||
doui = false;
|
doui = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -361,13 +349,6 @@ void shmdatamapcallback(uv_timer_t* handle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sleep(1);
|
sleep(1);
|
||||||
for(int d = 0; d < 10; d++)
|
|
||||||
{
|
|
||||||
if(monocoque_serial_devices[d].portname != NULL)
|
|
||||||
{
|
|
||||||
free(monocoque_serial_devices[d].portname);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int x = 0; x < numdevices; x++)
|
for (int x = 0; x < numdevices; x++)
|
||||||
{
|
{
|
||||||
if (devices[x].initialized == true)
|
if (devices[x].initialized == true)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue