diff options
author | David Crocker <dcrocker@eschertech.com> | 2018-11-13 02:35:25 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2018-11-13 02:35:25 +0300 |
commit | 86a555acf94e8988c0d743b1781da350ff5a57e4 (patch) | |
tree | 8ca51e93f513f27c7508c7a945083808d5757fb6 /src/Display/Menu.h | |
parent | 891a7ff5fb578a82d3ae43f1748be7a347634bee (diff) |
Closer to 2.02RC4
New and changed features:
- Send the mapped fan speed at the start of the fan speed list in the M408 response for PanelDue
- Support PanelDue emergency stop interrupt from UART driver
- Execute residual babystepping immediately
- Warning message are now generated if trying to move motors on internal drivers but VIN is too low or too high
- Increased minimum fullsteps for motor open detection from 4 to 20
- I2C addresses can be specified in hex format e.g. "0x71" or "x71"
- M584 can now use dummy (high) driver numbers to assign an axis or extruder to no driver
- M122 now tells you if the drivers are enabled, or disabled and waiting for the correct voltage
- Added special support for coast-to-end in RecalculateMove
- Brought RADDS build up to date and use RTOS
- Improved HTTP 'page not found' message
- M260 now lets you receive I2C data after sending data
Bug fixes:
- G30 H parameters didn't work if deployprobe.g or retractprobe.g file present
- M600 stopped the machine
- Watchdog initialisation timing was marginal
- Possible fix for issue with using 3 independent Z motors each with a separate endstop switch
- Use a I2C mutex instead of a critical section lock
- Use new I2C driver in CoreNG
- M557 P parameter was not working
- G30 S-2 tool offset was set in the wrong direction
- After G30 S-2, user coordinates were not updated to account for new tool offset
- M918 with a P parameter now resets the display
- Improved the mechanism used to determine which layer is being printed
- 12864 display buttons sometimes disappeared when moving between them
- 12864 display: last byte of images didn't display correctly
- 12864 display: in button commands, "#0" should be substituted, not "menu"
- Don't start executing a G30 S-2 command if no tool is selected
- Http responses now use \r\n as the line ending, not \n
Diffstat (limited to 'src/Display/Menu.h')
-rw-r--r-- | src/Display/Menu.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Display/Menu.h b/src/Display/Menu.h index 64db226e..f755f379 100644 --- a/src/Display/Menu.h +++ b/src/Display/Menu.h @@ -29,24 +29,26 @@ private: void LoadError(const char *msg, unsigned int line); void AddItem(MenuItem *item, bool isSelectable); const char *AppendString(const char *s); - MenuItem *FindHighlightedItem() const; void EncoderAction_EnterItemHelper(); void EncoderAction_AdjustItemHelper(int action); void EncoderAction_ExitItemHelper(int action); void EncoderAction_ExecuteHelper(const char *const cmd); + void AdvanceHighlightedItem(int n); + MenuItem *FindNextSelectableItem(MenuItem *p) const; + MenuItem *FindPrevSelectableItem(MenuItem *p) const; + static const char *SkipWhitespace(const char *s); static char *SkipWhitespace(char *s); static bool CheckVisibility(MenuItem::Visibility vis); - static const size_t CommandBufferSize = 512; - static const size_t MaxMenuLineLength = 100; // adjusts behaviour in Reload() + static const size_t CommandBufferSize = 2500; + static const size_t MaxMenuLineLength = 120; // adjusts behaviour in Reload() static const size_t MaxMenuFilenameLength = 18; static const size_t MaxMenuNesting = 8; // maximum number of nested menus static const PixelNumber InnerMargin = 2; // how many pixels we keep clear inside the border static const PixelNumber OuterMargin = 8 + InnerMargin; // how many pixels of the previous menu we leave on each side - static const PixelNumber DefaultNumberWidth = 20; // default numeric field width Lcd7920& lcd; @@ -55,10 +57,9 @@ private: MenuItem *selectableItems; // selectable items at the innermost level MenuItem *unSelectableItems; // unselectable items at the innermost level + MenuItem *highlightedItem; // which item is selected, or nullptr if nothing selected String<MaxMenuFilenameLength> filenames[MaxMenuNesting]; size_t numNestedMenus; - int numSelectableItems; - int highlightedItem; bool itemIsSelected; bool displayingFixedMenu; |