Strona 1 z 1

repetier + BigTreeTech MINI12864 v. 2.1

: 09 paź 2023, 14:41
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ś?

Re: repetier + BigTreeTech MINI12864 v. 2.1

: 10 paź 2023, 09:53
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.

Re: repetier + BigTreeTech MINI12864 v. 2.1

: 20 paź 2023, 17:05
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.

Re: repetier + BigTreeTech MINI12864 v. 2.1

: 20 paź 2023, 20:22
autor: Jarewa
Pewnie zegary się różnią i tmc może wymuszać szybszy niż obsługuje lcd, albo odwrotnie.

Re: repetier + BigTreeTech MINI12864 v. 2.1

: 21 paź 2023, 11:37
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ć.