Coder Social home page Coder Social logo

m5core-ink's Introduction

Core-Ink Library

Arduino Compile Arduino Lint Clang Format

English | 中文

CoreInk_Pic_01

Description

CoreInk is a brand new E-ink display in the M5Stack cores range. Controlled by the ESP32-PICO-D4 This new device includes a 200x200 1.54" Black and White E-Ink Display. Compared to a regular LCD,E-ink displays are easier on the eyes, which makes them a great choice for reading or viewing for longer periods. Other benefits are the low power consumption and the ability to retain the image even if power to the display is terminated。For control the CoreInk integrates an multi-function button,A physical button, integrated status LED and buzzer.The device also includes a 390mAh Lipo,RTC(BM8563)for controlling accurate timing and deep sleep funcionality. CoreInk features independent reset and power buttons,expansion ports(HY2.0-4P、M-BUS、HAT expansion)for attaching external sensors to expand functionailty,for unlimited possibilities。

Warning: Please avoid using high refresh rates,reccommended refresh rate is(15s/per refresh), Do not expose to ultraviolet rays for a long time, otherwise it may cause irreversible damage to the ink screen.

CoreInk_Pic_01

Product Features

  • ESP32 Standard wireless functions Wi-Fi,Bluetooth
  • Internal 4M Flash
  • Low Power Display
  • 180 degree viewing angle
  • Expansion ports
  • Built-in Magnet
  • Internal Battery
  • Expandable

More Information

Related Link

m5core-ink's People

Contributors

asirinelli avatar felmue avatar forairaaaaa avatar gitshaoxiang avatar simonprickett avatar tinyu-zhao 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

m5core-ink's Issues

HW Question: Turn on time 2s

Hello everyone,
what takes so long to switch on? the power button switches the dc dc converters on directly. do they take so long to start?

M5CoreInk::shutdown(const RTC_TimeTypeDef &) not work

when sleep with shutdown(RTC_TimeTypeDef), it not wake up at the time.

I tried

