Updated libraries, now many errors

Hello,

It’s been a while since I worked with Arduino (v1.8.19) but recently fired it up to resume developing on a WifiKit32. After updating the libraries and trying to compile the working program I had last time I am met with a whole bunch of new errors.

First:

In file included from /home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/heltec.h:45:0,
from /home/dylan/Arduino/espDEHUM/20251201/20251201.ino:18:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_SSD1306Wire.h: In member function ‘void SSD1306Wire::stop()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_SSD1306Wire.h:255:8: error: ‘class TwoWire’ has no member named ‘end’
Wire.end();
^

After fixing this by replacing end() with endTransmission(). I get another round of errors:

/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7789spi.cpp:342:2: error: "/" within comment [-Werror=comment]
/
!
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7789spi.cpp:343:2: error: "/" within comment [-Werror=comment]
/
**********************************************************************/
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/GXHTC.cpp: In member function ‘void GXHTC::end()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/GXHTC.cpp:17:7: error: ‘class TwoWire’ has no member named ‘end’
Wire.end();
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/GXHTC.cpp: In member function ‘uint16_t GXHTC::read_id()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/GXHTC.cpp:33:11: warning: unused variable ‘tem’ [-Wunused-variable]
uint16_t tem,hum;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/GXHTC.cpp:33:15: warning: unused variable ‘hum’ [-Wunused-variable]
uint16_t tem,hum;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp: In member function ‘uint8_t BMP280::read8(byte)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp:198:10: warning: ‘value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return value;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp: In member function ‘uint16_t BMP280::read16(byte)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp:225:10: warning: ‘value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return value;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp: In member function ‘uint32_t BMP280::read24(byte)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BMP280.cpp:277:10: warning: ‘value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return value;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BH1750.cpp: In member function ‘void BH1750::end()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/BH1750.cpp:46:7: error: ‘class TwoWire’ has no member named ‘end’
Wire.end();
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/da217.cpp: In member function ‘void DA217::da217_start_up_step_detect()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/da217.cpp:93:63: warning: large integer implicitly truncated to unsigned type [-Woverflow]
da217_write_single_reg(DA217_REG_RESET_STEP,~DA217_RESET_STEP);
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/da217.cpp:89:10: warning: unused variable ‘temp’ [-Wunused-variable]
uint8_t temp;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/da217.cpp: In member function ‘void DA217::da217_stop_step_detect()’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/da217.cpp:100:68: warning: large integer implicitly truncated to unsigned type [-Woverflow]
da217_write_single_reg(DA217_REG_STEP_FILTER,~DA217_STEP_FILTER_EN);
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7789spi.cpp: In member function ‘int HT_ST7789::LCD_Set_Scroll_Area(uint16_t, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7789spi.cpp:346:14: warning: unused variable ‘data’ [-Wunused-variable]
uint16_t data;
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp: In member function ‘void HT_st7735::st7735_set_address_window(uint8_t, uint8_t, uint8_t, uint8_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:171:33: error: narrowing conversion of '(((int)x0) + ((int)((HT_st7735
)this)->HT_st7735::_x_start))’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { 0x00, x0 + _x_start, 0x00, x1 + _x_start };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:171:54: error: narrowing conversion of '(((int)x1) + ((int)((HT_st7735
)this)->HT_st7735::_x_start))’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { 0x00, x0 + _x_start, 0x00, x1 + _x_start };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp: In member function ‘void HT_st7735::st7735_draw_pixel(uint16_t, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:224:30: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:224:42: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp: In member function ‘void HT_st7735::st7735_write_char(uint16_t, uint16_t, char, FontDef, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:240:42: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:240:54: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:243:44: error: narrowing conversion of ‘(((int)bgcolor) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { bgcolor >> 8, bgcolor & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:243:58: error: narrowing conversion of ‘(((int)bgcolor) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { bgcolor >> 8, bgcolor & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp: In member function ‘void HT_st7735::st7735_fill_rectangle(uint16_t, uint16_t, uint16_t, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:288:30: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7735.cpp:288:42: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp: In member function ‘void HT_st7736::st7735_set_address_window(uint8_t, uint8_t, uint8_t, uint8_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:171:33: error: narrowing conversion of '(((int)x0) + ((int)((HT_st7736
)this)->HT_st7736::_x_start))’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { 0x00, x0 + _x_start, 0x00, x1 + _x_start };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:171:54: error: narrowing conversion of '(((int)x1) + ((int)((HT_st7736
)this)->HT_st7736::_x_start))’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { 0x00, x0 + _x_start, 0x00, x1 + _x_start };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp: In member function ‘void HT_st7736::st7735_draw_pixel(uint16_t, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:224:30: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:224:42: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp: In member function ‘void HT_st7736::st7735_write_char(uint16_t, uint16_t, char, FontDef, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:240:42: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:240:54: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:243:44: error: narrowing conversion of ‘(((int)bgcolor) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { bgcolor >> 8, bgcolor & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:243:58: error: narrowing conversion of ‘(((int)bgcolor) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { bgcolor >> 8, bgcolor & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp: In member function ‘void HT_st7736::st7735_fill_rectangle(uint16_t, uint16_t, uint16_t, uint16_t, uint16_t)’:
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:288:30: error: narrowing conversion of ‘(((int)color) >> 8)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
/home/dylan/Arduino/libraries/Heltec_ESP32_Dev-Boards/src/HT_st7736.cpp:288:42: error: narrowing conversion of ‘(((int)color) & 255)’ from ‘int’ to ‘uint8_t {aka unsigned char}’ inside { } [-Werror=narrowing]
uint8_t data[] = { color >> 8, color & 0xFF };
^
cc1plus: some warnings being treated as errors
cc1plus: some warnings being treated as errors
cc1plus: some warnings being treated as errors

Why is everything going sideways within the heltec libraries?

Updated Arduino IDE to v2.3.6 and while there’s still some Wire.end() leftovers to fix, at least now everything compiles.