Giter VIP home page Giter VIP logo

cale-platformio's Introduction

Hi there ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on making hardware PCB adapters
  • ๐ŸŒฑ Learning more C, C++ and Symfony framework UX Live (PHP 8)
  • ๐Ÿ‘ฏ Looking to collaborate on interesting embedded products and funding open source libraries that make our work easier
  • ๐Ÿ’ฌ Ask me about eink controllers and Espressif chips (epdiy open source epaper controller)
  • ๐Ÿ“ซ How to reach me: martin AT cale.es
  • ๐Ÿ’ญ If you want to generate dynamic images for your displays try CALE.es

martinberlin GitHub stats

cale-platformio's People

Contributors

martinberlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cale-platformio's Issues

Trouble getting the example to work

Thank you for creating this! I was going to try out my 7-color display using this repo, but I'm getting the following crash loop after pushing:

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7592
load:0x40078000,len:14912
load:0x40080400,len:3688
entry 0x4008067c
I (27) boot: ESP-IDF 4.3.2 2nd stage bootloader
I (27) boot: compile time 15:46:46
I (27) boot: chip revision: 1
I (30) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (37) boot.esp32: SPI Speed      : 40MHz
I (41) boot.esp32: SPI Mode       : DIO
I (46) boot.esp32: SPI Flash Size : 4MB
I (51) boot: Enabling RNG early entropy source...
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (74) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (82) boot:  2 factory          factory app      00 00 00010000 00100000
I (89) boot: End of partition table
I (93) boot_comm: chip revision: 1, min. application chip revision: 0
I (101) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=0fb14h ( 64276) map
I (132) esp_image: segment 1: paddr=0001fb3c vaddr=3ffb0000 size=004dch (  1244) load
I (133) esp_image: segment 2: paddr=00020020 vaddr=400d0020 size=18990h (100752) map
I (175) esp_image: segment 3: paddr=000389b8 vaddr=3ffb04dc size=025d0h (  9680) load
I (179) esp_image: segment 4: paddr=0003af90 vaddr=40080000 size=0cc90h ( 52368) load
I (202) esp_image: segment 5: paddr=00047c28 vaddr=50000000 size=00010h (    16) load
I (209) boot: Loaded app from partition at offset 0x10000
I (209) boot: Disabling RNG early entropy source...
I (222) cpu_start: Pro cpu up.
I (222) cpu_start: Starting app cpu, entry point is 0x400821c8
I (209) cpu_start: App cpu up.
I (237) cpu_start: Pro cpu start user code
I (237) cpu_start: cpu freq: 160000000
I (237) cpu_start: Application information:
I (241) cpu_start: Project name:     cale-platformio
I (247) cpu_start: App version:      f1e5d23-dirty
I (252) cpu_start: Compile time:     Nov 24 2022 15:46:20
I (258) cpu_start: ELF file SHA256:  4b619e6d14f2f3ff...
I (264) cpu_start: ESP-IDF:          4.3.2
I (269) heap_init: Initializing. RAM available for dynamic allocation:
I (276) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (282) heap_init: At 3FFB3438 len 0002CBC8 (178 KiB): DRAM
I (289) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (295) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (301) heap_init: At 4008CC90 len 00013370 (76 KiB): IRAM
I (309) spi_flash: detected chip: generic
I (312) spi_flash: flash io: dio
CalEPD component version 1.0.9
gdey073d46() constructor injects IO and extends Adafruit_GFX(800,480)
I (326) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
CalEPD version: 1.0.9 DEMO 7 Color
I (340) EpdSpi: started at frequency: 4000000
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x400d18b5  PS      : 0x00060830  A0      : 0x800d188c  A1      : 0x3ffb6060  
A2      : 0x3ffb2ab0  A3      : 0x0000ffff  A4      : 0x3f400120  A5      : 0x3ffb5f50  
A6      : 0x00000023  A7      : 0x3ffb5f50  A8      : 0x00000000  A9      : 0x00000000  
A10     : 0x00000011  A11     : 0x3ffb2af4  A12     : 0x3f403c8c  A13     : 0x00000154  
A14     : 0x3f400120  A15     : 0x00000fa0  SAR     : 0x00000006  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00000000  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xfffffffe  

