error: 'class Temperature' has no member named 'temp_bed'
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
error: 'class Temperature' has no member named 'temp_bed'
Cześć .
Na wstępie napiszę, że jestem świeżak Niedawno zacząłem upgrade mojej starej drukarki 3D od Omni3D model Architect i pojawił się problem, którego nie umiem przeskoczyć. Mianowicie, przy kompilacji wyskakuje błąd:
Marlin\src\lcd\menu\menu_temperature.cpp: In function 'void menu_temperature()':
Marlin\src\lcd\menu\menu_temperature.cpp:288:26: error: 'class Temperature' has no member named 'temp_bed'
if (thermalManager.temp_bed.target) has_heat = false;
^
*** [.pio\build\mega2560\src\src\lcd\menu\menu_temperature.cpp.o] Error 1
Oczywiście jeśli pozbędę się lcd z oprogramowania to błąd znika.
Upgrade polegał na instalacji wyświetlacza z czytnikiem SD RepRapDiscount Full Graphic Smart Controller.
Konfiguarcja drukarki:
-arduino mega 2560 + ramps 1.4 + rozszerzenie do grzanego stołu
-2 głowice
-wentylaror do chłodzenia druku
-RepRapDiscount Full Graphic Smart Controller
Hotend0 wpięty pod pin D10, hotend1 pin D9, wentylator pin D8, stół pin D4
Firmware który próbuję zainstalować to marlin 2.0.5.3. Wcześniej wgrałem repetiera i wszystko działa bez problemu, ale jakoś nie leży mi ten firmware.
Na wstępie napiszę, że jestem świeżak Niedawno zacząłem upgrade mojej starej drukarki 3D od Omni3D model Architect i pojawił się problem, którego nie umiem przeskoczyć. Mianowicie, przy kompilacji wyskakuje błąd:
Marlin\src\lcd\menu\menu_temperature.cpp: In function 'void menu_temperature()':
Marlin\src\lcd\menu\menu_temperature.cpp:288:26: error: 'class Temperature' has no member named 'temp_bed'
if (thermalManager.temp_bed.target) has_heat = false;
^
*** [.pio\build\mega2560\src\src\lcd\menu\menu_temperature.cpp.o] Error 1
Oczywiście jeśli pozbędę się lcd z oprogramowania to błąd znika.
Upgrade polegał na instalacji wyświetlacza z czytnikiem SD RepRapDiscount Full Graphic Smart Controller.
Konfiguarcja drukarki:
-arduino mega 2560 + ramps 1.4 + rozszerzenie do grzanego stołu
-2 głowice
-wentylaror do chłodzenia druku
-RepRapDiscount Full Graphic Smart Controller
Hotend0 wpięty pod pin D10, hotend1 pin D9, wentylator pin D8, stół pin D4
Firmware który próbuję zainstalować to marlin 2.0.5.3. Wcześniej wgrałem repetiera i wszystko działa bez problemu, ale jakoś nie leży mi ten firmware.
- Olson
- Postów w temacie: 1
- Posty: 236
- Rejestracja: 06 gru 2017, 05:20
- Lokalizacja: Gdańsk
- Drukarka: OCHC CoreXY DIY
- x 99
Re: error: 'class Temperature' has no member named 'temp_bed'
Jaką płytę masz podaną w configu ? RAMPS_14_EEF ? Jeśli tak to spróbuj RAMPS_14_EEB
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
Re: error: 'class Temperature' has no member named 'temp_bed'
Płyta ustawiona na EEF
Na EEB już leci taka litania:
In file included from Marlin\src\inc/../pins/pins.h:73:0,
from Marlin\src\inc/MarlinConfig.h:32,
from Marlin\src\MarlinCore.h:24,
from Marlin\src\MarlinCore.cpp:31:
Marlin\src\MarlinCore.cpp: In function 'bool pin_is_protected(pin_t)':
Marlin\src\inc/../pins/ramps/pins_RAMPS.h:220:37: error: 'RAMPS_D4_PIN' was not declared in this scope
#define HEATER_BED_PIN RAMPS_D4_PIN
^
Marlin\src\pins/sensitive_pins.h:437:21: note: in expansion of macro 'HEATER_BED_PIN'
#define _BED_PINS HEATER_BED_PIN, analogInputToDigitalPin(TEMP_BED_PIN),
^
Marlin\src\pins/sensitive_pins.h:650:75: note: in expansion of macro '_BED_PINS'
_E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS _E6_PINS _E7_PINS _BED_PINS \
^
Marlin\src\MarlinCore.cpp:294:49: note: in expansion of macro 'SENSITIVE_PINS'
static const pin_t sensitive_pins[] PROGMEM = SENSITIVE_PINS;
^
Compiling .pio\build\mega2560\src\src\feature\bedlevel\mbl\mesh_bed_leveling.cpp.o
Compiling .pio\build\mega2560\src\src\feature\bedlevel\ubl\ubl.cpp.o
*** [.pio\build\mega2560\src\src\MarlinCore.cpp.o] Error 1
Na EEB już leci taka litania:
In file included from Marlin\src\inc/../pins/pins.h:73:0,
from Marlin\src\inc/MarlinConfig.h:32,
from Marlin\src\MarlinCore.h:24,
from Marlin\src\MarlinCore.cpp:31:
Marlin\src\MarlinCore.cpp: In function 'bool pin_is_protected(pin_t)':
Marlin\src\inc/../pins/ramps/pins_RAMPS.h:220:37: error: 'RAMPS_D4_PIN' was not declared in this scope
#define HEATER_BED_PIN RAMPS_D4_PIN
^
Marlin\src\pins/sensitive_pins.h:437:21: note: in expansion of macro 'HEATER_BED_PIN'
#define _BED_PINS HEATER_BED_PIN, analogInputToDigitalPin(TEMP_BED_PIN),
^
Marlin\src\pins/sensitive_pins.h:650:75: note: in expansion of macro '_BED_PINS'
_E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS _E6_PINS _E7_PINS _BED_PINS \
^
Marlin\src\MarlinCore.cpp:294:49: note: in expansion of macro 'SENSITIVE_PINS'
static const pin_t sensitive_pins[] PROGMEM = SENSITIVE_PINS;
^
Compiling .pio\build\mega2560\src\src\feature\bedlevel\mbl\mesh_bed_leveling.cpp.o
Compiling .pio\build\mega2560\src\src\feature\bedlevel\ubl\ubl.cpp.o
*** [.pio\build\mega2560\src\src\MarlinCore.cpp.o] Error 1
- Cosik
- Konto z ograniczeniami
- Postów w temacie: 1
- Posty: 907
- Rejestracja: 09 gru 2017, 10:12
- Lokalizacja: Wrocław
- Drukarka: HEVO DC, Mikrus
- x 281
- Kontakt:
Re: error: 'class Temperature' has no member named 'temp_bed'
Podeślij plik z configiem. Wiesz co oznacza EEB? - Extruder Extruder Bed. I podaj jaką masz tam płytkę sterującą dokładnie i jak podpiętą.
Wolność wariacie w swoim warsztacie...
HEVO DC - wciąż wiele pomysłów na usprawnienia
Mikrus - moje szaleństwo -> viewtopic.php?f=10&t=6880
Moje projekty 3D
https://discord.gg/cBYzhm2 -> RepRapy PL
HEVO DC - wciąż wiele pomysłów na usprawnienia
Mikrus - moje szaleństwo -> viewtopic.php?f=10&t=6880
Moje projekty 3D
https://discord.gg/cBYzhm2 -> RepRapy PL
- JGFTW
- Drukarz
- Postów w temacie: 1
- Posty: 1294
- Rejestracja: 14 sie 2019, 05:19
- Lokalizacja: Wrocław
- Drukarka: DIY Prusa Bear
- x 701
Re: error: 'class Temperature' has no member named 'temp_bed'
Napisało Ci, gdzie przerwała się kompilacja, ale tam rozwiązania nie znajdziesz.
U mnie ten fragment wygląda tak:
Zmieniałeś tego boola na false, nie?
Niepotrzebnie, bo cała afera dotyczy stołu.
Jak ustawisz płytę na MOTHERBOARD BOARD_RAMPS_14_EEB tak jak kolega olson napisał to powinno zadziałać - u mnie przynajmniej się udało.
Więc jak nie grzebałeś w pins_RAMPS.h to powinno się chociaż skompilować.
Nie rozwiązuję Ci to problemu z podłączeniem elementów wykonawczych. Taka konfiguracja (EEB), która się kompiluję ma podłączony stół do D8, a nie wentylator.
Co masz na myśli pisząc "rozszerzenie do grzanego stołu"?
Chodzi Ci o jakiś zewnętrzny moduł mosfet? Masz taki jeszcze jeden?
Jakbyś zamienił miejscami podłączenie stołu i wentylatora na jakimś module typu mosfet albo IRF520 to sprawa byłaby załatwiona.
W pliku pins_RAMPS.h (domyślnie) jest taki fragment:
Nic nie musiałbyś zmieniać podłączając wentylator (z modułem) do pinu D4.
Kod: Zaznacz cały
Marlin\src\lcd\menu\menu_temperature.cpp:288:26: error: 'class Temperature' has no member named 'temp_bed'
if (thermalManager.temp_bed.target) has_heat = false;
U mnie ten fragment wygląda tak:
Kod: Zaznacz cały
//
// Cooldown
//
bool has_heat = false;
HOTEND_LOOP() if (thermalManager.temp_hotend[HOTEND_INDEX].target) { has_heat = true; break; }
#if HAS_TEMP_BED
if (thermalManager.temp_bed.target) has_heat = true;
#endif
if (has_heat) ACTION_ITEM(MSG_COOLDOWN, lcd_cooldown);
#endif // HAS_TEMP_HOTEND
Niepotrzebnie, bo cała afera dotyczy stołu.
Jak ustawisz płytę na MOTHERBOARD BOARD_RAMPS_14_EEB tak jak kolega olson napisał to powinno zadziałać - u mnie przynajmniej się udało.
Więc jak nie grzebałeś w pins_RAMPS.h to powinno się chociaż skompilować.
Nie rozwiązuję Ci to problemu z podłączeniem elementów wykonawczych. Taka konfiguracja (EEB), która się kompiluję ma podłączony stół do D8, a nie wentylator.
Co masz na myśli pisząc "rozszerzenie do grzanego stołu"?
Chodzi Ci o jakiś zewnętrzny moduł mosfet? Masz taki jeszcze jeden?
Jakbyś zamienił miejscami podłączenie stołu i wentylatora na jakimś module typu mosfet albo IRF520 to sprawa byłaby załatwiona.
W pliku pins_RAMPS.h (domyślnie) jest taki fragment:
Kod: Zaznacz cały
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define FAN_PIN 4 // IO pin. Buffer needed
Nic nie musiałbyś zmieniać podłączając wentylator (z modułem) do pinu D4.
DesertCamo
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
Re: error: 'class Temperature' has no member named 'temp_bed'
Tak wiem co to oznacza. Z góry założyłem, że powinno być EEF, ponieważ tak poszło w Repetierze i tak mam podpięte w płycie .
Płytka to Arduino Mega 2560 (tyle z niej wyczytałem), na tym Ramps 1.4.
Płytka to Arduino Mega 2560 (tyle z niej wyczytałem), na tym Ramps 1.4.
- Załączniki
-
- Configuration.h
- (80.56 KiB) Pobrany 123 razy
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
Re: error: 'class Temperature' has no member named 'temp_bed'
Najwyżej tak będe musiał zrobić, aczkolwiek wcześniej działało na marilinie 1.0.x. Ale może czas w końcu to zrobić po BożemuJGFTW pisze:Napisało Ci, gdzie przerwała się kompilacja, ale tam rozwiązania nie znajdziesz.Kod: Zaznacz cały
Marlin\src\lcd\menu\menu_temperature.cpp:288:26: error: 'class Temperature' has no member named 'temp_bed' if (thermalManager.temp_bed.target) has_heat = false;
U mnie ten fragment wygląda tak:
Zmieniałeś tego boola na false, nie?Kod: Zaznacz cały
// // Cooldown // bool has_heat = false; HOTEND_LOOP() if (thermalManager.temp_hotend[HOTEND_INDEX].target) { has_heat = true; break; } #if HAS_TEMP_BED if (thermalManager.temp_bed.target) has_heat = true; #endif if (has_heat) ACTION_ITEM(MSG_COOLDOWN, lcd_cooldown); #endif // HAS_TEMP_HOTEND
Niepotrzebnie, bo cała afera dotyczy stołu.
Jak ustawisz płytę na MOTHERBOARD BOARD_RAMPS_14_EEB tak jak kolega olson napisał to powinno zadziałać - u mnie przynajmniej się udało.
Więc jak nie grzebałeś w pins_RAMPS.h to powinno się chociaż skompilować.
Nie rozwiązuję Ci to problemu z podłączeniem elementów wykonawczych. Taka konfiguracja (EEB), która się kompiluję ma podłączony stół do D8, a nie wentylator.
Co masz na myśli pisząc "rozszerzenie do grzanego stołu"?
Chodzi Ci o jakiś zewnętrzny moduł mosfet? Masz taki jeszcze jeden?
Jakbyś zamienił miejscami podłączenie stołu i wentylatora na jakimś module typu mosfet albo IRF520 to sprawa byłaby załatwiona.
W pliku pins_RAMPS.h (domyślnie) jest taki fragment:
Kod: Zaznacz cały
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed #define FAN_PIN 4 // IO pin. Buffer needed
Nic nie musiałbyś zmieniać podłączając wentylator (z modułem) do pinu D4.
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
Re: error: 'class Temperature' has no member named 'temp_bed'
A mogą być jakieś problemy z podpięciem dwóch mat grzewczych pod pin D8?
-
- Konto z ograniczeniami
- Postów w temacie: 6
- Posty: 6
- Rejestracja: 20 cze 2020, 09:16
Re: error: 'class Temperature' has no member named 'temp_bed'
Piszę dla potomnych, którzy mogą mieć podobny problem.
Zrobiłem tak jak pisaliście i wszystko działa jak należy. Wywaliłem te 2 mosfety, (swoją drogą niezła lepianka tam była i jeszcze płytki z podpisem Omni3D ) stół podłączyłem pod D8, a wiatrak pójdzie pod zamówiony już IRF520 na pin D4. Marlin ustawiony na płytę Ramps 1.4 EEB.
Okazało się jeszcze, że jeden przewód plusowy nie był podpięty pod wejście 11A+, dlatego też po wpięciu grzałek pod D8 początkowo nie działało. Szybka diagnoza, lutowanie i śmiga jak marzenie.
Dzięki za fachową pomoc
Zrobiłem tak jak pisaliście i wszystko działa jak należy. Wywaliłem te 2 mosfety, (swoją drogą niezła lepianka tam była i jeszcze płytki z podpisem Omni3D ) stół podłączyłem pod D8, a wiatrak pójdzie pod zamówiony już IRF520 na pin D4. Marlin ustawiony na płytę Ramps 1.4 EEB.
Okazało się jeszcze, że jeden przewód plusowy nie był podpięty pod wejście 11A+, dlatego też po wpięciu grzałek pod D8 początkowo nie działało. Szybka diagnoza, lutowanie i śmiga jak marzenie.
Dzięki za fachową pomoc