lots of stuff

This commit is contained in:
2025-08-26 16:10:47 -05:00
parent 372e4941a2
commit bbc9d6ae91
27 changed files with 1193 additions and 147 deletions

View File

@@ -374,29 +374,53 @@ static bool loadFrequencies(void)
return success;
}
void fgen_setAmplitude(uint8_t amplitude)
{
uint8_t data[2];
data[0] = 0;
data[1] = (uint8_t)amplitude;
SPI0_SendBytes(data, 2, AMPLITUDE);
_fgen.amplitude = amplitude;
}
void fgen_setFrequency(FREQUENCY_t *freq)
{
if (freq->ldFrequency > 0)
{
dds_setFrequency(&_fgen.dds[DDS_DIRECTION], freq->ldFrequency);
}
else
{
// disable the signal direction DDS
dds_sleep(&_fgen.dds[DDS_DIRECTION], true, false);
}
dds_setFrequency(&_fgen.dds[DDS_SIGNAL], freq->frequency);
}
void fgen_init(void)
fgen_t* fgen_init(void)
{
uint32_t tmp;
gpio_pin_t resetPin;
fgen_setAmplitude(0);
// init sets reset
resetPin.port = PORT(PIN_SIG_RESET);
resetPin.pin = PIN (PIN_SIG_RESET);
dds_init(&_fgen.dds[DDS_SIGNAL], SIGNAL, resetPin);
dds_init(&_fgen.dds[DDS_SIGNAL], SIGNAL, resetPin, DDS_SINE);
resetPin.port = PORT(PIN_SD_RESET);
resetPin.pin = PIN (PIN_SD_RESET);
dds_init(&_fgen.dds[DDS_DIRECTION], SDSIGNAL, resetPin);
dds_init(&_fgen.dds[DDS_DIRECTION], SDSIGNAL, resetPin, DDS_SINE);
resetPin.port = PORT(PIN_RAMP_RST);
resetPin.pin = PIN (PIN_RAMP_RST);
dds_init(&_fgen.dds[DDS_RAMP], RAMP, resetPin);
dds_init(&_fgen.dds[DDS_RAMP], RAMP, resetPin, DDS_TRIANGLE);
delayms(10);
@@ -408,11 +432,17 @@ void fgen_init(void)
_fgen.numFrequencies = 0;
// load available frequencies from EEPROM
loadFrequencies();
// disable the signal direction DDS
dds_sleep(&_fgen.dds[DDS_DIRECTION], true, false);
// set the ramp DDS frequency
dds_setFrequency(&_fgen.dds[DDS_RAMP], RAMP_300KHZ);
return &_fgen;
}