repetier + BigTreeTech MINI12864 v. 2.1

Czyli co i jak podłączyć żeby działało
Awatar użytkownika
samezrp
Postów w temacie: 4
Posty: 1023
Rejestracja: 29 paź 2016, 15:57
x 66

repetier + BigTreeTech MINI12864 v. 2.1

Post autor: samezrp »

Siema, long time :)
Pytanie: ma ktoś może działająca konfigurację repetiera z wyświetlaczem: BigTreeTech MINI12864 v.1.0 (w rzeczywistosci FYSETC_MINI_12864 v.2.1)?
Udało mi się odpalić Marlina, ale jakoś mi on nie podchodzi, sam wyświetlacz na U8g2 lib działa jako ST7567:

Kod: Zaznacz cały

U8X8_ST7567_OS12864_4W_SW_SPI u8x8(/* clock=*/ 52, /* data=*/ 51, /* cs=*/ 17, /* dc=*/ 16, /* reset=*/ 23);  
ale nie chce na starej u8glib, która wg configa repetiera powinna wspierać:

Kod: Zaznacz cały

U8GLIB_MINI12864_2X_HW_SPI
u8g_InitHWSPI(&u8g, &u8g_dev_uc1701_mini12864_2x_hw_spi, UI_DISPLAY_RS_PIN, UI_DISPLAY_D5_PIN, UI_DISPLAY_RESET_PIN);
ale nie działa, próbowałem zmienić na SW SPI:

Kod: Zaznacz cały

#ifdef U8GLIB_MINI12864_2X_SW_SPI
    u8g_InitSPI(&u8g, &u8g_dev_uc1701_mini12864_2x_sw_spi, UI_DISPLAY_D4_PIN, UI_DISPLAY_ENABLE_PIN, UI_DISPLAY_RS_PIN, UI_DISPLAY_D5_PIN, UI_DISPLAY_RESET_PIN);
tak jak działa na marlinie czy teście u8g2, ale ciemność. Piny poprawne, test na RAMPS 1.4 i 2560.
Ktoś coś?
morf
Awatar użytkownika
samezrp
Postów w temacie: 4
Posty: 1023
Rejestracja: 29 paź 2016, 15:57
x 66

Re: repetier + BigTreeTech MINI12864 v. 2.1

Post autor: samezrp »

Gdyby ktoś szukał kiedyś:
DisplayList.h update po linii 1732 z wersji 1.0.5 dev:

Kod: Zaznacz cały

#define BEEPER_TYPE            1
#define UI_DISPLAY_RS_PIN      17
#define UI_DISPLAY_RW_PIN      -1
#define UI_DISPLAY_ENABLE_PIN  51
#define UI_DISPLAY_D4_PIN      52
#define UI_DISPLAY_D5_PIN      16
#define UI_DISPLAY_D6_PIN      -1
#define UI_DISPLAY_D7_PIN      -1
#define UI_RESET_PIN           41
#define UI_DISPLAY_RESET_PIN   23
#define UI_ENCODER_A           33
#define UI_ENCODER_B           31
#define UI_ENCODER_CLICK       35
#define UI_RESET_PIN           41
#define LCD_CONTRAST           255
#define UI_INVERT_MENU_DIRECTION   0
#define UI_ENCODER_SPEED 2
ustawień karty i beepera nie testowałem, wiec do sprawdzenia.
Do tego trzeba dodać podświetlenie, nie lubię choinki, więc ustawiłem na stałe, może ordynarnie, ale dałem po prostu w repetier.ino ustawienia NeoPixela. Poniżej kod, którym można się pobawić. Piksele odpowiednio:
0 = lewe podświetlenie encodera
1 = prawe podświetlenie encodera
2 = podświetlenie LCD
Jak ktoś chce może M150 dodać jak w Marlinie, do zmiany koloru w zależności od stanu drukarki, ale jak dla mnie to choinka.

Kod: Zaznacz cały


#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>  // Required for 16 MHz Adafruit Trinket
#endif

#define PIN_NEO_PIXEL 25  // Arduino pin that connects to NeoPixel
#define NUM_PIXELS 3    // The number of LEDs (pixels) on NeoPixel
#define DELAY_INTERVAL 2000  // 250ms pause between each pixel

Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_RGB + NEO_KHZ800);

void setup(void)
{
  NeoPixel.begin();
}

