-
Notifications
You must be signed in to change notification settings - Fork 732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supporting ReprapWorld's LCD screen #591
Comments
add a #if condition for your combination and do what is needed. Here the basic lcd is initalized so that seems to be a good place. |
2, These are rather boards mappings instead of LCD mappings I think, as there is also a megatronics board for example. So maybe it's meant to be like a display-board mapping. But why not do that in pins.h? Anyway I added 409, Ultratronics in my commit at line 825
|
Well main problem is that you can have 10 different displays working with a board and each display might use different pins. So have spi, some hardwrae spi, some 4 pin parallel and so on. So what we did is list the displays in ui.h and select pins for the display/board combination.
|
ok fair enough
|
Just as FYI i have been unable to get both the SD card and the thermocouples to work together with any version of repetier firmware and I am using all 4 thermocouples. take a look at this post to see a logic analyzer data file. my best guess is that the sd library in not releasing the hw spi buss which as you know is the only buss available on the ultratronics. b3286c0#commitcomment-18253290 |
Uploaded a fix for 1. It was only when you have u8glib without UI_HEAD, then closing bracket count was wrong due to wrong #if conditions. Fixed in current version. I remember the due cs problem now. Due sets CS high/low on it's own - but does this for the 4 pins that support cs. So while thermistor sets CS manually, due also sets the sd hardware pin of one of these 4 to low, which caused the incompatibility. |
>Just as FYI i have been unable to get both the SD card and the thermocouples to work together with any version of repetier firmware and I am using all 4 thermocouples. take a look at this post to see a logic analyzer data file. my best guess is that the sd library in not releasing the hw spi buss which as you know is the only buss available on the ultratronics I think that's due to a problem in HAL.h, when I comment out the SDSS pin, LOW and HIGH it will work for me. SD support doesn't work after that obviously, but I really don't see why SDSS should be touched in this file. static inline uint8_t spiReceive() T:21.25 /0 @:0 T0:21.25 /0 @0:0 T1:22.00 /0 @1:0 > I remember the due cs problem now. Due sets CS high/low on it's own - but does this for the 4 pins that support cs. So while thermistor sets CS manually, due also sets the sd hardware pin of one of these 4 to low, which caused the incompatibility. Doesn't apply I think, as the code isn't using hardware SPI as far as I can see. Anyway, I want to do init stuff somewhere. Would it be acceptable to do this in printer::setup() in case we have an Ultratronics? Something like: #if ultratonics
#endif |
Commit 4c0333e in my repository changes SDFat / HAL so that it moves the CS logic from HAL to SDFat. I now have the LCD, 2x 31855 thermo couples and SD working. I'll try to put the board in an actual printer, so I can test stability a bit. |
Never thought about software spi. Always had hardware in mind here. I guess with the SDSS you are totally right, also I need to check all other codes using these functions. Then with software SPI we do not have the due automatic from hardware spi autochanging cs and the problem dissipates. I'm not sure I like your init script also position would be ok. When the pins are used the pins get initialized anyway. If they get not used the state is not relevant and all are on input state I think, which has low risk of anything bad happening. If any board would activate all pins on startup we would have 2000 extra lines. Maybe a better solution for special handling needed would be a macro that every board could create, like
And then put such stuff inside pins.h in the board definition so we get not 1000 lines disturbing reading the real code. |
I think I added most of your adjustments. This seems to get close to working and from what I can see there are only two functional problems that have cropped up. 1 the lcd has 2 horizontal lines running across it that cause the lcd a rep rap full graphic display ~~ similar to the rep rap worlds lcd( I also had this error from the earlier dev branch). and when I tried to print a file from sd in the temperature signals were getting confused with the data transfer. Somehow with the code I have still allows the buss to have 2 devices talking at the same time only now it was only some of the time opposed to all of the time. |
I have commited the init sequence in my dev repository. I added some init code to pins.h and detect if it's enabled in Printer::setup. The printer has been running with Repetier all day without problems so far, so my changes look stable enough. Let me know when you are ready with the SDSS thing, I'll test it my my codebase and give you a pull request for my other changes |
Hi @brupje, i've Ultratronics Pro V1.0, please can you explain how did you run ReprapWorld's LCD screen and how did you connected to the board? https://reprapworld.it/products/printers_printing/stampa_autonoma/graphical_lcd_screen_v1_0/ |
I have to check when I'm back. Need to figure out what he added since his code also lags behind. |
I have synced my development branch with repetier and fixed a few things. Please see pull request #646 |
I have made a commit in my development fork to get the graphical LCD screen working https://github.com/brupje/Repetier-Firmware/tree/development
Some things which are rather strange to me and need clarification, before I can make a pull request:
The text was updated successfully, but these errors were encountered: