Page 1 of 1

how to: show xyz position?

Posted: Fri Dec 05, 2014 1:51 pm
by ahgu
How can I display all the XYZ positions on the LCD?

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 3:28 pm
by Jimustanguitar
I don't think that you can in the current firmware...

Curious if someone knows a trick that I don't.

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 3:32 pm
by Nylocke
If you have a non SeeMe branch of Repetier one of the 4 (instead of 2) scrollable LCD "top menus" shows XYZ position. The other extra shows all the heater temps.

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 4:15 pm
by Eaglezsoar
Nylocke wrote:If you have a non SeeMe branch of Repetier one of the 4 (instead of 2) scrollable LCD "top menus" shows XYZ position. The other extra shows all the heater temps.
Do you run the non Seemecnc version of repetier permanently?

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 4:26 pm
by Nylocke
The SeeMe branch is either a partially updated .89 or an old .91 branch made for the MAX or Orion. It doesn't have the X3 Pro as a board option, so I had to make my own. I actually like it this way better. Resetting the controller upon a print stop and positioning based on the encoder speed drive me crazy. I have mine set up to just stop when I tell it to stop, it doesn't even home, and it has 2 menus for positioning each axis, a "fine" and "coarse". I've shot past moving .1mm or less too many times..

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 4:33 pm
by Eaglezsoar
Nylocke wrote:The SeeMe branch is either a partially updated .89 or an old .91 branch made for the MAX or Orion. It doesn't have the X3 Pro as a board option, so I had to make my own. I actually like it this way better. Resetting the controller upon a print stop and positioning based on the encoder speed drive me crazy. I have mine set up to just stop when I tell it to stop, it doesn't even home, and it has 2 menus for positioning each axis, a "fine" and "coarse". I've shot past moving .1mm or less too many times..
Understood, partially. Did you modify a non Seemecnc version or a version of straight repetier?

Re: how to: show xyz position?

Posted: Fri Dec 05, 2014 4:36 pm
by Nylocke
Straight up Repetier. Went and used the online config tool. It's not too hard if you understand the firmware values.

Re: how to: show xyz position?

Posted: Sat Jan 24, 2015 6:14 pm
by RocketMagnet
I've replaced my Totals Page with XYZ positions on my orion.. I didn't see the need for instant access to time printed and filament used totals (which is calculated incorrectly anyway... well on mine it's miles out) and you can access these values in Repetier Host and MC easily if you want to. Actually XYZ is really useful info to have to hand....

So this is what I've got so far: just spent 20 mins so got some place holder text/values next to the X,Y,Z positions (placeholder stepper values all reading 80mm atm) but I think I will repeat
Bed/Nozzle and layer fan on this page also in place of them.. not sure yet. I also repeated the Current Status on the bottom line.
XYZ Replaces Totals Page
XYZ Replaces Totals Page
Code for the above is in the uimenu.h (line 192 or there abouts)

I changed it to:

UI_PAGE4(ui_page4,"[Xp%x0][Xs%Sx]","[Yp%x1][Ys%Sy]","[Zp%x2][Zs%Sz]","%os");

Or without the place holders for XYZ stepper mm and just the XYZ positions it's:
UI_PAGE4(ui_page4,"[Xp%x0]","[Yp%x1]","[Zp%x2]","%os");

%x0 = X Position
%x1 = Y Position
%x2 = Z Position
%os = Status (e.g Orion ready, Heating Bed etc)

Original Code was:
UI_PAGE4(ui_page4,UI_TEXT_PRINT_TIME,"%Ut",UI_TEXT_PRINT_FILAMENT,"%Uf M")

I also changed the "main" menu to the following to increase the useful info density a bit so added Layer cooling fan speed and Nozzle/bed power %ages.
Main menu changes
Main menu changes

Re: how to: show xyz position?

Posted: Sat Jan 24, 2015 7:34 pm
by JFettig
RocketMagnet - Thank you for posting that up, could you create another thread for more of these tips and tricks of how to change the display? I have a few requests as I'm not 100% familiar with the code.

This could be the appropriate thread,

My requests -
move the home towers button down the list in the settings menu
re-order sd card files, newest at top rather than bottom
any ways to add things to the eeprom like the platform offset and other stuff that might want to get tweaked?

Re: how to: show xyz position?

Posted: Sat Jan 24, 2015 8:18 pm
by Tinyhead
Second that. That's really cool. I'd love to have more info displayed like that.

Re: how to: show xyz position?

Posted: Sun Jan 25, 2015 5:26 am
by RocketMagnet
All below is at your own risk, It's all simple stuff but if you don't know what your doing or fully understand what the code does and how to modify and upload the modified firmware then I'd say it's best left alone...

#1
Moving the Home Towers in the Menu is pretty simple as long as your OK editing and uploading the repetier code to your printer...
Already posted this here http://forum.seemecnc.com/viewtopic.php ... 4&start=25

Anyway repeated here it's;
Line 381 in uimenu.h
The variable it uses is -> ui_menu_home_all

#define UI_MENU_QUICK {UI_MENU_ADDCONDBACK &ui_menu_quick_speedmultiply,&ui_menu_quick_flowmultiply UI_TOOGLE_LIGHT_ENTRY ,&ui_menu_quick_preheat_pla,&ui_menu_quick_preheat_abs,&ui_menu_home_all,&ui_menu_quick_cooldown,&ui_menu_quick_stopstepper DEBUG_PRINT_EXTRA}
UI_MENU(ui_menu_quick,UI_MENU_QUICK,6+UI_MENU_BACKCNT+MENU_PSON_COUNT+DEBUG_PRINT_COUNT+UI_TOGGLE_LIGHT_COUNT);


#2
Yes it would be possible to reverse the menu list as it's probably just an Array of filenames pulled from the SD directory, had a quick look through the SDCard section and it covers multiple "scenarios" of writing to, deleting, creating so it's possibly not as simple as a single change in one place. It would also require a fair bit of testing to ensure it doesn't break anything else. Not the answer you wanted but I couldn't see anything obvious like setting reverse order (True/False) etc. Logically I think you could read the array in reverse as it's a basic thing to do with them... The code remarks are very sparse in places and it commits the sin of having numerous non descriptive variable names... I'm no coder just done some casual stuff in Java in the past and some VBA for work but I can't point fingers as I'm lazy with variable names and remarks also :)

