コード例 #1
0
ファイル: at-master-test.c プロジェクト: 1847123212/contiki
/*---------------------------------------------------------------------------*/
static void
at_cmd_flop_callback(struct at_cmd *cmd, uint8_t len, char *data)
{
  /* Format: AT&FLOP=PN where P(ort)N(number) */
  uint8_t port;
  uint8_t pin = atoi(&data[9]);

  if((pin < 0) || (pin > 9)) {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  if(strncmp(&data[8], "A", 1) == 0) {
    port = GPIO_A_NUM;
  } else if(strncmp(&data[8], "B", 1) == 0) {
    port = GPIO_B_NUM;
  } else if(strncmp(&data[8], "C", 1) == 0) {
    port = GPIO_C_NUM;
  } else if(strncmp(&data[8], "D", 1) == 0) {
    port = GPIO_D_NUM;
  } else {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  config_gpio(port, pin, HWTEST_GPIO_OUTPUT);
  floppin(port, pin);

  AT_RESPONSE(AT_DEFAULT_RESPONSE_OK);
}
コード例 #2
0
static unsigned int lcm_compare_id(void)
{
	unsigned int    id1 = 0;
	unsigned int    id2 = 0;
	unsigned int    id = 0;


        config_gpio();

	SET_RESET_PIN(1);
	MDELAY(20);
	SET_RESET_PIN(0);
	MDELAY(20);
	SET_RESET_PIN(1);
	MDELAY(120);

	set_lcm_register(0xF000,0x55);             
	set_lcm_register(0xF001,0xAA);             
	set_lcm_register(0xF002,0x52);             
	set_lcm_register(0xF003,0x08);             
	set_lcm_register(0xF004,0x01);
	
	send_ctrl_cmd(0xc500);
	id1 = spi_read_data();  //spi_read_data();
	MDELAY(20);
	send_ctrl_cmd(0xc501);
	id2 = spi_read_data();  //spi_read_data();

	id = (id1<<8)|id2;


	return (LCM_ID == id)?1:0;
}
static unsigned int lcm_compare_id(void)
{

    unsigned int    id1 = 0;
    unsigned int    id2 = 0;
    unsigned int    id = 0;

    //unsigned char data[4];
    
//#ifdef BUILD_LK
    //unsigned int    lcm_idpin_value = 0;
   // lcm_idpin_value = lcm_check_idpin_adc(ADC_CHECK_COUNT);
//#endif
    config_gpio();//config gpio before use spi
    MDELAY(1);
    SET_RESET_PIN(1);
    MDELAY(10);
    SET_RESET_PIN(0);
    MDELAY(50);
    SET_RESET_PIN(1);
    MDELAY(120);

    send_ctrl_cmd(0xb0);
    //send_data_cmd(0x83);//bit7=7,sdo disable,sdo/sdi use the same pin
    send_data_cmd(0x03);//bit7=0,sdo en

    send_ctrl_cmd(0xfb);
    send_data_cmd(0x12);

    id1=spi_get_data(0xd3);

    send_ctrl_cmd(0xfb);
    send_data_cmd(0x13);
    id2=spi_get_data(0xd3);

    id = (id1<<8)|id2;//ic id
    
#ifdef BUILD_LK
    printf("by35hh_lcd_id=0x%x \r\n",id);
    //printf("by35hp_lcd_id data=0x%x,0x%x,0x%x,0x%x \r\n",data[0],data[1],data[2],data[3]);
#else
    printk("by35hh_lcd_id=0x%x\r\n",id);
#endif


//#ifdef BUILD_LK
   // if(/*(LCM_ID == id) || */( lcm_idpin_value >= 190))//id pin voltage is about 2.0v
//#else       
    if(LCM_ID == id)
//#endif
    {
        return 1;
    }
    else
    {
        return 0;
    }
    //return (LCM_ID == id)?1:0;

}
コード例 #4
0
static void lcm_init(void)
{
#ifdef BUILD_LK
    upmu_set_rg_vgp2_vosel(5);
    upmu_set_rg_vgp2_en(1);
    MDELAY(50);
		
    upmu_set_rg_vgp3_vosel(3);
    upmu_set_rg_vgp3_en(1); 
#else
    hwPowerOn(MT6323_POWER_LDO_VGP2,VOL_2800,"LCM28");
    hwPowerOn(MT6323_POWER_LDO_VGP3,VOL_1800,"LCM18");
#endif
    MDELAY(100);

    config_gpio();
    SET_RESET_PIN(1);
    MDELAY(10);
    SET_RESET_PIN(0);
    MDELAY(20);
    SET_RESET_PIN(1);
    MDELAY(50);

    init_lcm_registers();
}
コード例 #5
0
static int compare_ic_id(void)
{
    char ret,id;        
 
    config_gpio_for_read();
  
#ifdef BUILD_UBOOT     	
    SET_RESET_PIN(1);
	MDELAY(10);
	SET_RESET_PIN(0);
	MDELAY(10);
	SET_RESET_PIN(1);
	MDELAY(100);	
#endif

    LCDSPI_GPIO_CMD(0xB0);
    LCDSPI_GPIO_DAT(0x04);
	LCDSPI_GPIO_CMD(0xF5);
	
	id = LCDSPI_Read(0XBF);	

    LCM_DEBUG("LCD id is %d !!!!!!!!!!!!!!!!!!!!!!!!\n",id);
	ret = 0;
	
	if( lcm_id == id )
	    ret = 1;
    
    config_gpio();

	return ret; 	
}
コード例 #6
0
ファイル: nt35582.c プロジェクト: 4Fwolf/ALCATEL_LCM
static void lcm_resume(void)
{
	config_gpio();
    send_ctrl_cmd(0x1100);
    MDELAY(200);
	send_ctrl_cmd(0x2900);
}
コード例 #7
0
ファイル: nt35582.c プロジェクト: 4Fwolf/ALCATEL_LCM
static void lcm_suspend(void)
{
	config_gpio();
    send_ctrl_cmd(0x2800);
    send_ctrl_cmd(0x1000);
    MDELAY(20);
}
static void lcm_init(void)
{
#ifdef BUILD_LK
	printf("UBOOT lcm_init\r\n");
#else
	printk("kernel lcm_init\r\n");
#endif

	config_gpio();
    MDELAY(1);
       //MDELAY(120);//LK@add delay to make reset and initial normal,not stable
	SET_RESET_PIN(1);
	MDELAY(10);
	SET_RESET_PIN(0);
	MDELAY(50);
	SET_RESET_PIN(1);
	MDELAY(120);


	init_lcm_registers();
#if 0    
	//SET_RESET_PIN(1);
	//MDELAY(1);
	//SET_RESET_PIN(0);
	//MDELAY(50);
	//SET_RESET_PIN(1);
	//MDELAY(120);

	init_lcm_registers();
#endif
}
コード例 #9
0
static unsigned int lcm_compare_id(void)
{

    unsigned int    id1 = 0;
    unsigned int    id2 = 0;
    unsigned int    id = 0;
#ifdef BUILD_LK
    unsigned int    lcm_idpin_value = 0;
    lcm_idpin_value = lcm_check_idpin_adc(ADC_CHECK_COUNT);
#endif
    config_gpio();
    SET_RESET_PIN(1);
    MDELAY(1);
    SET_RESET_PIN(0);
    MDELAY(20);
    SET_RESET_PIN(1);
    MDELAY(120);

    //send_ctrl_cmd(0xb0);

    send_ctrl_cmd(0xb0);
    //send_data_cmd(0x83);//bit7=7,sdo disable,sdo/sdi use the same pin
    send_data_cmd(0x03);//bit7=0,sdo en

    send_ctrl_cmd(0xfb);
    send_data_cmd(0x12);
#if 0
    id=spi_get_data(0xdb);//vendor id
#else
    id1=spi_get_data(0xd3);

    send_ctrl_cmd(0xfb);
    send_data_cmd(0x13);
    id2=spi_get_data(0xd3);

    id = (id1<<8)|id2;//ic id
#endif
#ifdef BUILD_LK
    printf("TXD9487_lcd_id1=0x%x,lcd_id2=0x%x,lcd_id=0x%x  \r\n",id1,id2,id);
#else
    printk("TXD9487_lcd_id1=0x%x,lcd_id2=0x%x,lcd_id=0x%x  \r\n",id1,id2,id);
#endif


#ifdef BUILD_LK
    if(/*(LCM_ID == id) || */( lcm_idpin_value > 140) && ( lcm_idpin_value <190))//id pin voltage is about 1.5v
#else       
    if(LCM_ID == id)
#endif
    {
        return 1;
    }
    else
    {
        return 0;
    }
    //return (LCM_ID == id)?1:0;

}
コード例 #10
0
static unsigned int lcm_compare_id(void)
{

    unsigned int    id = 0;

    //unsigned char data[4];
    
//#ifdef BUILD_LK
   // unsigned int    lcm_idpin_value = 0;
   // lcm_idpin_value = lcm_check_idpin_adc(ADC_CHECK_COUNT);
//#endif
    config_gpio();//config gpio before use spi
    MDELAY(1);
    SET_RESET_PIN(1);
    MDELAY(10);
    SET_RESET_PIN(0);
    MDELAY(50);
    SET_RESET_PIN(1);
    MDELAY(120);

    send_ctrl_cmd(0xB9); //EXTC
    send_data_cmd(0xFF); //EXTC
    send_data_cmd(0x83); //EXTC
    send_data_cmd(0x57); //EXTC
    MDELAY(15);

    send_ctrl_cmd(0xB3);
    send_data_cmd(0xC3);	
    //for himax8357C
    send_ctrl_cmd(0xFE);
    send_data_cmd(0xD0);
    MDELAY(20);
    id=spi_get_data(0xff);
    //id=spi_get_bytes(0xff,data);
    
#ifdef BUILD_LK
    printf("by35hp_lcd_id=0x%x \r\n",id);
    //printf("by35hp_lcd_id data=0x%x,0x%x,0x%x,0x%x \r\n",data[0],data[1],data[2],data[3]);
#else
    printk("by35hp_lcd_id=0x%x\r\n",id);
#endif


//#ifdef BUILD_LK
    //if(/*(LCM_ID == id) || */( lcm_idpin_value >= 190))//id pin voltage is about 2.0v
//#else       
    if(LCM_ID == id)
//#endif
    {
        return 1;
    }
    else
    {
        return 0;
    }
    //return (LCM_ID == id)?1:0;

}
コード例 #11
0
ファイル: nt35582.c プロジェクト: 4Fwolf/ALCATEL_LCM
static void lcm_init(void)
{
    SET_RESET_PIN(0);
    MDELAY(25);
    SET_RESET_PIN(1);
    MDELAY(50);
    config_gpio();
    init_lcm_registers();
}
コード例 #12
0
ファイル: at-master-test.c プロジェクト: 1847123212/contiki
/*---------------------------------------------------------------------------*/
static void
at_cmd_adc_callback(struct at_cmd *cmd, uint8_t len, char *data)
{
  /* Format: AT&ADC=N where N is 4-7, it can be "*" to read all */
  uint8_t i, pin;
  uint16_t res[4];
  char read_result[24];

  if(strncmp(&data[7], "*", 1) == 0) {
    pin = 8;
  } else {
    pin = atoi(&data[7]);
  }

  if((pin < 4) || (pin > 8)) {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  if(pin < 8) {
    config_gpio(GPIO_A_NUM, pin, HWTEST_GPIO_INPUT);
    ioc_set_over(GPIO_A_NUM, pin, IOC_OVERRIDE_ANA);
    res[pin - 4] = adc_get((SOC_ADC_ADCCON_CH_AIN0 + pin),
                           SOC_ADC_ADCCON_REF_AVDD5,
                           SOC_ADC_ADCCON_DIV_512);
    res[pin - 4] = res[pin - 4] / 10;
    PRINTF("ADC%u: %04d\n", pin, res[pin - 4]);
    snprintf(read_result, 5, "%04d", res[pin - 4]);
  } else {
    for(i = 4; i < 8; i++) {
      config_gpio(GPIO_A_NUM, i, HWTEST_GPIO_INPUT);
      ioc_set_over(GPIO_A_NUM, i, IOC_OVERRIDE_ANA);
      res[i - 4] = adc_get((SOC_ADC_ADCCON_CH_AIN0 + i),
                           SOC_ADC_ADCCON_REF_AVDD5,
                           SOC_ADC_ADCCON_DIV_512);
      res[i - 4] = res[i - 4] / 10;
    }
    snprintf(read_result, 24, "%04d %04d %04d %04d", res[0], res[1],
             res[2], res[3]);
  }

  AT_RESPONSE(read_result);
  AT_RESPONSE(AT_DEFAULT_RESPONSE_OK);
}
コード例 #13
0
static void lcm_init(void)
{ 
	 //unsigned short id;
	 config_gpio();

	 SET_RESET_PIN(0);
	 MDELAY(25);
	 SET_RESET_PIN(1);
	 MDELAY(120);
	 init_lcm_registers();
}
コード例 #14
0
int main(void)
{
	config_clocks();
	config_gpio();
	scheduler_init();

	/* Start running the tasks. This call will never return. */
	scheduler_yield();

	return 0;
}
コード例 #15
0
ファイル: at-master-test.c プロジェクト: 1847123212/contiki
/*---------------------------------------------------------------------------*/
static void
at_cmd_read_callback(struct at_cmd *cmd, uint8_t len, char *data)
{
  /* Format: AT&READ=PN where P(ort)N(number), N can be "*" to read all */
  uint8_t port, pin;
  char read_result[5];

  if(strncmp(&data[9], "*", 1) == 0) {
    pin = 0xFF;
  } else {
    pin = atoi(&data[9]);
  }

  if((pin < 0) || (pin > 7)) {
    if(pin != 0xFF) {
      AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
      return;
    }
  }

  if(pin < 8) {
    pin = GPIO_PIN_MASK(pin);
  }

  /* Exclude PA0-PA3  */
  if(strncmp(&data[8], "A", 1) == 0) {
    port = GPIO_A_NUM;
    if(pin < 0x1F) {
      AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
      return;
    } else {
      if(pin == 0xFF) {
        pin = 0xF0;
      }
    }
  } else if(strncmp(&data[8], "B", 1) == 0) {
    port = GPIO_B_NUM;
  } else if(strncmp(&data[8], "C", 1) == 0) {
    port = GPIO_C_NUM;
  } else if(strncmp(&data[8], "D", 1) == 0) {
    port = GPIO_D_NUM;
  } else {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  config_gpio(port, pin, HWTEST_GPIO_INPUT);
  snprintf(read_result, 5, "0x%02X",
           (uint16_t)GPIO_READ_PIN(GPIO_PORT_TO_BASE(port), pin));
  AT_RESPONSE(read_result);
  AT_RESPONSE(AT_DEFAULT_RESPONSE_OK);
}
コード例 #16
0
static void lcm_init(void)
{
    LCM_DEBUG("[LCM************]: lcm_init. \n");

    SET_RESET_PIN(1);
    MDELAY(10);
    SET_RESET_PIN(0);
    MDELAY(10);
    SET_RESET_PIN(1);
    MDELAY(100);
    config_gpio();
    init_lcm_registers();
}
コード例 #17
0
static void lcm_init(void)
{
    config_gpio();

	SET_RESET_PIN(1);
    MDELAY(50);
    SET_RESET_PIN(0);
    MDELAY(50);
    SET_RESET_PIN(1);
    MDELAY(150);

    init_lcm_registers();
    //backlight
    backlight_ctrl(1);
}
コード例 #18
0
ファイル: ili9481_dpi.c プロジェクト: 4Fwolf/lcm_drivers
static void lcm_init(void)
{
  dbg_print("===> [ILI9481_DPI] <%s %s> %s:%d %s(): :  \n", __DATE__, __TIME__, __FILE__, __LINE__, __func__); 

  config_gpio();

  SET_RESET_PIN(0);
  SET_LSCE_HIGH;
  SET_LSCK_HIGH;

  MDELAY(300);
  SET_RESET_PIN(1);
  MDELAY(2);

  InitLCD_ILI9481_HVGA_CPT32();
}
コード例 #19
0
static void lcm_resume(void)
{
#ifdef BUILD_UBOOT
	if(g_resume_flag==0)
	{
		g_resume_flag=1;
		return;
	}
#endif
	config_gpio();
	SET_RESET_PIN(0);
	MDELAY(25);
	SET_RESET_PIN(1);
	MDELAY(120);
	init_lcm_registers();	
}
コード例 #20
0
ファイル: at-master-test.c プロジェクト: 1847123212/contiki
/*---------------------------------------------------------------------------*/
static void
at_cmd_gpio_callback(struct at_cmd *cmd, uint8_t len, char *data)
{
  /* Format: AT&GPIO=PN,s where P(ort)N(number), s(tate)=1/0 */
  uint8_t port;
  uint8_t state = strncmp(&data[11], "1", 1) ? 0 : 1;
  uint8_t pin = atoi(&data[9]);

  if(strncmp(&data[10], ",", 1) != 0) {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  if((pin < 0) || (pin > 7)) {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  if((state < 0) || (state > 1)) {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  if(strncmp(&data[8], "A", 1) == 0) {
    port = GPIO_A_NUM;
  } else if(strncmp(&data[8], "B", 1) == 0) {
    port = GPIO_B_NUM;
  } else if(strncmp(&data[8], "C", 1) == 0) {
    port = GPIO_C_NUM;
  } else if(strncmp(&data[8], "D", 1) == 0) {
    port = GPIO_D_NUM;
  } else {
    AT_RESPONSE(AT_DEFAULT_RESPONSE_ERROR);
    return;
  }

  config_gpio(port, pin, HWTEST_GPIO_OUTPUT);

  if(state) {
    GPIO_SET_PIN(GPIO_PORT_TO_BASE(port), GPIO_PIN_MASK(pin));
  } else {
    GPIO_CLR_PIN(GPIO_PORT_TO_BASE(port), GPIO_PIN_MASK(pin));
  }

  AT_RESPONSE(AT_DEFAULT_RESPONSE_OK);
}
コード例 #21
0
static void lcm_init(void)
{
#ifdef BUILD_LK
	printf("UBOOT lcm_init\r\n");
#else
	printk("kennel lcm_init\r\n");
#endif

	config_gpio();
	SET_RESET_PIN(1);
	MDELAY(10);
	SET_RESET_PIN(0);
	MDELAY(50);
	SET_RESET_PIN(1);
	MDELAY(120);

	init_lcm_registers();

}
コード例 #22
0
void user_init(void)
{
        uint8_t i;
        //system_set_os_print(0);
	os_timer_disarm(&some_timer);

	//Setup timer
	os_timer_setfn(&some_timer, (os_timer_func_t *)some_timer_func, NULL);

	//Arm the timer
	//&some_timer is the pointer
	//1000 is the fire time in ms
	//0 for once and 1 for repeating
	os_timer_arm(&some_timer, 5000, 0);

	UartDev.data_bits = EIGHT_BITS;
	UartDev.parity = NONE_BITS;
	UartDev.stop_bits = ONE_STOP_BIT;
	uart_init(BIT_RATE_500000, BIT_RATE_500000);
	os_printf("size flash_param_t %d\n", sizeof(flash_param_t));


	#ifdef CONFIG_STATIC
		// refresh wifi config
		config_execute();
	#endif

	#ifdef CONFIG_DYNAMIC
		serverInit(flash_param->port);
	#else
		serverInit(8876);
	#endif

	#ifdef CONFIG_GPIO
		config_gpio();
	#endif

	for (i = 0; i < 16; ++i)
		uart0_sendStr("\r\n");

	system_os_task(recvTask, recvTaskPrio, recvTaskQueue, recvTaskQueueLen);
}
コード例 #23
0
static void lcm_init(void)
{
	int i;
    config_gpio();

    SET_RESET_PIN(1);
    SET_GPIO_OUT(LSSHUT_GPIO_PIN, 1);
    MDELAY(10);
    SET_GPIO_OUT(LSSHUT_GPIO_PIN, 0);

    MDELAY(200);//100

    SET_RESET_PIN(0);
    MDELAY(100);//30
    SET_RESET_PIN(1);

    MDELAY(300);//120
	
    init_lcm_registers();
}
コード例 #24
0
void ICACHE_FLASH_ATTR user_init(void)
{
	uint8_t i;
	//wifi_set_opmode(3); //STA+AP

	#ifdef CONFIG_DYNAMIC
		flash_param_t *flash_param;
		flash_param_init();
		flash_param = flash_param_get();
		UartDev.data_bits = GETUART_DATABITS(flash_param->uartconf0);
		UartDev.parity = GETUART_PARITYMODE(flash_param->uartconf0);
		UartDev.stop_bits = GETUART_STOPBITS(flash_param->uartconf0);
		uart_init(flash_param->baud, BIT_RATE_115200);
	#else
		UartDev.data_bits = EIGHT_BITS;
		UartDev.parity = NONE_BITS;
		UartDev.stop_bits = ONE_STOP_BIT;
		uart_init(BIT_RATE_115200, BIT_RATE_115200);
	#endif
	os_printf("size flash_param_t %d\n", sizeof(flash_param_t));


	#ifdef CONFIG_STATIC
		// refresh wifi config
		config_execute();
	#endif

	#ifdef CONFIG_DYNAMIC
		serverInit(flash_param->port);
	#else
		serverInit(23);
	#endif

	config_gpio();

    os_timer_disarm(&main_timer);
	os_timer_setfn(&main_timer, (os_timer_func_t *)main_timer_callback, NULL);
	os_timer_arm(&main_timer, TIMER_DURATION_MS, 1);

	system_os_task(recvTask, recvTaskPrio, recvTaskQueue, recvTaskQueueLen);
}
コード例 #25
0
static void lcm_init(void)
{

#ifdef BUILD_UBOOT
	printf("lcm_init\r\n");
#else
	printk("lcm_init\r\n");
#endif
	
    config_gpio();

    SET_RESET_PIN(1);//LK@I3000
    MDELAY(20);
    SET_RESET_PIN(0);
    MDELAY(20);
    SET_RESET_PIN(1);
    MDELAY(120);//LK@0314,at least 120ms

    init_lcm_registers();

}
コード例 #26
0
static void lcm_resume(void)

{
#if 0
    Write_com(0x00b9);
    Write_register(0x0001);
    
    Write_com(0x00b7);
    Write_register(0x030b);
    
    Write_com(0x00b8);
    Write_register(0x0000);
    Write_com(0x00bc);
    Write_register(0x0001); 
    Write_com(0x00bf);
    Write_register(0x0011);
    MDELAY(200);
    Write_com(0x00bf);
    Write_register(0x0029);
    
    Write_com(0x00b7);
    Write_register(0x0309); 
    
    return;
    
#else
    config_gpio();
    SET_RESET_PIN(1);
    MDELAY(10);
    SET_GPIO_OUT(LSSHUT_GPIO_PIN, 0);
    MDELAY(200);//100
    SET_RESET_PIN(0);
    MDELAY(100);//30
    SET_RESET_PIN(1);
    MDELAY(300);//120
    init_lcm_registers();   
    return;
#endif	
}
コード例 #27
0
static unsigned int lcm_compare_id(void)
{
	unsigned int    id1 = 0;
	unsigned int    id2 = 0;
	unsigned int    id = 0;

    config_gpio();

	SET_RESET_PIN(1);
	MDELAY(20);
	SET_RESET_PIN(0);
	MDELAY(150);
	SET_RESET_PIN(1);
	MDELAY(50);

	set_lcm_register(0xF000,0x55);             
	set_lcm_register(0xF001,0xAA);             
	set_lcm_register(0xF002,0x52);             
	set_lcm_register(0xF003,0x08);             
	set_lcm_register(0xF004,0x01);
	
	send_ctrl_cmd(0xc500);
	id1 = spi_get_byte(0xc0);  //spi_read_data();
	MDELAY(20);
	send_ctrl_cmd(0xc501);
	id2 = spi_get_byte(0xc0);  //spi_read_data();

	id = (id1<<8)|id2;

#ifdef BUILD_UBOOT
	printf("lcd_id1=0x%x,lcd_id2=0x%x,lcd_id=0x%x  \r\n",id1,id2,id);
#else
	printk("lcd_id1=0x%x,lcd_id2=0x%x,lcd_id=0x%x  \r\n",id1,id2,id);
#endif

	return (NT35510_LCM_ID == id)?1:0;
}
コード例 #28
0
void sig_handler(int signal){
    //my recomendation is to use a switch, easier to maintain.
    if((signal == SIGINT) || (signal == SIGTERM)|| (signal == SIGKILL)){
        printf("Terminating Threads!\n");
        //why not use join instead of just sleeping
        pthread_cancel(displayThread);
        usleep(500);
        pthread_cancel(pipeReadThread);
        usleep(500);
        printf("Deactivating GPIO PINS!\n");
        //avoid using literals declare a constant instead (macro is a literal too but it is better than numbers)
        for(int i=0;i < 11;i++){
            digitalWrite(gpio_fd,allPins[i],0);
            usleep(500);
        }
        config_gpio(GPIO_PIN_INPUT);
        close(gpio_fd);
        fclose(fifo_fd);
        system("rm /var/tmp/displayctl");
        exit(signal);
    }else{
        perror("Recieved Signall but Dunno What to do!");
    }
}
コード例 #29
0
ファイル: user_main.c プロジェクト: LeandroTE/ESP8266
void user_init(void)
{
	uint8_t i;



	UartDev.data_bits = EIGHT_BITS;
	UartDev.parity = NONE_BITS;
	UartDev.stop_bits = ONE_STOP_BIT;
	uart_init(BIT_RATE_9600, BIT_RATE_9600);


	i2c_init();
	SSD1306Init();
	clearScreen();
	stringDraw(1, 1, "SDK ver:");
	stringDraw(1, 48, (char*)system_get_sdk_version());


	ets_uart_printf("reset reason: %d\n", reset_info->reason);
	ets_uart_printf("Booting...\n");
	ets_uart_printf("SDK version:%s\n", system_get_sdk_version());

	setup_wifi_st_mode();
	if(wifi_get_phy_mode() != PHY_MODE_11N)
		wifi_set_phy_mode(PHY_MODE_11N);
	if(wifi_station_get_auto_connect() == 0)
		wifi_station_set_auto_connect(1);



#ifdef CONFIG_DYNAMIC
	flash_param_t *flash_param;
	flash_param_init();
	flash_param = flash_param_get();
	UartDev.data_bits = GETUART_DATABITS(flash_param->uartconf0);
	UartDev.parity = GETUART_PARITYMODE(flash_param->uartconf0);
	UartDev.stop_bits = GETUART_STOPBITS(flash_param->uartconf0);
	uart_init(flash_param->baud, BIT_RATE_115200);
#else

#endif
	ets_uart_printf("size flash_param_t %d\n", sizeof(flash_param_t));




#ifdef CONFIG_GPIO
	config_gpio();
#endif



	//		os_timer_disarm(&timer_1);
	//		os_timer_setfn(&timer_1, (os_timer_func_t *)timer_1_int, NULL);
	//		os_timer_arm(&timer_1, 1000, 1);

	// Wait for Wi-Fi connection
	os_timer_disarm(&WiFiLinker);
	os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL);
	os_timer_arm(&WiFiLinker, 1000, 0);




	system_os_task(recvTask, recvTaskPrio, recvTaskQueue, recvTaskQueueLen);
}
コード例 #30
0
ファイル: main.c プロジェクト: delhuy12/Fountain-Project
int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog ti

    config_clock();
    config_spi();
    config_i2c();
    config_gpio();


    // LED Table
    uint8_t led_table[TABLE_SIZE]; // [ 0x0E + Brightness | B | G | R ]
    off(led_table, NUM_LED);
    uint32_t i, reset_count=0;
    srand(32);

    /*
    	// TESTING
    	uint8_t IO_A, IO_B, IO_C, IO_D;
    	IO_A = IO_B = IO_C = IO_D = 0;
    */
    // SENSE Table
    uint16_t sense_table[NUM_SENSE];


    /*
    		UCB1I2CSA = SLAVE_ADDR_MASK; // Slave's address

    	while(UCB1CTL1 & UCTXSTP);
    	UCB1CTL1 |= UCTR | UCTXSTT; // Transmit and Start
    	while(!(UCB1IFG & UCTXIFG));
    	UCB1TXBUF = 0x00; // Inputs
    	while(!(UCB1IFG & UCTXIFG));
    	UCB1CTL1 |= UCTXSTP; // Stop
    */

//P6OUT |= BIT5; // get ready to turn off
//IR_INPUT; // high impedance

    for(;;)
    {
        P1OUT ^= 0x01; // blinky

        /*
        		gather(sense_table);
        		random_shift(led_table, 48*5);
        		//flip(led_table);
        		put_data_24(led_table, 48*5);
        		for(i=0;i<0xFFFF;i++) // shitty delay
        			__asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop");
        		// inject(sense_table);

        */

        gather(sense_table);
        off(led_table, NUM_LED);
        process(led_table, sense_table);
        //random_shift(led_table, NUM_LED);
        put_data(led_table, NUM_LED);


        // Read Inputs
        /*
        	//while(UCB1CTL1 & UCTXSTP);
        	UCB1CTL1 &= ~UCTR;
        	UCB1CTL1 |= UCTXSTT; // Transmit and Start
        	while(UCB1CTL1 & UCTXSTT);

        	while(!(UCB1IFG & UCRXIFG));
        	IO_A = UCB1RXBUF; // PORT 0 INPUT
        	while(!(UCB1IFG & UCRXIFG));
        	IO_B = UCB1RXBUF; // PORT 1 INPUT
        	while(!(UCB1IFG & UCRXIFG));
        	IO_C = UCB1RXBUF; // PORT 0 INPUT


        	UCB1CTL1 |= UCTXSTP; // Stop
        	while(UCB1CTL1 & UCTXSTP);
        	while(!(UCB1IFG & UCRXIFG));
        	IO_D = UCB1RXBUF; // PORT 1 INPUT

        	if(IO_B&0x01)
        		P1OUT |= 0x01;
        	else
        		P1OUT ^= 0x01;

        */

        /*
        		for(i=0;i<0xFFFF;i++) // shitty delay
        			__asm__("nop\nnop\nnop\nnop\nnop\nnop\nnop");
        			*/
    } // main loop

    return 0;
}