/*********************************************************************************************************************** * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!GlobalInfo product: Peripherals v11.0 processor: MIMXRT1062xxxxA package_id: MIMXRT1062DVL6A mcu_data: ksdk2_0 processor_version: 11.0.1 board: MIMXRT1060-EVK functionalGroups: - name: BOARD_InitPeripherals UUID: 8938164a-fc00-4024-85f1-e6a10239b6ba called_from_default_init: true selectedCore: core0 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* component: - type: 'system' - type_id: 'system_54b53072540eeeb8f8e9343e71f28176' - global_system_definitions: - user_definitions: '' - user_includes: '' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* component: - type: 'uart_cmsis_common' - type_id: 'uart_cmsis_common_9cb8e302497aa696fdbb5a4fd622c2a8' - global_USART_CMSIS_common: - quick_selection: 'default' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* component: - type: 'gpio_adapter_common' - type_id: 'gpio_adapter_common_57579b9ac814fe26bf95df0a384c36b6' - global_gpio_adapter_common: - quick_selection: 'default' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /*********************************************************************************************************************** * Included files **********************************************************************************************************************/ #include "peripherals.h" /*********************************************************************************************************************** * BOARD_InitPeripherals functional group **********************************************************************************************************************/ /*********************************************************************************************************************** * DMA0 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'DMA0' - type: 'edma' - mode: 'basic' - custom_name_enabled: 'false' - type_id: 'edma_6d0dd4e17e2f179c7d42d98767129ede' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'DMA0' - config_sets: - fsl_edma: - common_settings: - enableContinuousLinkMode: 'false' - enableHaltOnError: 'true' - enableRoundRobinArbitration: 'false' - enableDebugMode: 'false' - dma_table: - 0: [] - edma_channels: - 0: - apiMode: 'trans' - edma_channel: - channel_prefix_id: 'CH0' - uid: '1729082406005' - eDMAn: '0' - eDMA_source: 'dmaMuxAlwaysOn' - enableTriggerPIT: 'false' - init_channel_priority: 'false' - edma_channel_Preemption: - enableChannelPreemption: 'false' - enablePreemptAbility: 'false' - channelPriority: '0' - enable_custom_name: 'false' - enableChannelRequest: 'false' - enableAsyncRequest: 'false' - tcd_pool_enable: 'false' - tcd_settings: - tcd_size: '1' - tcd_memory_custom_id: 'false' - transfer_config: [] - init_callback: 'false' - callback_function: '' - callback_user_data: '' - channel_enabled_interrupts: '' - interrupt_channel: - IRQn: 'DMA0_DMA16_IRQn' - enable_priority: 'false' - priority: '0' - errInterruptConfig: - enableErrInterrupt: 'false' - errorInterrupt: - IRQn: 'DMA_ERROR_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const edma_config_t DMA0_config = { .enableContinuousLinkMode = false, .enableHaltOnError = true, .enableRoundRobinArbitration = false, .enableDebugMode = false }; edma_handle_t DMA0_CH0_Handle; static void DMA0_init(void) { /* Channel CH0 initialization */ /* Set the DMA channel0 always on */ DMAMUX_EnableAlwaysOn(DMA0_DMAMUX_BASEADDR, DMA0_CH0_DMA_CHANNEL, true); /* Enable the channel 0 in the DMAMUX */ DMAMUX_EnableChannel(DMA0_DMAMUX_BASEADDR, DMA0_CH0_DMA_CHANNEL); /* Create the eDMA DMA0_CH0_Handle handle */ EDMA_CreateHandle(&DMA0_CH0_Handle, DMA0_DMA_BASEADDR, DMA0_CH0_DMA_CHANNEL); } /*********************************************************************************************************************** * GPIO1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPIO1' - type: 'igpio' - mode: 'GPIO' - custom_name_enabled: 'false' - type_id: 'igpio_b1c1fa279aa7069dca167502b8589cb7' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPIO1' - config_sets: - fsl_gpio: - enable_irq_comb_0_15: 'true' - gpio_interrupt_comb_0_15: - IRQn: 'GPIO1_Combined_0_15_IRQn' - enable_interrrupt: 'noInit' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_comb_16_31: 'true' - gpio_interrupt_comb_16_31: - IRQn: 'GPIO1_Combined_16_31_IRQn' - enable_interrrupt: 'noInit' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int0: 'false' - gpio_interrupt_int0: - IRQn: 'GPIO1_INT0_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int1: 'false' - gpio_interrupt_int1: - IRQn: 'GPIO1_INT1_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int2: 'false' - gpio_interrupt_int2: - IRQn: 'GPIO1_INT2_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int3: 'false' - gpio_interrupt_int3: - IRQn: 'GPIO1_INT3_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int4: 'false' - gpio_interrupt_int4: - IRQn: 'GPIO1_INT4_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int5: 'false' - gpio_interrupt_int5: - IRQn: 'GPIO1_INT5_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int6: 'false' - gpio_interrupt_int6: - IRQn: 'GPIO1_INT6_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_int7: 'false' - gpio_interrupt_int7: - IRQn: 'GPIO1_INT7_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ static void GPIO1_init(void) { /* Make sure, the clock gate for GPIO1 is enabled (e. g. in pin_mux.c) */ /* Interrupt GPIO1_Combined_0_15_IRQn request in the NVIC is not initialized (disabled by default). */ /* It can be enabled later by EnableIRQ(GPIO1_GPIO_COMB_0_15_IRQN); function call. */ /* Interrupt GPIO1_Combined_16_31_IRQn request in the NVIC is not initialized (disabled by default). */ /* It can be enabled later by EnableIRQ(GPIO1_GPIO_COMB_16_31_IRQN); function call. */ } /*********************************************************************************************************************** * GPIO3 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPIO3' - type: 'igpio' - mode: 'GPIO' - custom_name_enabled: 'false' - type_id: 'igpio_b1c1fa279aa7069dca167502b8589cb7' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPIO3' - config_sets: - fsl_gpio: - enable_irq_comb_0_15: 'true' - gpio_interrupt_comb_0_15: - IRQn: 'GPIO3_Combined_0_15_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_comb_16_31: 'true' - gpio_interrupt_comb_16_31: - IRQn: 'GPIO3_Combined_16_31_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ static void GPIO3_init(void) { /* Make sure, the clock gate for GPIO3 is enabled (e. g. in pin_mux.c) */ /* Enable interrupt GPIO3_Combined_0_15_IRQn request in the NVIC. */ EnableIRQ(GPIO3_GPIO_COMB_0_15_IRQN); /* Enable interrupt GPIO3_Combined_16_31_IRQn request in the NVIC. */ EnableIRQ(GPIO3_GPIO_COMB_16_31_IRQN); } /*********************************************************************************************************************** * GPIO5 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPIO5' - type: 'igpio' - mode: 'GPIO' - custom_name_enabled: 'false' - type_id: 'igpio_b1c1fa279aa7069dca167502b8589cb7' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPIO5' - config_sets: - fsl_gpio: - enable_irq_comb_0_15: 'true' - gpio_interrupt_comb_0_15: - IRQn: 'GPIO5_Combined_0_15_IRQn' - enable_interrrupt: 'noInit' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_comb_16_31: 'false' - gpio_interrupt_comb_16_31: - IRQn: 'GPIO5_Combined_16_31_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ static void GPIO5_init(void) { /* Make sure, the clock gate for GPIO5 is enabled (e. g. in pin_mux.c) */ /* Interrupt GPIO5_Combined_0_15_IRQn request in the NVIC is not initialized (disabled by default). */ /* It can be enabled later by EnableIRQ(GPIO5_GPIO_COMB_0_15_IRQN); function call. */ } /*********************************************************************************************************************** * GPT1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPT1' - type: 'gpt' - mode: 'general' - custom_name_enabled: 'false' - type_id: 'gpt_e92a0cbd07e389b82a1d19b05eb9fdda' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPT1' - config_sets: - fsl_gpt: - gpt_config: - clockSource: 'kGPT_ClockSource_Periph' - clockSourceFreq: 'BOARD_BootClockRUN' - oscDivider: '1' - divider: '1' - enableFreeRun: 'true' - enableRunInWait: 'true' - enableRunInStop: 'true' - enableRunInDoze: 'true' - enableRunInDbg: 'true' - enableMode: 'true' - input_capture_channels: - 0: - channelName: 'Edge' - channel: 'kGPT_InputCapture_Channel1' - mode: 'kGPT_InputOperation_FallEdge' - output_compare_channels: [] - interrupt_requests: 'kGPT_InputCapture1InterruptEnable' - isInterruptEnabled: 'true' - interrupt: - IRQn: 'GPT1_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - EnableTimerInInit: 'true' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const gpt_config_t GPT1_config = { .clockSource = kGPT_ClockSource_Periph, .divider = 1UL, .enableFreeRun = true, .enableRunInWait = true, .enableRunInStop = true, .enableRunInDoze = true, .enableRunInDbg = true, .enableMode = true }; static void GPT1_init(void) { /* GPT device and channels initialization */ GPT_Init(GPT1_PERIPHERAL, &GPT1_config); GPT_SetOscClockDivider(GPT1_PERIPHERAL, 1); GPT_SetInputOperationMode(GPT1_PERIPHERAL, kGPT_InputCapture_Channel1, kGPT_InputOperation_FallEdge); /* Enable GPT interrupt sources */ GPT_EnableInterrupts(GPT1_PERIPHERAL, kGPT_InputCapture1InterruptEnable); /* Enable interrupt GPT1_IRQn request in the NVIC. */ EnableIRQ(GPT1_GPT_IRQN); /* Start the GPT timer */ GPT_StartTimer(GPT1_PERIPHERAL); } /*********************************************************************************************************************** * LPSPI1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'LPSPI1' - type: 'lpspi' - mode: 'polling' - custom_name_enabled: 'false' - type_id: 'lpspi_6e21a1e0a09f0a012d683c4f91752db8' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'LPSPI1' - config_sets: - main: - mode: 'kLPSPI_Master' - clockSource: 'LpspiClock' - clockSourceFreq: 'BOARD_BootClockRUN' - master: - baudRate: '500000' - bitsPerFrame: '8' - cpol: 'kLPSPI_ClockPolarityActiveHigh' - cpha: 'kLPSPI_ClockPhaseFirstEdge' - direction: 'kLPSPI_MsbFirst' - pcsToSckDelayInNanoSec: '1000' - lastSckToPcsDelayInNanoSec: '1000' - betweenTransferDelayInNanoSec: '1000' - whichPcs: 'kLPSPI_Pcs0' - pcsActiveHighOrLow: 'kLPSPI_PcsActiveLow' - pinCfg: 'kLPSPI_SdiInSdoOut' - dataOutConfig: 'kLpspiDataOutRetained' - set_FifoWaterMarks: 'false' - fifoWaterMarks: - txWatermark: '0' - rxWatermark: '0' - allPcsPolarityEnable: 'false' - allPcsPolarity: - kLPSPI_Pcs1Active: 'kLPSPI_PcsActiveHigh' - kLPSPI_Pcs2Active: 'kLPSPI_PcsActiveHigh' - kLPSPI_Pcs3Active: 'kLPSPI_PcsActiveHigh' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const lpspi_master_config_t LPSPI1_config = { .baudRate = 500000UL, .bitsPerFrame = 8UL, .cpol = kLPSPI_ClockPolarityActiveHigh, .cpha = kLPSPI_ClockPhaseFirstEdge, .direction = kLPSPI_MsbFirst, .pcsToSckDelayInNanoSec = 1000UL, .lastSckToPcsDelayInNanoSec = 1000UL, .betweenTransferDelayInNanoSec = 1000UL, .whichPcs = kLPSPI_Pcs0, .pcsActiveHighOrLow = kLPSPI_PcsActiveLow, .pinCfg = kLPSPI_SdiInSdoOut, .dataOutConfig = kLpspiDataOutRetained }; static void LPSPI1_init(void) { LPSPI_MasterInit(LPSPI1_PERIPHERAL, &LPSPI1_config, LPSPI1_CLOCK_FREQ); } /*********************************************************************************************************************** * LPUART1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'LPUART1' - type: 'lpuart' - mode: 'polling' - custom_name_enabled: 'false' - type_id: 'lpuart_bebe3e12b6ec22bbd14199038f2bf459' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'LPUART1' - config_sets: - lpuartConfig_t: - lpuartConfig: - clockSource: 'LpuartClock' - lpuartSrcClkFreq: 'BOARD_BootClockRUN' - baudRate_Bps: '230400' - parityMode: 'kLPUART_ParityDisabled' - dataBitsCount: 'kLPUART_EightDataBits' - isMsb: 'false' - stopBitCount: 'kLPUART_OneStopBit' - txFifoWatermark: '0' - rxFifoWatermark: '0' - enableRxRTS: 'false' - enableTxCTS: 'false' - txCtsSource: 'kLPUART_CtsSourcePin' - txCtsConfig: 'kLPUART_CtsSampleAtStart' - rxIdleType: 'kLPUART_IdleTypeStartBit' - rxIdleConfig: 'kLPUART_IdleCharacter1' - enableTx: 'true' - enableRx: 'true' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const lpuart_config_t LPUART1_config = { .baudRate_Bps = 230400UL, .parityMode = kLPUART_ParityDisabled, .dataBitsCount = kLPUART_EightDataBits, .isMsb = false, .stopBitCount = kLPUART_OneStopBit, .txFifoWatermark = 0U, .rxFifoWatermark = 0U, .enableRxRTS = false, .enableTxCTS = false, .txCtsSource = kLPUART_CtsSourcePin, .txCtsConfig = kLPUART_CtsSampleAtStart, .rxIdleType = kLPUART_IdleTypeStartBit, .rxIdleConfig = kLPUART_IdleCharacter1, .enableTx = true, .enableRx = true }; static void LPUART1_init(void) { LPUART_Init(LPUART1_PERIPHERAL, &LPUART1_config, LPUART1_CLOCK_SOURCE); } /*********************************************************************************************************************** * PIT initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'PIT' - type: 'pit' - mode: 'LPTMR_GENERAL' - custom_name_enabled: 'false' - type_id: 'pit_a4782ba5223c8a2527ba91aeb2bc4159' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'PIT' - config_sets: - fsl_pit: - enableRunInDebug: 'true' - enableSharedInterrupt: 'false' - sharedInterrupt: - IRQn: 'PIT_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - timingConfig: - clockSource: 'BusInterfaceClock' - clockSourceFreq: 'BOARD_BootClockRUN' - channels: - 0: - channel_id: 'x1ms' - channelNumber: '1' - enableChain: 'false' - timerPeriod: '1 ms' - startTimer: 'true' - enableInterrupt: 'false' - 1: - channel_id: 'x10ms' - channelNumber: '2' - enableChain: 'false' - timerPeriod: '50ms' - startTimer: 'true' - enableInterrupt: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const pit_config_t PIT_config = { .enableRunInDebug = true }; static void PIT_init(void) { /* Initialize the PIT. */ PIT_Init(PIT_PERIPHERAL, &PIT_config); /* Set channel 1 period to 1 ms (75000 ticks). */ PIT_SetTimerPeriod(PIT_PERIPHERAL, PIT_X1MS, PIT_X1MS_TICKS); /* Set channel 2 period to 50 ms (3750000 ticks). */ PIT_SetTimerPeriod(PIT_PERIPHERAL, PIT_X10MS, PIT_X10MS_TICKS); /* Start channel 1. */ PIT_StartTimer(PIT_PERIPHERAL, PIT_X1MS); /* Start channel 2. */ PIT_StartTimer(PIT_PERIPHERAL, PIT_X10MS); } /*********************************************************************************************************************** * NVIC initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'NVIC' - type: 'nvic' - mode: 'general' - custom_name_enabled: 'false' - type_id: 'nvic_57b5eef3774cc60acaede6f5b8bddc67' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'NVIC' - config_sets: - nvic: - interrupt_table: - 0: [] - 1: [] - 2: [] - 3: [] - 4: [] - 5: [] - 6: [] - 7: [] - 8: [] - 9: [] - 10: [] - 11: [] - 12: [] - 13: [] - interrupts: [] * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /* Empty initialization function (commented out) static void NVIC_init(void) { } */ /*********************************************************************************************************************** * ADC1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'ADC1' - type: 'adc_12b1msps_sar' - mode: 'ADC_GENERAL' - custom_name_enabled: 'false' - type_id: 'adc_12b1msps_sar_6a490e886349a7b2b07bed10ce7b299b' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'ADC1' - config_sets: - fsl_adc: - clockConfig: - clockSource: 'kADC_ClockSourceAD' - clockSourceFreq: 'custom:10 MHz' - clockDriver: 'kADC_ClockDriver2' - samplePeriodMode: 'kADC_SamplePeriodLong24Clcoks' - enableAsynchronousClockOutput: 'true' - conversionConfig: - resolution: 'kADC_Resolution12Bit' - hardwareAverageMode: 'kADC_HardwareAverageCount8' - enableHardwareTrigger: 'hardware' - enableHighSpeed: 'false' - enableLowPower: 'false' - enableContinuousConversion: 'false' - enableOverWrite: 'false' - enableDma: 'false' - resultingTime: [] - resultCorrection: - doAutoCalibration: 'true' - offset: '0' - hardwareCompareConfiguration: - hardwareCompareMode: 'disabled' - value1: '0' - value2: '0' - enableInterrupt: 'false' - adc_interrupt: - IRQn: 'ADC1_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - adc_channels_config: - 0: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '0' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 1: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '1' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 2: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '2' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 3: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '3' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 4: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '4' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 5: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '5' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 6: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '6' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const adc_config_t ADC1_config = { .enableOverWrite = false, .enableContinuousConversion = false, .enableHighSpeed = false, .enableLowPower = false, .enableLongSample = true, .enableAsynchronousClockOutput = true, .referenceVoltageSource = kADC_ReferenceVoltageSourceAlt0, .samplePeriodMode = kADC_SamplePeriodLong24Clcoks, .clockSource = kADC_ClockSourceAD, .clockDriver = kADC_ClockDriver2, .resolution = kADC_Resolution12Bit }; const adc_channel_config_t ADC1_channels_config[7] = { { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC1_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false } }; static void ADC1_init(void) { /* Initialize ADC1 peripheral. */ ADC_Init(ADC1_PERIPHERAL, &ADC1_config); /* Configure ADC1 peripheral to average 8 conversions in one measurement. */ ADC_SetHardwareAverageConfig(ADC1_PERIPHERAL, kADC_HardwareAverageCount8); /* Perform ADC1 auto calibration. */ ADC_DoAutoCalibration(ADC1_PERIPHERAL); /* Enable ADC1 hardware trigger. */ ADC_EnableHardwareTrigger(ADC1_PERIPHERAL, true); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH0_CONTROL_GROUP, &ADC1_channels_config[0]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH1_CONTROL_GROUP, &ADC1_channels_config[1]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH2_CONTROL_GROUP, &ADC1_channels_config[2]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH3_CONTROL_GROUP, &ADC1_channels_config[3]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH4_CONTROL_GROUP, &ADC1_channels_config[4]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH5_CONTROL_GROUP, &ADC1_channels_config[5]); /* Initialize ADC1 channel ADC1_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC1_PERIPHERAL, ADC1_CH6_CONTROL_GROUP, &ADC1_channels_config[6]); } /*********************************************************************************************************************** * ADC2 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'ADC2' - type: 'adc_12b1msps_sar' - mode: 'ADC_GENERAL' - custom_name_enabled: 'false' - type_id: 'adc_12b1msps_sar_6a490e886349a7b2b07bed10ce7b299b' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'ADC2' - config_sets: - fsl_adc: - clockConfig: - clockSource: 'kADC_ClockSourceAD' - clockSourceFreq: 'custom:10 MHz' - clockDriver: 'kADC_ClockDriver2' - samplePeriodMode: 'kADC_SamplePeriodLong24Clcoks' - enableAsynchronousClockOutput: 'true' - conversionConfig: - resolution: 'kADC_Resolution12Bit' - hardwareAverageMode: 'kADC_HardwareAverageCount8' - enableHardwareTrigger: 'hardware' - enableHighSpeed: 'false' - enableLowPower: 'false' - enableContinuousConversion: 'false' - enableOverWrite: 'false' - enableDma: 'false' - resultingTime: [] - resultCorrection: - doAutoCalibration: 'true' - offset: '0' - hardwareCompareConfiguration: - hardwareCompareMode: 'disabled' - value1: '0' - value2: '0' - enableInterrupt: 'false' - adc_interrupt: - IRQn: 'ADC2_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - adc_channels_config: - 0: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '0' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 1: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '1' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 2: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '2' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 3: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '3' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 4: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '4' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' - 5: - channelNumber: 'CHANNEL_DRIVEN_BY_ADC_ETC' - channelName: '' - channelGroup: '5' - initializeChannel: 'true' - enableInterruptOnConversionCompleted: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const adc_config_t ADC2_config = { .enableOverWrite = false, .enableContinuousConversion = false, .enableHighSpeed = false, .enableLowPower = false, .enableLongSample = true, .enableAsynchronousClockOutput = true, .referenceVoltageSource = kADC_ReferenceVoltageSourceAlt0, .samplePeriodMode = kADC_SamplePeriodLong24Clcoks, .clockSource = kADC_ClockSourceAD, .clockDriver = kADC_ClockDriver2, .resolution = kADC_Resolution12Bit }; const adc_channel_config_t ADC2_channels_config[6] = { { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false }, { .channelNumber = ADC2_CHANNEL_DRIVEN_BY_ADC_ETC, .enableInterruptOnConversionCompleted = false } }; static void ADC2_init(void) { /* Initialize ADC2 peripheral. */ ADC_Init(ADC2_PERIPHERAL, &ADC2_config); /* Configure ADC2 peripheral to average 8 conversions in one measurement. */ ADC_SetHardwareAverageConfig(ADC2_PERIPHERAL, kADC_HardwareAverageCount8); /* Perform ADC2 auto calibration. */ ADC_DoAutoCalibration(ADC2_PERIPHERAL); /* Enable ADC2 hardware trigger. */ ADC_EnableHardwareTrigger(ADC2_PERIPHERAL, true); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH0_CONTROL_GROUP, &ADC2_channels_config[0]); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH1_CONTROL_GROUP, &ADC2_channels_config[1]); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH2_CONTROL_GROUP, &ADC2_channels_config[2]); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH3_CONTROL_GROUP, &ADC2_channels_config[3]); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH4_CONTROL_GROUP, &ADC2_channels_config[4]); /* Initialize ADC2 channel ADC2_CHANNEL_DRIVEN_BY_ADC_ETC. */ ADC_SetChannelConfig(ADC2_PERIPHERAL, ADC2_CH5_CONTROL_GROUP, &ADC2_channels_config[5]); } /*********************************************************************************************************************** * CAN1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'CAN1' - type: 'flexcan' - mode: 'transfer' - custom_name_enabled: 'false' - type_id: 'flexcan_a98f4e39f821600f664c89f66f55b020' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'CAN1' - config_sets: - transferCfg: - transfer: - init_rx_transfer: 'true' - rx_transfer: - frame: 'FrameRx' - mbIdx: '9' - init_tx_transfer: 'true' - tx_transfer: - frame: 'FrameTx' - mbIdx: '8' - init_callback: 'false' - callback_fcn: 'CAN2_UserCbk' - user_data: '' - fsl_flexcan: - can_config: - clockSource: 'kFLEXCAN_ClkSrcOsc' - clockSourceFreq: 'BOARD_BootClockRUN' - wakeupSrc: 'kFLEXCAN_WakeupSrcUnfiltered' - baudRate: '1000000' - maxMbNum: '16' - enableLoopBack: 'false' - enableTimerSync: 'true' - enableSelfWakeup: 'false' - enableIndividMask: 'false' - disableSelfReception: 'false' - enableListenOnlyMode: 'false' - enableSupervisorMode: 'false' - timingConfig: - propSeg: '2' - phaseSeg1: '4' - phaseSeg2: '3' - rJumpwidth: '2' - bitTime: [] - enableRxFIFO: 'false' - rxFIFO: - idFilterTable: '' - idFilterNum: 'num0' - idFilterType: 'kFLEXCAN_RxFifoFilterTypeA' - priority: 'kFLEXCAN_RxFifoPrioLow' - channels: - 0: - mbID: '9' - mbType: 'mbRx' - rxMb: - id: '0' - format: 'kFLEXCAN_FrameFormatStandard' - type: 'kFLEXCAN_FrameTypeData' - 1: - mbID: '8' - mbType: 'mbTx' - rxMb: - id: '0' - format: 'kFLEXCAN_FrameFormatStandard' - type: 'kFLEXCAN_FrameTypeData' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const flexcan_config_t CAN1_config = { .wakeupSrc = kFLEXCAN_WakeupSrcUnfiltered, .bitRate = 1000000UL, .maxMbNum = 16U, .enableLoopBack = false, .enableTimerSync = true, .enableSelfWakeup = false, .enableIndividMask = false, .disableSelfReception = false, .enableListenOnlyMode = false, .enableSupervisorMode = false, .timingConfig = { .preDivider = 2, .propSeg = 1, .phaseSeg1 = 3, .phaseSeg2 = 2, .rJumpwidth = 1 } }; /* Message buffer 9 configuration structure */ const flexcan_rx_mb_config_t CAN1_rx_mb_config_9 = { .id = FLEXCAN_ID_STD(0UL), .format = kFLEXCAN_FrameFormatStandard, .type = kFLEXCAN_FrameTypeData }; flexcan_handle_t CAN1_handle; flexcan_frame_t FrameRx; const flexcan_mb_transfer_t CAN1_rx_mb_transfer = { .frame = &FrameRx, .mbIdx = 9 }; flexcan_frame_t FrameTx; const flexcan_mb_transfer_t CAN1_tx_mb_transfer = { .frame = &FrameTx, .mbIdx = 8 }; static void CAN1_init(void) { FLEXCAN_Init(CAN1_PERIPHERAL, &CAN1_config, CAN1_CLOCK_SOURCE); /* Message buffer 9 initialization */ FLEXCAN_SetRxMbConfig(CAN1_PERIPHERAL, 9, &CAN1_rx_mb_config_9, true); /* Message buffer 8 initialization */ FLEXCAN_SetTxMbConfig(CAN1_PERIPHERAL, 8, true); FLEXCAN_TransferCreateHandle(CAN1_PERIPHERAL, &CAN1_handle, NULL, NULL); } /*********************************************************************************************************************** * PWM1 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'PWM1' - type: 'pwm' - mode: 'general' - custom_name_enabled: 'false' - type_id: 'pwm_403b1696012c269dda52095c45493820' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'PWM1' - config_sets: - fsl_pwm: - clockSource: 'SystemClock' - clockSourceFreq: 'BOARD_BootClockRUN' - submodules: - 0: - sm: 'kPWM_Module_1' - sm_id: 'IdleBypass' - config: - clockSource: 'kPWM_BusClock' - prescale: 'kPWM_Prescale_Divide_4' - pwmFreq: '1 kHz' - pairOperation: 'kPWM_Independent' - operationMode: 'kPWM_SignedEdgeAligned' - initializationControl: 'kPWM_Initialize_LocalSync' - reloadLogic: 'kPWM_ReloadImmediate' - reloadSelect: 'kPWM_LocalReload' - reloadFrequency: 'kPWM_LoadEveryOportunity' - forceTrigger: 'kPWM_Force_Local' - enableDebugMode: 'false' - enableWait: 'false' - outputTrigger_sel: '' - loadOK: 'true' - startCounter: 'true' - interrupt_sel: '' - dma_used: 'false' - dma: - pwmDMA_activate: 'false' - captureDMA_enable: '' - captureDMA_source: 'kPWM_DMARequestDisable' - captureDMA_watermark_control: 'kPWM_FIFOWatermarksOR' - channels: - 0: - channel_id: 'A' - functionSel: 'pwmOutput' - pwm: - dutyCyclePercent: '100' - level: 'kPWM_HighTrue' - fault_channel0: - dismap: '' - faultState: 'kPWM_PwmFaultState0' - deadtime_input_by_force: 'kPWM_UsePwm' - clockSource: 'kPWM_BusClock' - deadtimeValue: '0' - interrupt_sel: '' - 1: - channel_id: 'B' - functionSel: 'notUsed' - 2: - channel_id: 'X' - functionSel: 'notUsed' - common_interruptEn: 'false' - common_interrupt: - IRQn: 'PWM1_0_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - 1: - sm: 'kPWM_Module_0' - sm_id: 'EGas' - config: - clockSource: 'kPWM_BusClock' - prescale: 'kPWM_Prescale_Divide_4' - pwmFreq: '1 kHz' - pairOperation: 'kPWM_Independent' - operationMode: 'kPWM_SignedEdgeAligned' - initializationControl: 'kPWM_Initialize_LocalSync' - reloadLogic: 'kPWM_ReloadImmediate' - reloadSelect: 'kPWM_LocalReload' - reloadFrequency: 'kPWM_LoadEveryOportunity' - forceTrigger: 'kPWM_Force_Local' - enableDebugMode: 'false' - enableWait: 'false' - outputTrigger_sel: '' - loadOK: 'true' - startCounter: 'true' - interrupt_sel: '' - dma_used: 'false' - dma: - pwmDMA_activate: 'false' - captureDMA_enable: '' - captureDMA_source: 'kPWM_DMARequestDisable' - captureDMA_watermark_control: 'kPWM_FIFOWatermarksOR' - channels: - 0: - channel_id: 'A' - functionSel: 'pwmOutput' - pwm: - dutyCyclePercent: '100' - level: 'kPWM_HighTrue' - fault_channel0: - dismap: '' - faultState: 'kPWM_PwmFaultState0' - deadtime_input_by_force: 'kPWM_UsePwm' - clockSource: 'kPWM_BusClock' - deadtimeValue: '0' - interrupt_sel: '' - 1: - channel_id: 'B' - functionSel: 'notUsed' - 2: - channel_id: 'X' - functionSel: 'notUsed' - common_interruptEn: 'false' - common_interrupt: - IRQn: 'PWM1_1_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - 2: - sm: 'kPWM_Module_3' - sm_id: 'LambdaSonde' - config: - clockSource: 'kPWM_BusClock' - prescale: 'kPWM_Prescale_Divide_4' - pwmFreq: '1 kHz' - pairOperation: 'kPWM_Independent' - operationMode: 'kPWM_SignedEdgeAligned' - initializationControl: 'kPWM_Initialize_LocalSync' - reloadLogic: 'kPWM_ReloadImmediate' - reloadSelect: 'kPWM_LocalReload' - reloadFrequency: 'kPWM_LoadEveryOportunity' - forceTrigger: 'kPWM_Force_Local' - enableDebugMode: 'false' - enableWait: 'false' - outputTrigger_sel: '' - loadOK: 'true' - startCounter: 'true' - interrupt_sel: '' - dma_used: 'false' - dma: - pwmDMA_activate: 'false' - captureDMA_enable: '' - captureDMA_source: 'kPWM_DMARequestDisable' - captureDMA_watermark_control: 'kPWM_FIFOWatermarksOR' - channels: - 0: - channel_id: 'A_Heater' - functionSel: 'pwmOutput' - pwm: - dutyCyclePercent: '100' - level: 'kPWM_HighTrue' - fault_channel0: - dismap: '' - faultState: 'kPWM_PwmFaultState0' - deadtime_input_by_force: 'kPWM_UsePwm' - clockSource: 'kPWM_BusClock' - deadtimeValue: '0' - interrupt_sel: '' - 1: - channel_id: 'B_PumpCur' - functionSel: 'pwmOutput' - pwm: - dutyCyclePercent: '100' - level: 'kPWM_HighTrue' - fault_channel0: - dismap: '' - faultState: 'kPWM_PwmFaultState0' - deadtime_input_by_force: 'kPWM_UsePwm' - clockSource: 'kPWM_BusClock' - deadtimeValue: '0' - interrupt_sel: '' - 2: - channel_id: 'X' - functionSel: 'notUsed' - common_interruptEn: 'false' - common_interrupt: - IRQn: 'PWM1_2_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - faultChannels: - 0: - commonFaultSetting: - clockSource: 'kPWM_BusClock' - faultFilterPeriod: '1' - faultFilterCount: '3' - faultGlitchStretch: 'false' - faults: - 0: - fault_id: 'Fault0' - faultClearingMode: 'kPWM_Automatic' - faultLevelR: 'low' - enableCombinationalPathR: 'nonFiltered' - recoverMode: 'kPWM_NoRecovery' - fault_int_source: 'false' - 1: - fault_id: 'Fault1' - faultClearingMode: 'kPWM_Automatic' - faultLevelR: 'low' - enableCombinationalPathR: 'nonFiltered' - recoverMode: 'kPWM_NoRecovery' - fault_int_source: 'false' - 2: - fault_id: 'Fault2' - faultClearingMode: 'kPWM_Automatic' - faultLevelR: 'low' - enableCombinationalPathR: 'nonFiltered' - recoverMode: 'kPWM_NoRecovery' - fault_int_source: 'false' - 3: - fault_id: 'Fault3' - faultClearingMode: 'kPWM_Automatic' - faultLevelR: 'low' - enableCombinationalPathR: 'nonFiltered' - recoverMode: 'kPWM_NoRecovery' - fault_int_source: 'false' - fault_error_interruptEn: 'false' - fault_error_interrupt: - IRQn: 'PWM1_FAULT_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /* PWM main configuration */ pwm_config_t PWM1_IdleBypass_config = { .clockSource = kPWM_BusClock, .prescale = kPWM_Prescale_Divide_4, .pairOperation = kPWM_Independent, .initializationControl = kPWM_Initialize_LocalSync, .reloadLogic = kPWM_ReloadImmediate, .reloadSelect = kPWM_LocalReload, .reloadFrequency = kPWM_LoadEveryOportunity, .forceTrigger = kPWM_Force_Local, .enableDebugMode = false, .enableWait = false }; pwm_signal_param_t PWM1_IdleBypass_pwm_function_config[1]= { { .pwmChannel = kPWM_PwmA, .dutyCyclePercent = 100U, .level = kPWM_HighTrue, .faultState = kPWM_PwmFaultState0, .deadtimeValue = 0U }, }; pwm_config_t PWM1_EGas_config = { .clockSource = kPWM_BusClock, .prescale = kPWM_Prescale_Divide_4, .pairOperation = kPWM_Independent, .initializationControl = kPWM_Initialize_LocalSync, .reloadLogic = kPWM_ReloadImmediate, .reloadSelect = kPWM_LocalReload, .reloadFrequency = kPWM_LoadEveryOportunity, .forceTrigger = kPWM_Force_Local, .enableDebugMode = false, .enableWait = false }; pwm_signal_param_t PWM1_EGas_pwm_function_config[1]= { { .pwmChannel = kPWM_PwmA, .dutyCyclePercent = 100U, .level = kPWM_HighTrue, .faultState = kPWM_PwmFaultState0, .deadtimeValue = 0U }, }; pwm_config_t PWM1_LambdaSonde_config = { .clockSource = kPWM_BusClock, .prescale = kPWM_Prescale_Divide_4, .pairOperation = kPWM_Independent, .initializationControl = kPWM_Initialize_LocalSync, .reloadLogic = kPWM_ReloadImmediate, .reloadSelect = kPWM_LocalReload, .reloadFrequency = kPWM_LoadEveryOportunity, .forceTrigger = kPWM_Force_Local, .enableDebugMode = false, .enableWait = false }; pwm_signal_param_t PWM1_LambdaSonde_pwm_function_config[2]= { { .pwmChannel = kPWM_PwmA, .dutyCyclePercent = 100U, .level = kPWM_HighTrue, .faultState = kPWM_PwmFaultState0, .deadtimeValue = 0U }, { .pwmChannel = kPWM_PwmB, .dutyCyclePercent = 100U, .level = kPWM_HighTrue, .faultState = kPWM_PwmFaultState0, .deadtimeValue = 0U }, }; const pwm_fault_input_filter_param_t PWM1_faultInputFilter_config = { .faultFilterPeriod = 1U, .faultFilterCount = 3U, .faultGlitchStretch = false }; const pwm_fault_param_t PWM1_Fault0_fault_config = { .faultClearingMode = kPWM_Automatic, .faultLevel = false, .enableCombinationalPath = false, .recoverMode = kPWM_NoRecovery }; const pwm_fault_param_t PWM1_Fault1_fault_config = { .faultClearingMode = kPWM_Automatic, .faultLevel = false, .enableCombinationalPath = false, .recoverMode = kPWM_NoRecovery }; const pwm_fault_param_t PWM1_Fault2_fault_config = { .faultClearingMode = kPWM_Automatic, .faultLevel = false, .enableCombinationalPath = false, .recoverMode = kPWM_NoRecovery }; const pwm_fault_param_t PWM1_Fault3_fault_config = { .faultClearingMode = kPWM_Automatic, .faultLevel = false, .enableCombinationalPath = false, .recoverMode = kPWM_NoRecovery }; static void PWM1_init(void) { /* Initialize PWM submodule IdleBypass main configuration */ PWM_Init(PWM1_PERIPHERAL, PWM1_IDLEBYPASS, &PWM1_IdleBypass_config); /* Initialize PWM submodule EGas main configuration */ PWM_Init(PWM1_PERIPHERAL, PWM1_EGAS, &PWM1_EGas_config); /* Initialize PWM submodule LambdaSonde main configuration */ PWM_Init(PWM1_PERIPHERAL, PWM1_LAMBDASONDE, &PWM1_LambdaSonde_config); /* Initialize fault input filter configuration */ PWM_SetupFaultInputFilter(PWM1_PERIPHERAL, &PWM1_faultInputFilter_config); /* Initialize fault channel 0 fault Fault0 configuration */ PWM_SetupFaults(PWM1_PERIPHERAL, PWM1_F0_FAULT0, &PWM1_Fault0_fault_config); /* Initialize fault channel 0 fault Fault1 configuration */ PWM_SetupFaults(PWM1_PERIPHERAL, PWM1_F0_FAULT1, &PWM1_Fault1_fault_config); /* Initialize fault channel 0 fault Fault2 configuration */ PWM_SetupFaults(PWM1_PERIPHERAL, PWM1_F0_FAULT2, &PWM1_Fault2_fault_config); /* Initialize fault channel 0 fault Fault3 configuration */ PWM_SetupFaults(PWM1_PERIPHERAL, PWM1_F0_FAULT3, &PWM1_Fault3_fault_config); /* Initialize deadtime logic input for the channel A */ PWM_SetupForceSignal(PWM1_PERIPHERAL, PWM1_IDLEBYPASS, PWM1_IDLEBYPASS_A, kPWM_UsePwm); /* Initialize deadtime logic input for the channel A */ PWM_SetupForceSignal(PWM1_PERIPHERAL, PWM1_EGAS, PWM1_EGAS_A, kPWM_UsePwm); /* Initialize deadtime logic input for the channel A_Heater */ PWM_SetupForceSignal(PWM1_PERIPHERAL, PWM1_LAMBDASONDE, PWM1_LAMBDASONDE_A_HEATER, kPWM_UsePwm); /* Initialize deadtime logic input for the channel B_PumpCur */ PWM_SetupForceSignal(PWM1_PERIPHERAL, PWM1_LAMBDASONDE, PWM1_LAMBDASONDE_B_PUMPCUR, kPWM_UsePwm); /* Setup PWM output setting for submodule IdleBypass */ PWM_SetupPwm(PWM1_PERIPHERAL, PWM1_IDLEBYPASS, PWM1_IdleBypass_pwm_function_config, 1U, kPWM_SignedEdgeAligned, PWM1_IDLEBYPASS_COUNTER_FREQ_HZ, PWM1_IDLEBYPASS_SM_CLK_SOURCE_FREQ_HZ); /* Setup PWM output setting for submodule EGas */ PWM_SetupPwm(PWM1_PERIPHERAL, PWM1_EGAS, PWM1_EGas_pwm_function_config, 1U, kPWM_SignedEdgeAligned, PWM1_EGAS_COUNTER_FREQ_HZ, PWM1_EGAS_SM_CLK_SOURCE_FREQ_HZ); /* Setup PWM output setting for submodule LambdaSonde */ PWM_SetupPwm(PWM1_PERIPHERAL, PWM1_LAMBDASONDE, PWM1_LambdaSonde_pwm_function_config, 2U, kPWM_SignedEdgeAligned, PWM1_LAMBDASONDE_COUNTER_FREQ_HZ, PWM1_LAMBDASONDE_SM_CLK_SOURCE_FREQ_HZ); /* Initialize LDOK for update of the working registers */ PWM_SetPwmLdok(PWM1_PERIPHERAL, (kPWM_Control_Module_1 | kPWM_Control_Module_0 | kPWM_Control_Module_3), true); /* Start selected counters */ PWM_StartTimer(PWM1_PERIPHERAL, (kPWM_Control_Module_1 | kPWM_Control_Module_0 | kPWM_Control_Module_3)); } /*********************************************************************************************************************** * GPIO2 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPIO2' - type: 'igpio' - mode: 'GPIO' - custom_name_enabled: 'false' - type_id: 'igpio_b1c1fa279aa7069dca167502b8589cb7' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPIO2' - config_sets: - fsl_gpio: - enable_irq_comb_0_15: 'true' - gpio_interrupt_comb_0_15: - IRQn: 'GPIO2_Combined_0_15_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_comb_16_31: 'true' - gpio_interrupt_comb_16_31: - IRQn: 'GPIO2_Combined_16_31_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ static void GPIO2_init(void) { /* Make sure, the clock gate for GPIO2 is enabled (e. g. in pin_mux.c) */ /* Enable interrupt GPIO2_Combined_0_15_IRQn request in the NVIC. */ EnableIRQ(GPIO2_GPIO_COMB_0_15_IRQN); /* Enable interrupt GPIO2_Combined_16_31_IRQn request in the NVIC. */ EnableIRQ(GPIO2_GPIO_COMB_16_31_IRQN); } /*********************************************************************************************************************** * GPIO4 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'GPIO4' - type: 'igpio' - mode: 'GPIO' - custom_name_enabled: 'false' - type_id: 'igpio_b1c1fa279aa7069dca167502b8589cb7' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'GPIO4' - config_sets: - fsl_gpio: - enable_irq_comb_0_15: 'true' - gpio_interrupt_comb_0_15: - IRQn: 'GPIO4_Combined_0_15_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - enable_irq_comb_16_31: 'true' - gpio_interrupt_comb_16_31: - IRQn: 'GPIO4_Combined_16_31_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ static void GPIO4_init(void) { /* Make sure, the clock gate for GPIO4 is enabled (e. g. in pin_mux.c) */ /* Enable interrupt GPIO4_Combined_0_15_IRQn request in the NVIC. */ EnableIRQ(GPIO4_GPIO_COMB_0_15_IRQN); /* Enable interrupt GPIO4_Combined_16_31_IRQn request in the NVIC. */ EnableIRQ(GPIO4_GPIO_COMB_16_31_IRQN); } /*********************************************************************************************************************** * LPUART3 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'LPUART3' - type: 'lpuart' - mode: 'polling' - custom_name_enabled: 'false' - type_id: 'lpuart_bebe3e12b6ec22bbd14199038f2bf459' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'LPUART3' - config_sets: - lpuartConfig_t: - lpuartConfig: - clockSource: 'LpuartClock' - lpuartSrcClkFreq: 'BOARD_BootClockRUN' - baudRate_Bps: '115200' - parityMode: 'kLPUART_ParityDisabled' - dataBitsCount: 'kLPUART_EightDataBits' - isMsb: 'false' - stopBitCount: 'kLPUART_OneStopBit' - txFifoWatermark: '0' - rxFifoWatermark: '1' - enableRxRTS: 'false' - enableTxCTS: 'false' - txCtsSource: 'kLPUART_CtsSourcePin' - txCtsConfig: 'kLPUART_CtsSampleAtStart' - rxIdleType: 'kLPUART_IdleTypeStartBit' - rxIdleConfig: 'kLPUART_IdleCharacter1' - enableTx: 'true' - enableRx: 'true' - quick_selection: 'QuickSelection1' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const lpuart_config_t LPUART3_config = { .baudRate_Bps = 115200UL, .parityMode = kLPUART_ParityDisabled, .dataBitsCount = kLPUART_EightDataBits, .isMsb = false, .stopBitCount = kLPUART_OneStopBit, .txFifoWatermark = 0U, .rxFifoWatermark = 1U, .enableRxRTS = false, .enableTxCTS = false, .txCtsSource = kLPUART_CtsSourcePin, .txCtsConfig = kLPUART_CtsSampleAtStart, .rxIdleType = kLPUART_IdleTypeStartBit, .rxIdleConfig = kLPUART_IdleCharacter1, .enableTx = true, .enableRx = true }; static void LPUART3_init(void) { LPUART_Init(LPUART3_PERIPHERAL, &LPUART3_config, LPUART3_CLOCK_SOURCE); } /*********************************************************************************************************************** * LPUART5 initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'LPUART5' - type: 'lpuart' - mode: 'polling' - custom_name_enabled: 'false' - type_id: 'lpuart_bebe3e12b6ec22bbd14199038f2bf459' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'LPUART5' - config_sets: - lpuartConfig_t: - lpuartConfig: - clockSource: 'LpuartClock' - lpuartSrcClkFreq: 'BOARD_BootClockRUN' - baudRate_Bps: '115200' - parityMode: 'kLPUART_ParityDisabled' - dataBitsCount: 'kLPUART_EightDataBits' - isMsb: 'false' - stopBitCount: 'kLPUART_OneStopBit' - txFifoWatermark: '0' - rxFifoWatermark: '1' - enableRxRTS: 'false' - enableTxCTS: 'false' - txCtsSource: 'kLPUART_CtsSourcePin' - txCtsConfig: 'kLPUART_CtsSampleAtStart' - rxIdleType: 'kLPUART_IdleTypeStartBit' - rxIdleConfig: 'kLPUART_IdleCharacter1' - enableTx: 'true' - enableRx: 'true' - quick_selection: 'QuickSelection1' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ const lpuart_config_t LPUART5_config = { .baudRate_Bps = 115200UL, .parityMode = kLPUART_ParityDisabled, .dataBitsCount = kLPUART_EightDataBits, .isMsb = false, .stopBitCount = kLPUART_OneStopBit, .txFifoWatermark = 0U, .rxFifoWatermark = 1U, .enableRxRTS = false, .enableTxCTS = false, .txCtsSource = kLPUART_CtsSourcePin, .txCtsConfig = kLPUART_CtsSampleAtStart, .rxIdleType = kLPUART_IdleTypeStartBit, .rxIdleConfig = kLPUART_IdleCharacter1, .enableTx = true, .enableRx = true }; static void LPUART5_init(void) { LPUART_Init(LPUART5_PERIPHERAL, &LPUART5_config, LPUART5_CLOCK_SOURCE); } /*********************************************************************************************************************** * ADC_ETC initialization code **********************************************************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* instance: - name: 'ADC_ETC' - type: 'adc_etc' - mode: 'ADC_ETC_SW' - custom_name_enabled: 'false' - type_id: 'adc_etc_05e3d3ed2376fa5bde10b24efc9ee456' - functional_group: 'BOARD_InitPeripherals' - peripheral: 'ADC_ETC' - config_sets: - fsl_adc_etc: - config: - clockConfig_t: - clockSource: 'BusInterfaceClock' - clockSourceFreq: 'BOARD_BootClockRUN' - clockPreDivider: '100' - dmaMode: 'kADC_ETC_TrigDMAWithLatchedSignal' - tscConfig: - enableTSCBypass: 'true' - enableTSC0Trigger: 'false' - TSC0triggerPriority: '0' - enableTSC1Trigger: 'false' - TSC1triggerPriority: '0' - triggers_config: - 0: - triggerNameValue: 'TC_1ms' - initializeTrigger: 'true' - trigger: 'XBAR0_TRIG.0' - triggerPriority: '0' - enableSWTriggerMode: 'false' - enableSyncMode: 'false' - enableDMA: 'false' - initialDelay_str: '0' - sampleIntervalDelay_str: '0' - triggerChain: - 0: - enableB2BMode: 'true' - ADCHCRegisterSelect: '0' - channelNumber: 'ADC1.IN.13' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 1: - enableB2BMode: 'true' - ADCHCRegisterSelect: '1' - channelNumber: 'ADC1.IN.9' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 2: - enableB2BMode: 'true' - ADCHCRegisterSelect: '2' - channelNumber: 'ADC1.IN.7' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 3: - enableB2BMode: 'true' - ADCHCRegisterSelect: '3' - channelNumber: 'ADC1.IN.8' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 4: - enableB2BMode: 'true' - ADCHCRegisterSelect: '4' - channelNumber: 'ADC1.IN.14' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 5: - enableB2BMode: 'true' - ADCHCRegisterSelect: '5' - channelNumber: 'ADC1.IN.15' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 6: - enableB2BMode: 'true' - ADCHCRegisterSelect: '6' - channelNumber: 'ADC1.IN.3' - e_InterruptEnable: 'kADC_ETC_Done0InterruptEnable' - 1: - triggerNameValue: 'TC_10ms' - initializeTrigger: 'true' - trigger: 'XBAR0_TRIG.1' - triggerPriority: '0' - enableSWTriggerMode: 'false' - enableSyncMode: 'false' - enableDMA: 'false' - initialDelay_str: '0' - sampleIntervalDelay_str: '0' - triggerChain: - 0: - enableB2BMode: 'true' - ADCHCRegisterSelect: '0' - channelNumber: 'ADC2.IN.11' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 1: - enableB2BMode: 'true' - ADCHCRegisterSelect: '1' - channelNumber: 'ADC2.IN.6' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 2: - enableB2BMode: 'true' - ADCHCRegisterSelect: '2' - channelNumber: 'ADC2.IN.10' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 3: - enableB2BMode: 'true' - ADCHCRegisterSelect: '3' - channelNumber: 'ADC2.IN.2' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 4: - enableB2BMode: 'true' - ADCHCRegisterSelect: '4' - channelNumber: 'ADC2.IN.0' - e_InterruptEnable: 'kADC_ETC_InterruptDisable' - 5: - enableB2BMode: 'true' - ADCHCRegisterSelect: '5' - channelNumber: 'ADC2.IN.1' - e_InterruptEnable: 'kADC_ETC_Done1InterruptEnable' - enableInterrupt: 'true' - adc_etc_interrupt_0: - IRQn: 'ADC_ETC_IRQ0_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - adc_etc_interrupt_1: - IRQn: 'ADC_ETC_IRQ1_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' - adc_etc_interrupt_err: - IRQn: 'ADC_ETC_ERROR_IRQ_IRQn' - enable_interrrupt: 'enabled' - enable_priority: 'false' - priority: '0' - enable_custom_name: 'false' * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /* ADC_ETC configuration */ const adc_etc_config_t ADC_ETC_config = { .clockPreDivider = 99, .dmaMode = kADC_ETC_TrigDMAWithLatchedSignal, .enableTSCBypass = true, .enableTSC0Trigger = false, .enableTSC1Trigger = false, .TSC0triggerPriority = 0, .TSC1triggerPriority = 0, .XBARtriggerMask = 3 }; /* ADC_ETC triggers configuration */ const adc_etc_trigger_config_t ADC_ETC_trigger_config[2] = { { .triggerPriority = 0, .enableSWTriggerMode = false, .enableSyncMode = false, .initialDelay = 0, .sampleIntervalDelay = 0, .triggerChainLength = 6 }, { .triggerPriority = 0, .enableSWTriggerMode = false, .enableSyncMode = false, .initialDelay = 0, .sampleIntervalDelay = 0, .triggerChainLength = 5 } }; /* ADC_ETC chain configurations for appropriate (see name of these arrays) trigger configuration */ const adc_etc_trigger_chain_config_t ADC_ETC_TC_1ms_chain_config[7] = { { .enableB2BMode = true, .ADCHCRegisterSelect = 1, .ADCChannelSelect = 13, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 2, .ADCChannelSelect = 9, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 4, .ADCChannelSelect = 7, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 8, .ADCChannelSelect = 8, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 16, .ADCChannelSelect = 14, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 32, .ADCChannelSelect = 15, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 64, .ADCChannelSelect = 3, .InterruptEnable = kADC_ETC_Done0InterruptEnable, } }; const adc_etc_trigger_chain_config_t ADC_ETC_TC_10ms_chain_config[6] = { { .enableB2BMode = true, .ADCHCRegisterSelect = 1, .ADCChannelSelect = 11, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 2, .ADCChannelSelect = 6, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 4, .ADCChannelSelect = 10, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 8, .ADCChannelSelect = 2, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 16, .ADCChannelSelect = 0, .InterruptEnable = kADC_ETC_InterruptDisable, }, { .enableB2BMode = true, .ADCHCRegisterSelect = 32, .ADCChannelSelect = 1, .InterruptEnable = kADC_ETC_Done1InterruptEnable, } }; static void ADC_ETC_init(void) { /* ADC_ETC initialization */ ADC_ETC_Init(ADC_ETC_PERIPHERAL, &ADC_ETC_config); /* Initialize ADC_ETC trigger 0. */ ADC_ETC_SetTriggerConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, &ADC_ETC_trigger_config[ADC_ETC_TC_1ms]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 0U, &ADC_ETC_TC_1ms_chain_config[0]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 1U, &ADC_ETC_TC_1ms_chain_config[1]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 2U, &ADC_ETC_TC_1ms_chain_config[2]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 3U, &ADC_ETC_TC_1ms_chain_config[3]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 4U, &ADC_ETC_TC_1ms_chain_config[4]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 5U, &ADC_ETC_TC_1ms_chain_config[5]); /* Initialize ADC_ETC chain configuration for trigger 0. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_1ms_TG, 6U, &ADC_ETC_TC_1ms_chain_config[6]); /* Initialize ADC_ETC trigger 1. */ ADC_ETC_SetTriggerConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, &ADC_ETC_trigger_config[ADC_ETC_TC_10ms]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 0U, &ADC_ETC_TC_10ms_chain_config[0]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 1U, &ADC_ETC_TC_10ms_chain_config[1]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 2U, &ADC_ETC_TC_10ms_chain_config[2]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 3U, &ADC_ETC_TC_10ms_chain_config[3]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 4U, &ADC_ETC_TC_10ms_chain_config[4]); /* Initialize ADC_ETC chain configuration for trigger 1. */ ADC_ETC_SetTriggerChainConfig(ADC_ETC_PERIPHERAL, ADC_ETC_TC_10ms_TG, 5U, &ADC_ETC_TC_10ms_chain_config[5]); /* Enable interrupt ADC_ETC_IRQ0_IRQn request in the NVIC. */ EnableIRQ(ADC_ETC_ADC_ETC_0_IRQN); /* Enable interrupt ADC_ETC_IRQ1_IRQn request in the NVIC. */ EnableIRQ(ADC_ETC_ADC_ETC_1_IRQN); /* Enable interrupt ADC_ETC_ERROR_IRQ_IRQn request in the NVIC. */ EnableIRQ(ADC_ETC_ADC_ETC_ERROR_IRQN); } /*********************************************************************************************************************** * Initialization functions **********************************************************************************************************************/ void BOARD_InitPeripherals(void) { /* Global initialization */ DMAMUX_Init(DMA0_DMAMUX_BASEADDR); EDMA_Init(DMA0_DMA_BASEADDR, &DMA0_config); /* Initialize components */ DMA0_init(); GPIO1_init(); GPIO3_init(); GPIO5_init(); GPT1_init(); LPSPI1_init(); LPUART1_init(); PIT_init(); ADC1_init(); ADC2_init(); CAN1_init(); PWM1_init(); GPIO2_init(); GPIO4_init(); LPUART3_init(); LPUART5_init(); ADC_ETC_init(); } /*********************************************************************************************************************** * BOARD_InitBootPeripherals function **********************************************************************************************************************/ void BOARD_InitBootPeripherals(void) { BOARD_InitPeripherals(); }