mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-25 01:05:08 +03:00
Move getElementName to helpers and move timerdata to own files
This commit is contained in:
parent
f8bd7b7fb8
commit
110e1a5fc7
11 changed files with 159 additions and 83 deletions
|
@ -23,11 +23,13 @@ set(firmwares_SRCS
|
||||||
rawswitch.cpp
|
rawswitch.cpp
|
||||||
sensordata.cpp
|
sensordata.cpp
|
||||||
telem_data.cpp
|
telem_data.cpp
|
||||||
|
timerdata.cpp
|
||||||
afhds3.cpp
|
afhds3.cpp
|
||||||
ersky9x/ersky9xeeprom.cpp
|
ersky9x/ersky9xeeprom.cpp
|
||||||
ersky9x/ersky9xinterface.cpp
|
ersky9x/ersky9xinterface.cpp
|
||||||
opentx/opentxeeprom.cpp
|
opentx/opentxeeprom.cpp
|
||||||
opentx/opentxinterface.cpp
|
opentx/opentxinterface.cpp
|
||||||
|
datahelpers.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
string(REPLACE ".cpp" ".h" firmwares_HDRS "${firmwares_SRCS}")
|
string(REPLACE ".cpp" ".h" firmwares_HDRS "${firmwares_SRCS}")
|
||||||
|
@ -35,7 +37,6 @@ string(REPLACE ".cpp" ".h" firmwares_HDRS "${firmwares_SRCS}")
|
||||||
list(APPEND firmwares_HDRS
|
list(APPEND firmwares_HDRS
|
||||||
eepromimportexport.h
|
eepromimportexport.h
|
||||||
moduledata.h
|
moduledata.h
|
||||||
helpersdata.h
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(firmwares_QT
|
set(firmwares_QT
|
||||||
|
|
31
companion/src/firmwares/datahelpers.cpp
Normal file
31
companion/src/firmwares/datahelpers.cpp
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) OpenTX
|
||||||
|
*
|
||||||
|
* Based on code named
|
||||||
|
* th9x - http://code.google.com/p/th9x
|
||||||
|
* er9x - http://code.google.com/p/er9x
|
||||||
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
|
*
|
||||||
|
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "datahelpers.h"
|
||||||
|
|
||||||
|
QString DataHelpers::getElementName(const QString & prefix, const unsigned int index, const char * name, const bool padding)
|
||||||
|
{
|
||||||
|
QString result = prefix;
|
||||||
|
result.append(padding ? QString("%1").arg(index, 2, 10, QChar('0')) : QString("%1").arg(index));
|
||||||
|
if (name && QString(name).trimmed().length() > 0)
|
||||||
|
result.append(":" + QString(name).trimmed());
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
|
@ -24,8 +24,6 @@
|
||||||
|
|
||||||
class FieldRange
|
class FieldRange
|
||||||
{
|
{
|
||||||
Q_DECLARE_TR_FUNCTIONS(FieldRange)
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FieldRange():
|
FieldRange():
|
||||||
decimals(0),
|
decimals(0),
|
||||||
|
@ -48,3 +46,9 @@ class FieldRange
|
||||||
QString prefix;
|
QString prefix;
|
||||||
QString unit;
|
QString unit;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace DataHelpers
|
||||||
|
{
|
||||||
|
QString getElementName(const QString & prefix, const unsigned int index, const char * name = 0, const bool padding = false);
|
||||||
|
|
||||||
|
}
|
|
@ -27,31 +27,6 @@
|
||||||
#include "helpers.h"
|
#include "helpers.h"
|
||||||
#include "adjustmentreference.h"
|
#include "adjustmentreference.h"
|
||||||
|
|
||||||
/*
|
|
||||||
* TimerData
|
|
||||||
*/
|
|
||||||
|
|
||||||
void TimerData::convert(RadioDataConversionState & cstate)
|
|
||||||
{
|
|
||||||
cstate.setComponent(tr("TMR"), 1);
|
|
||||||
cstate.setSubComp(tr("Timer %1").arg(cstate.subCompIdx + 1));
|
|
||||||
mode.convert(cstate);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TimerData::isEmpty()
|
|
||||||
{
|
|
||||||
return (mode == RawSwitch(SWITCH_TYPE_TIMER_MODE, 0) && name[0] == '\0' && minuteBeep == 0 && countdownBeep == COUNTDOWN_SILENT && val == 0 && persistent == 0 /*&& pvalue == 0*/);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString TimerData::nameToString(int index) const
|
|
||||||
{
|
|
||||||
return RadioData::getElementName(tr("TMR", "as in Timer"), index + 1, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ModelData
|
|
||||||
*/
|
|
||||||
|
|
||||||
ModelData::ModelData()
|
ModelData::ModelData()
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "output_data.h"
|
#include "output_data.h"
|
||||||
#include "sensordata.h"
|
#include "sensordata.h"
|
||||||
#include "telem_data.h"
|
#include "telem_data.h"
|
||||||
|
#include "timerdata.h"
|
||||||
|
|
||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
|
|
||||||
|
@ -55,35 +56,6 @@ class RSSIAlarmData {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define TIMER_NAME_LEN 8
|
|
||||||
|
|
||||||
class TimerData {
|
|
||||||
Q_DECLARE_TR_FUNCTIONS(TimerData)
|
|
||||||
|
|
||||||
public:
|
|
||||||
enum CountDownMode {
|
|
||||||
COUNTDOWN_SILENT,
|
|
||||||
COUNTDOWN_BEEPS,
|
|
||||||
COUNTDOWN_VOICE,
|
|
||||||
COUNTDOWN_HAPTIC
|
|
||||||
};
|
|
||||||
TimerData() { clear(); }
|
|
||||||
RawSwitch mode;
|
|
||||||
char name[TIMER_NAME_LEN+1];
|
|
||||||
bool minuteBeep;
|
|
||||||
unsigned int countdownBeep;
|
|
||||||
unsigned int val;
|
|
||||||
unsigned int persistent;
|
|
||||||
int countdownStart;
|
|
||||||
unsigned int direction;
|
|
||||||
int pvalue;
|
|
||||||
void clear() { memset(reinterpret_cast<void *>(this), 0, sizeof(TimerData)); mode = RawSwitch(SWITCH_TYPE_TIMER_MODE, 0); }
|
|
||||||
void convert(RadioDataConversionState & cstate);
|
|
||||||
bool isEmpty();
|
|
||||||
bool isModeOff() { return mode == RawSwitch(SWITCH_TYPE_TIMER_MODE, 0); }
|
|
||||||
QString nameToString(int index) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CPN_MAX_SCRIPTS 9
|
#define CPN_MAX_SCRIPTS 9
|
||||||
#define CPN_MAX_SCRIPT_INPUTS 10
|
#define CPN_MAX_SCRIPT_INPUTS 10
|
||||||
class ScriptData {
|
class ScriptData {
|
||||||
|
|
|
@ -22,23 +22,6 @@
|
||||||
#include "radiodataconversionstate.h"
|
#include "radiodataconversionstate.h"
|
||||||
#include "eeprominterface.h"
|
#include "eeprominterface.h"
|
||||||
|
|
||||||
// static
|
|
||||||
QString RadioData::getElementName(const QString & prefix, unsigned int index, const char * name, bool padding)
|
|
||||||
{
|
|
||||||
QString result = prefix;
|
|
||||||
if (padding)
|
|
||||||
result += QString("%1").arg(index, 2, 10, QChar('0'));
|
|
||||||
else
|
|
||||||
result += QString("%1").arg(index);
|
|
||||||
if (name) {
|
|
||||||
QString trimmed = QString(name).trimmed();
|
|
||||||
if (trimmed.length() > 0) {
|
|
||||||
result += ":" + QString(name).trimmed();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
RadioData::RadioData()
|
RadioData::RadioData()
|
||||||
{
|
{
|
||||||
models.resize(getCurrentFirmware()->getCapability(Models));
|
models.resize(getCurrentFirmware()->getCapability(Models));
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
#ifndef _RADIODATA_H_
|
#pragma once
|
||||||
#define _RADIODATA_H_
|
|
||||||
|
|
||||||
#include "generalsettings.h"
|
#include "generalsettings.h"
|
||||||
#include "modeldata.h"
|
#include "modeldata.h"
|
||||||
|
|
||||||
|
#include "datahelpers.h" // required for getElementName
|
||||||
|
|
||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
|
|
||||||
class RadioDataConversionState;
|
class RadioDataConversionState;
|
||||||
|
@ -32,10 +33,10 @@ class RadioData {
|
||||||
void fixModelFilenames();
|
void fixModelFilenames();
|
||||||
QString getNextModelFilename();
|
QString getNextModelFilename();
|
||||||
|
|
||||||
static QString getElementName(const QString & prefix, unsigned int index, const char * name = 0, bool padding = false);
|
// leave here until all calls repointed
|
||||||
|
static QString getElementName(const QString & prefix, unsigned int index, const char * name = 0, bool padding = false)
|
||||||
|
{ return DataHelpers::getElementName(prefix, index, name, padding); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void fixModelFilename(unsigned int index);
|
void fixModelFilename(unsigned int index);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _RADIODATA_H_
|
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sensordata.h"
|
#include "sensordata.h"
|
||||||
|
|
||||||
#include "radiodata.h"
|
|
||||||
#include "modeldata.h"
|
#include "modeldata.h"
|
||||||
#include "eeprominterface.h"
|
#include "eeprominterface.h"
|
||||||
#include "compounditemmodels.h"
|
#include "compounditemmodels.h"
|
||||||
|
@ -35,7 +33,7 @@ void SensorData::updateUnit()
|
||||||
|
|
||||||
QString SensorData::nameToString(int index) const
|
QString SensorData::nameToString(int index) const
|
||||||
{
|
{
|
||||||
return RadioData::getElementName(tr("TELE"), index + 1, label);
|
return DataHelpers::getElementName(tr("TELE"), index + 1, label);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString SensorData::getOrigin(const ModelData * model) const
|
QString SensorData::getOrigin(const ModelData * model) const
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "helpersdata.h"
|
#include "datahelpers.h"
|
||||||
|
|
||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
|
|
||||||
|
|
50
companion/src/firmwares/timerdata.cpp
Normal file
50
companion/src/firmwares/timerdata.cpp
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) OpenTX
|
||||||
|
*
|
||||||
|
* Based on code named
|
||||||
|
* th9x - http://code.google.com/p/th9x
|
||||||
|
* er9x - http://code.google.com/p/er9x
|
||||||
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
|
*
|
||||||
|
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "timerdata.h"
|
||||||
|
#include "radiodataconversionstate.h"
|
||||||
|
|
||||||
|
void TimerData::convert(RadioDataConversionState & cstate)
|
||||||
|
{
|
||||||
|
cstate.setComponent(tr("TMR"), 1);
|
||||||
|
cstate.setSubComp(tr("Timer %1").arg(cstate.subCompIdx + 1));
|
||||||
|
mode.convert(cstate);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimerData::clear()
|
||||||
|
{
|
||||||
|
memset(reinterpret_cast<void *>(this), 0, sizeof(TimerData));
|
||||||
|
mode = RawSwitch(SWITCH_TYPE_TIMER_MODE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TimerData::isEmpty()
|
||||||
|
{
|
||||||
|
return (mode == RawSwitch(SWITCH_TYPE_TIMER_MODE, 0) && name[0] == '\0' && minuteBeep == 0 && countdownBeep == COUNTDOWN_SILENT && val == 0 && persistent == 0 /*&& pvalue == 0*/);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TimerData::isModeOff()
|
||||||
|
{
|
||||||
|
return mode == RawSwitch(SWITCH_TYPE_TIMER_MODE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString TimerData::nameToString(int index) const
|
||||||
|
{
|
||||||
|
return DataHelpers::getElementName(tr("TMR", "as in Timer"), index + 1, name);
|
||||||
|
}
|
61
companion/src/firmwares/timerdata.h
Normal file
61
companion/src/firmwares/timerdata.h
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) OpenTX
|
||||||
|
*
|
||||||
|
* Based on code named
|
||||||
|
* th9x - http://code.google.com/p/th9x
|
||||||
|
* er9x - http://code.google.com/p/er9x
|
||||||
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
|
*
|
||||||
|
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "rawswitch.h"
|
||||||
|
#include "datahelpers.h"
|
||||||
|
|
||||||
|
#include <QtCore>
|
||||||
|
|
||||||
|
class RadioDataConversionState;
|
||||||
|
|
||||||
|
#define TIMER_NAME_LEN 8
|
||||||
|
|
||||||
|
class TimerData {
|
||||||
|
Q_DECLARE_TR_FUNCTIONS(TimerData)
|
||||||
|
|
||||||
|
public:
|
||||||
|
enum CountDownMode {
|
||||||
|
COUNTDOWN_SILENT,
|
||||||
|
COUNTDOWN_BEEPS,
|
||||||
|
COUNTDOWN_VOICE,
|
||||||
|
COUNTDOWN_HAPTIC,
|
||||||
|
COUNTDOWN_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
TimerData() { clear(); }
|
||||||
|
|
||||||
|
RawSwitch mode;
|
||||||
|
char name[TIMER_NAME_LEN + 1];
|
||||||
|
bool minuteBeep;
|
||||||
|
unsigned int countdownBeep;
|
||||||
|
unsigned int val;
|
||||||
|
unsigned int persistent;
|
||||||
|
int countdownStart;
|
||||||
|
unsigned int direction;
|
||||||
|
int pvalue;
|
||||||
|
|
||||||
|
void convert(RadioDataConversionState & cstate);
|
||||||
|
void clear();
|
||||||
|
bool isEmpty();
|
||||||
|
bool isModeOff();
|
||||||
|
QString nameToString(int index) const;
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue