Statistics: Posted by pillarpeng — Thu Aug 04, 2016 4:34 pm
Statistics: Posted by yangtao — Fri Jul 01, 2016 11:51 am
Code:
user_light_init
{
// key init: GPIO 4 add by pp 2016.5.20
single_key[0] = key_init_single(LIGHT_KEY_0_IO_NUM, LIGHT_KEY_0_IO_MUX, LIGHT_KEY_0_IO_FUNC, user_light_long_press, user_light_short_press);
keys.key_num = LIGHT_KEY_NUM;
keys.single_key = single_key;
key_init(&keys);
//------------------------------------
spi_flash_read((PRIV_PARAM_START_SEC + PRIV_PARAM_SAVE) * SPI_FLASH_SEC_SIZE,
(uint32 *)&light_param, sizeof(struct light_saved_param)); // 读取 PWM 的参数值
if(light_param.pwm_period>10000 || light_param.pwm_period <1000) // 设置 PWM 的周期
{
light_param.pwm_period = 1000;
}
uint32 io_info[][3] = {
{PWM_0_OUT_IO_MUX,PWM_0_OUT_IO_FUNC,PWM_0_OUT_IO_NUM}, // gpio14
{PWM_1_OUT_IO_MUX,PWM_1_OUT_IO_FUNC,PWM_1_OUT_IO_NUM}, // gpio12
{PWM_2_OUT_IO_MUX,PWM_2_OUT_IO_FUNC,PWM_2_OUT_IO_NUM}, // gpio15
{PWM_3_OUT_IO_MUX,PWM_3_OUT_IO_FUNC,PWM_3_OUT_IO_NUM}, // gpio4
{PWM_4_OUT_IO_MUX,PWM_4_OUT_IO_FUNC,PWM_4_OUT_IO_NUM}, // gpio13
};
uint32 pwm_duty_init[PWM_CHANNEL] = {0}; // 初始化 duty 为 0
/*PIN FUNCTION INIT FOR PWM OUTPUT*/
pwm_init(light_param.pwm_period, pwm_duty_init ,PWM_CHANNEL,io_info);
os_printf("LIGHT PARAM: R: %d \r\n",light_param.pwm_duty[LIGHT_RED]); // R: gpio14
os_printf("LIGHT PARAM: G: %d \r\n",light_param.pwm_duty[LIGHT_GREEN]); // G: gpio12
os_printf("LIGHT PARAM: B: %d \r\n",light_param.pwm_duty[LIGHT_BLUE]); // B: gpio15
if(PWM_CHANNEL>LIGHT_COLD_WHITE)
{
os_printf("LIGHT PARAM: CW: %d \r\n",light_param.pwm_duty[LIGHT_COLD_WHITE]); // C: gpio4
os_printf("LIGHT PARAM: WW: %d \r\n",light_param.pwm_duty[LIGHT_WARM_WHITE]); // w: gpio13
}
os_printf("LIGHT PARAM: P: %d \r\n",light_param.pwm_period); // pwm period
uint32 light_init_target[8]={0};
os_memcpy(light_init_target,light_param.pwm_duty,sizeof(light_param.pwm_duty));
light_set_aim(
light_init_target[LIGHT_RED],
light_init_target[LIGHT_GREEN],
light_init_target[LIGHT_BLUE],
light_init_target[LIGHT_COLD_WHITE],
light_init_target[LIGHT_WARM_WHITE],
light_param.pwm_period
);
set_pwm_debug_en(0);//disable debug print in pwm driver
os_printf("PWM version : %08x \r\n",get_pwm_version());
}
Statistics: Posted by pillarpeng — Fri Jul 01, 2016 10:09 am
Statistics: Posted by pillarpeng — Thu Jun 30, 2016 4:43 pm