No announcement yet.

Changing all of the properties of an object

  • Filter
  • Time
  • Show
Clear All
new posts

  • Changing all of the properties of an object


    Sorry if I post in the wrong forum, I thought this one was the most appropriate.

    We are new to 4D Systems are still struggling to find the best type of project that could let us achieve our goals. A co-worker as started evaluating the different types of projects, but there are a few things we would like to do but can't find how.

    First I must add that the display will be connected to an Arduino board (Atmel chip). To sum up, we are wondering if and how we can work with such a display, as we can do in Windows (for exammple in Visual Basic). I understand that contrary to Windows with layered Windows, 4D Systems displays work with forms that take all the screen surface. That we could live with.

    But whether we pick Visi or VisiGenie, it looks like the host can't change all of the properties of an object. For example, for a button one can click, we would like to change the caption, foreground color or background color, displayed image etc, as we can do in Windows. Is that possible at all ?

    Thanks a lot
    Gilles Plante
    CDE Syst-M

  • #2

    You can do it, you just need to think a bit differently.

    Windows has gigabytes of memory and can easily contain code to draw buttons 'on the fly'.

    Our displays have kilobytes of memory and need to have images 'pre-rendered'.

    So what you do is have several images on uSD and display the one that has the colour you presently want to be displayed.

    If the text is 'static' you could have all the buttons pre-rendered, if it needs to be dynamic, you can write it transparently over the button after it is displayed.


    • #3

      Hi Mark,
      So what you do is have several images on uSD and display the one that has the colour you presently want to be displayed.This one we understand. But grammatically, how can we change the image associated to a button (I may not correctly name the type of object in 4D parlance) ? What kind of project do we need to create, Designer, Visi or Visi-Genie.
      If the text is 'static' you could have all the buttons pre-rendered
      then would that mean that all the buttons are one on top of the others, and then we display the one needed per the context ? That kind of things we already do with a module from Rabbit semiconductors. Again, what type of project is needed ?

      As you can see, we are not very fluent in 4D Systems displays. Is there any high level document that may help us identified all the possibilities and the type of project needed to achieve a specific functionality ? That would help people figure out what can be done and how .
      Gilles Plante
      CDE Syst-M


      • #4

        Based on what you have said, I would probably be using ViSi and a User Button Object, but I am concerned that you have jumped in with your 'Windows' hat on and are focussing on recreating as much of 'windows style' as possible without thinking about what you are trying to achieve and how you can achieve it easily with our displays.

        Similarly, because you have said you are using Arduino, I wonder if you should use Genie, but really only you know what you need, so you really need to do some more research.

        The available environments are described here

        There are app note samples here for each of the environments,, maybe you can browse a few to get a feel for what can be done.

        There are also samples that come installed in Workshop


        • #5


          maybe I shouldn't have compared with what can be done in Windows. At this time we have much experience with the OP7200 module from Rabbit, which is a monochrome touch LCD display. All of the display management is coded right in the program, and let me tell you that part of the code is large and needs much work. The START and STOP button are the same size and position: when the user touch the start button, we simply hide it and display the STOP button.

          With 4D Systems Visi and Visi-Genie, I think we can have many things done by the display itself. For example, having forms already defined within the display, and displayed with a single instruction would mean much less code in our program. On top of that, going from one form to another form seems very fast.

          The 4D Systems displays offer much more, in terms of colors and objects that can be displayed, just think about all kinds of buttons that are available. I understand these displays are for use in embedded systems, with far more less resources than Windows environment. The 4D Systems displays have lots of very interesting features, like storing images and pre canned messages on the uSD card. Again, that means much less code for the MCU.

          Now back to Visi objects. As far as I understand, not all of the properties can be changed pragmatically. For example, with a strings object, one can display a predefined message, but looks like one can't change for example the color of the strings object. Am I right about that ? Can one make a label or static object displayed or hidden for example ?

          I understand that these questions may seem basic, but I just want to figure out what can be and can't be done. For the project to be started in a week, serial could be enough - there will be no touch requirement - , but there will be a new project where we will have touch requiremenst, and all of the objects of 4D Systems displays are very very interesting.

          Gilles Plante
          CDE Syst-M


          • #6

            In Genie the strings object has fixed (which are stored on uSD) and Variable 'values', the colour is fixed. You could have different colours by placing multiple strings objects on top of one another, updating one would overlay/hide the other.

            In Visi the strings objects all variable, unless of course you program them to come from uSD in your code. Similarly the colour can be changed at will as it is influenced by txt_FGcolour().