Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart

  • @frittna said in Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart:

    n you say you burned it with the burner than it should work. I only think of a sd config file corruption or something because of not safe ejected.. or some strange letters in wifi-pass.. i dunno..

    I tested with my guest wifi: "guest" pass "guest" and doesn't work

  • Now it works...

    The problem was "_" in the Wi-Fi

    Thank you so much for your patience.

  • Hi frittna,

    Awersome work for making this for us, its a struggle to keep watch of the crypto market while also living a life away from it.
    I'm a noob, but i'm sure if I know exactly where to edit, i could get away with it, so my query is how do edit one of the existing
    timezones to get my local timezone option? I'm looking for GMT +8 (Singapore/Kuala Lumpur Timezone). Thanks is advance!

  • Hi and thank you very much. Yea, it's really a good alternative to a pc running all day or checking your mobile all the time. You can focus on other things and have always an eye on it. It's nice to have one under your pc screen btw.

    to your question, the corresponding part is the following. You would have to add for example your Zimezone as nr.8 in the code and compile it new in Arduino, then set the same number in the sd-config to load this setting at least once. If you're really new to arduino its a bit tricky with all the libraries and stuff (boardmanager!) but it is documented.

    Problem right now is that i dont know where to find the correct TimeChangeRule values for your timezone (UTC+8 is SGT ...?)
    Maybe you find some info. I found the lines i used in the code on the web or in Arduino code examples but i know no more zones right now.

    here is the part at the beginning
    TimeChangeRule summer_aedt = {"AEDT", First, Sun, Oct, 2, 660}; // 0: Australia Eastern Time Zone (Sydney, Melbourne)
    TimeChangeRule standard_aest = {"AEST", First, Sun, Apr, 3, 600};
    TimeChangeRule summer_bst = {"BST", Last, Sun, Mar, 1, 60}; // 1: United Kingdom (London, Belfast)
    TimeChangeRule standard_gmt = {"GMT", Last, Sun, Oct, 2, 0};
    TimeChangeRule summer_eest = {"EEST", Last, Sun, Mar, 3, 180}; // 2: Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
    TimeChangeRule standard_eet = {"EET ", Last, Sun, Oct, 4, 120};
    TimeChangeRule summer_cest = {"CEST", Last, Sun, Mar, 2, 120}; // 3: Central European Time Zone (Frankfurt, Paris)
    TimeChangeRule standard_cet = {"CET ", Last, Sun, Oct, 3, 60};
    TimeChangeRule summer_edt = {"EDT", Second, Sun, Mar, 2, -240}; // 4: US Eastern Time Zone (New York, Detroit)
    TimeChangeRule standard_est = {"EST", First, Sun, Nov, 2, -300};
    TimeChangeRule summer_cdt = {"CDT", Second, dowSunday, Mar, 2, -300}; // 5: US Central Time Zone (Chicago, Houston)
    TimeChangeRule standard_cst = {"CST", First, dowSunday, Nov, 2, -360};
    TimeChangeRule summer_mdt = {"MDT", Second, dowSunday, Mar, 2, -360}; // 6: US Mountain Time Zone (Denver, Salt Lake City)
    TimeChangeRule standard_mst = {"MST", First, dowSunday, Nov, 2, -420};
    TimeChangeRule summer_pdt = {"PDT", Second, dowSunday, Mar, 2, -420}; // 7: US Pacific Time Zone (Las Vegas, Los Angeles);
    TimeChangeRule standard_pst = {"PST", First, dowSunday, Nov, 2, -480};
    Timezone myTZ0(summer_aedt, standard_aest); // myTZ0: 0 Australia Eastern Time Zone (Sydney, Melbourne)
    Timezone myTZ1(summer_bst, standard_gmt); // myTZ1: 1 United Kingdom (London, Belfast)
    Timezone myTZ2(summer_eest, standard_eet); // myTZ2: 2 Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
    Timezone myTZ3(summer_cest, standard_cet); // myTZ3: 3 Central European Time Zone (Frankfurt, Paris)
    Timezone myTZ4(summer_edt, standard_est); // myTZ4: 4 US Eastern Time Zone (New York, Detroit)
    Timezone myTZ5(summer_cdt, standard_cst); // myTZ5: 5 US Central Time Zone (Chicago, Houston)
    Timezone myTZ6(summer_mdt, standard_mst); // myTZ6: 6 US Mountain Time Zone (Denver, Salt Lake City)
    Timezone myTZ7(summer_pdt, standard_pst); // myTZ7: 7 US Pacific Time Zone (Las Vegas, Los Angeles);

    and later in the code:
    ..} else if..=4..
    ..} else if..=5..
    } else if (myTimeZone == 6) {
    time_t now = myTZ6.toLocal(time(nullptr), &tcr);
    M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));
    } else if (myTimeZone == 7) {
    time_t now = myTZ7.toLocal(time(nullptr), &tcr);
    M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));

    here the new else if for nr.8
    i think that would be all

  • Thanks Frittna, yes my timezone is UTC +8, and I think I have found a reference on how to set that <see below> ; my timezone dont have DST, so it should just a simple one liner (i think), still not tested though..cuz ya, i'm a newbie, so about that compiling, could you point me exactly where to look? :)

    My M5stack is the FIRE version ; with the LED bars , and this is my first project using it (actually got inspired to get it after seeing your project, as I was wanting a proper tabletop ticker for some time now), will there be any version that can utilize those LEDs as indicators, that would be awesome!

    For a time zone that does not change to daylight/summer time, pass the same rule
    twice to the constructor, e.g.:
    Timezone usAZ(usMST, usMST);
    In fact the WorldClock example does this for Arizona:

    //US Mountain Time Zone (Denver, Salt Lake City)
    TimeChangeRule usMDT = {"MDT", Second, dowSunday, Mar, 2, -360};
    TimeChangeRule usMST = {"MST", First, dowSunday, Nov, 2, -420};
    Timezone usMT(usMDT, usMST);

    //Arizona is US Mountain Time Zone but does not use DST
    Timezone usAZ(usMST, usMST);


    So mine should be >>>

    //for Malaysia its MYT (UTC+8)Time Zone but does not have DST
    Timezone MYT(MYT, MYT);


  • Updated Version (minor changings):

    • added cycling function: enable/disable by pressing ButtonA+ButtonC together. steps through your currencies after a certain time (default: 15sec for each currency)

    • added Timezone for Singapore (UTC+8)

    • code merged to one version, so there is no need to have different versions anymore

    • autodetect the optional room sensor and show 12pixel high sensor panel in this case temperature unit C or F and offset is set from SD-Config and not hardcoded anymore (because the M5-Stack is heating up itself it will never be accurate and has only limited expressiveness)

    last modified Nov.20.2021 15:20 CET - Version 1.0.53fix

  • I'm getting crazy. I have a SSID with spaces: I Installed it for the first time around the end of October. I updated it with the cycling function. it connected flawlessy. Yesterday I wanted to add a new pair, and now it does not connect anymore to wifi ... that's weird

  • @reddai
    hard to predict but i experienced odd behavior with reading settings when i for example forgot to eject the sd-card on pc by control center (use checkdisk on the sd card too if you forgot).
    Or maybe you have some hidden symbols from a copy paste action in your settings file or router config page. I'm not so good with ascii code but like when you see a url link with %20 for space or something. Maybe you used a complex texteditor? use simple text editor, no format options, and of course check every single sign... frustrating to not know. First i would try a fresh config file and only wifi settings. Before check your SD card. When this still fails try without space in name, if it works we have to accept that fact or better investigate that "space in name" problem of the used esp32 library

  • @frittna thanks for your help ! I did a fresh config with a formatted sd completly empty and it worked!!

  • Is there a way to use this code on Core2?

  • Can someone please share M5Burner.exe download. The new M5Burner does not allow to select the zip file to burn.

  • @yashax

    well.. i don't have a Core2 unit to test, only Core. I have read a few lines and that there is not much difference for old Core apps to run .. something changed at the power-state chip and its command for example.

    One good thing is that you can select Core2 in Arduino and compile it right away without any errors :)

    from compiler:
    Sketch uses 1225886 bytes (18%) of program storage space. Maximum is 6553600 bytes.
    Global variables use 55364 bytes (1%) of dynamic memory, leaving 4466620 bytes for local variables. Maximum is 4521984 bytes.

    BUT when you want to have Core2 board in your Arduino you need to load ESP32 Boardmanager version 1.0.6 and my code locks up with a stack overflow error for unknown reason when i use 1.0.5 or 1.0.6... not at compiling but when it connects to wifi. This was an issue a year ago and never solved it because i don't know what changings at the board library causes the conflict.
    I think a real M5-Stack freak could find the cause easy (or knows it already) because there must be many other apps i guess after 1.0.5 came out whith same problem. But since i don't know where to start i have no fix for you Core2 users atm

  • @yashax said in Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart:

    The new M5Burner does not allow to select the zip file to burn.

    what do you mean?.. try downloading new from source and follow readme

  • This post is deleted!

  • @yashax said in Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart:

    Thank you. What is the location of the M5Burner source?

    you find the link is in the first post

    download project:

  • @frittna
    Hi there,

    I have a Core 2 and I want to install this. I tried doing this on windows with the installer, however the SD card library isn't compatible with the Core 2, according to this post:

    Can you compile a version with a SD card library that works? This looks so cool and i really want to try this out!

  • @frankchau93
    i started from zero too so maybe give it a try and search/test if there are other compatible libraries. Since i have no core2 device and beside the (stupid) fact that i cannot use the latest boardmanager (higher than 1.0.4) on a core1 I am kind of stuck. But i guess not forever.. atm i am not really plessed with free time but we would need to know what is causing the problems with boardmanager 1.0.5 and higher first. I suspect the WIFI, the SDCard or the Websockets library. Then only minor changings in code are needed to support core2 i guess.

  • Can someone please help me figure out how to display ticker for TIME crypto coin?

  • Is it possible to have ticker rotate between several crypto coins? Like BTC for 5 seconds, the ETH for 5 seconds, in the loop.

  • @yashax

    regarding TIME token - I see 4 different tokens with that name but none of it is listed on binance.

    An optional cycling function like you're asking was added in the last version i've released a month ago.
    Scroll up or go to the github source page.
    btw: do you have a core1 unit now?