Home AMX User Forum AMX General Discussion

Feedback on AMX tools

135

Comments

  • Spire_Jeff wrote: »

    I apologize if this wasn't the most constructive of criticisms, but I had to get that off my chest :)

    Jeff

    Jeff - No need to apologize. We need to hear the good, the bad and the ugly! Besides, what good is a forum if you can't vent once in awhile amongst friends...
  • PhreaKPhreaK Posts: 966
    Spire_Jeff wrote: »
    I would rather resources be devoted to improving TPD4, adding more graphic capabilities to touch panels, or improving the documentation of Duet.

    +9999999999999999999999999999999999999999 on that :)

    On the Duet front, if it's not something already in development, it would be awesome if there was (officially) support for running duet only systems.
  • Joe HebertJoe Hebert Posts: 2,159
    PhreaK wrote: »
    it would be awesome if there was (officially) support for running duet only systems.
    Are you talking about a program written entirely in Java?
    You can do that now.
    All you need is a one line DEFINE_MODULE in Netlinx to launch the program.
    From there on it's all Java/Duet.
    Or am I missing your point?
  • PhreaKPhreaK Posts: 966
    Yep, but as far as I know thats still pushing system to behave in a non-standard way. My request is more to have 'official' support for running a java only system, ie java optimised firmware etc. As far as I'm aware with Duet in its current state all IO is passed through the SNAPI which creates a performance hit.

    That being said I may be complely wrong, but I assume the current system architecture has been designed around having your NetLinx code, which communicates through java modules acting as proxies to real devices, rather than having everything happen within the jvm.

    Basically I'm aware that its currently possible to impliment. However, I've also wasted a lot of time in the past pushing things to behave or function in ways in which they haven't been designed, then having my work voided when a product has further developed in accordance with its 'standard' design specs.
  • Cafe Duet vs Netlinx Studio

    As someone who is doing more and more work in Duet, I am finding that I am loving the Duet development environment compared with what is available in Studio. If Duet could do more of the editing of the actual Netlinx code in systems that use code in both or if Studio could get updated with some of the capabilities of Duet (actually, Eclipse) that would be great.

    Some areas that are very helpful in Duet:

    On the right side of all views are all of your variables, subroutines/functions/classes, etc. So, if you forget the format for a particular call or variable name, you can quickly scroll through what's available on the right bar and never leave the line of code that you are working in.

    Format: You can right click and re-format your code if indents get skewed.

    Autocomplete: Yes, Studio has this, but in Duet, the editor will autocomplete across your entire project, so if you use separate class files (essentially, include files in Netlinx terminology), you can still use this feature to give you the complete function call, if you don't remember exactly what to pass into the call.

    These are just a few of what I find to be helpful. And yes, these are standard to any Java editor, but it would be nice if Studio had more of these as well. Or if we could have the option to work with all code in Eclipse, that would be even better.

    Just a few thoughts that came to mind.

    Sheldon Samuels
    SchoolView Technologies, LLC
    www.schoolviewtech.com
  • Joe HebertJoe Hebert Posts: 2,159
    PhreaK wrote:
    My request is more to have 'official' support for running a java only system, ie java optimised firmware etc. As far as I'm aware with Duet in its current state all IO is passed through the SNAPI which creates a performance hit.
    I would think the Duet firmware is optimized for Java but maybe not. I don't know first hand.

    SNAPI is indeed a big bottleneck; however, SNAPI doesn?t come into play unless you are writing a combination of Netlinx code and Java code. From what I?ve been told nothing is stopping us from writing our programs entirely in Java (except as stated earlier the one line of Netlinx code to initiate the program.)

    One of the programs we wrote in Duet class was just that, a pure Java solution. The program only included some relays and a touch panel but conceptually the point was demonstrated. SNAPI was left out in the cold, where it belongs. :)
    PhreaK wrote:
    I assume the current system architecture has been designed around having your NetLinx code, which communicates through java modules acting as proxies to real devices, rather than having everything happen within the jvm.
    Nope, everything can happen within the JVM if that?s how you want to do it. I?m not sure how practical it is or if there are any gotchas involved as I haven?t tried anything substantial yet but an all Java solution is an option currently available.

    I?m not trying to poo poo on your request but from what I?ve read on the forums prior I think there are some misconceptions of what?s possible and what?s not possible with the current state of affairs. Maybe I drank too much Duet Kool-Aid in class.

    ipssheldon wrote:
    I am finding that I am loving the Duet development environment compared with what is available in Studio.
    Ditto. Absolutely no offense intended to the good folks who have spent countless hours on NS but Eclipse is a far superior IDE. Autocomplete alone is worth the price of admission.
  • PhreaKPhreaK Posts: 966
    Joe Hebert wrote: »
    I?m not sure how practical it is or if there are any gotchas involved as I haven?t tried anything substantial yet but an all Java solution is an option currently available.

    I?m not trying to poo poo on your request but from what I?ve read on the forums prior I think there are some misconceptions of what?s possible and what?s not possible with the current state of affairs. Maybe I drank too much Duet Kool-Aid in class.

    The 'gotchas' are the reason for the request. I haven't done the Duet training yet so I'm yet to be exposed to the all duet example project and am currently flying blind, but that is the way I'd like to take my programming. The possibilites of being able to utilize a mature, object-orientated language are just to tempting to remain with NetLinx, if its a viable option.

    That being said, if I was to be hit by a bus on the way to work I don't want to suddenly have left all these systems that have to be re-written if any modifications are required because I'm the only person with my head round the system. I also don't want to be re-inventing the wheel if AMX are already working on standards for Java only systems.
  • jjamesjjames Posts: 2,908
    Joe Hebert wrote: »
    Autocomplete alone is worth the price of admission.

    Which brings up a point: this is software that we don't have to "pay" for. AMX foots the bill on any development of NLS, TDP4, etc. etc. You could argue that they're eventually covered because of the sale of their product - but the point remains: it's free software. AMX won't be putting as much time into NLS as Microsoft or Sun does with their IDEs. It's that plain and simple.

    Now, I don't know if there is an actual cost of using Eclipse as your IDE, but there must be a reason they've stuck with Scintilla (a free code editor) rather than Eclipse for NLS. If it were to cost AMX something like Cafe Duet did / does - how many of you would be willing to pay for Nelinx Studio? And also, how much would you be willing to pay? $250? $500? $1,000? All of which could be easily made up in one job, or two. Even if it cost them the same amount to get licences from Eclipse (again, I don't know how it works with Eclipse to make an IDE out of theirs), I would be willing to bet the price would be much lower - not out of kindness, but because they *could* make it back (and then some if they so chose) because it is something that is needed. Cafe Duet is not.

    If ever given the choice, I would actually prefer to have a paid IDE (in the ballpark of $250-500) with full support and truly allocated time & resources from AMX rather than a free IDE that is fixed whenever 1) it is needed and 2) they have the spare time & resources. Look at how much more development is spent on Duet over NLS.
  • travistravis Posts: 180
    About an hour in to my first time programming a Mio DMS. KeypadBuilder is driving me nuts. Power Assign doesn't work. I wish I would have seen Spire_Jeff's post sooner.
  • jjamesjjames Posts: 2,908
    TPD4 Request

    In the search (and replace) function, I'd like to be able to Find hard buttons. For example, I copied over an R4 file from another job, and have 32 PAGES and no pop-ups; I have a code assigned to the power button other than the default; now I want to remove that channel code and put in a page flip. As it is now, I have to open up each one, and manually do it all. It'd be nice if I could do it with a Search & Replace.
  • Great feedback everyone. I'm glad I asked. Lots of good opinions we can use as we develop ideas going forward.
  • viningvining Posts: 4,368
    TPD4:___________________________________________________________________

    I would like image slots in TPD4 that can be dynamically loaded via code. Possibly user defined quantities in preferences but if not 10 would be nice, 20 or more even better.

    Basically if we had these slots we could load them on the fly via code for favorite icons and the like from a common file on the master or other accessible server These would be for images that don't change often but trying to load them dynamically each time the page or pop up is opened is slow and unreliable. If we had the slots it wouldn't matter how slow they loaded cuz once loaded the TPs would just pull the image from the slots each time and not need to pull them from the remote source.

    NS3:____________________________________________________________________

    Code folding ACTIVE in select active's would be nice since I tend to find myself creating way to many functions to avoiding the never ending scrolling.

    IP notifications (repeat).

    It would be nice to code fold functions too. It we had a functions header that could be folded so that all function under that header would disappear that would be cool. Then I could create one or multiple headers keep my function out of sight when not needed.
  • vining wrote: »
    TPD4:___________________________________________________________________

    I would like image slots in TPD4 that can be dynamically loaded via code.

    +1 on that, that would be really useful.
  • vining wrote: »
    TPD4:___________________________________________________________________

    I would like image slots in TPD4 that can be dynamically loaded via code. Possibly user defined quantities in preferences but if not 10 would be nice, 20 or more even better.

    Basically if we had these slots we could load them on the fly via code for favorite icons and the like from a common file on the master or other accessible server These would be for images that don't change often but trying to load them dynamically each time the page or pop up is opened is slow and unreliable. If we had the slots it wouldn't matter how slow they loaded cuz once loaded the TPs would just pull the image from the slots each time and not need to pull them from the remote source..


    Have you tried enabling Cache from the protected setup pages (protected setup/other/cache)? Your scenario is exactly what this was created for. You can specify how long to retain the images before refreshing them via the Flash/Ram Cache Expires field. This way, when the images are loaded into RAM, they will be pulled from cache each time and will not be retrieved until the expiration or until they are pushed out of cache from other graphics.
  • viningvining Posts: 4,368
    rgelling wrote:
    Have you tried enabling Cache from the protected setup pages (protected setup/other/cache)?
    There's been times I've thought about this "cache" setting but never really found anything that explained it well enough to want to mess with it. The PI explanation tends to make me think that for most dynamic images I'd want to disable caching or at least keep it very low since most dynamic images have fixed URL's and require the most recent image available. I would think that if the cache is on and you open a page w/ a dynamic resource on it the TP would pull from cache unless the URL has changed. This would be bad for most dynamic images and only a very few things such as favorite channel icons would even benefit from caching. I don't see being able to satisfy both needs.

    I don't really have faith in the RFRP command either. I thought it would help when it first came out but using it hasn't shown any marked improvement with image loading. Of course I haven't played with it lately so maybe it's been improved.
  • ColzieColzie Posts: 470
    Is there any way to force a specific image to not use the cached version? Or is it an all or none situation?
  • The one thing I would find incredibly useful is for the panel emulator to load a controller emulator.

    Our system has generic panel build that, depending on the room its deployed, diferent device pages are active. The problem right now with this is that in order to see the any page changes in the panel we need a physical panel and controller to visualize and test the changes in the environment. Our group doesn't have that much budget where we can have a full lab to test, so we have to test in an actual customer room.

    Since most of the page flips in the panel file are built when we do the controller software load, the panel preview software is completely useless.

    Luis
  • ColzieColzie Posts: 470
    Bug:
    If you have a TP file for say an MVP-5200, and you transfer to several panels at once, including an NXD-1000Vi, TP4 will do a "save as new panel type" before it transfers (as it should). However, if the 5200 is loaded after the 1000, the 5200 will get the 1000 version. External buttons (and who knows what else) will not work on the 5200.

    If the 5200 is loaded before the 1000 then everything is cool, the panels each get the correct version.
  • Spire_JeffSpire_Jeff Posts: 1,917
    Is there any way to change the system graphics transfer to be delayed? If not, is there any way to have the program accept yes as the answer to send them? (Even better, not ask, just do if there really is no other choice :) ).

    Also, I would like the ability to retry a failed transmission as it seems once one panel fails, all the rest in the queue fail. If I have just waited 3-7 minutes for the files to be saved as, and then I hit a failure on the second panel, I now have to wait for 3-7 more minutes while files that were just created are recreated.

    Lastly, come up with a way to verify file names of the graphics being sent to the touch panels. I occasionally have problems where the case sensitivity of the OS on the touch panel is confused by the fact that Windows doesn't care about case. This results in images that disappear on the panel after an upload, and they cannot be fixed by uploading again. You have to change the name of the graphic file and then find/replace it in the entire project. This has been an ongoing issue for years now.

    Jeff

    P.S.
    I apologize for my brashness, but I have been transferring TP files for the last 3 hours and I am now late for a meeting and have not had lunch! ;) All of this to change the channel codes on 8 buttons on a total of 11 panels :(
  • chillchill Posts: 186
    Some of this has already been mentioned, but I'll chime in anyway.

    NS3:
    - See IP devices in Notifications. I seem to recall that this was a promised feature for NS3, but that turned out not to be the case.
    - Allow 'system 0' in Notifications
    - 'Code fold' *any* level of curly braces including ACTIVEs, CASEs, IFs, etc.
    - Fix the newly-broken syntax highlighting
    - Having persistent bookmarks sounds nice, except that NS keeps generating more of them. I have some files where every line is bookmarked, which is useless. (Where are these bookmarks stored, anyway?)
    - Between debug sessions,
    1) remember which instance of the variable FOO I was watching before
    1a) When presenting the list, show the actual file or function names instead of all the same
    2) correctly see variables belonging to functions and subroutines
    - Have the option to skip over comments when searching on text
    - Don't crash so much.

    TP4:
    - Don't read-lock the file when TP4 has it open. I would like to be able to transfer it with NS, or even make a backup, without having to close the file first.
    - Size image to button
    - Don't crash so much.

    IRedit: Don't use it much. How about some way to print (or better yet, view and copy/paste as text) an IR file's channel and function list, without having to open the file in IRedit?

    Keypad Builder: Have only used it two or three times, but it does seem kind of clunky.

    RMS CodeCrafter: Something's wrong... I once saw it create a function name short enough that I could read it without scrolling horizontally :^)
  • Joe HebertJoe Hebert Posts: 2,159
    chill wrote:
    How about some way to print (or better yet, view and copy/paste as text) an IR file's channel and function list, without having to open the file in IRedit?
    Wish granted. Check out the IR Data tab at the bottom of the NS3 workspace window.
    chill wrote:
    Allow 'system 0' in Notifications
    Agreed and let us edit the device, port, and system settings after the entry has been created.
    System 0 in the Control A Device dialog box would be nice also.
  • TPD4 Font Manager

    A recent post in another thread mentioned the issue of moving to a new PC and finding that a font in a TPD4 file was missing on that new PC. I have recently had the same issue. It would be very helpful if TPD4 had an easy way to view the fonts used in a particular file so that you would know what fonts to install on the new PC rather than waiting until you hit the infamous Font error.

    Better yet, within TPD4, it would be ideal to see what buttons use a particular font. I have had occasions where I move buttons from file to file, not realizing that a different font was used on an old panel design. The button then gets inserted into my new panel design with the old font. And it isn't always obvious that the old font is there. You can end up having numerous fonts in a single file and no easy way to clean them up other than manually going through each button and potentially every state of each button. If this were as easy to navigate as the Function Map tab, that would be a good start.

    Just my thoughts.

    Sheldon Samuels
  • ipssheldon wrote: »
    A recent post in another thread mentioned the issue of moving to a new PC and finding that a font in a TPD4 file was missing on that new PC. I have recently had the same issue. It would be very helpful if TPD4 had an easy way to view the fonts used in a particular file so that you would know what fonts to install on the new PC rather than waiting until you hit the infamous Font error.

    ...

    Sheldon Samuels

    There is an easy way to view which fonts are used in a panel.

    Go to Panel>Generate Programmer's Report and choose one of the formats. Web page format is nice but any of them will show the info you need.
  • Yes, that report does list the fonts that are used and I had forgotten that those reports are available. But it still doesn't show where a font is used or on what button or button state it is associated. So, if I have one rogue font that I want to eliminate, I still don't know where it is used nor do I have an easy way to delete it or reset the button(s) associated with it back to a default.

    That report is a good first step, but I'd still like something more. No, this request is probably not on the top of a priority list, but it is something that should be put on a feature wish list.
  • dchristodchristo Posts: 177
    ipssheldon wrote: »
    So, if I have one rogue font that I want to eliminate, I still don't know where it is

    Edit > Find > States > Font

    --D
  • viningvining Posts: 4,368
    And if you set the scope for the entire panel you can see in the drop down every font(size) used. Click find, then find next and you can see where they are used.
  • Well, then, never mind. I'll have to remember this next time I have an issue with fonts.

    Thanks for the replies.
  • chillchill Posts: 186
    Joe Hebert wrote: »
    Wish granted. Check out the IR Data tab at the bottom of the NS3 workspace window.

    Mine doesn't have such a tab. Is there someplace else it would be? Or maybe I could try installing the shiny new v3.1.374, since I'm running 3.0.0.315.
  • Joe HebertJoe Hebert Posts: 2,159
    chill wrote: »
    Mine doesn't have such a tab. Is there someplace else it would be? Or maybe I could try installing the shiny new v3.1.374, since I'm running 3.0.0.315.
    Attached is a snapshot from NS3 3.0.0.14
  • Joe HebertJoe Hebert Posts: 2,159
    chill wrote: »
    Mine doesn't have such a tab. Is there someplace else it would be? Or maybe I could try installing the shiny new v3.1.374, since I'm running 3.0.0.315.
    From the menu bar: Settings-->Preferences-->Workspace and make sure the Show IR tab is checked.
Sign In or Register to comment.