проблема с прошивкой...

Подписаться на 3Dtoday
Sweeper
Идет загрузка
Загрузка
27 Апреля 2017
1087
11
Вопросы и Ответы
при прошивке BiZon Prusa i3 Steel выскакивает ошибка в файле SdBaseFile.cpp:

exit status 1
using typedef-name 'fpos_t' after 'struct'


может кто-нибудь знает с чем это связано и как его побороть?

плата MKS Gen V1.4
прошивка http://3d-diy.ru/prusa-files/Bizon-kit/proshivka.rar
использую Arduino 1.8.1
файл SdBaseFile.cpp
Ответы на вопрос

Ответы

28 Апр 00:11
печатает на Delta-X
0
проблема заключается в том что, и в скетче и в используемой библиотеке объявлен указанный в ошибке тип данных.
из-за чего и конфликт, по факту это разные типы ("указатель на позицию в файле" и "координаты экструдера"), а имя у них одно.
1. обновить библиотеку для работы с SD картами - "SdFat Library"
2. или например поменять fpos_t на fpos_t1 в скетче
3. или скачать свежую версию прошивки (всё уже поправлено)
28 Апр 11:04
0
прошивку скачал 27.04, на всякий скачал ещё раз сегодня - тоже самое. скачал библиотеку для SD, добавил в Arduino (проверил через менеджер библиотек, что SdFat установлен) - ошибка осталась. попробовал поменять fpos_t на fpos_t1 (пришлось сделать это в четырёх местах) теперь выскакивает ошибка:

exit status 1
prototype for 'void SdBaseFile::getpos(fpos_t1*)' does not match any in class 'SdBaseFile'


у меня возник вопрос: fpos_t относится к работе SD? если да, то можно ли это как-то отключить или удалить из прошивки? пользоваться картами не собираюсь, так что смысл заморачиваться?
28 Апр 16:14
печатает на Delta-X
0
fpos_t относится и к sd и к принтеру. Кто-то по невнимательности объявил два разных типа с одним именем. Попробуйnt без sd собрать проект, может и соберётся, я не знаю.

Откуда кстати, качаете?
Проблема вроде отсутствует начиная с версии RC4 https://github.com/MarlinFirmware/Marlin/pull/2992
28 Апр 16:29
0
без SD не вопрос, но из меня программист тот ещё. что нужно закомментить в прошивке? все файлы брал тут, даже переустановил Arduino (был 1.8.1 стал 1.6.8 как на сайте)
28 Апр 16:41
печатает на Delta-X
0
На форуме (выше давал ссылку) есть сноска на файл "SdBaseFile" из проекта Marlin2Due, там всё поправлено уже. Файл нужно заменить в папке со скетчем (а не в библиотеках ардуино)

закоментировать нужно строку
#define SDSUPPORT
28 Апр 17:19
0
закомментировал, но этого недостаточно. там куча строк которые прописывают операции для меню принтера связанные с SD. комментить все? боюсь тогда начнут вылезать ещё какие-нибудь ошибки, там ведь не только работа с картами.

про SdBaseFile: не понимаю что на что заменить. в скетче нет таких файлов, как в SdBase. по крайней мере при копировании файлов никаких конфликтов не возникает. при запуске компиляции скетча с этими файлами выскакивает такая ошибка (файл ArduinoStream.h):

exit status 1
'Print' does not name a type
28 Апр 17:31
печатает на Delta-X
0
незачем всё коментировать. коментируется один раз в файле configuracion.h
как это нет файлов SD? там их полно, и все начинаются с Sd...
вот ваш же архив
68b20454e948373d3c07c14c6ff55b8b.png
28 Апр 17:47
печатает на Delta-X
0
https://yadi.sk/d/FYFZ7HmF3HTHiJ
https://yadi.sk/i/GXHa7WDa3HTHiY

эти два файла замените в своём архиве
28 Апр 18:14
0
извините, но можно как для блондинки? у меня есть распакованный архив, который я скачал по Вашей ссылке. у меня есть папка с прошивкой, скачанной с сайта http://3d-diy.ru и Arduino 1.6.8 скачанный из того же источника и установленный. конкретно какие файлы откуда и куда скопировать? отмеченных Вами файлов в скачанном с https://github.com/greiman/SdFat архиве нет. может нужно какие-то строки в самих этих файлах изменить загрузив скетч в Arduino? можно пошаговую инструкцию? уж простите, но я с этой прошивкой уже не первый день вожусь и, честно говоря, меня это уже зад.. сильно напрягает :(
28 Апр 18:33
0
пока писал, не увидел Вашего сообщения. файлы помогли, прошивка установилась. большое спасибо!
29 Апр 22:35
печатает на Delta-X
0
на здоровье :)

Для написания комментариев, пожалуйста, авторизуйтесь.