MODULE SUBTYPE lost after watchdog reset
[opentx.git] / radio / src / storage / datacopy.cpp
blob6f307551d75f9110c4e578299b4c7dc8848c7e60
1 //This file was auto-generated by generate_datacopy.py script on Fri Nov 15 16:54:14 2019. Do not edit this file!
5 template <class A, class B>
6 void copyCurveRef(A * dest, B * src)
8 dest->type = src->type;
9 dest->value = src->value;
12 template <class A, class B>
13 void copyMixData(A * dest, B * src)
15 dest->weight = src->weight;
16 dest->destCh = src->destCh;
17 dest->srcRaw = src->srcRaw;
18 dest->carryTrim = src->carryTrim;
19 dest->mixWarn = src->mixWarn;
20 dest->mltpx = src->mltpx;
21 dest->spare = src->spare;
22 dest->offset = src->offset;
23 dest->swtch = src->swtch;
24 dest->flightModes = src->flightModes;
25 copyCurveRef(&dest->curve, &src->curve);
26 dest->delayUp = src->delayUp;
27 dest->delayDown = src->delayDown;
28 dest->speedUp = src->speedUp;
29 dest->speedDown = src->speedDown;
32 template <class A, class B>
33 void copyExpoData(A * dest, B * src)
35 dest->mode = src->mode;
36 dest->scale = src->scale;
37 dest->srcRaw = src->srcRaw;
38 dest->carryTrim = src->carryTrim;
39 dest->chn = src->chn;
40 dest->swtch = src->swtch;
41 dest->flightModes = src->flightModes;
42 dest->weight = src->weight;
43 dest->spare = src->spare;
44 dest->offset = src->offset;
45 copyCurveRef(&dest->curve, &src->curve);
48 template <class A, class B>
49 void copyLimitData(A * dest, B * src)
51 dest->min = src->min;
52 dest->max = src->max;
53 dest->ppmCenter = src->ppmCenter;
54 dest->offset = src->offset;
55 dest->symetrical = src->symetrical;
56 dest->revert = src->revert;
57 dest->spare = src->spare;
58 dest->curve = src->curve;
61 template <class A, class B>
62 void copyLogicalSwitchData(A * dest, B * src)
64 dest->func = src->func;
65 dest->v1 = src->v1;
66 dest->v3 = src->v3;
67 dest->andsw = src->andsw;
68 dest->andswtype = src->andswtype;
69 dest->spare = src->spare;
70 dest->v2 = src->v2;
71 dest->delay = src->delay;
72 dest->duration = src->duration;
75 template <class A, class B>
76 void copyCustomFunctionData(A * dest, B * src)
78 dest->swtch = src->swtch;
79 dest->func = src->func;
80 copyCustomFunctionData_all(&dest->all, &src->all);
81 dest->active = src->active;
84 template <class A, class B>
85 void copytrim_t(A * dest, B * src)
87 dest->value = src->value;
88 dest->mode = src->mode;
91 template <class A, class B>
92 void copyFlightModeData(A * dest, B * src)
94 for (int i=0; i<6; i++) {
95 copytrim_t(&dest->trim[i], &src->trim[i]);
97 dest->swtch = src->swtch;
98 dest->spare = src->spare;
99 dest->fadeIn = src->fadeIn;
100 dest->fadeOut = src->fadeOut;
101 memcpy(dest->gvars, src->gvars, sizeof(dest->gvars));
104 template <class A, class B>
105 void copyCurveData(A * dest, B * src)
107 dest->type = src->type;
108 dest->smooth = src->smooth;
109 dest->points = src->points;
112 template <class A, class B>
113 void copyGVarData(A * dest, B * src)
115 dest->min = src->min;
116 dest->max = src->max;
117 dest->popup = src->popup;
118 dest->prec = src->prec;
119 dest->unit = src->unit;
120 dest->spare = src->spare;
123 template <class A, class B>
124 void copyTimerData(A * dest, B * src)
126 dest->mode = src->mode;
127 dest->start = src->start;
128 dest->value = src->value;
129 dest->countdownBeep = src->countdownBeep;
130 dest->minuteBeep = src->minuteBeep;
131 dest->persistent = src->persistent;
132 dest->countdownStart = src->countdownStart;
133 dest->direction = src->direction;
136 template <class A, class B>
137 void copySwashRingData(A * dest, B * src)
139 dest->type = src->type;
140 dest->value = src->value;
141 dest->collectiveSource = src->collectiveSource;
142 dest->aileronSource = src->aileronSource;
143 dest->elevatorSource = src->elevatorSource;
144 dest->collectiveWeight = src->collectiveWeight;
145 dest->aileronWeight = src->aileronWeight;
146 dest->elevatorWeight = src->elevatorWeight;
149 template <class A, class B>
150 void copyScriptData(A * dest, B * src)
152 memcpy(dest->file, src->file, sizeof(dest->file));
153 memcpy(dest->name, src->name, sizeof(dest->name));
154 memcpy(dest->inputs, src->inputs, sizeof(dest->inputs));
157 template <class A, class B>
158 void copyRssiAlarmData(A * dest, B * src)
160 dest->disabled = src->disabled;
161 dest->spare = src->spare;
162 dest->warning = src->warning;
163 dest->spare2 = src->spare2;
164 dest->critical = src->critical;
167 template <class A, class B>
168 void copyVarioData(A * dest, B * src)
170 dest->source = src->source;
171 dest->centerSilent = src->centerSilent;
172 dest->centerMax = src->centerMax;
173 dest->centerMin = src->centerMin;
174 dest->min = src->min;
175 dest->max = src->max;
178 template <class A, class B>
179 void copyTelemetrySensor(A * dest, B * src)
181 dest->id = src->id;
182 copyTelemetrySensor_frskyInstance(&dest->frskyInstance, &src->frskyInstance);
183 memcpy(dest->label, src->label, sizeof(dest->label));
184 dest->subId = src->subId;
185 dest->type = src->type;
186 dest->spare1 = src->spare1;
187 dest->unit = src->unit;
188 dest->prec = src->prec;
189 dest->autoOffset = src->autoOffset;
190 dest->filter = src->filter;
191 dest->logs = src->logs;
192 dest->persistent = src->persistent;
193 dest->onlyPositive = src->onlyPositive;
194 dest->spare2 = src->spare2;
195 dest->param = src->param;
198 template <class A, class B>
199 void copyTrainerModuleData(A * dest, B * src)
201 dest->mode = src->mode;
202 dest->spare1 = src->spare1;
203 dest->channelsStart = src->channelsStart;
204 dest->channelsCount = src->channelsCount;
205 dest->frameLength = src->frameLength;
206 dest->delay = src->delay;
207 dest->pulsePol = src->pulsePol;
208 dest->spare2 = src->spare2;
211 template <class A, class B>
212 void copyModuleData(A * dest, B * src)
214 dest->type = src->type;
215 dest->rfProtocol = src->rfProtocol;
216 dest->channelsStart = src->channelsStart;
217 dest->channelsCount = src->channelsCount;
218 dest->failsafeMode = src->failsafeMode;
219 dest->subType = src->subType;
220 dest->invertedSerial = src->invertedSerial;
221 copyModuleData_ppm(&dest->ppm, &src->ppm);
224 template <class A, class B>
225 void copyModelHeader(A * dest, B * src)
227 memcpy(dest->name, src->name, sizeof(dest->name));
228 memcpy(dest->modelId, src->modelId, sizeof(dest->modelId));
231 template <class A, class B>
232 void copyCustomScreenData(A * dest, B * src)
234 memcpy(dest->layoutName, src->layoutName, sizeof(dest->layoutName));
235 dest->layoutData = src->layoutData;
238 template <class A, class B>
239 void copyModelData(A * dest, B * src)
241 copyModelHeader(&dest->header, &src->header);
242 for (int i=0; i<3; i++) {
243 copyTimerData(&dest->timers[i], &src->timers[i]);
245 dest->telemetryProtocol = src->telemetryProtocol;
246 dest->thrTrim = src->thrTrim;
247 dest->noGlobalFunctions = src->noGlobalFunctions;
248 dest->displayTrims = src->displayTrims;
249 dest->ignoreSensorIds = src->ignoreSensorIds;
250 dest->trimInc = src->trimInc;
251 dest->disableThrottleWarning = src->disableThrottleWarning;
252 dest->displayChecklist = src->displayChecklist;
253 dest->extendedLimits = src->extendedLimits;
254 dest->extendedTrims = src->extendedTrims;
255 dest->throttleReversed = src->throttleReversed;
256 dest->beepANACenter = src->beepANACenter;
257 for (int i=0; i<64; i++) {
258 copyMixData(&dest->mixData[i], &src->mixData[i]);
260 for (int i=0; i<32; i++) {
261 copyLimitData(&dest->limitData[i], &src->limitData[i]);
263 for (int i=0; i<64; i++) {
264 copyExpoData(&dest->expoData[i], &src->expoData[i]);
266 for (int i=0; i<32; i++) {
267 copyCurveData(&dest->curves[i], &src->curves[i]);
269 memcpy(dest->points, src->points, sizeof(dest->points));
270 for (int i=0; i<64; i++) {
271 copyLogicalSwitchData(&dest->logicalSw[i], &src->logicalSw[i]);
273 for (int i=0; i<64; i++) {
274 copyCustomFunctionData(&dest->customFn[i], &src->customFn[i]);
276 copySwashRingData(&dest->swashR, &src->swashR);
277 for (int i=0; i<9; i++) {
278 copyFlightModeData(&dest->flightModeData[i], &src->flightModeData[i]);
280 for (int i=0; i<9; i++) {
281 copyGVarData(&dest->gvars[i], &src->gvars[i]);
283 for (int i=0; i<2; i++) {
284 copyModuleData(&dest->moduleData[i], &src->moduleData[i]);
286 memcpy(dest->failsafeChannels, src->failsafeChannels, sizeof(dest->failsafeChannels));
287 copyTrainerModuleData(&dest->trainerData, &src->trainerData);
288 memcpy(dest->modelRegistrationID, src->modelRegistrationID, sizeof(dest->modelRegistrationID));
291 template <class A, class B>
292 void copyStepsCalibData(A * dest, B * src)
294 dest->count = src->count;
295 memcpy(dest->steps, src->steps, sizeof(dest->steps));
298 template <class A, class B>
299 void copyCalibData(A * dest, B * src)
301 dest->mid = src->mid;
302 dest->spanNeg = src->spanNeg;
303 dest->spanPos = src->spanPos;
306 template <class A, class B>
307 void copyTrainerMix(A * dest, B * src)
309 dest->srcChn = src->srcChn;
310 dest->mode = src->mode;
311 dest->studWeight = src->studWeight;
314 template <class A, class B>
315 void copyTrainerData(A * dest, B * src)
317 memcpy(dest->calib, src->calib, sizeof(dest->calib));
320 template <class A, class B>
321 void copyRadioData(A * dest, B * src)
323 for (int i=0; i<15; i++) {
324 copyCalibData(&dest->calib[i], &src->calib[i]);
326 dest->backlightMode = src->backlightMode;
327 dest->antennaMode = src->antennaMode;
328 dest->disableRtcWarning = src->disableRtcWarning;
329 dest->spare1 = src->spare1;
330 dest->stickMode = src->stickMode;
331 dest->timezone = src->timezone;
332 dest->adjustRTC = src->adjustRTC;
333 dest->telemetryBaudrate = src->telemetryBaudrate;
334 dest->splashSpares = src->splashSpares;
335 dest->hapticMode = src->hapticMode;
336 dest->switchesDelay = src->switchesDelay;
337 for (int i=0; i<64; i++) {
338 copyCustomFunctionData(&dest->customFn[i], &src->customFn[i]);
340 dest->switchConfig = src->switchConfig;
341 dest->potsConfig = src->potsConfig;
342 dest->slidersConfig = src->slidersConfig;
343 memcpy(dest->ownerRegistrationID, src->ownerRegistrationID, sizeof(dest->ownerRegistrationID));
346 template <class A, class B>
347 void copyCustomFunctionData_all(A * dest, B * src)
349 dest->val = src->val;
350 dest->mode = src->mode;
351 dest->param = src->param;
354 template <class A, class B>
355 void copyTelemetrySensor_frskyInstance(A * dest, B * src)
357 dest->physID = src->physID;
358 dest->rxIndex = src->rxIndex;
361 template <class A, class B>
362 void copyModuleData_ppm(A * dest, B * src)
364 dest->delay = src->delay;
365 dest->pulsePol = src->pulsePol;
366 dest->outputType = src->outputType;
367 dest->frameLength = src->frameLength;