Register / Login  |  Desktop view  |  Jump to bottom of page

tcMenu Designer UI » menu name bug

Author: dsap4004
08/05/2019 18:09:52
Sometimes when changing a name after a menu has been created it doesn't update in the preview or tree view the way you would expect. Let's say I make a menu called display Items and I forget to capitalize the "d" in display, if I go back and edit it to a capital "D" sometimes the tree view and preview show "isplay Menu" when the name in the form for the new item shows "Display Menu". Weird bug. Can't get it to replicate all of the time and sometimes I can fix it by just deleting the whole entry box and retyping the whole name.

Okay here is a very specific example: If you have the number 1 in your menu name it seems you have to edit past the number in order for the changes to reflect. There are other odd cases too but I'm having a hard time replicating them reliably.

image

Author: davetcc
08/05/2019 19:23:48
Please could you look in .tcmenu under your home directory for logs
~/.tcMenu
and send me the log file for one such run. I cannot recreate this locally after a bit of trying, and I'm thinking there's a strange exception or similar.

If you don't want to publicly post the log, feel free to PM me.

Many thanks,
Dave.

Author: dsap4004
08/05/2019 21:34:07
This is installed in windows 10. Where should I look to find the logs and what will they be named?

Also maybe there is a conflict between the java versions of the controller and the designer programs. I can only use one at a time and have to reinstall if I want to use the other. Each time it asks me to update my java to a different version and then the other program won't work. I installed designer first and when I installed controller I could no longer open designer so I reinstalled designer and I could no longer open controller. Maybe that broke something.

Author: davetcc
08/05/2019 22:04:46
The logs should be in your home directory. Normally that’s just /Users/YourUserName on Windows.

Within there you should see a directory called .tcMenu and it will contain a series of log files. Just pick up the most recent after you’ve recreated the problem.

The conflict between the designer and controller should be fixed in 1.3.1 that I’ve just released today. I found it myself earlier. It was caused by both installers using the same UUID. Just uninstall both before installing 1.3.1 and all should be good.

Author: dsap4004
08/05/2019 22:08:54
Using the 1.3.1 designer with the new libraries breaks my project on the esp32. It doesn't seem to matter if I build for SAMD or ESP8266. I'm working on getting a log now.

Author: dsap4004
08/05/2019 22:31:37
So this is what seems to correspond to what you are looking for. If I type something after a 1 it updates. If I delete the 1 and then just type a 1 I have to type something else after it, a "0" in this case to get it to show up.
So think of it like this:

1. I have an item named "1Light 1".
2. I backspace the first "1" so it looks like "Light 1".
3. I type "1" and only the entry field updates everything else still says "Light 1".
4. I type "0" after the "1" and everything updates and says "10Light 1".
5. I backspace the "0" and only the field updates to "1Light 1". Everything else looks like "10Light 1".
6. I backspace the "1" and everything updates to "Light 1".
7. I write "1" once more to try to get to my original "1Light 1" but it only shows up in the field everything else says "Light 1"