#3
I'm not totally sure what your after here but displaying the offsets on the menu would be easy:
%Xx : x offset in steps
%Xy : y offset in steps
I've personally had difficulties in setting Eeprom values from within the firmware and resorted to setting them from Repetier Host: (Press ALT-E or select from menu):
Eeprom Values - Change at your own risk
Eeprom Values - Change at your own risk
I've had a tinker this morning and finalised what I want on my Second Menu. Seemed sensible and logical to display Bed / Nozzle Temps & Layer Cooling fan on the same info page as Z position (height) as these are variables you can change wrt which layer your printing... even though it's repeating info from the main menu screen
New Info XYZ Pos Noz/Bed Temps and Layer Fan % page - replaces Totals Menu
New Info XYZ Pos Noz/Bed Temps and Layer Fan % page - replaces Totals Menu
Modified replacement Code for this on or about line 192 in uimenu.h is:
UI_PAGE4(ui_page4,"pX%x0 Noz :%ec","pY%x1 Bed :%eb","pZ%x2 CFan: %Fs%%%","%os");

Re: how to: show xyz position?

Posted: Sun Jan 25, 2015 5:10 pm
by Holy1
RocketMagnet , Thanks. I have wanted to make some changes to the display but didn't know how! Got any other tricks up your sleeve?

Re: how to: show xyz position?

Posted: Mon Jan 26, 2015 1:47 pm
by RocketMagnet
All the predefined variables you can easily add are listed at the beginning of uimenu.h lines 31-109. It's all really simple, just need to consider how to lay them out on the LCD.

You can very easily modify the number of decimal places for the temperature... though it's applied across all pages .. useful if you want to save a few characters as you can lop off the point and decimal places if you want.

Anyway it's line 116 in the repetier 0.91 from SeeMeCNC downloads page
#ifndef UI_TEMP_PRECISION
#if UI_COLS>16
#define UI_TEMP_PRECISION 1

Essentially it checks if you've defined your LCD to be >16 characters .. if so it displays temps to 1 decimal pace if not it sets it to 0.

Simply change the precision number to 0 even if it >16 characters. Note I had a look at 2 decimal places but it's only accurate to 1 decimal place so anything extra is pointless.

Looking at the code there are actually 4 menus defined ui_page1,ui_page2, ui_page3, & ui_page4. However it looks like ui_page2 & ui_page3 are reserved in case you add a second extruder etc. Looks relatively simple to open up these pages for use but currently I don't see the need as there are no other variables I want to display... but if you wanted the retain the totals then it looks like you can by using the reserved pages 2 or 3...

One other tip is if you do download the 0.91 repetier firmware from SeeMeCNC remember to reset you stepper motor current values as the stock values are generally too high resulting it hotter and noisier motors (esp for Kysan stepper apparently).