DCL_STATUS gpio_15_segment_led_init()
{
#if defined(DRV_GPIO_FOR_LED_AND_15_SEGMENT)
	debug1_Handle = DclGPIO_Open(DCL_GPIO,62);
	debug2_Handle = DclGPIO_Open(DCL_GPIO,63);
	debug3_Handle = DclGPIO_Open(DCL_GPIO,64);
	debug4_Handle = DclGPIO_Open(DCL_GPIO,65);
	
	DclGPIO_Control(debug1_Handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(debug1_Handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(debug1_Handle,GPIO_CMD_WRITE_HIGH,0);


	DclGPIO_Control(debug2_Handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(debug2_Handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(debug2_Handle,GPIO_CMD_WRITE_HIGH,0);


	DclGPIO_Control(debug3_Handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(debug3_Handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(debug3_Handle,GPIO_CMD_WRITE_HIGH,0);


	DclGPIO_Control(debug4_Handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(debug4_Handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(debug4_Handle,GPIO_CMD_WRITE_HIGH,0);
	if(fifteen_segment_timer == NULL)
	fifteen_segment_timer = kal_create_timer("15_segment_TIMER");
	return STATUS_OK;
#else
	return STATUS_FAIL;
#endif
		
}
void BGSND_INIT()
{	
	memset(&bgSnd, 0, sizeof(BGSND_T));
	
	// get audio ID
	bgSnd.aud_id = L1Audio_GetAudioID(); 
	L1Audio_SetEventHandler( bgSnd.aud_id, (L1Audio_EventHandler)bgsndEventHandler );
	bgSnd.timer = kal_create_timer("bgSnd"); 
}
DCL_STATUS gpio_led_init()
{
	#if defined(GPIO_NUMBER_FOR_LED1)
	led1_handle = DclGPIO_Open(DCL_GPIO,GPIO_NUMBER_FOR_LED1);
	DclGPIO_Control(led1_handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(led1_handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(led1_handle,GPIO_CMD_WRITE_LOW,0);
	if(led1_timer == NULL)
	led1_timer = kal_create_timer("LED1_TIMER");
	#endif
	#if defined(GPIO_NUMBER_FOR_LED2)
	led2_handle = DclGPIO_Open(DCL_GPIO,GPIO_NUMBER_FOR_LED2);
	DclGPIO_Control(led2_handle,GPIO_CMD_SET_MODE_0,0);
	DclGPIO_Control(led2_handle,GPIO_CMD_SET_DIR_OUT,0);
	DclGPIO_Control(led2_handle,GPIO_CMD_WRITE_LOW,0);//low level means led do not light
	if(led2_timer == NULL)
	led2_timer = kal_create_timer("LED2_TIMER");
	#endif
	return STATUS_OK;
}
示例#4
0
void ADIE_SetRefreshTimer(void)
{
#if defined(MT6250)
   TM_TCB *tm_ptr;
   kal_internal_timerid kal_timer;

   ADIE_IRQ_Timer = kal_create_timer("ADIE_IRQ");
   kal_timer = (kal_internal_timerid)ADIE_IRQ_Timer;
   tm_ptr = &(((TM_APP_TCB *)&(kal_timer->timer_id))->tm_actual_timer);
   kal_set_aligned_timer(tm_ptr, ALIGNED_TIMER_MAX_DELAY);
   kal_set_timer(ADIE_IRQ_Timer, (kal_timer_func_ptr)ADIE_IRQ_TimerCallback, NULL, KAL_TICKS_100_MSEC, KAL_TICKS_100_MSEC);
#endif
}
/*
* FUNCTION                                                            
*   e_compass_sensor_init
*
* DESCRIPTION                                                           
*       This function is to initialize e_compass sensor driver
*
* CALLS  
*
* PARAMETERS
*   None
*	
* RETURNS
*   None
*/
void e_compass_init(void)
{
    /*get customization functin data and function pointr*/
    e_compass_sensor_custom_fp = ec_GetFunc();
    e_compass_sensor_custom_fp->ec_custom_init();
    e_compass_sensor_custom_dp=e_compass_sensor_custom_fp->ec_get_data();

    /* init calibration state and GPT handle for sample and calibration */
    e_compass_sensor_data.cali_state = E_COMPASS_SENSOR_CALI_NONE;
    GPTI_GetHandle(&(e_compass_sensor_data.sample_handle));

    e_compass_flush_data_buffer();

    e_compass_power_on_timer_id = kal_create_timer("E_Compass_Power_On_Timer");
}
void lpm_init(void)
{
#if 1 /*TBC...*/
	{
		LPM_REG_CLR_SET(PLL_CLKSW_FDIV2, 0xF<<0, 4<<0);
		DRV_SetReg32(PLL_CLKSW_FDIV6, 0x04);
		DRV_SetReg32(PLL_CLKSW_FDIV6, 0x0100);
		DRV_ClrReg32(PLL_CLKSW_FDIV6, 0x0100);
	}
	PDN_CLR(PDN_LPM);
#endif
    /* It is disabled for low power(TOPSM) requirement. */
    kal_set_timer(kal_create_timer("DCM_Timer"), 
                 (kal_timer_func_ptr)DCM_Trace,
                 NULL, 
                 KAL_TICKS_5_SEC, 
                 KAL_TICKS_5_SEC);    
}
DCL_STATUS gpio_15_segment_led_control(kal_uint8 word1, kal_uint8 word2)
{
#if defined(DRV_GPIO_FOR_LED_AND_15_SEGMENT)
	kal_uint32 savedMask;
	DCL_HANDLE handle;
	PMU_CTRL_LDO_BUCK_SET_EN val;
	PMU_CTRL_LDO_BUCK_SET_VOLTAGE val1;
	val1.voltage = PMU_VOLT_02_800000_V;
	val1.mod = VMC;
	handle = DclPMU_Open(DCL_PMU,FLAGS_NONE);
	DclPMU_Control(handle, LDO_BUCK_SET_VOLTAGE,(DCL_CTRL_DATA_T *)&val1);

	val.enable = DCL_TRUE;
	val.mod = VMC;
	DclPMU_Control(handle, LDO_BUCK_SET_EN,(DCL_CTRL_DATA_T *)&val);
	DclPMU_Close(handle);
	if(debug1_Handle == 0 || debug2_Handle == 0 || debug3_Handle == 0 || debug4_Handle == 0)
	{
		debug1_Handle = DclGPIO_Open(DCL_GPIO,62);
		debug2_Handle = DclGPIO_Open(DCL_GPIO,63);
		debug3_Handle = DclGPIO_Open(DCL_GPIO,64);
		debug4_Handle = DclGPIO_Open(DCL_GPIO,65);
	}
	if(fifteen_segment_timer == NULL)
		fifteen_segment_timer = kal_create_timer("15_segment_TIMER");
	
	switch(word1)
	{
		case '2':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table1;
			table_count = 6;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case '3':
		{
			if(word2 == 1)
			{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table7;
				table_count = 7;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			}
			else
			{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table6;
				table_count = 6;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display,NULL, 1, 1);
			}
			break;
		}
		case '6':
		{
			if(word2 == 1)
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table3;
				table_count = 8;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
				}
			else
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table2;
				table_count = 7;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
				}
			break;
		}
		case 'd':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table12;
			table_count = 7;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case 'E':
		{
			if(word2 == 1)
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table5;
				table_count = 7;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
				}
			else
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table4;
				table_count = 6;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
				}
			break;
		}
		case 'h':
		{
			if(word2 == 1)
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table9;
				table_count = 6;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
				}
			else
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table8;
				table_count = 5;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
				}
			break;
		}
		case 'H':
		{
			if(word2 == 1)
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table11;
				table_count = 7;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
				}
			else
				{
				savedMask = SaveAndSetIRQMask();
				word_to_display = char_to_display_table10;
				table_count = 6;
				RestoreIRQMask(savedMask);
				kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
				}
			break;
		}
		case 'I':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table17;
			table_count = 4;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer, (kal_timer_func_ptr)gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case 'L':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table15;
			table_count = 3;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case 'N':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table16;
			table_count = 6;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case 'X':
		{
			savedMask = SaveAndSetIRQMask();
			word_to_display = char_to_display_table13;
			table_count = 4;
			RestoreIRQMask(savedMask);
			kal_set_timer(fifteen_segment_timer,(kal_timer_func_ptr) gpio_15_segment_display, NULL, 1, 1);
			break;
		}
		case 0:
		{
			kal_cancel_timer(fifteen_segment_timer);
			DclGPIO_Control(debug1_Handle,GPIO_CMD_WRITE_HIGH,0);
			DclGPIO_Control(debug2_Handle,GPIO_CMD_WRITE_HIGH,0);
			DclGPIO_Control(debug3_Handle,GPIO_CMD_WRITE_HIGH,0);
			DclGPIO_Control(debug4_Handle,GPIO_CMD_WRITE_HIGH,0);
			break;
		}
		default:
		{
			ASSERT(0);
			return STATUS_INVALID_CTRL_DATA;
		}
	}

	return STATUS_OK;
#else
	return STATUS_FAIL;
#endif
}