comparison modulator.c @ 20:6aaa9658df1e

Don't mark pulse active on slew up/down.
author Daniel O'Connor <darius@dons.net.au>
date Tue, 25 Feb 2025 15:46:03 +1030
parents 2e14ccd1338a
children 3c713073dd0c
comparison
equal deleted inserted replaced
19:2e14ccd1338a 20:6aaa9658df1e
223 memset(pulse_ctrl, 0, datalen); 223 memset(pulse_ctrl, 0, datalen);
224 idx = 0; 224 idx = 0;
225 225
226 // Up slew 226 // Up slew
227 for (uint16_t i = 0; i < slew1; i++) { 227 for (uint16_t i = 0; i < slew1; i++) {
228 ctrl[idx] |= PACTIVE;
229 data[idx++] = qtoi(qdiv(qmul(qint(dcofs), qint(i)), qint(slew1))); 228 data[idx++] = qtoi(qdiv(qmul(qint(dcofs), qint(i)), qint(slew1)));
230 } 229 }
231 for (uint16_t c = 0; c < ncode; c++) { 230 for (uint16_t c = 0; c < ncode; c++) {
232 if (c == 0) 231 if (c == 0)
233 bit1startup = idx; 232 bit1startup = idx;
282 } 281 }
283 } 282 }
284 283
285 // Down slew 284 // Down slew
286 for (uint16_t i = 0; i < slew2 + 1; i++) { 285 for (uint16_t i = 0; i < slew2 + 1; i++) {
287 ctrl[idx] |= PACTIVE;
288 data[idx++] = qtoi(qdiv(qmul(qint(dcofs), qint(slew2 - i)), qint(slew2))); 286 data[idx++] = qtoi(qdiv(qmul(qint(dcofs), qint(slew2 - i)), qint(slew2)));
289 } 287 }
290 288
291 data[idx++] = 0; 289 data[idx++] = 0;
292 ctrl[idx] = 0; 290 ctrl[idx] = 0;