Close



Results 1 to 9 of 9
  1. #1
    Technologist
    Join Date
    Oct 2014
    Posts
    114

    Printer not printing from SD card

    I am using a derivat of Roxys improved ABL firmware and the sd card in a Smart Discount LCD doesn't print. The card is seen, I can select files, but it wont print. I uploaded a FW from another machine with the same LCD and it printed from the SD card just fine, so it is FW issue. I am currently comparing the two, but I don't really know where to look so I was hopeing someone could help. The Eight3C fw is the one that doesn't print from the SD card.


    Thanks



    Eight3C_Eep_LCD_115200.rar --- Marlin_Taz_2015_LCD.rar
    Last edited by Roxy; 07-11-2015 at 09:26 AM.

  2. #2
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    In Marlin_main.cpp there are all kinds of differences in the SD Memory Card commands. They are like this:

    *(starpos) = '\0'; turned into *(starpos-1) = '\0';

    There are 4 or 5 places and those have to do with the name it is looking for in the directory. Specifically, case 23: , case 28: , case 30: , case 32: , case 928:

    And then in SD2Card.cpp and SD2Card.h the Eight3C version looks much more mature. There is a lot more code. But all of the other SD files are identical.

    Which version works? My guess is the Eight3C version works and the other one does not? If the file name is not being properly terminated with the *(starpos)='\0'; line, I can believe you can select but not open the file. I would change those first. But then if that worked, I would also try swapping in the more mature sd2card.cpp and sd2card.h file. That code looks more mature.

  3. #3
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Hey thanks for the quick reply. It's the other firmware that works, not the Eight3C. Eight3C is what I want to use. I saw these differences too, but didn't know what they were. I will try the change and let you know.

  4. #4
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    I changed the *(starpos) = '\0'; to *(starpos-1) = '\0'; but no change.

  5. #5
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Fri View Post
    I changed the *(starpos) = '\0'; to *(starpos-1) = '\0'; but no change.
    Unfortunately... This is the kind of problem that is very difficult to debug remotely.

  6. #6
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Yeah, it is strange that the newer firmware (yours btw) is not working for this LCD with SD card. Since the same firmware but with a Viki LCD and card works good.
    It is the reprap discount LCD's SD card that cannot run/print from card.

  7. #7
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Fri View Post
    Yeah, it is strange that the newer firmware (yours btw) is not working for this LCD with SD card. Since the same firmware but with a Viki LCD and card works good.
    It is the reprap discount LCD's SD card that cannot run/print from card.
    You could tell the Viki LCD people to send me a card. I'll get it working! But not having hardware makes it very difficult to debug.

  8. #8
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Thanks Roxy, 2 things I have done. Copied the two sd2card files from the working Taz over into the Eight3C fw, not difference.
    I copied the marlin main into the eight3c and got a bunch of ultralcd.cpp errors that are below. Not sure if this helps though.

    Arduino: 1.6.5 (Windows 7), Board: "RAMBo"



    ultralcd.cpp.o: In function `lcd_sdcard_stop':
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:260: undefined reference to `cancel_heatup'
    ultralcd.cpp.o: In function `lcd_tune_menu':
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:389: undefined reference to `extruder_multiply'
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:389: undefined reference to `extruder_multiply'
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:389: undefined reference to `extruder_multiply'
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:389: undefined reference to `extruder_multiply'
    ultralcd.cpp.o: In function `lcd_move_z':
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:659: undefined reference to `refresh_cmd_timeout()'
    ultralcd.cpp.o: In function `lcd_move_y':
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:629: undefined reference to `refresh_cmd_timeout()'
    ultralcd.cpp.o: In function `lcd_move_x':
    C:\Users\Frank\AppData\Local\Temp\build19932091300 26780785.tmp/ultralcd.cpp:599: undefined reference to `refresh_cmd_timeout()'
    collect2.exe: error: ld returned 1 exit status
    Error compiling.

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.

  9. #9
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Roxy,
    Don't waste your time on this any longer, I downloaded the latest Marlin and implemented the eeprom save G29, it's working great.

    Thanks anyway.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •