stared implementation
This commit is contained in:
parent
bfa49cf226
commit
ce0f355f88
@ -0,0 +1,83 @@
|
||||
QT += core
|
||||
QT += serialport network
|
||||
|
||||
TARGET = ATBDownloadDCFirmware
|
||||
|
||||
VERSION="0.1.0"
|
||||
win32 {
|
||||
BUILD_DATE=$$system("date /t")
|
||||
BUILD_TIME=$$system("time /t")
|
||||
} else {
|
||||
BUILD_DATE=$$system("date +%d-%m-%y")
|
||||
BUILD_TIME=$$system("date +%H:%M:%S")
|
||||
}
|
||||
|
||||
GIT_COMMIT=$$system("git log -1 --format=oneline | cut -d' ' -f1")
|
||||
|
||||
EXTENDED_VERSION="$${VERSION}-$${GIT_COMMIT}"
|
||||
|
||||
CONFIG += c++17
|
||||
|
||||
DEFINES+=APP_VERSION=\\\"$$VERSION\\\"
|
||||
DEFINES+=APP_BUILD_DATE=\\\"$$BUILD_DATE\\\"
|
||||
DEFINES+=APP_BUILD_TIME=\\\"$$BUILD_TIME\\\"
|
||||
DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
|
||||
|
||||
# keep comments, as /* fall through */
|
||||
QMAKE_CXXFLAGS += -C
|
||||
QMAKE_CXXFLAGS += -g
|
||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy -O
|
||||
|
||||
contains( CONFIG, PTU5 ) {
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
||||
CONFIG += link_pkgconfig
|
||||
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
||||
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||
ARCH = PTU5
|
||||
DEFINES+=PTU5
|
||||
}
|
||||
contains( CONFIG, PTU5_YOCTO ) {
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
||||
QMAKE_CXXFLAGS += -std=c++17 # for GCC >= 4.7
|
||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||
PTU5BASEPATH = /opt/devel/ptu5
|
||||
ARCH = PTU5
|
||||
DEFINES+=PTU5
|
||||
|
||||
# add qmqtt lib
|
||||
#LIBS += -lQt5Qmqtt
|
||||
}
|
||||
contains( CONFIG, DesktopLinux ) {
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
||||
lessThan(QT_MAJOR_VERSION, 5): CONFIG += extserialport
|
||||
# QMAKE_CC = ccache $$QMAKE_CC
|
||||
# QMAKE_CXX = ccache $$QMAKE_CXX
|
||||
QMAKE_CXXFLAGS += -std=c++17
|
||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||
linux-clang { QMAKE_CXXFLAGS += -Qunused-arguments }
|
||||
ARCH = DesktopLinux
|
||||
DEFINES+=DesktopLinux
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
tariff_json_template.cpp \
|
||||
tariff_json_parser.cpp
|
||||
|
||||
HEADERS += \
|
||||
tariff_json_template.h \
|
||||
tariff_json_parser.h
|
||||
|
||||
OTHER_FILES += \
|
||||
tariff.json \
|
||||
tariff.template.json
|
||||
|
||||
|
||||
##########################################################################################
|
||||
# for running program on target through QtCreator
|
||||
contains( CONFIG, PTU5 ) {
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/app/tools/atbupdate/
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
}
|
9
Utilities/main.cpp
Normal file
9
Utilities/main.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
Q_UNUSED(argc);
|
||||
Q_UNUSED(argv);
|
||||
|
||||
return 0;
|
||||
}
|
5770
Utilities/tariff.json
Normal file
5770
Utilities/tariff.json
Normal file
File diff suppressed because it is too large
Load Diff
5753
Utilities/tariff.template.json
Normal file
5753
Utilities/tariff.template.json
Normal file
File diff suppressed because it is too large
Load Diff
0
Utilities/tariff_json_parser.cpp
Normal file
0
Utilities/tariff_json_parser.cpp
Normal file
0
Utilities/tariff_json_parser.h
Normal file
0
Utilities/tariff_json_parser.h
Normal file
1031
Utilities/tariff_json_template.cpp
Normal file
1031
Utilities/tariff_json_template.cpp
Normal file
File diff suppressed because it is too large
Load Diff
277
Utilities/tariff_json_template.h
Normal file
277
Utilities/tariff_json_template.h
Normal file
@ -0,0 +1,277 @@
|
||||
#ifndef TARIFF_JSON_TEMPLATE_H_INCLUDED
|
||||
#define TARIFF_JSON_TEMPLATE_H_INCLUDED
|
||||
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonParseError>
|
||||
#include <QJsonValue>
|
||||
|
||||
|
||||
struct Tariff : public QJsonObject {
|
||||
QJsonValue m_project;
|
||||
QJsonValue m_version;
|
||||
QJsonValue m_date;
|
||||
QJsonValue m_committer;
|
||||
QJsonValue m_info;
|
||||
|
||||
struct TariffProduct : public QJsonObject {
|
||||
QJsonValue m_tariff_product_id;
|
||||
QJsonValue m_tariff_product_price_id;
|
||||
QJsonValue m_tariff_product_name;
|
||||
QJsonArray m_tariff_product_time_ranges;
|
||||
} m_tariff_product;
|
||||
|
||||
QJsonArray m_tariff_product_setting;
|
||||
|
||||
struct TariffProduct : public QJsonObject {
|
||||
QJsonValue m_tariff_accuracy_id;
|
||||
QJsonValue m_tariff_accuracy_label;
|
||||
QJsonValue m_tariff_accuracy_value;
|
||||
QJsonArray m_comment;
|
||||
} m_tariff_accuracy;
|
||||
|
||||
QJsonArray m_tariff_accuracy_setting;
|
||||
|
||||
struct TariffType : public QJsonObject {
|
||||
QJsonValue m_tariff_type_id;
|
||||
QJsonValue m_tariff_type_label;
|
||||
QJsonValue m_comment;
|
||||
} m_tariff_type;
|
||||
|
||||
QJsonArray m_tariff_type_setting;
|
||||
|
||||
struct TariffTimeBase : public QJsonObject {
|
||||
QJsonValue m_tariff_timebase_id;
|
||||
QJsonValue m_tariff_timebase_label;
|
||||
QJsonValue m_comment;
|
||||
} m_tariff_timebase;
|
||||
|
||||
QJsonArray m_tariff_timebase_setting;
|
||||
|
||||
struct TariffPriceCustomer : public QJsonObject {
|
||||
QJsonValue m_tariff_price_customer_id;
|
||||
QJsonValue m_tariff_price_customer_label;
|
||||
QJsonValue m_editable;
|
||||
QJsonValue m_comment;
|
||||
};
|
||||
|
||||
struct TariffConfig : public QJsonObject {
|
||||
QJsonValue m_tariff_config_id;
|
||||
QJsonValue m_tariff_config_label;
|
||||
QJsonValue m_tariff_config_accuracy;
|
||||
QJsonValue m_tariff_config_type;
|
||||
|
||||
struct TariffMinimalTime : public QJsonObject {
|
||||
QJsonValue m_value;
|
||||
QJsonValue m_editable;
|
||||
QJsonValue m_comment;
|
||||
} m_tariff_minimal_time;
|
||||
|
||||
struct TariffMaximalTime : public QJsonObject {
|
||||
QJsonValue m_value;
|
||||
QJsonValue m_editable;
|
||||
QJsonValue m_comment;
|
||||
} m_tariff_maximal_time;
|
||||
|
||||
struct TariffMinimalPrice : public QJsonObject {
|
||||
QJsonValue m_value;
|
||||
QJsonValue m_editable;
|
||||
QJsonValue m_comment;
|
||||
} m_minimal_price;
|
||||
|
||||
struct TariffMaximalPrice : public QJsonObject {
|
||||
QJsonValue m_value;
|
||||
QJsonValue m_editable;
|
||||
QJsonValue m_comment;
|
||||
} m_maximal_price;
|
||||
|
||||
QJsonValue m_tariff_config_time_base;
|
||||
QJsonValue m_tariff_config_carry_over;
|
||||
QJsonValue m_tariff_config_prepaid;
|
||||
};
|
||||
|
||||
struct TariffTimeRange : public QJsonObject {
|
||||
QJsonValue m_time_range_id;
|
||||
QJsonValue m_time_range_start;
|
||||
QJsonValue m_time_range_end;
|
||||
QJsonValue m_time_range_start_minute;
|
||||
QJsonValue m_time_range_end_minute;
|
||||
QJsonValue m_time_range_price_id;
|
||||
QJsonValue m_comment;
|
||||
} m_tariff_time_range;
|
||||
|
||||
QJsonArray m_tariff_time_range_setting;
|
||||
|
||||
struct TariffDateRange : public QJsonObject {
|
||||
QJsonValue m_date_range_id;
|
||||
QJsonValue m_date_range_label;
|
||||
QJsonValue m_date_range_from;
|
||||
};
|
||||
|
||||
QJsonArray m_tariff_time_range_setting;
|
||||
|
||||
struct TariffDayConfiguration : public QJsonObject {
|
||||
QJsonValue m_day_config_id;
|
||||
QJsonValue m_day_config_date_range;
|
||||
QJsonValue m_day_consfig_comment_date_range;
|
||||
QJsonArray m_day_config_product_ids;
|
||||
QJsonValue m_day_config_comment_product_ids;
|
||||
|
||||
struct : QJsonArray {
|
||||
struct : public QJsonObject {
|
||||
QJsonArray m_data;
|
||||
} m_day_time_ranges_short_time_parking;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonArray m_data;
|
||||
} m_day_time_ranges_day_ticket;
|
||||
} m_day_config_day_time_ranges;
|
||||
|
||||
};
|
||||
|
||||
struct TariffWeekDay : public QJsonObject {
|
||||
QJsonValue m_day_id;
|
||||
QJsonValue m_day_label;
|
||||
QJsonValue m_day_config_id;
|
||||
};
|
||||
|
||||
struct TariffHolidayDay : public QJsonObject {
|
||||
QJsonValue m_day_id;
|
||||
QJsonValue m_day_label;
|
||||
QJsonValue m_day_config_id;
|
||||
QJsonValue m_day_moveable;
|
||||
};
|
||||
|
||||
QJsonArray m_tariff_days_setting;
|
||||
};
|
||||
|
||||
#if 0
|
||||
|
||||
namespace ISMAS {
|
||||
|
||||
struct TransferData : public QJsonObject {
|
||||
struct : public QJsonObject {
|
||||
QJsonValue tariffId;
|
||||
QJsonValue group;
|
||||
QJsonValue zone;
|
||||
} device;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonValue state;
|
||||
QJsonValue uid;
|
||||
QJsonValue seq_tick_number;
|
||||
QJsonValue timestamp;
|
||||
QJsonValue userText;
|
||||
QJsonValue userTextType;
|
||||
} transaction;
|
||||
|
||||
struct : public QJsonObject {
|
||||
// TODO: check what is really used at the moment
|
||||
QJsonValue id; // unique article id
|
||||
QJsonValue name; // name
|
||||
QJsonValue price; // price in cent
|
||||
QJsonValue currency; //
|
||||
QJsonValue startTime; // start time
|
||||
QJsonValue endTime; // end time
|
||||
QJsonValue userText; // additional info
|
||||
QJsonValue parkingTime;
|
||||
QJsonValue printText;
|
||||
// QJsonValue discount;
|
||||
} item;
|
||||
|
||||
struct : public QJsonObject {
|
||||
struct : public QJsonObject {
|
||||
QJsonValue coins; // total amount of coins value
|
||||
// QJsonValue notes; // total amount of notes value
|
||||
QJsonValue overpaid; // in cent
|
||||
QJsonValue currency;
|
||||
QJsonValue change;
|
||||
} cash;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonValue cardNumber;
|
||||
QJsonValue value; // buchungsbetrag
|
||||
QJsonValue cardType;
|
||||
QJsonValue currency;
|
||||
QJsonValue tid;
|
||||
QJsonValue tresult;
|
||||
} card;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonValue cardNumber;
|
||||
QJsonValue cardType;
|
||||
QJsonValue value;
|
||||
QJsonValue valueOld;
|
||||
QJsonValue valueNew;
|
||||
QJsonValue time;
|
||||
QJsonValue timeOld;
|
||||
QJsonValue timeNew;
|
||||
} prePaidCard;
|
||||
} payment;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonValue delivery; // PRINT, OnlineTicket
|
||||
QJsonValue result; // SUCCESS, ERROR
|
||||
QJsonValue errorCode; // 0=OK, 1=...
|
||||
QJsonValue errorMsg;
|
||||
} result;
|
||||
};
|
||||
|
||||
|
||||
struct AccountData : public QJsonObject {
|
||||
struct : public QJsonObject {
|
||||
QJsonValue UID;
|
||||
QJsonValue ChangeNumber;
|
||||
QJsonValue Process; // Vorgang
|
||||
QJsonValue startDateTime;
|
||||
QJsonValue endDateTime;
|
||||
QJsonValue startHash;
|
||||
QJsonValue endHash;
|
||||
|
||||
struct : public QJsonObject {
|
||||
QJsonValue value; // coin value
|
||||
QJsonValue numberOfCoins; // number of coins
|
||||
QJsonValue currency;
|
||||
} coin;
|
||||
|
||||
} coinBox; // Münzkasse
|
||||
};
|
||||
|
||||
|
||||
struct EventData : public QJsonObject {
|
||||
struct : public QJsonObject {
|
||||
QJsonValue eventID;
|
||||
QJsonValue deviceName;
|
||||
QJsonValue reason;
|
||||
QJsonValue event;
|
||||
QJsonValue eventState;
|
||||
QJsonValue timeStamp;
|
||||
QJsonValue parameter;
|
||||
QJsonValue secondLevelInfo;
|
||||
} machineEvent; //
|
||||
};
|
||||
|
||||
struct StateData : public QJsonObject {
|
||||
QJsonValue Timestamp;
|
||||
QJsonArray HW_States;
|
||||
struct : public QJsonObject {
|
||||
QJsonValue name;
|
||||
QJsonValue value;
|
||||
QJsonValue unit;
|
||||
} machineState; //
|
||||
};
|
||||
|
||||
|
||||
enum class REQUEST : quint8 {
|
||||
NO_REQUEST,
|
||||
START,
|
||||
STOP,
|
||||
PING,
|
||||
SELF,
|
||||
PARAMETER
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // TARIFF_JSON_TEMPLATE_H_INCLUDED
|
Loading…
Reference in New Issue
Block a user