Welcome! Log In Create A New Profile

Advanced

Repetier-Firmware now with advanced LCD menu system

Posted by repetier 
Repetier-Firmware now with advanced LCD menu system
April 07, 2012 01:59PM
After some weeks of programming and testing the new menu system for the firmware is ready. It boosted the code by more then 3000 new codes of line. But I think it is worth the work spend. It supports the following hardware and features:

- LCD (HD44780 or compatible driver) 2 or 4 rows with 16 or 20 columns, directly connected or via I2C with a PCF8574 chip.
- A rotary click encoder directly connected or via PCF8574 chip.
- Simple push buttons directly connected or via PCF8574 chip.
- A key matrix with maximum size of 4x4.
- A piezo buzzer directly connected or via I2C PCF8574 chip.
- Autorepeat for selected functions.
- Multiple information pages, switching every x seconds.
- Multiple languages supported. Currently only english and german. If you have a complete translation, I will gladly add it.
- You can assign each key one of more then 100 actions. So everybody can assign his favorite functions to keys.
- You can modify the menu system in the configuration.

The I2C versions are meant for hardware with no more free pins to use like gen6/Sanguino. If you have the pins for a direct connection, use them. It's much faster and less error prone. In addition, the polling frequency for the I2C click encoder is low, so only slow turns are captured correct. If this is a problem for you, use push buttons instead. The next/previous function has autorepeat so moving the axis, changing larger temperatures is also with keys fast and possible.

Configuration

Read the uiconfig.h file from start to and make the modifications needed for your hardware. The config has over 700 lines, but only about 10 lines need to be changed. Much of it are comments and a predefined menu system. The comments also explain how to modify the menu and assign actions to your keys.


If you want an additional language, look at uilang.h. I added a copy of the english version for new languages. Translate and select 1000 as language-id.

Display connection

You need a LCD with a HD44780 or compatible driver. It is best to use a LCD with 5V for backlight and positive voltage for contrast. Connect 5V plus resistor for backlight LED+/LED-. Connect the contrast pin V0 over a 10kOhm potentiometer to find the correct contrast. Connect pins RS, RW, E, FB5, DB6, DB7,DB directly to free pins or to a PCF8574 which is connected to your I2C bus.

Keys

Connect GND with the pin. For safety you can add a 1K resistor. If you connect a key matrix a short is possible, if you add two buttons at the same time or enter wrong pin numbers. Here a 1K resistor on each line can save your arduino.

Piezo Buzzer

If directly connected, connect gnd with PIN. Read specs of your piezo, that is doesn't draw more then 20mA.
If you run it on a PCF8574 you need to connect 5V -> Piezo -> Pin. The PCF8574 has a open collector and can only have 25mA current if it's low.

---------

I will add more informations in the firmware wiki the next days.

Have fun


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware now with advanced LCD menu system
April 08, 2012 11:06AM
Detailed Instructions now available

I have now finished the first version of installation instructions for the menu system. You find it here:

https://github.com/repetier/Repetier-Firmware/wiki/User-Interface


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Repetier-Firmware now with advanced LCD menu system
April 09, 2012 11:57AM
This is fantastic. I'll give this a shot tonight. I'm looking forward to having an LCD on my machine.
Re: Repetier-Firmware now with advanced LCD menu system
October 28, 2012 05:12PM
I have the PanelMax configuration working with a RAMPS board in Marlin.

I've noticed that your code for a 4-bit direct controlled display requires a connection to the RW pin, whereas the PanelMax/Ultipanel code in Marlin does not.

Is it possible to remove that requirement? I'd like to avoid rewiring my display, if I can help it.
Re: Repetier-Firmware now with advanced LCD menu system
October 29, 2012 03:29AM
If the RW pinis set, the firmware asks if it is ready to receive more data. If you set it -1 it uses a delay to be sure.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Sorry, only registered users may post in this forum.

Click here to login