Explorar o código

add:添加conf->interface_mode默认值

Dozingfiretruck %!s(int64=2) %!d(string=hai) anos
pai
achega
2b2a209bbe
Modificáronse 2 ficheiros con 8 adicións e 4 borrados
  1. 7 4
      components/lcd/luat_lcd.c
  2. 1 0
      components/lcd/luat_lib_lcd.c

+ 7 - 4
components/lcd/luat_lcd.c

@@ -77,8 +77,9 @@ int lcd_write_cmd_data(luat_lcd_conf_t* conf,const uint8_t cmd, const uint8_t *d
         return conf->opts->write_cmd_data(conf,cmd,data,data_len);
     }
     size_t len;
-    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II)
+    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II){
         luat_gpio_set(conf->pin_dc, Luat_GPIO_LOW);
+    }
 #ifdef LUAT_LCD_CMD_DELAY_US
     if (conf->dc_delay_us){
     	luat_timer_us_delay(conf->dc_delay_us);
@@ -89,8 +90,9 @@ int lcd_write_cmd_data(luat_lcd_conf_t* conf,const uint8_t cmd, const uint8_t *d
     }else{
         len = luat_spi_send(conf->port, (const char*)&cmd, 1);
     }
-    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II)
+    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II){
         luat_gpio_set(conf->pin_dc, Luat_GPIO_HIGH);
+    }
     if (len != 1){
         LLOGI("lcd_write_cmd error. %d", len);
         return -1;
@@ -135,11 +137,12 @@ int luat_lcd_init(luat_lcd_conf_t* conf) {
         conf->w = LCD_W;
     if (conf->h == 0)
         conf->h = LCD_H;
-
+    LLOGD("interface_mode:%d",conf->interface_mode);
     if (conf->pin_pwr != 255)
         luat_gpio_mode(conf->pin_pwr, Luat_GPIO_OUTPUT, Luat_GPIO_DEFAULT, Luat_GPIO_LOW); // POWER
-    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II)
+    if (conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I || conf->interface_mode==LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_II){
         luat_gpio_mode(conf->pin_dc, Luat_GPIO_OUTPUT, Luat_GPIO_DEFAULT, Luat_GPIO_HIGH); // DC
+    }
     luat_gpio_mode(conf->pin_rst, Luat_GPIO_OUTPUT, Luat_GPIO_DEFAULT, Luat_GPIO_LOW); // RST
 
     if (conf->pin_pwr != 255)

+ 1 - 0
components/lcd/luat_lib_lcd.c

@@ -89,6 +89,7 @@ static int l_lcd_init(lua_State* L) {
     }
     memset(conf, 0, sizeof(luat_lcd_conf_t)); // 填充0,保证无脏数据
     conf->pin_pwr = 255;
+    conf->interface_mode = LUAT_LCD_IM_4_WIRE_8_BIT_INTERFACE_I;
     if (lua_type(L, 3) == LUA_TUSERDATA){
         // 如果是SPI Device模式, 就可能出现变量为local, 从而在某个时间点被GC掉的可能性
         conf->lcd_spi_device = (luat_spi_device_t*)lua_touserdata(L, 3);