Moved the definitions of the LCD_STR_* to Conditionals.h
to avoid errors in Marlin_main.cpp. #1860
In the include tree of Marlin_main.cpp the decision between the display types is not made.
To include the right LCD_STR_* ether 'dogm_lcd_implementation.h' or 'ultralcd_implementation_hitachi_HD44780.h' with all their code.
A 'dogm_lcd_implementation.h.h' would be a curiosity.
So i moved both of the definition blocks to conditionals.h
On the long term it could make sense to use the same numbering for the u8glib and the hitachi symbols.
- Some messages should not expire with `PROGRESS_MSG_EXPIRE`.
- Simplify conditional for progress bar with sanity checks.
- Rename `messageTick` to `expireStatusMillis` and make it the expire
time.
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
Changes in ultralcd_implementation_hitachi_HD44780.h in detail
Top -> down:
We don't need LiquidCrystalRus.cpp and LiquidCrystalRus.h any more. Functionality is now in utf_mapper.h
Comment on LCD_STR_BEDTEMP about behaviour in strings.
Change LCD_STR_ARROW_RIGHT from "\x7E" to ">" because "\x7E" is only ARROW_RIGHT on displays with DISPLAY_CHARSET_HD44780_JAPAN.
Introduce the counting UTF8 enabled lcd_print functions.
Replace the old lcd.print functions and make use of them.
A bit of reformatting around the changes.
Introduced lcd_strlen() and lcd_strlen_P().
Replaced the old functions where necessary.
Reworked language_ru.h.
Speeded up test for zero length string in cardreader.cpp
Using the new language implementation wasn't behaving as expected.
No matter what LANGUAGE_CHOICE was set to it would always take the en branch.
I revamped it a bit to use a macro to create the language include file name. This required a slight tweak to the RU declaration since it's special-cased in a couple places in code.
This is an attempt to pull my changes from #1222 over.
Changes to support displaying the real-time filament width and the
volume factor on a 20x4 LCD. The data is displayed on the 4th line.
First the status message is displayed for 5 seconds, and then the
filament data is displayed. The status message can be seen by
re-selecting the info screen in the menu.
When using LCD_I2C_TYPE_PCF8575T (like Sainsmart I2C), the backlight
won't come on; the incorrect ifdef blocks the evocation of the backlight
functions.
I added #define for LCD_FEEDBACK_FREQUENCY_HZ and
LCD_FEEDBACK_FREQUENCY_DURATION_MS which is used to alter the default
buzzer sound.
When selecting Panelolu2 in configuration.h:
- it automatically sets the correct ENCODER_PULSES_PER_STEP and
ENCODER_STEPS_PER_MENU_ITEM.
- if LCD_USE_I2C_BUZZER is defined it will also set the default
LCD_FEEDBACK_FREQUENCY_HZ and LCD_FEEDBACK_FREQUENCY_DURATION_MS
When selecting the sanguinololu 1284p the following is true:
- its now enables LARGE_FLASH
- It enables the gcode M300 when the panelolu2 LCD_USE_I2C_BUZZER is
defined
Fixed bug that makes ulticontroller knob backwards introduced Feb 28 2013 by Robert.
Bug introduced in version 6beb42cdf6.
Robert did a good job of simplifying but messed up this chunk of code.
Looking at working version: 839bef6d5d
it seems there is no case where encrot3 should be defined as 2
because if ULTICONTROLLER is defined then NEWPANEL is also defined.