int RTC::SetAlarmIRQ(const RTC_TimeTypeDef &RTC_TimeStruct)
{
    uint8_t irq_enable = false;
    uint8_t out_buf[4] = {0x80, 0x80, 0x80, 0x80};

[snip]

    //out_buf[2] = 0x00; //remove
    //out_buf[3] = 0x00; //remove

    uint8_t reg_value = ReadReg(0x01);

it worked.
out_buf[2], outbuf[3] should be invalid number as a date/dayofweek, I think.

shutdown(int seconds) not working

The shutdown function that takes the seconds parameter does not seem to work.
The M5CoreInk wakes up after 2-3 sec. no matter what the chosen seconds value was

void darwdate typo

Line 32
void darwDate( RTC_DateTypeDef *date)

should be
void drawDate( RTC_DateTypeDef *date)

RTC_WakeUp example error

Hello,
When I try to compile RTC_WakeUp.ino code from examples in Arduino IDE , I got this
error: 'class M5CoreInk' has no member named 'shutdown'

What can I do ?
Best regards.
Roberto

3.3 volts generation question

Hi guys

just curious - what is the reason for using SY7088 boost (bat -> 5volts) and SY8089 step down (5volts to 3.3volts) to power the ESP32 PICO chip instead of the AXP192 used in other products? I fear that will not allow for a very low current in deep sleep, but I might be wrong. I'd be interested about the current you measured in deep sleep - care to share that info?

Thank you very much in advance.

Best
Felix

Ambiguous "begin" overload

When following the CoreInk Quick Start tutorial I got the following error:

/Users/andrew/Documents/Arduino/libraries/M5-CoreInk/src/M5CoreInk.cpp: In member function 'int M5CoreInk::begin(bool, bool, bool)':
/Users/andrew/Documents/Arduino/libraries/M5-CoreInk/src/M5CoreInk.cpp:23:33: error: call of overloaded 'begin(int, int, int)' is ambiguous
         Wire.begin(32, 33, 10000);
                                 ^
In file included from /Users/andrew/Documents/Arduino/libraries/M5-CoreInk/src/utility/BM8563.h:4,
                 from /Users/andrew/Documents/Arduino/libraries/M5-CoreInk/src/M5CoreInk.h:8,
                 from /Users/andrew/Documents/Arduino/libraries/M5-CoreInk/src/M5CoreInk.cpp:1:
/Users/andrew/Library/Arduino15/packages/m5stack/hardware/esp32/2.0.1/libraries/Wire/src/Wire.h:79:10: note: candidate: 'bool TwoWire::begin(int, int, uint32_t)'
     bool begin(int sda=-1, int scl=-1, uint32_t frequency=0); // returns true, if successful init of i2c bus
          ^~~~~
/Users/andrew/Library/Arduino15/packages/m5stack/hardware/esp32/2.0.1/libraries/Wire/src/Wire.h:80:10: note: candidate: 'bool TwoWire::begin(uint8_t, int, int, uint32_t)'
     bool begin(uint8_t slaveAddr, int sda=-1, int scl=-1, uint32_t frequency=0);
          ^~~~~
exit status 1
Error compiling for board M5Stack-CoreInk.

My fix was to change line 23 in M5CoreInk.cpp from...

Wire.begin(32, 33, 10000);

to...

Wire.begin(32, 33, (uint32_t) 10000);

That eliminated the ambiguity and the code compiled as expected. Is this a common issue or something unique to my setup? Is it worth my making a branch? I am using the following setup:

OS: macOS Catalina
Arduino: 1.8.19
M5Stack CoreInk: 0.0.2
ESP32 libraries: 2.0.1

Deeplseep issues / fix

I was having issues getting deep sleep to work using the battery (no usb power) and the regular esp functions esp_deep_sleep_start and esp_sleep_enable_timer_wakeup().
When I realized it had a bat boost converter I managed it to get it to work by:

pinMode(POWER_HOLD_PIN,OUTPUT);
digitalWrite(POWER_HOLD_PIN,HIGH);
gpio_hold(GPIO_NUM_12); // tell the esp to keep pin high even in sleep

I am not sure where this information belongs but i thought it might be useful for anyone else bonking his head against the wall.

[PlatformIO] Quick start fails: error: 'class M5CoreInk' has no member named 'PowerDown'

Target:

Hi, I'm trying to build the FactoryTest project with PlatformIO, my steps:

Board selection:

pio init -b m5stack-core-esp32 --ide vscode

it because don't exists m5stack-coreink board yet.

Library selection:

In platformio.ini I put the next library that I found with library search command:

lib_deps =
    m5stack/M5-CoreInk

Project directory preparation:

cp -r .pio/libdeps/m5stack-core-esp32/M5-CoreInk/examples/FactoryTest/* src/

Build and errors:

m5stack-coreink$ pio run
Processing m5stack-core-esp32 (platform: espressif32; board: m5stack-core-esp32; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/m5stack-core-esp32.html
PLATFORM: Espressif 32 (2.0.0) > M5Stack Core ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 3.10004.201016 (1.0.4) 
 - tool-esptoolpy 1.20600.0 (2.6.0) 
 - toolchain-xtensa32 2.50200.80 (5.2.0)
Converting FactoryTest.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing m5stack/M5-CoreInk
Library Manager: M5-CoreInk @ 0.0.2 has been installed!
Found 27 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <M5-CoreInk> 0.0.2
|   |-- <Wire> 1.0.1
|   |-- <SPI> 1.0
|-- <WiFi> 1.0
Building in release mode
Compiling .pio/build/m5stack-core-esp32/src/CoreInk.c.o
Compiling .pio/build/m5stack-core-esp32/src/FactoryTest.ino.cpp.o
Compiling .pio/build/m5stack-core-esp32/src/Num18x29.cpp.o
Compiling .pio/build/m5stack-core-esp32/src/Num_55x40.cpp.o
Compiling .pio/build/m5stack-core-esp32/src/icon.cpp.o
Generating partitions .pio/build/m5stack-core-esp32/partitions.bin
Compiling .pio/build/m5stack-core-esp32/lib7de/Wire/Wire.cpp.o
Compiling .pio/build/m5stack-core-esp32/lib02b/SPI/SPI.cpp.o
Compiling .pio/build/m5stack-core-esp32/libfa3/M5-CoreInk/M5CoreInk.cpp.o
Compiling .pio/build/m5stack-core-esp32/libfa3/M5-CoreInk/utility/Ascii24x48.cpp.o
Archiving .pio/build/m5stack-core-esp32/lib02b/libSPI.a
Indexing .pio/build/m5stack-core-esp32/lib02b/libSPI.a
Compiling .pio/build/m5stack-core-esp32/libfa3/M5-CoreInk/utility/Ascii8x16.cpp.o
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino: In function 'void WifiScanPage()':
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino:375:16: error: 'class M5CoreInk' has no member named 'PowerDown'
             M5.PowerDown();
                ^
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino: In function 'void flushTimePage()':
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino:412:16: error: 'class M5CoreInk' has no member named 'PowerDown'
             M5.PowerDown();
                ^
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino: In function 'void checkBatteryVoltage(bool)':
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino:430:13: error: 'class M5CoreInk' has no member named 'PowerDown'
          M5.PowerDown();
             ^
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino: In function 'void loop()':
/home/avp/sketchbook/pio/m5stack-coreink/src/FactoryTest.ino:510:12: error: 'class M5CoreInk' has no member named 'PowerDown'
         M5.PowerDown();
            ^
*** [.pio/build/m5stack-core-esp32/src/FactoryTest.ino.cpp.o] Error 1
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp: In member function 'int M5CoreInk::shutdown(int)':
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp:67:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp: In member function 'int M5CoreInk::shutdown(const RTC_TimeTypeDef&)':
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp:73:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp: In member function 'int M5CoreInk::shutdown(const RTC_DateTypeDef&, const RTC_TimeTypeDef&)':
.pio/libdeps/m5stack-core-esp32/M5-CoreInk/src/M5CoreInk.cpp:79:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
========================================================= [FAILED] Took 1.56 seconds =========================================================

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.