void loop(void)
{
    NeoPixel.clear();
    delay(DELAY_INTERVAL*2);
    NeoPixel.setPixelColor(3, NeoPixel.Color(128, 0, 0));
    NeoPixel.show();
    delay(DELAY_INTERVAL);
    NeoPixel.clear();
    NeoPixel.setPixelColor(1, NeoPixel.Color(0, 128, 0));
    NeoPixel.show();
    delay(DELAY_INTERVAL);
    NeoPixel.clear();
    NeoPixel.setPixelColor(2, NeoPixel.Color(0, 0, 128));
    NeoPixel.show();
    delay(DELAY_INTERVAL);
}

W załączeniu kod z testem wyświetlacza dla nowej biblioteki U8x8lib.h, zmienić rozszerzenie na *.ino.
Uwaga na deklarację NEO_RGB, są różne wersje i można zmieniać kolejność kolorów, np. NEO_GRB dla funkcji NeoPixel.Color(128, 0, 0) zapali na zielono, a NEO_RGB na czerwono.
Załączniki
GraphicsTest.txt
(4.27 KiB) Pobrany 29 razy
Awatar użytkownika
samezrp
Postów w temacie: 4
Posty: 1023
Rejestracja: 29 paź 2016, 15:57
x 66

Re: repetier + BigTreeTech MINI12864 v. 2.1

Post autor: samezrp »

Ciut odświeżę, pytanie do @dziobu, masz chwilę, żeby mi pomóc z konfiguracją Due i Due3Dom Mini?
Odpaliłem wszystko z MINI12864 i działa, ale nie razem z obsługą TMC2130. Jak się zdążyłem zorientować oba używają HW SPI, różnych CS, nie mam pojęcia czemu nie działa wyświetlacz razem z SPI. Próbowałem przenieść display na SW SPI, i na pinach 49/51 SW SPI samo działa, ale wystarczy włączyć obsługę TMC i ciemność.
Inicjacja TMC (używam tylko do ekstrudera) Printer.cpp, linia 1365

Kod: Zaznacz cały

    Printer::tmc_driver_e0 = new TMC2130Stepper(EXT0_ENABLE_PIN, EXT0_DIR_PIN, EXT0_STEP_PIN, TMC2130_EXT0_CS_PIN);
Definicja MINI DisplayList.h, linia 1686

Kod: Zaznacz cały

#define U8GLIB_MINI12864_2X_HW_SPI
inicjacja ui.cpp, linia 936

Kod: Zaznacz cały

u8g_InitHWSPI(&u8g, &u8g_dev_uc1701_mini12864_2x_hw_spi, UI_DISPLAY_RS_PIN, UI_DISPLAY_D5_PIN, UI_DISPLAY_RESET_PIN);
W zał cały kod, bez TMC, w pliku Configuration.h.MY konfiguracja z TMC.
Załączniki
Repetier12864 vs TCM2130 SPI problem.zip
(609.56 KiB) Pobrany 33 razy
Awatar użytkownika
Jarewa
Drukarz
Postów w temacie: 1
Posty: 1602
Rejestracja: 26 sty 2021, 22:16
Lokalizacja: Głogów
x 369

Re: repetier + BigTreeTech MINI12864 v. 2.1

Post autor: Jarewa »

Pewnie zegary się różnią i tmc może wymuszać szybszy niż obsługuje lcd, albo odwrotnie.
Awatar użytkownika
samezrp
Postów w temacie: 4
Posty: 1023
Rejestracja: 29 paź 2016, 15:57
x 66

Re: repetier + BigTreeTech MINI12864 v. 2.1

Post autor: samezrp »

Trochę pogrzebałem dalej i okazuje się, że biblioteka TMC2130Stepper ma swoją obsługę SPI i najprawdopodobniej inicjalizuje ją po wyświetlaczu i bombki strzelają oryginalne ustawienia SPI wyświetlacza :/
Popaptrzę czy nie da rady jakoś ustawić, żeby korzystało ze standardowej biblioteki SPI.h arduino, jak nie, to się przeproszę z Marlinem, ten soft jakoś bardziej żywy.
BTW słyszeliście może o ver. 2 Repetiera? Już w 20018 były wspominki. Są jakieś wersje, ale żadna mi się nie chce kompilować.
ODPOWIEDZ

Wróć do „Elektronika sterująca, wyświetlacze”