Backtrace:0x400d18b2:0x3ffb6060 0x400d1889:0x3ffb6080 0x400d0faf:0x3ffb60a0 0x400e87c8:0x3ffb6100 0x40088e91:0x3ffb6120


ELF file SHA256: 4b619e6d14f2f3ff

Rebooting...

The only changes I made to the code were selecting the correct example and updating the SPI pin assignments.

diff --git a/platformio.ini b/platformio.ini
index 9349c92..cc66b25 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -8,7 +8,7 @@
 ; Do not forget to run: pio run -t menuconfig
 ;        in a terminal if you change src_dir to make sure config is ready!
 ; Examples avail: 7-color | wifi-> cale-grayscale | cale-mono*
-src_dir = cale-grayscale
+src_dir = 7-color
 monitor_filters = time
 default_envs = esp32dev
 
@@ -31,15 +31,15 @@ build_flags =
 ; In case you use it please add my fork as an additional lib_deps
   -D CALEPD_EXCLUDE_PARALLEL
 ; GPIOs that connect to your epaper SPI interface. DEFINE yours:
-  -D CONFIG_EINK_SPI_MOSI=23
-  -D CONFIG_EINK_SPI_CLK=18
-  -D CONFIG_EINK_SPI_CS=12
-  -D CONFIG_EINK_DC=32
-  -D CONFIG_EINK_RST=27
-  -D CONFIG_EINK_BUSY=33
+  -D CONFIG_EINK_SPI_MOSI=14
+  -D CONFIG_EINK_SPI_CLK=13
+  -D CONFIG_EINK_SPI_CS=15
+  -D CONFIG_EINK_DC=27
+  -D CONFIG_EINK_RST=26
+  -D CONFIG_EINK_BUSY=25
   ; Only for those models such as PlasticLogic that send data from slave peripheral
   ; @deprecated CS2 was used for an accelerometer that is beyond the mission of this library
-  -D CONFIG_EINK_SPI_MISO=19
+  -D CONFIG_EINK_SPI_MISO=12
   -D CONFIG_EINK_SPI_CS2=-1
   ; Only for big 12.48 epapers that have a complex 4 panels inside (With shared SPI)
   ; | S2 | M2 | Leave in -1 when not in use

I'm using the Waveshare ESP32 board.

Any ideas what the issue could be? Thanks!

Cannot build example

Hey Martin,

first of all, thank you for your projects!

When trying to build this example I do get the following warnings and errors which lead to the build failing (without changing anything):

.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp: In member function 'bool FT6X36::readData()':
.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp:223:55: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  223 |     ret = i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                       ^~~~~~~~~~~~~~~~
      |                                                       portTICK_PERIOD_MS
Compiling .pio\build\esp32dev\lib715\calepd\epdspi.o
.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp: In member function 'void FT6X36::writeRegister8(uint8_t, uint8_t)':
.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp:297:49: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  297 |     i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                 ^~~~Compiling .pio\build\esp32dev\lib715\calepd\models\color\gdeh0154z90.o
~~~~~~~~~~~~
      |                                                 portTICK_PERIOD_MS
Compiling .pio\build\esp32dev\lib715\calepd\models\color\gdeh042Z21.o
.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp: In member function 'uint8_t FT6X36::readRegister8(uint8_t, uint8_t*)':
.pio/libdeps/esp32dev/FT6X36/FT6X36.cpp:313:65: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  313 |     esp_err_t ret = i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                                 ^~~~~~~~~~~~~~~~
      |                                                                 portTICK_PERIOD_MS
