Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2018-11-13 02:35:25 +0300
committerDavid Crocker <dcrocker@eschertech.com>2018-11-13 02:35:25 +0300
commit86a555acf94e8988c0d743b1781da350ff5a57e4 (patch)
tree8ca51e93f513f27c7508c7a945083808d5757fb6 /src/Display/Menu.h
parent891a7ff5fb578a82d3ae43f1748be7a347634bee (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.h13
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;