This commit is contained in:
2025-04-13 19:19:19 +02:00
parent c8b72779e0
commit f3aae2f80b
3 changed files with 38 additions and 3 deletions

View File

@@ -66,7 +66,7 @@ void setRTXOscMode(storno_xtal_app_t *inst){
if(inst->rtx_mode != STORNO_APP_TX_MODE){ if(inst->rtx_mode != STORNO_APP_TX_MODE){
cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_ENABLE); // RX cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_ENABLE); // RX
cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_ENABLE); // TX cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_DISABLE); // TX
}else{ }else{
cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_DISABLE); // RX cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_DISABLE); // RX
@@ -82,6 +82,17 @@ void EepromWritePLLParameters(storno_xtal_app_t *inst){
} }
void sendStruct(uint8_t *data, uint8_t size){
for(uint8_t idx = 0; idx < size; idx++){
cm_uart_send(data[idx]);
}
return;
}
void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){ void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){
// Check Struct // Check Struct
@@ -98,6 +109,20 @@ void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){
return; return;
} }
if(inst->rtx_mode == STORNO_APP_SEND_PLLA_PARAM){
inst->rtx_mode = STORNO_APP_RX_MODE;
sendStruct(&inst->plla_param_data, sizeof(storno_pll_param_msg));
return;
}
if(inst->rtx_mode == STORNO_APP_SEND_PLLB_PARAM){
inst->rtx_mode = STORNO_APP_RX_MODE;
sendStruct(&inst->pllb_param_data, sizeof(storno_pll_param_msg));
return;
}
// If TX pin is not set, then turn on RX output on PLL and disable TX clock. Run setRTXOscMode once, so pll isnt constantly written to!! // If TX pin is not set, then turn on RX output on PLL and disable TX clock. Run setRTXOscMode once, so pll isnt constantly written to!!
if((gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) != GPIO_LEVEL_SET) && (inst->rtx_mode != STORNO_APP_RX_MODE)){ if((gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) != GPIO_LEVEL_SET) && (inst->rtx_mode != STORNO_APP_RX_MODE)){
@@ -169,6 +194,13 @@ int uart_rx_event(storno_xtal_app_t *inst, void *rxData){
case MSG_PLLB_PARAM: case MSG_PLLB_PARAM:
memcpy(&inst->pllb_param_data,rxData,sizeof(storno_pll_param_msg)); memcpy(&inst->pllb_param_data,rxData,sizeof(storno_pll_param_msg));
break; break;
case MSG_GET_PLLA_PARAM:
break;
case MSG_GET_PLLB_PARAM:
break;
} }
@@ -192,7 +224,7 @@ void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){
//cm_taskManager_init(&inst->storno_xtal_task); //cm_taskManager_init(&inst->storno_xtal_task);
// Check if data is vaild (if this is a new mcu) // Check if data is vaild (if this is a new mcu)
if(!isEEPROMValid(inst)|| 1){ if(!isEEPROMValid(inst)){
// If settings are somehow unvalid, then write default settings.. // If settings are somehow unvalid, then write default settings..
writeDefaultSettingsEEprom(inst); writeDefaultSettingsEEprom(inst);
} }

View File

@@ -50,6 +50,9 @@ typedef enum {
STORNO_APP_RX_MODE = 0, STORNO_APP_RX_MODE = 0,
STORNO_APP_TX_MODE = 1, STORNO_APP_TX_MODE = 1,
STORNO_APP_PROGRAM_EEPROM = 2, STORNO_APP_PROGRAM_EEPROM = 2,
STORNO_APP_SEND_PLLA_PARAM = 3,
STORNO_APP_SEND_PLLB_PARAM = 4,
}storno_app_modes; }storno_app_modes;