mirror of
https://github.com/ttrftech/NanoVNA.git
synced 2025-12-06 03:31:59 +01:00
add gcd division, change led blink
This commit is contained in:
parent
7b3b28f8af
commit
57efd8b7e7
16
main.c
16
main.c
|
|
@ -46,8 +46,9 @@ static THD_FUNCTION(Thread1, arg)
|
||||||
palSetPadMode(GPIOC, 13, PAL_MODE_OUTPUT_PUSHPULL);
|
palSetPadMode(GPIOC, 13, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
systime_t time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
|
systime_t time = 500;
|
||||||
palClearPad(GPIOC, 13);
|
if (serusbcfg.usbp->state != USB_ACTIVE)
|
||||||
|
palClearPad(GPIOC, 13);
|
||||||
chThdSleepMilliseconds(time);
|
chThdSleepMilliseconds(time);
|
||||||
palSetPad(GPIOC, 13);
|
palSetPad(GPIOC, 13);
|
||||||
chThdSleepMilliseconds(time);
|
chThdSleepMilliseconds(time);
|
||||||
|
|
@ -129,7 +130,8 @@ static void cmd_time(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
|
|
||||||
|
|
||||||
static const DACConfig dac1cfg1 = {
|
static const DACConfig dac1cfg1 = {
|
||||||
init: 2047U,
|
//init: 2047U,
|
||||||
|
init: 1922U,
|
||||||
datamode: DAC_DHRM_12BIT_RIGHT
|
datamode: DAC_DHRM_12BIT_RIGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -179,7 +181,7 @@ void i2s_end_callback(I2SDriver *i2sp, size_t offset, size_t n)
|
||||||
int16_t *p = &rx_buffer[offset];
|
int16_t *p = &rx_buffer[offset];
|
||||||
(void)i2sp;
|
(void)i2sp;
|
||||||
(void)n;
|
(void)n;
|
||||||
palSetPad(GPIOC, GPIOC_LED);
|
//palSetPad(GPIOC, GPIOC_LED);
|
||||||
|
|
||||||
if (request_dump > 0) {
|
if (request_dump > 0) {
|
||||||
if (request_dump == 1)
|
if (request_dump == 1)
|
||||||
|
|
@ -195,7 +197,7 @@ void i2s_end_callback(I2SDriver *i2sp, size_t offset, size_t n)
|
||||||
stat.last_counter_value = cnt_s;
|
stat.last_counter_value = cnt_s;
|
||||||
#endif
|
#endif
|
||||||
stat.callback_count++;
|
stat.callback_count++;
|
||||||
palClearPad(GPIOC, GPIOC_LED);
|
//palClearPad(GPIOC, GPIOC_LED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const I2SConfig i2sconfig = {
|
static const I2SConfig i2sconfig = {
|
||||||
|
|
@ -227,6 +229,7 @@ static void cmd_data(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
#else
|
#else
|
||||||
int16_t *buf = dump_buffer;
|
int16_t *buf = dump_buffer;
|
||||||
request_dump = 3;
|
request_dump = 3;
|
||||||
|
palClearPad(GPIOC, GPIOC_LED);
|
||||||
while (request_dump)
|
while (request_dump)
|
||||||
;
|
;
|
||||||
for (i = 0; i < AUDIO_BUFFER_LEN; ) {
|
for (i = 0; i < AUDIO_BUFFER_LEN; ) {
|
||||||
|
|
@ -235,6 +238,7 @@ static void cmd_data(BaseSequentialStream *chp, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
chprintf(chp, "\r\n");
|
chprintf(chp, "\r\n");
|
||||||
}
|
}
|
||||||
|
palSetPad(GPIOC, GPIOC_LED);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -385,10 +389,12 @@ int main(void)
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
if (SDU1.config->usbp->state == USB_ACTIVE) {
|
if (SDU1.config->usbp->state == USB_ACTIVE) {
|
||||||
|
//palSetPad(GPIOC, GPIOC_LED);
|
||||||
thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
|
thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
|
//palClearPad(GPIOC, GPIOC_LED);
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
7
si5351.c
7
si5351.c
|
|
@ -238,12 +238,6 @@ si5351_set_frequency_fixeddiv(int channel, int pll, int freq, int div,
|
||||||
int32_t pllfreq = freq * div;
|
int32_t pllfreq = freq * div;
|
||||||
int32_t multi = pllfreq / XTALFREQ;
|
int32_t multi = pllfreq / XTALFREQ;
|
||||||
int32_t num = pllfreq - multi * XTALFREQ;
|
int32_t num = pllfreq - multi * XTALFREQ;
|
||||||
#if 0
|
|
||||||
//int32_t denom = 1000000;
|
|
||||||
int32_t denom = 520000;
|
|
||||||
int32_t k = XTALFREQ / denom;
|
|
||||||
num /= k;
|
|
||||||
#else
|
|
||||||
int32_t denom = XTALFREQ;
|
int32_t denom = XTALFREQ;
|
||||||
int32_t k = gcd(num, denom);
|
int32_t k = gcd(num, denom);
|
||||||
num /= k;
|
num /= k;
|
||||||
|
|
@ -252,7 +246,6 @@ si5351_set_frequency_fixeddiv(int channel, int pll, int freq, int div,
|
||||||
num >>= 1;
|
num >>= 1;
|
||||||
denom >>= 1;
|
denom >>= 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
si5351_setupPLL(pll, multi, num, denom);
|
si5351_setupPLL(pll, multi, num, denom);
|
||||||
si5351_setupMultisynth(channel, pll, div, 0, 1, drive_strength);
|
si5351_setupMultisynth(channel, pll, div, 0, 1, drive_strength);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue