lexus2k / ssd1306

Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
MIT License
651 stars 125 forks source link

Invalid function call in CompositeOutput.cpp (doesn't compile for ESP32) #138

Open jelli123 opened 2 years ago

jelli123 commented 2 years ago

It seems that the argument list when calling an deprecated Espressif 32 (PlatformIO) function has been replaced by that of the new function, but the function name has not been corrected.

/src/intf/vga/esp32/CompositeOutput.cpp

Suggestion: in void CompositeOutput::check_buffer() replace i2s_write_bytes(I2S_PORT, (char*)line, sizeof(uint16_t) * (m_end - line), &bytes_written, portMAX_DELAY); with i2s_write(I2S_PORT, (char*)line, sizeof(uint16_t) * (m_end - line), &bytes_written, portMAX_DELAY);

lexus2k commented 2 years ago

Hi, can you please download latest code from the master branch. It already has the fix 78c2dcd

jelli123 commented 2 years ago

sorry, I found out that this is the same as issue #132 and it was fixed last October in the GitHub master branch.

BUT, when I load version 1.8.3 in PlatformIO, I get a different /src/intf/vga/esp32/CompositeOutput.cpp (line 275).

void CompositeOutput::check_buffer() { if (m_ptr == m_end) { size_t bytes_written; i2s_write_bytes(I2S_PORT, (char)line, sizeof(uint16_t) (m_end - line), &bytes_written, portMAX_DELAY); m_ptr = line; } }

There it shows i2s_write_bytes and in the GitHub master it shows i2s_write. Strange...

lexus2k commented 2 years ago

That's very strange since the fix is included to 1.8.3 according to the github:

изображение