#include "RadioCalibrationData.h" RadioCalibrationData::RadioCalibrationData() { data = new QVector<QVector<uint16_t> >(6); (*data).insert(AILERON, QVector<uint16_t>(3)); (*data).insert(ELEVATOR, QVector<uint16_t>(3)); (*data).insert(RUDDER, QVector<uint16_t>(3)); (*data).insert(GYRO, QVector<uint16_t>(2)); (*data).insert(PITCH, QVector<uint16_t>(5)); (*data).insert(THROTTLE, QVector<uint16_t>(5)); } RadioCalibrationData::RadioCalibrationData(const QVector<uint16_t> &aileron, const QVector<uint16_t> &elevator, const QVector<uint16_t> &rudder, const QVector<uint16_t> &gyro, const QVector<uint16_t> &pitch, const QVector<uint16_t> &throttle) { data = new QVector<QVector<uint16_t> >(); (*data) << aileron << elevator << rudder << gyro << pitch << throttle; } RadioCalibrationData::RadioCalibrationData(const RadioCalibrationData &other) :QObject() { data = new QVector<QVector<uint16_t> >(*other.data); } RadioCalibrationData::~RadioCalibrationData() { delete data; } const uint16_t* RadioCalibrationData::operator [](int i) const { if (i < data->size()) { return (*data)[i].constData(); } return NULL; } const QVector<uint16_t>& RadioCalibrationData::operator ()(const int i) const throw(std::out_of_range) { if ((i < data->size()) && (i >=0)) { return (*data)[i]; } throw std::out_of_range("Invalid channel index"); } QString RadioCalibrationData::toString(RadioElement element) const { QString s; foreach (float f, (*data)[element]) { s += QString::number(f) + ", "; } return s.mid(0, s.length()-2); }