2019-05-08 18:29:44 WARNING javafx.fxml.FXMLLoader$ValueElement processValue Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 11
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/adagfx-color.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 250, height: 151
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/ethernet-shield.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 200, height: 142
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/lcd-display.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 200, height: 85
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/no-display.png
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 247, height: 150
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/rotary-encoder.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 180, height: 140
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/serial-connection.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 200, height: 152
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found configuration file META-INF/tcmenu/tcmenu-plugin.json
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager parsePluginConfig Loaded configuration CodePluginConfig{moduleName='com.thecoderscorner.tcmenu.plugin.baseio', name='General IO CodeGen Plugin', version='1.3.0', license='Apache 2.0', licenseUrl='https://www.apache.org/licenses/LICENSE-2.0', plugins=[CodePluginItem{id='6dd87e7d-e751-4912-a70d-91793b1d3d87', description='Control menu with rotary encoder & button', extendedDescription='Hardware rotary encoder with acceleration that needs no external components in most cases. It can either be connected direct to Arduino or on an i2c expander (8574, 23017). With long wire runs may need stronger pull up resistors near the device.', applicability=[ARDUINO, ARDUINO32], subsystem=INPUT, imageFileName='rotary-encoder.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.baseinput.RotaryEncoderInputCreator'}, CodePluginItem{id='2a3ae3ba-05f4-4c9c-aad3-3ddc88df9049', description='Control menu with Up / Down / OK buttons', extendedDescription='Switches that represent up, down and OK controlled by switches library. These are fully debounced either pull up or pull down switches and can either be connected direct to Arduino or via an i2c expander.', applicability=[ARDUINO, ARDUINO32], subsystem=INPUT, imageFileName='up-down-encoder.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.baseinput.UpDownOkSwitchInputCreator'}, CodePluginItem{id='89cd7f70-0457-4884-97c2-0db904ccb0ba', description='No input or custom input module', extendedDescription='Use this option when you either don't want a local input method, or you are providing a custom one.', applicability=[ARDUINO, ARDUINO32], subsystem=INPUT, imageFileName='no-display.png', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.baseinput.NoInputModeCreator'}, CodePluginItem{id='61f370f4-0294-41cf-8988-1458f242914a', description='LiquidCrystalIO display direct or other i2c', extendedDescription='LiquidCrystal based display driver that can be configured to work with any pin arrangement. Just set the EN, RS, Data pins at a minimum. It also has optional inbuilt backlight and PWM contrast support.', applicability=[ARDUINO, ARDUINO32], subsystem=DISPLAY, imageFileName='lcd-display.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.basedisplay.LiquidCrystalDisplayCreator'}, CodePluginItem{id='d4c84106-fa87-4024-b91e-053e17a52b8f', description='LiquidCrystalIO for commonly available I2C backpacks', extendedDescription='LiquidCrystal based display driver that is setup out of the box to work with the two main choices of i2c backpack. Just choose the pin arrangement for your backpack. If your display has an unusual arrangement use the general version', applicability=[ARDUINO, ARDUINO32], subsystem=DISPLAY, imageFileName='lcd-display.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.basedisplay.I2cLiquidCrystalDisplayCreator'}, CodePluginItem{id='cdd0be35-f6ff-40ae-86fc-f9d04a6e8679', description='No display or custom display module', extendedDescription='This is for cases where either no local display, or a custom display is going to be used. If you are using a custom display, just make sure the renderer is created and registered during setup.', applicability=[ARDUINO, ARDUINO32], subsystem=DISPLAY, imageFileName='no-display.png', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.basedisplay.DoNotDefineDisplayCreator'}, CodePluginItem{id='7c486068-9879-459f-89ee-9522366524a3', description='Adafruit GFX based display', extendedDescription='Render using the AdafruitGFX library. Set the graphics variable, rotation and screen size. This version works with most displays and is very configurable. You can easily override the drawing configuration.', applicability=[ARDUINO, ARDUINO32], subsystem=DISPLAY, imageFileName='adagfx-color.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.adagfx.ColorAdaGfxDisplayCreator'}, CodePluginItem{id='2c101fec-1f7d-4ff3-8d2b-992ad41e7fcb', description='No Remote Control', extendedDescription='Use this option when you don't want any remote control capabilities', applicability=[ARDUINO, ARDUINO32], subsystem=REMOTE, imageFileName='no-display.png', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.remote.NoRemoteCapability'}, CodePluginItem{id='1e38dc42-672d-4c1c-a393-2c7632bf6c5c', description='Serial remote control (Rs232 / USB / Bluetooth)', extendedDescription='Use this option to be able to control the menu over many kinds of serial link, for example RS232, USBSerial, Bluetooth. The full menu structure will be available to the remote using either the protocol or the API.', applicability=[ARDUINO, ARDUINO32], subsystem=REMOTE, imageFileName='serial-connection.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.remote.Rs232RemoteCapabilitiesCreator'}, CodePluginItem{id='0877131c-e03e-426b-8eaf-228e01f5e7f1', description='Ethernet control of your menu using popular libraries', extendedDescription='Use this option to be able to control the menu over many kinds of ethernet sheilds and devices. The full menu structure will be available to the remote using either the protocol or the API.', applicability=[ARDUINO, ARDUINO32], subsystem=REMOTE, imageFileName='ethernet-shield.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.remote.EthernetRemoteCapabilitiesCreator'}]}
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/up-down-encoder.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 217, height: 140
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found image file META-INF/tcmenu/DfRobotShield.jpg
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Image loaded, Width: 211, height: 158
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager lambda$loadPlugins$2 Found configuration file META-INF/tcmenu/tcmenu-plugin.json
2019-05-08 18:29:44 INFO com.thecoderscorner.menu.editorui.generator.plugin.DirectoryCodePluginManager parsePluginConfig Loaded configuration CodePluginConfig{moduleName='com.thecoderscorner.tcmenu.plugin.dfrobot', name='DfRobot CodeGen Plugin', version='1.3.0', license='Apache 2.0', licenseUrl='https://www.apache.org/licenses/LICENSE-2.0', plugins=[CodePluginItem{id='7daa6a81-dd09-422e-b83c-bda5045abaef', description='Input from DfRobot Shield', extendedDescription='Uses the DfRobot shield switches to control the menu. These switches are connected to analog input A0 and will be managed by switches.', applicability=[ARDUINO, ARDUINO32], subsystem=INPUT, imageFileName='DfRobotShield.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.dfrobot.DfRobotAnalogInputCreator'}, CodePluginItem{id='bcd5fe34-9e9f-4fcb-9edf-f4e3caca0674', description='Output to DfRobot Shield LCD', extendedDescription='Uses the LCD panel on the DfRobot shield via the LiquidCrystalIO library without needing to specify any configuration at all. This provides a menu item per line menu view supporting submenus.', applicability=[ARDUINO, ARDUINO32], subsystem=DISPLAY, imageFileName='DfRobotShield.jpg', codeCreatorClass='com.thecoderscorner.tcmenu.plugins.dfrobot.DfRobotLcdCreator'}]}
2019-05-08 18:29:45 INFO com.thecoderscorner.menu.editorui.uimodel.CurrentProjectEditorUIImpl createPanelForMenuItem creating new panel for menu item editing 0
2019-05-08 18:29:45 INFO com.thecoderscorner.menu.editorui.generator.arduino.ArduinoLibraryInstaller getArduinoDirectory Looking for Árduino directory
2019-05-08 18:29:45 INFO com.thecoderscorner.menu.editorui.generator.arduino.ArduinoLibraryInstaller getArduinoDirectory looking for libraries
2019-05-08 18:29:46 INFO com.thecoderscorner.menu.editorui.uimodel.CurrentProjectEditorUIImpl createPanelForMenuItem creating new panel for menu item editing 0
2019-05-08 18:29:48 INFO com.thecoderscorner.menu.editorui.project.FileBasedProjectPersistor open Open file C:\Users\Daniel\Documents\Arduino\Verdure_ESP32_Menu\Verdure_ESP32_Menu.emf
2019-05-08 18:29:48 INFO com.thecoderscorner.menu.editorui.uimodel.CurrentProjectEditorUIImpl createPanelForMenuItem creating new panel for menu item editing 0
2019-05-08 18:29:50 INFO com.thecoderscorner.menu.editorui.uimodel.CurrentProjectEditorUIImpl createPanelForMenuItem creating new panel for menu item editing 1
2019-05-08 18:29:50 INFO com.thecoderscorner.menu.editorui.uimodel.CurrentProjectEditorUIImpl lambda$createPanelForMenuItem$1 created panel UIBooleanMenuItem

Author: davetcc
09/05/2019 05:41:34
Ok, there’s no exceptions in that log. I’ll have to try and create some larger structures of about 150 items and see if I can recreate.

Could you also send me the Arduino compiler output where it fails for ESP32. I don’t have an ESP32 board to hand at the moment to test it with. Given they seem to be less than £5 I’ll get one from somewhere and make sure it works along with ESP8266.

Author: davetcc
09/05/2019 05:46:03
Please Revert to 1.3 for now until I can get hold of an ESP32 board to test with. Just downgrade the UI and then manually copy the libraries from 1.3 back over using the standalone zip that’s in the 1.3 release. This will keep you going for now. Sorry it’s not better news.

Author: dsap4004
09/05/2019 05:50:12
Thanks for the info. I reverted a while ago so I could keep working on my project. I'll try to make a copy of my progress and try the new libraries again in the morning.

Author: dsap4004
11/05/2019 19:56:52
Sorry I haven't tested the new version again yet. I was having other issues with my program and I want to get it right before I accuse the library. All I know is it kind of worked and after upgrading it didn't work at all anymore. I've fixed some bugs with my software so I'm going to try again here soon.

Author: davetcc
03/07/2019 08:25:47
I think I found the issue behind the menu name not updating. It should be fixed in 1.3.2.




Register / Login  |  Desktop view  |  Jump to top of page