Git Product home page Git Product logo

tarablessd1306's People

Contributors

ashijanken avatar gothack avatar steveatinfincia avatar taraholeinit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tarablessd1306's Issues

Unable to Flip Vertically

I set the SSD1306_SetVFlip and SSD1306_SetHFlip to flip the screen content, whereas standard, everything seems upside-down. The SSD1306_SetHFlip works fine but the SSD1306_SetVFlip does not flip vertically. Any Ideas?

Using ESP-IDF v4.0 and the HelloWorld tarablessd1306_examples component

Random noise on display

When compiling and using the example HelloWorld, the text displays fine however it is turning on other random pixels which are not present when using the Arduinolibraries

build error

I tried installation of your product.
But an error occurred by a build.

git clone --recursive https://github.com/TaraHoleInIt/tarablessd1306_examples

cd tarablessd1306_examples/

cd HelloWorld/

rm sdkconfig.*

make menuconfig

make

Generating esp32.project.ld
LD build/tarablessd1306_helloworld.elf
/home/robotics/tarablessd1306_examples/HelloWorld/build/main/libmain.a(main.o):(.literal.DefaultBusInit+0x20): undefined reference to `SSD1306_I2CMasterInitDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/build/main/libmain.a(main.o):(.literal.DefaultBusInit+0x24): undefined reference to `SSD1306_I2CMasterAttachDisplayDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/build/main/libmain.a(main.o):(.literal.DefaultBusInit+0x28): undefined reference to `SSD1306_SPIMasterInitDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/build/main/libmain.a(main.o):(.literal.DefaultBusInit+0x2c): undefined reference to `SSD1306_SPIMasterAttachDisplayDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/build/main/libmain.a(main.o): In function `DefaultBusInit':
/home/robotics/tarablessd1306_examples/HelloWorld/main/main.c:42: undefined reference to `SSD1306_I2CMasterInitDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/main/main.c:43: undefined reference to `SSD1306_I2CMasterAttachDisplayDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/main/main.c:43: undefined reference to `SSD1306_SPIMasterInitDefault'
/home/robotics/tarablessd1306_examples/HelloWorld/main/main.c:48: undefined reference to `SSD1306_SPIMasterAttachDisplayDefault'
collect2: error: ld returned 1 exit status
/home/robotics/esp-idf/make/project.mk:517: recipe for target '/home/robotics/tarablessd1306_examples/HelloWorld/build/tarablessd1306_helloworld.elf' failed
make: *** [/home/robotics/tarablessd1306_examples/HelloWorld/build/tarablessd1306_helloworld.elf] Error 1

There is default_if_i2c.c.

$ grep -r SSD1306_I2CMasterInitDefault *
components/tarablessd1306/ifaces/default_if_i2c.c:bool SSD1306_I2CMasterInitDefault( void ) {
components/tarablessd1306/ssd1306_default_if.h:bool SSD1306_I2CMasterInitDefault( void );
main/main.c:        assert( SSD1306_I2CMasterInitDefault( ) == true );

archive is:

/tarablessd1306_examples/HelloWorld/build/tarablessd1306$ ar tv libtarablessd1306.a
rw-rw-r-- 1000/1000  50236 Apr 18 11:25 2019 ssd1306_font.o
rw-rw-r-- 1000/1000  55712 Apr 18 11:25 2019 ssd1306.o
rw-rw-r-- 1000/1000  36044 Apr 18 11:25 2019 ssd1306_draw.o
rw-rw-r-- 1000/1000  13624 Apr 18 11:25 2019 font_droid_sans_fallback_15x17.o
rw-rw-r-- 1000/1000  12244 Apr 18 11:25 2019 font_droid_sans_mono_13x24.o
rw-rw-r-- 1000/1000  18740 Apr 18 11:25 2019 font_liberation_mono_17x30.o
rw-rw-r-- 1000/1000  17844 Apr 18 11:25 2019 font_droid_sans_mono_16x31.o
rw-rw-r-- 1000/1000   8472 Apr 18 11:25 2019 font_droid_sans_fallback_11x13.o
rw-rw-r-- 1000/1000   7532 Apr 18 11:25 2019 font_liberation_mono_9x15.o
rw-rw-r-- 1000/1000  12244 Apr 18 11:25 2019 font_liberation_mono_13x21.o
rw-rw-r-- 1000/1000  25048 Apr 18 11:25 2019 font_droid_sans_fallback_24x28.o
rw-rw-r-- 1000/1000   6636 Apr 18 11:25 2019 font_droid_sans_mono_7x13.o
rw-rw-r-- 1000/1000   2024 Apr 18 11:25 2019 default_if_spi.o
rw-rw-r-- 1000/1000   2024 Apr 18 11:25 2019 default_if_i2c.o

Advice, please.

E (370) i2c: i2c driver install error

I use this library on ESP32-CAM.
If I run my program incude this library, but error occured.
that error is hear

E (370) i2c: i2c driver install error
E (370) SSD1306_I2CMasterInitDefault: i2c_driver_install( I2CPortNumber, Config.mode, 0, 0, 0 ) != ESP_OK, result: -1

Please tell me How to fix this error.

No such file or directory - Eclipse IDE

Goodnight,
I am using an example program and I want to edit the code by adding some libraries, the code is as follows:

#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include "ssd1306.h"
#include "ssd1306_draw.h"
#include "ssd1306_font.h"
#include "ssd1306_default_if.h"
#include <esp_system.h>
#include <bmp280.h>
#include <string.h>

#define USE_I2C_DISPLAY
#define SDA_GPIO 4
#define SCL_GPIO 5

static const int I2CDisplayAddress = 0x3C;
static const int I2CDisplayWidth = 128;
static const int I2CDisplayHeight = 64;
static const int I2CResetPin = -1;

struct SSD1306_Device I2CDisplay;

void SetupDemo( struct SSD1306_Device* DisplayHandle, const struct SSD1306_FontDef* Font );
void SayHello( struct SSD1306_Device* DisplayHandle, const char* HelloText );

bool DefaultBusInit( void ) {
assert( SSD1306_I2CMasterInitDefault( ) == true );
assert( SSD1306_I2CMasterAttachDisplayDefault( &I2CDisplay, I2CDisplayWidth, I2CDisplayHeight, I2CDisplayAddress, I2CResetPin ) == true );

return true;

}
void SetupDemo( struct SSD1306_Device* DisplayHandle, const struct SSD1306_FontDef* Font ) {
SSD1306_Clear( DisplayHandle, SSD_COLOR_BLACK );
SSD1306_SetFont( DisplayHandle, Font );
}

void SayHello( struct SSD1306_Device* DisplayHandle, const char* HelloText ) {
SSD1306_FontDrawAnchoredString( DisplayHandle, TextAnchor_Center, HelloText, SSD_COLOR_WHITE );
SSD1306_Update( DisplayHandle );
}

void app_main( void ) {
printf( "Ready...\n" );

if ( DefaultBusInit( ) == true ) {
    printf( "BUS Init lookin good...\n" );
    printf( "Drawing.\n" );

    #if defined USE_I2C_DISPLAY
        SetupDemo( &I2CDisplay, &Font_droid_sans_fallback_24x28 );
        SayHello( &I2CDisplay, "SICCUS!" );
    #endif

    printf( "Done!\n" );
}

}

I'm using Eclipse IDE

but i get the following error when did the compilation:
Building in: D:\Eclipse\Trabajo\Oled_BMP280\build
cmake --build . -- -v
[1/9] cmd.exe /C "cd /D D:\Eclipse\Trabajo\Oled_BMP280\build\esp-idf\partition_table && "C:\Users\C. Alejandro.espressif\tools\cmake\3.13.4\bin\cmake.exe" -E echo "Partition table binary generated. Contents:" && "C:\Users\C. Alejandro.espressif\tools\cmake\3.13.4\bin\cmake.exe" -E echo ******************************************************************************* && python C:/esp-idf/components/partition_table/gen_esp32part.py -q --offset 0x8000 --flash-size 4MB D:/Eclipse/Trabajo/Oled_BMP280/build/partition_table/partition-table.bin && "C:\Users\C. Alejandro.espressif\tools\cmake\3.13.4\bin\cmake.exe" -E echo *******************************************************************************"
Partition table binary generated. Contents:


Espressif ESP32 Partition Table

Name, Type, SubType, Offset, Size, Flags

nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,


[2/9] cmd.exe /C "cd /D D:\Eclipse\Trabajo\Oled_BMP280\build\bootloader && "C:\Users\C. Alejandro.espressif\tools\cmake\3.13.4\bin\cmake.exe" --build ."
ninja: no work to do.
[3/7] ccache C:\Users\C765B1.ALE\ESPRES1\tools\XTENSA1\ESP-201.0\XTENSA1\bin\XT89941.EXE -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -IC:/esp-idf/components/newlib/platform_include -IC:/esp-idf/components/freertos/include -IC:/esp-idf/components/heap/include -IC:/esp-idf/components/log/include -IC:/esp-idf/components/soc/esp32/include -IC:/esp-idf/components/soc/include -IC:/esp-idf/components/esp_rom/include -IC:/esp-idf/components/esp_common/include -IC:/esp-idf/components/xtensa/include -IC:/esp-idf/components/xtensa/esp32/include -IC:/esp-idf/components/esp32/include -IC:/esp-idf/components/driver/include -IC:/esp-idf/components/esp_ringbuf/include -IC:/esp-idf/components/esp_event/include -IC:/esp-idf/components/tcpip_adapter/include -IC:/esp-idf/components/lwip/include/apps -IC:/esp-idf/components/lwip/include/apps/sntp -IC:/esp-idf/components/lwip/lwip/src/include -IC:/esp-idf/components/lwip/port/esp32/include -IC:/esp-idf/components/lwip/port/esp32/include/arch -IC:/esp-idf/components/vfs/include -IC:/esp-idf/components/esp_wifi/include -IC:/esp-idf/components/esp_wifi/esp32/include -IC:/esp-idf/components/esp_eth/include -IC:/esp-idf/components/efuse/include -IC:/esp-idf/components/efuse/esp32/include -IC:/esp-idf/components/app_trace/include -IC:/esp-idf/components/mbedtls/port/include -IC:/esp-idf/components/mbedtls/mbedtls/include -IC:/esp-idf/components/wpa_supplicant/include -IC:/esp-idf/components/wpa_supplicant/port/include -IC:/esp-idf/components/wpa_supplicant/include/esp_supplicant -IC:/esp-idf/components/bootloader_support/include -IC:/esp-idf/components/app_update/include -IC:/esp-idf/components/spi_flash/include -IC:/esp-idf/components/nvs_flash/include -IC:/esp-idf/components/pthread/include -IC:/esp-idf/components/espcoredump/include -IC:/esp-idf/components/asio/asio/asio/include -IC:/esp-idf/components/asio/port/include -IC:/esp-idf/components/coap/port/include -IC:/esp-idf/components/coap/port/include/coap -IC:/esp-idf/components/coap/libcoap/include -IC:/esp-idf/components/coap/libcoap/include/coap2 -IC:/esp-idf/components/console -IC:/esp-idf/components/nghttp/port/include -IC:/esp-idf/components/nghttp/nghttp2/lib/includes -IC:/esp-idf/components/esp-tls -IC:/esp-idf/components/esp_adc_cal/include -IC:/esp-idf/components/esp_gdbstub/include -IC:/esp-idf/components/tcp_transport/include -IC:/esp-idf/components/esp_http_client/include -IC:/esp-idf/components/esp_http_server/include -IC:/esp-idf/components/esp_https_ota/include -IC:/esp-idf/components/protobuf-c/protobuf-c -IC:/esp-idf/components/protocomm/include/common -IC:/esp-idf/components/protocomm/include/security -IC:/esp-idf/components/protocomm/include/transports -IC:/esp-idf/components/mdns/include -IC:/esp-idf/components/esp_local_ctrl/include -IC:/esp-idf/components/esp_websocket_client/include -IC:/esp-idf/components/expat/expat/expat/lib -IC:/esp-idf/components/expat/port/include -IC:/esp-idf/components/wear_levelling/include -IC:/esp-idf/components/sdmmc/include -IC:/esp-idf/components/fatfs/diskio -IC:/esp-idf/components/fatfs/vfs -IC:/esp-idf/components/fatfs/src -IC:/esp-idf/components/freemodbus/common/include -IC:/esp-idf/components/idf_test/include -IC:/esp-idf/components/jsmn/include -IC:/esp-idf/components/json/cJSON -IC:/esp-idf/components/libsodium/libsodium/src/libsodium/include -IC:/esp-idf/components/libsodium/port_include -IC:/esp-idf/components/mqtt/esp-mqtt/include -IC:/esp-idf/components/openssl/include -IC:/esp-idf/components/spiffs/include -IC:/esp-idf/components/ulp/include -IC:/esp-idf/components/unity/include -IC:/esp-idf/components/unity/unity/src -IC:/esp-idf/components/wifi_provisioning/include -I../components/tarablessd1306 -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v4.0.1-dirty" -DGCC_NOT_5_2_0 -DESP_PLATFORM -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -MF esp-idf\main\CMakeFiles__idf_main.dir\main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -c ../main/main.c
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
ccache C:\Users\C765B1.ALE\ESPRES1\tools\XTENSA1\ESP-201.0\XTENSA1\bin\XT89941.EXE -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -IC:/esp-idf/components/newlib/platform_include -IC:/esp-idf/components/freertos/include -IC:/esp-idf/components/heap/include -IC:/esp-idf/components/log/include -IC:/esp-idf/components/soc/esp32/include -IC:/esp-idf/components/soc/include -IC:/esp-idf/components/esp_rom/include -IC:/esp-idf/components/esp_common/include -IC:/esp-idf/components/xtensa/include -IC:/esp-idf/components/xtensa/esp32/include -IC:/esp-idf/components/esp32/include -IC:/esp-idf/components/driver/include -IC:/esp-idf/components/esp_ringbuf/include -IC:/esp-idf/components/esp_event/include -IC:/esp-idf/components/tcpip_adapter/include -IC:/esp-idf/components/lwip/include/apps -IC:/esp-idf/components/lwip/include/apps/sntp -IC:/esp-idf/components/lwip/lwip/src/include -IC:/esp-idf/components/lwip/port/esp32/include -IC:/esp-idf/components/lwip/port/esp32/include/arch -IC:/esp-idf/components/vfs/include -IC:/esp-idf/components/esp_wifi/include -IC:/esp-idf/components/esp_wifi/esp32/include -IC:/esp-idf/components/esp_eth/include -IC:/esp-idf/components/efuse/include -IC:/esp-idf/components/efuse/esp32/include -IC:/esp-idf/components/app_trace/include -IC:/esp-idf/components/mbedtls/port/include -IC:/esp-idf/components/mbedtls/mbedtls/include -IC:/esp-idf/components/wpa_supplicant/include -IC:/esp-idf/components/wpa_supplicant/port/include -IC:/esp-idf/components/wpa_supplicant/include/esp_supplicant -IC:/esp-idf/components/bootloader_support/include -IC:/esp-idf/components/app_update/include -IC:/esp-idf/components/spi_flash/include -IC:/esp-idf/components/nvs_flash/include -IC:/esp-idf/components/pthread/include -IC:/esp-idf/components/espcoredump/include -IC:/esp-idf/components/asio/asio/asio/include -IC:/esp-idf/components/asio/port/include -IC:/esp-idf/components/coap/port/include -IC:/esp-idf/components/coap/port/include/coap -IC:/esp-idf/components/coap/libcoap/include -IC:/esp-idf/components/coap/libcoap/include/coap2 -IC:/esp-idf/components/console -IC:/esp-idf/components/nghttp/port/include -IC:/esp-idf/components/nghttp/nghttp2/lib/includes -IC:/esp-idf/components/esp-tls -IC:/esp-idf/components/esp_adc_cal/include -IC:/esp-idf/components/esp_gdbstub/include -IC:/esp-idf/components/tcp_transport/include -IC:/esp-idf/components/esp_http_client/include -IC:/esp-idf/components/esp_http_server/include -IC:/esp-idf/components/esp_https_ota/include -IC:/esp-idf/components/protobuf-c/protobuf-c -IC:/esp-idf/components/protocomm/include/common -IC:/esp-idf/components/protocomm/include/security -IC:/esp-idf/components/protocomm/include/transports -IC:/esp-idf/components/mdns/include -IC:/esp-idf/components/esp_local_ctrl/include -IC:/esp-idf/components/esp_websocket_client/include -IC:/esp-idf/components/expat/expat/expat/lib -IC:/esp-idf/components/expat/port/include -IC:/esp-idf/components/wear_levelling/include -IC:/esp-idf/components/sdmmc/include -IC:/esp-idf/components/fatfs/diskio -IC:/esp-idf/components/fatfs/vfs -IC:/esp-idf/components/fatfs/src -IC:/esp-idf/components/freemodbus/common/include -IC:/esp-idf/components/idf_test/include -IC:/esp-idf/components/jsmn/include -IC:/esp-idf/components/json/cJSON -IC:/esp-idf/components/libsodium/libsodium/src/libsodium/include -IC:/esp-idf/components/libsodium/port_include -IC:/esp-idf/components/mqtt/esp-mqtt/include -IC:/esp-idf/components/openssl/include -IC:/esp-idf/components/spiffs/include -IC:/esp-idf/components/ulp/include -IC:/esp-idf/components/unity/include -IC:/esp-idf/components/unity/unity/src -IC:/esp-idf/components/wifi_provisioning/include -I../components/tarablessd1306 -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v4.0.1-dirty" -DGCC_NOT_5_2_0 -DESP_PLATFORM -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -MF esp-idf\main\CMakeFiles__idf_main.dir\main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -c ../main/main.c
In file included from ../components/tarablessd1306/ssd1306_err.h:5,
from ../components/tarablessd1306/ssd1306.h:11,
from ../main/main.c:11:
C:/esp-idf/components/xtensa/include/esp_panic.h:2:2: warning: #warning "esp_panic.h is deprecated, please use esp_debug_helpers.h or/and esp_private/panic_reason.h" [-Wcpp]
#warning "esp_panic.h is deprecated, please use esp_debug_helpers.h or/and esp_private/panic_reason.h"
^~~~~~~
In file included from C:/esp-idf/components/esp_common/include/esp_system.h:22,
from ../main/main.c:15:
C:/esp-idf/components/esp_common/include/esp_bit_defs.h:53: warning: "BIT" redefined
#define BIT(nr) (1UL << (nr))

In file included from ../main/main.c:11:
../components/tarablessd1306/ssd1306.h:19: note: this is the location of the previous definition
#define BIT( n ) ( 1 << n )

../main/main.c:16:10: fatal error: bmp280.h: No such file or directory
#include <bmp280.h>
^~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Build complete (1 errors, 2 warnings): D:\Eclipse\Trabajo\Oled_BMP280\build

I think i have to do is add the library into my code, but i don't know to do it.
Thanks in advance

SSD1306_Clear Causes SSD1306_Update to draw 8 Horizontal Lines

I've tried using two separate 128x64/0.96" SSD1306 OLED displays and both yield the same result.
I'm using ESP-IDF v4.0 and HelloWorld tarablessd1306_examples component. Any ideas what's causing this? When SSD1306_Clear is not called, the lines aren't drawn, but clearing and then updating draws these 8 unwanted horizontal lines.

None of the SSD1306_DrawLine functions are being called.
Screenshot_20191021-212407_Gallery

Exception when i2c display is not connected during init

The following exception is thrown when i2c display support is enabled but the display is disconnected.

I don't have an SPI display to test if the issue happens there.

E (162) I2CDefaultWriteBytes: i2c_master_cmd_begin( I2CPortNumber, CommandHandle, pdMS_TO_TICKS( 1000 ) ) != ESP_OK, result: -1
abort() was called at PC 0x400e063a on core 0
0x400e063a: I2CDefaultWriteBytes at components/tarablessd1306/ifaces/default_if_i2c.c:107 (discriminator 4)

The issue can be resolved by changing line default_if_i2c.c:107, but I am unsure if this is the best practice or other implications of this change:

i2c_master_cmd_begin( I2CPortNumber, CommandHandle, pdMS_TO_TICKS( 1000 ) );

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.