/* * setup_sfra.c * * Created on: 06-Mar-2023 * Author: rndl6 */ // // Included Files // #include "F2837xD_device.h" #include "F2837xD_Examples.h" #include "sfra_f32.h" #include "sfra_gui_scicomms_driverlib.h" #include "project_defines.h" // // SFRA Related Variables // float32_t NPC_plantMagVect[NPC_SFRA_FREQ_LENGTH]; float32_t NPC_plantPhaseVect[NPC_SFRA_FREQ_LENGTH]; float32_t NPC_olMagVect[NPC_SFRA_FREQ_LENGTH]; float32_t NPC_olPhaseVect[NPC_SFRA_FREQ_LENGTH]; float32_t NPC_freqVect[NPC_SFRA_FREQ_LENGTH]; SFRA_F32 NPC_sfra1; // // SFRA related // #define NPC_SFRA_ISR_FREQ Fswitching #define NPC_SFRA_GUI_SCI_BASE SCIA_BASE #define NPC_SCI_VBUS_CLK 50000000 #define NPC_SFRA_GUI_SCI_BAUDRATE 57600 #define NPC_SFRA_SPEED 1 #define NPC_SFRA_GUI_SCIRX_GPIO 43 #define NPC_SFRA_GUI_SCITX_GPIO 42 #define NPC_SFRA_GUI_SCIRX_GPIO_PIN_CONFIG GPIO_43_SCIRXDA #define NPC_SFRA_GUI_SCITX_GPIO_PIN_CONFIG GPIO_42_SCITXDA // // if the following #define is set to 1 SFRA GUI indicates status on an LED // otherwise LED code is ignored // #define NPC_SFRA_GUI_LED_INDICATOR 1 #define NPC_SFRA_GUI_LED_GPIO 31 #define NPC_SFRA_GUI_LED_GPIO_PIN_CONFIG GPIO_31_GPIO31 #define NPC_SFRA_GUI_PLOT_OL_PLANT 1 // // current loop // #define NPC_SFRA_FREQ_START 1 #define NPC_SFRA_FREQ_LENGTH 30 #define NPC_SFRA_AMPLITUDE 0.01 // // SFRA step Multiply = 10^(1/No of steps per decade(52)) // #define NPC_SFRA_FREQ_STEP_MULTIPLY (float)1.2f void NPC_setupSFRA(void) { SFRA_F32_reset(&NPC_sfra1); SFRA_F32_config(&NPC_sfra1, NPC_SFRA_ISR_FREQ, NPC_SFRA_AMPLITUDE, NPC_SFRA_FREQ_LENGTH, NPC_SFRA_FREQ_START, NPC_SFRA_FREQ_STEP_MULTIPLY, NPC_plantMagVect, NPC_plantPhaseVect, NPC_olMagVect, NPC_olPhaseVect, NULL, NULL, NPC_freqVect, NPC_SFRA_SPEED); SFRA_F32_resetFreqRespArray(&NPC_sfra1); SFRA_F32_initFreqArrayWithLogSteps(&NPC_sfra1, NPC_SFRA_FREQ_START, NPC_SFRA_FREQ_STEP_MULTIPLY); SFRA_GUI_config(NPC_SFRA_GUI_SCI_BASE, NPC_SCI_VBUS_CLK, NPC_SFRA_GUI_SCI_BAUDRATE, NPC_SFRA_GUI_SCIRX_GPIO, NPC_SFRA_GUI_SCIRX_GPIO_PIN_CONFIG, NPC_SFRA_GUI_SCITX_GPIO, NPC_SFRA_GUI_SCITX_GPIO_PIN_CONFIG, NPC_SFRA_GUI_LED_INDICATOR, NPC_SFRA_GUI_LED_GPIO, NPC_SFRA_GUI_LED_GPIO_PIN_CONFIG, &NPC_sfra1, NPC_SFRA_GUI_PLOT_OL_PLANT); } void NPC_runSFRABackGroundTasks(void) { SFRA_F32_runBackgroundTask(&NPC_sfra1); SFRA_GUI_runSerialHostComms(&NPC_sfra1); }