/*==================================================================================================
* Project : RTD AUTOSAR 4.7
* Platform : CORTEXM
* Peripheral : S32K3XX
* Dependencies : none
*
* Autosar Version : 4.7.0
* Autosar Revision : ASR_REL_4_7_REV_0000
* Autosar Conf.Variant :
* SW Version : 4.0.0
* Build Version : S32K3_RTD_4_0_0_D2311_ASR_REL_4_7_REV_0000_20231128
*
* Copyright 2020 - 2023 NXP
*
* NXP Confidential. This software is owned or controlled by NXP and may only be
* used strictly in accordance with the applicable license terms. By expressly
* accepting such terms or by downloading, installing, activating and/or otherwise
* using the software, you are agreeing that you have read, and that you agree to
* comply with and are bound by, such license terms. If you do not agree to be
* bound by the applicable license terms, then you may not retain, install,
* activate or otherwise use the software.
==================================================================================================*/

/**
*   @file main.c
*
*   @addtogroup main_module main module documentation
*   @{
*/

/* Including necessary configuration files. */
#include "Mcal.h"
#include "Siul2_Dio_Ip.h"
#include "Siul2_Port_Ip.h"
#include "nxp_helpers.h"
#include "IntCtrl_Ip.h"
#include "nxp_console.h"

volatile int exit_code = 0;
/* User includes */
void TestDelay(uint32 delay);

/*******************************************************************************
 * TestDelay
 *******************************************************************************/
void TestDelay(uint32 delay)
{
	static volatile uint32 DelayTimer = 0;
	while(DelayTimer < delay)
	{
		DelayTimer++;
	}
	DelayTimer = 0;
}

/*!
  \brief The main function for the project.
  \details The startup initialization sequence is the following:
 * - startup asm routine
 * - main()
*/
int main(void)
{
    /* Write your code here */

	Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS_PortContainer_0_BOARD_InitPeripherals, g_pin_mux_InitConfigArr_PortContainer_0_BOARD_InitPeripherals);

	Siul2_Dio_Ip_WritePin(RGB_C1_PORT, RGB_C1_PIN, 1U);

	(uint16)IntCtrl_Ip_Init(&IntCtrlConfig_0);

	DbgConsole_Init(BOARD_DEBUG_UART_BASEADDR,BOARD_DEBUG_UART_TYPE,&Lpuart_Uart_Ip_xHwConfigPB_2);
	PRINTF("hello welcome...\r\ncore 2 running...\r\n");
	while(1)
	{
		Siul2_Dio_Ip_WritePin(RGB_GREEN_PORT, RGB_GREEN_PIN, 1U);
		TestDelay(4800000);
		Siul2_Dio_Ip_WritePin(RGB_GREEN_PORT, RGB_GREEN_PIN, 0U);
		TestDelay(4800000);
		//can_mgr_tx_msg_uint16(CAN2_INSTANCE, 0x18EAE4F0, (uint8 *)&dummyData_1, CAN_MAIN_TX_MailBox);
	}
    for(;;)
    {
        if(exit_code != 0)
        {
            break;
        }
    }
    return exit_code;
}

/** @} */
