[GPS] Fix some uninitialized issues

This commit is contained in:
TD-er
2019-02-11 00:56:16 +01:00
parent 5e798fa3a9
commit ec345b1dcc
2 changed files with 13 additions and 11 deletions
+11 -9
View File
@@ -32,7 +32,7 @@
// #define P082_SEND_GPS_TO_LOG
struct P082_data_struct : public PluginTaskData_base {
P082_data_struct() {}
P082_data_struct() : gps(nullptr), P082_easySerial(nullptr) {}
~P082_data_struct() { reset(); }
@@ -169,15 +169,15 @@ boolean Plugin_082(byte function, struct EventStruct *event, String &string) {
case PLUGIN_GET_DEVICENAME: {
string = F(PLUGIN_NAME_082);
break;
}
}
case PLUGIN_GET_DEVICEVALUENAMES: {
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[0], PSTR(PLUGIN_VALUENAME1_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[2], PSTR(PLUGIN_VALUENAME3_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[3], PSTR(PLUGIN_VALUENAME4_082));
break;
}
case PLUGIN_GET_DEVICEVALUENAMES: {
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[0], PSTR(PLUGIN_VALUENAME1_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[2], PSTR(PLUGIN_VALUENAME3_082));
strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[3], PSTR(PLUGIN_VALUENAME4_082));
break;
}
case PLUGIN_GET_DEVICEGPIONAMES: {
serialHelper_getGpioNames(event, false, true); // TX optional
@@ -250,6 +250,8 @@ boolean Plugin_082(byte function, struct EventStruct *event, String &string) {
// pinMode(pps_pin, INPUT_PULLUP);
attachInterrupt(pps_pin, Plugin_082_interrupt, RISING);
}
} else {
clearPluginTaskData(event->TaskIndex);
}
break;
}
+2 -2
View File
@@ -68,7 +68,7 @@ void clearPluginTaskData(byte taskIndex) {
void initPluginTaskData(byte taskIndex, PluginTaskData_base* data) {
clearPluginTaskData(taskIndex);
if (taskIndex < TASKS_MAX) {
if (taskIndex < TASKS_MAX && Settings.TaskDeviceEnabled[taskIndex]) {
Plugin_task_data[taskIndex] = data;
Plugin_task_data[taskIndex]->_taskdata_plugin_id = Task_id_to_Plugin_id[taskIndex];
}
@@ -79,7 +79,7 @@ PluginTaskData_base* getPluginTaskData(byte taskIndex) {
if (taskIndex >= TASKS_MAX) {
return nullptr;
}
if (Plugin_task_data[taskIndex]->_taskdata_plugin_id == Task_id_to_Plugin_id[taskIndex]) {
if (Plugin_task_data[taskIndex] != nullptr && Plugin_task_data[taskIndex]->_taskdata_plugin_id == Task_id_to_Plugin_id[taskIndex]) {
return Plugin_task_data[taskIndex];
}
return nullptr;