Compiling .pio\build\esp32dev\lib715\calepd\models\color\gdeh042Z96.o
*** [.pio\build\esp32dev\lib141\FT6X36\FT6X36.o] Error 1
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp: In member function 'void L58Touch::writeRegister8(uint8_t, uint8_t)':
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp:357:49: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  357 |     i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                 ^~~~~~~~~~~~~~~~
      |                                                 portTICK_PERIOD_MS
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp: In member function 'uint8_t L58Touch::readRegister8(uint8_t, uint8_t*)':
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp:383:65: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  383 |     esp_err_t ret = i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                                 ^~~~~~~~~~~~~~~~
      |                                                                 portTICK_PERIOD_MS
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp: In member function 'void L58Touch::readBytes(uint8_t*, int)':
.pio/libdeps/esp32dev/FT6X36/L58Touch.cpp:407:65: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  407 |     esp_err_t ret = i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_RATE_MS);
      |                                                                 ^~~~~~~~~~~~~~~~
      |                                                                 portTICK_PERIOD_MS
*** [.pio\build\esp32dev\lib141\FT6X36\L58Touch.o] Error 1
.pio/libdeps/esp32dev/calepd/epd4spi.cpp: In member function 'virtual void Epd4Spi::init(uint8_t, bool)':
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::data4_io_num' [-Wmissing-field-initializers]
   73 |     };
      |     ^
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::data5_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::data6_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::data7_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::flags' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:73:5: warning: missing initializer for member 'spi_bus_config_t::intr_flags' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::command_bits' [-Wmissing-field-initializers]
   88 |     };
      |     ^
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::address_bits' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::dummy_bits' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::duty_cycle_pos' [-Wmissing-field-initializers]        
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::cs_ena_pretrans' [-Wmissing-field-initializers]       
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::cs_ena_posttrans' [-Wmissing-field-initializers]      
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::spics_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::pre_cb' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:88:5: warning: missing initializer for member 'spi_device_interface_config_t::post_cb' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epd4spi.cpp: In member function 'virtual void Epd4Spi::reset(uint8_t)':
.pio/libdeps/esp32dev/calepd/epd4spi.cpp:383:25: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  383 |     vTaskDelay(millis / portTICK_RATE_MS);
      |                         ^~~~~~~~~~~~~~~~
      |                         portTICK_PERIOD_MS
*** [.pio\build\esp32dev\lib715\calepd\epd4spi.o] Error 1
.pio/libdeps/esp32dev/calepd/epdspi.cpp: In member function 'void EpdSpi::init(uint8_t, bool)':
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::data4_io_num' [-Wmissing-field-initializers]
   44 |     };
      |     ^
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::data5_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::data6_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::data7_io_num' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::flags' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:44:5: warning: missing initializer for member 'spi_bus_config_t::intr_flags' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::command_bits' [-Wmissing-field-initializers]
   60 |     };
      |     ^
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::address_bits' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::dummy_bits' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::duty_cycle_pos' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::cs_ena_pretrans' [-Wmissing-field-initializers]        
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::cs_ena_posttrans' [-Wmissing-field-initializers]       
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::pre_cb' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp:60:5: warning: missing initializer for member 'spi_device_interface_config_t::post_cb' [-Wmissing-field-initializers]
.pio/libdeps/esp32dev/calepd/epdspi.cpp: In member function 'void EpdSpi::reset(uint8_t)':
.pio/libdeps/esp32dev/calepd/epdspi.cpp:161:25: error: 'portTICK_RATE_MS' was not declared in this scope; did you mean 'portTICK_PERIOD_MS'?
  161 |     vTaskDelay(millis / portTICK_RATE_MS);
      |                         ^~~~~~~~~~~~~~~~
      |                         portTICK_PERIOD_MS
*** [.pio\build\esp32dev\lib715\calepd\epdspi.o] Error 1
======================================================================== [FAILED] Took 35.72 seconds ========================================================================

Any ideas? Seems like portTICK_RATE_MS needs to be defined somewhere. Is this a bug with the current version?

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.