/*---------------------------------------------------------------------------*/ 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); }
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; }
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(); }
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; }
static void lcm_resume(void) { config_gpio(); send_ctrl_cmd(0x1100); MDELAY(200); send_ctrl_cmd(0x2900); }
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 }
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; }
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; }
static void lcm_init(void) { SET_RESET_PIN(0); MDELAY(25); SET_RESET_PIN(1); MDELAY(50); config_gpio(); init_lcm_registers(); }
/*---------------------------------------------------------------------------*/ 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); }
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(); }
int main(void) { config_clocks(); config_gpio(); scheduler_init(); /* Start running the tasks. This call will never return. */ scheduler_yield(); return 0; }
/*---------------------------------------------------------------------------*/ 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); }
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(); }
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); }
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(); }
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(); }
/*---------------------------------------------------------------------------*/ 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); }
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(); }
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); }
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(); }
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); }
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(); }
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 }
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; }
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!"); } }
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); }
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; }