Table of Contents Welcome Quick Start Tutorial Creating a Project ......................11 Designing Page Content ....................13 Simulate the Project ....................28 User Interface Convert Project ......................40 Copy and Paste ......................42 Drag and Drop ......................43 Image Library ....................... 46 Image Pool ........................
Page 4
Table of Contents The JavaScript Editor ....................515 Assign a JavaScript file to an Event ................. 523 JavaScript Basics ......................524 Custom JavaScript functions for device specific functionality ......529 7.4.1 RS232 JavaScript Functions ................. 560 Programming Guidelines ..................565 Functionalities Alarms .........................
Page 5
Table of Contents How to set up SDO communication ................ 745 12.5 How to remember variable values when the device is powered off ....746 12.6 How to use the power management ............... 746 12.7 How to use the digital outputs ................749 12.8 How to process CAN messages with a multiplexer bit ...........
Page 7
Welcome Welcome If you are new to this program, the best starting point is the Quick Start Tutorial New content for this version Heavily enhanced reporting functionality with issue view Image Pool project tree node A new event OnProjektInitFinished Many useful changes like: setVariableValid JavaScript function String Fields now can have up to 65535 characters...
Page 8
Welcome - For devices with multi touch, buttons should not be put too close together, especially for contrary functionalities (up/down or plus/minus). With distances < 1.5 cm a second press can sometimes not be recognized as such but will instead be registered as a false coordinate for the first finger, resulting in an unwanted release for the first button.
Page 9
Welcome - Introduced text variables for pre-defined variables chapter device descriptions - Update of Ethernet FAQ - Updated some screenshots for updater settings in welcome project - New screenshot for DayNight - OS/PClient update with partition in update manual - New splash for pdf manual - Icon reference in welcome project added - New chapter for project search...
Quick Start Tutorial Quick Start Tutorial Tour of the program https://www.youtube.com/playlist?list=PLhLYlu1YL064ENX6BsFDBaUDtaBr6TD4L This quick start tutorial demonstrates the basic steps to create a display project. Start with creating a project , then continue with designing the page content , then simulate the project Creating a Project To create a new project, click on the New Project button in the toolbar (1) or use the menu...
Page 12
Quick Start Tutorial In the next step you have to provide the following information: · The project name · The directory where the project will be stored · The display device and orientation the project shall run on (for the tutorial, leave the display that is selected by default) ·...
Quick Start Tutorial Continue with designing page content For certain device types the option Use ISOBUS Application can be activated. Read the chapter ISOBUS Application for more information. Designing Page Content A new project always comes with a page having a default page name. By following the next steps the page name can be changed.
Page 14
Quick Start Tutorial In this tutorial, the basic page layout is given by a background image. To add a background image, open the Image Library tab (11), and use the Browse button (12) to add the folder where the tutorial images were saved. Then select the image Training Background1.png (13) and drag &...
Page 15
Quick Start Tutorial Adding a Gauges Needle Now you're ready to add the Meter object. · Drag the Meter object from the Palette (15) and drop it in the editor (16). Now change the following properties of the Meter in the Properties window (for the min/max values use the exact order as listed here): Make sure that the Meter object is selected in the scene! ·...
Page 16
Quick Start Tutorial Attaching a Variable to the Meter To be able to change the value shown by the meter, you need to create a variable and attach it to the meter: · Click the Add New Variable button (17) of the Variable View. ·...
Page 17
Quick Start Tutorial Now you need to attach the variable kmh to the meter: · Click the kmh variable row to select it and drag & drop the variable over the meter. You can also drop the variable on the Meter 1 in the project tree (22). ·...
Page 18
Quick Start Tutorial The Variable Manager window opens: Set the following properties: · Minimum Value: 10 · Maximum Value: 170 · Default Value: 10 Then close the window by clicking the OK button (22). OPUS Projektor Manual...
Page 19
Quick Start Tutorial Configure How Variable KMH is Received via CAN Setting up CAN communication start with the port configuration: · Choose Port Configuration... from the menu Communication (29). In the Port Configuration window: · Select CAN:1 (30). · Set the Bus Speed to 250 kbps (31). ·...
Page 20
Quick Start Tutorial After configuring the CAN port, the CAN protocol and a communication partner, e.g. an ECU, must be defined: · Click the Terminal and Owner ECU(s) Configuration... entry in the Communication menu (33). The Terminal and Owner ECU(s) Configuration... dialog appears. ·...
Page 21
Quick Start Tutorial Now it's time to create a CAN mapping for the CAN message and add the kmh variable to this message: · Click on the CANFreestyle shortcut button in the toolbar or, alternatively, go to the menu Communication -> Protocols -> CANFreestyle -> Configure Mappings...
Page 22
Quick Start Tutorial · In the search field on the right (47) type the name of the variable, kmh. · Select the variable (23) and drag & drop it into Bit 1, Byte 1 of the CAN mapping (49). · Close the window by clicking OK button.
Page 23
Quick Start Tutorial value. It's important to remember that the message length has to be the same for the display and the ECU. If only parts of the message are needed, use a constant with mask set to 0 to extend the message. Create a New Page In a next step a new page is added.
Page 24
Quick Start Tutorial Define Navigation Between Pages The eight keys at the left and right screen border are called softkeys. You can place icons close to the softkeys into the Softkey Frame on the screen to describe the function of each softkey.
Page 25
Quick Start Tutorial Now we can start configuring the softkeys: · Select the first Softkey in the project tree (58)upper left or in the editor (59) · Drag & drop the file BUTTON_BACK.png from the Image Library on the Softkey, and in the context menu, select the softkey and then Released Image.
Page 26
Quick Start Tutorial · Click the "..." icon of the OnRelease event (65). The Configure Events and Actions dialog opens. · Un-check No Action (66). · Select Jump To Page (67). · Choose the Gauges page (67). · Close window by clicking OK button (69). That's all for the page switch from the Configuration Page to the Gauges page.
Page 27
Quick Start Tutorial For the navigation from the Gauges Page to the Configuration Page please follow the same steps (56 to 69) to configure one of the softkeys of the Configuration page. The result should look like this: Let the User change the value The display user shall be able to change the display backlight intensity.
Quick Start Tutorial · Check Transparent · Check Set As Input · Uncheck Draw Target Line · Uncheck Draw Ticks To use the Linear Bargraph to change the display backlight intensity, we need to create a reference from the Linear Bargraph to the pre-defined variable @DispBacklightIntensity: ·...
Page 29
Quick Start Tutorial Open the Gauges Page in the PClient simulation, then follow these steps in the Variable Simulation: · Enter kmh in the search filter (1). · Select the kmh variable (2). · Move the slider (3) and you will see how the meter in the PClient simulation will move (4).
Page 30
Quick Start Tutorial First you have to make sure that the software on the device is on the same level as the PC software. If in doubt, perform an update of OS and PClient on your device (there is a manual on how to update your device here To download the project to the device, connect a USB stick (FAT 32 formatted) to your...
Page 32
User Interface User Interface This chapter describes the main elements of the user interface: Menu Bar (1) Menu Description New Project...: Create a new project. See Quick Start Tutorial to see how to create a new project File Open Project...: Open an existing project. Close Project (project name): Close the currently selected project.
Page 33
User Interface Menu Description Print to HTML: Only for the JavaScript Editor. Prints the currently opened JavaScript file into an HTML file. Exit: Close the program. Undo: Reverts the last modification in the project. For a complete list of Undo/Redo steps check the Undo/Redo tab.
Page 34
User Interface Menu Description Full Screen: Switches to Full Screen view. Variable Manager...: Opens the Variable Manager Variable Group Configuration...: Opens the dialog to manage and add variable groups Terminal and Owner ECU(s) Configuration...: Opens the dialog to add / remove and configure CAN protocols for the project.
Page 35
User Interface Menu Description -- ISO 17215 Camera Configuration: Opens the Ethernet Camera configuration tool Import Export Language CSV: Opens the dialog to export / import a language CSV file. Read more. Plugins: Opens the plugins management dialog. Read more Revision Browser: Opens the project versioning revision...
Page 36
User Interface Icon Description Create a new project. Open a project. Save selected project. Only active if changes have been made to the project.* Save all open projects. Undo / Redo Opens the revision browser Saves the project and opens the Project Updater Dialog. Read more.
Page 37
User Interface · The project name is EmptyProject1 · The project contains the categories Pages, Alarms Communication Virtual Keyboards JavaScripts and an Images Node · The project has two pages: Gauges Page and Configuration Page. · The Gauges Page is the home page of the project (home icon). ·...
Page 38
User Interface Green - This object has been created since the last save. Also indicated with a black asterisk next to the object icon. Blue - This object has been modified since the last save (or a child object has been added). Also indicated with a black asterisk next to the object icon.
Page 39
User Interface When a project is loaded and the project contains warnings, the search tab will be opened automatically, showing all warnings in the project. Don't discard these warnings! It might be nothing important, but more often than not something is not right in the project if warnings are shown, so please check them. Objects can be renamed in the project tree by selecting them and pressing F2, or clicking on them again after selecting them.
User Interface The reported issues tab provides an overview of the reported issues from this version of the program. Symbol Library (11) This button opens the symbol library tab. Image Library (12) This button opens the image library tab. Undo/Redo (13) This button opens the Undo/Redo tab.
Page 41
User Interface First, you can set the name of the converted project (1). Next, you can choose the new device type that you want to convert to (2). Below that, you have three options to scale the page contents (3): ·...
User Interface · apply options to all pages (the Next button (7) will change to Convert, and the project can be converted with one click, skipping Step 2. Pressing Cancel (8) cancels the conversion process and all settings are lost. Step 2 - Soft Keys In the second step, softkeys can be assigned to the keys of the new device of the conversion process.
User Interface Objects can be copied and pasted by either right-clicking on the selected object(s) and selecting "Copy" and then right-click in the target parent object and select "Paste", or by pressing CTRL+C with the object(s) selected and pressing CTRL+V. This works multiple times which creates multiple copies of the same source object.
Page 44
User Interface A new object will be created if it can be created as a child object at that place. Otherwise a "forbidden" symbol will be displayed. Symbols from the Symbol Library can be dropped · on objects in the Page Editor ·...
Page 45
User Interface The same goes for JavaScripts. The first level of the context menu shows the object selection with the child object and, if applicable, the parent object, the second level will show the available events for the selected object. Similarly, when a variable is dropped from the Variable View, the first level of the context menu shows the object selection with the child object and, if applicable, the parent object, the second level will show the available Variable Reference options for the selected object.
User Interface Please note that the context menu only covers the the child object and the first parent, i.e. the parent of the list object itself is not included anymore. Objects that don't have the possibility to add the dropped element, will not be displayed in the first level of the context menu.
Page 47
User Interface The image library can be accessed in the toolbar on the right side (in the default view). Click on the name to open the tab. OPUS Projektor Manual...
Page 48
User Interface In the image above a folder named Training pictures was loaded. Several image folders can be loaded, they will be shown in tabs (1). Please note that when adding many ordners with many images (especially high-res), showing the image library for the first time will take a while to cache the preview images.
Page 49
User Interface Note that the Search tab can't be closed directly. To close the Search tab, remove the search word from the Search field A new folder can be added with the Browse button (3). Browse to a folder that contains images and confirm by clicking Open.
Page 52
User Interface Uncheck the Show Resolution checkbox (7) to remove the resolution bar under the preview images. The complete folder path will be shown as a a tip when hovering on the folder tab. Hovering over the images will show the file name of the image. Folder tabs can be closed by pressing the X icon next to the folder name in the tab, except for Favourites and Search tab.
Page 53
User Interface Close All Other Categories - closes all tabs but the one that was right-clicked on Note that the Favourites and Search Tabs cannot be closed that way. The Search tab closes when the search field is emptied, the Favourites tab is removed when no images are selected as favourites.
User Interface This order can be changed by scrolling the mouse wheel while hovering over one of the selected images with CRTL key being pressed. This multi selection can also be used to select several images as favourites or to quickly empty (and thus close) the favourites tab.
Page 55
User Interface Unused Images As you can see in the image above, the Image Pool also shows unused images. The image in the example was automatically included when a picture graphic object was added to the project, but when the image was set for the object, the default image was not used anymore. Unused images can be deleted by right-clicking the Images (n) node and selecting Clean up Original Images...
Page 56
User Interface Type the new desired image in the dialog and press OK to confirm. Press Cancel to cancel the process. All scaled images in the project will be updated. Note that the image names are case insensitive, i.e. IMAGE.jpg and image.jpg (and Image and iMage and so on) will be treated as the same name and the renaming will not work.
Page 57
User Interface OK confirms the choice, Cancel cancels the process. 2) Drag & drop from the Image Library A dialog will be opened asking for confirmation. OK confirms the choice, Cancel cancels the process. 3) Context menu Right-click on the original image and select Replace Image... OPUS Projektor Manual...
Page 58
User Interface Then select a new image in the file browsing dialog. Undo / Redo All operations in the Image Pool can be undone and redone. Tips & Tricks If a double click is done on the Images (n) node, or a right-click with the selection Open Images in Image Library..., the original_images folder from the project will be added to the Image Library (which will be opened).
User Interface Can I just leave the Image Pool be and not use it at all? Sure. You will probably never have the necessity to use the Image Pool in any way. It is a tool for convenience, but you can build projects and do everything you need without using it. We hope, you will use it, though.
Page 60
User Interface CSV import In this dialog the structure of the CSV file has to be specified. - Enter row no. to start: Select the row in the .CSV file where the variable information starts. - Header Row is available at 1: If the .CSV file contains a header, check this box. The row to start should include the header row - Select delimiter: Select the delimiter used in the .CSV file.
User Interface In the Table view tab you can see an overview of the variables with the most important properties. In the Filter variable section you can search for variable names live. With the "ECU(s)..." button you can open the dialog to add ECUs / owners to the project. Additionally you can modify the owner that the variables are assigned to.
Page 62
User Interface If nothing is done, the launcher automatically starts the program after a countdown of 5 seconds. Click anywhere in the launcher to stop that countdown. In the first line, the used Java Runtime is displayed. This cannot and should never have to be changed.
User Interface The Show Expert Settings button shows a check box to run the program with a debug console. This is mostly helpful if something goes wrong repeatedly to get more information on an exception or crash. Licensing Tutorial video about how to get a license https://www.youtube.com/watch?v=LsO0v44J6YE The program has to be licensed to be fully usable.
Page 64
User Interface In the dialog, choose a filename (1) and select where the key file should be stored (2) by pressing the Browse button (3) and choosing a path. Confirm and close the dialog to create a key file with OK (4). Cancel (5) cancels the process and closes the dialog.
User Interface In the dialog, browse to the location of the license file, select it and confirm by clicking Select License File. A confirmation dialog is shown. The dialog will also inform if one or more of the additional features were unlocked. Close the dialog by clicking OK.
Page 66
User Interface Editor In the Editor tab the behavior of the JavaScript editor can be modified in great detail. Please refer to a Netbeans documentation for details, e.g. here. Fonts & Colors OPUS Projektor Manual...
Page 67
User Interface In the Fonts & Colors tab the appearance of the JavaScript editor can be modified in detail. Please refer to a Netbeans documentation for details. Scene OPUS Projektor Manual...
Page 68
User Interface Highlight Components on Scene - Option to highlight components in the page editor when the mouse hovers over them. Enable ISOBUS Miniview Preview - Miniview Preview in pages for ISOBUS projects. Link Pages with Project Tree - When a tab is closed, the next open page will be selected in the tree with this option active.
Page 69
User Interface In the Appearance tab one of the available skins can be selected. The skins will be shown with a preview image. Note that the program has to be restarted for the new skin to be activated. Java Runtime OPUS Projektor Manual...
Page 70
User Interface In the Java Runtime tab the Java Runtime that will be used by the program can be selected. Normally this never has to be changed, as the program comes with its own Java runtime. Projects OPUS Projektor Manual...
Page 71
User Interface In the Projects tab the list of recent projects in the Welcome Page can be cleared. It is also possible to enable/disable the auto-save of the current project when the Updater or the PClient simulation is started. Lastly, the extended Windows file browser can be disabled. This will limit the view in file browsers to "My computer"...
Page 72
User Interface In the Reporting tab settings regarding the reporting feature can be made. The cache size for unsent reports can be set. A general setting to not send any reports can be made here (which we don't recommend). Also, the supression of single exceptions which can be set in the crash report dialog, can be reset here.
User Interface The author fields will be used as committer information for each project commit. Enable auto commit on save means that the commit dialog isn't shown when saving the project. 3.10 Page Editor The Page Editor is the main window to design graphical content for the project. It has its own toolbar: Menu Description...
Page 74
User Interface Objects can be created by dragging and dropping from the object palette or by using copy & paste from other pages or projects. Objects can be moved by modifying the X and Y position properties or by moving them with the mouse.
Page 75
User Interface To resize an object and keep the aspect ratio (especially interesting for images), press the Shift key before clicking one of the corner squares or while resizing. Objects can be locked in place to avoid accidental modifications with the mouse while editing other objects.
User Interface 3.11 Project Properties This chapter describes the various properties of a project. The project properties can be opened in two ways: · Using the Properties entry of the right click context menu of the project node in the Projects tree window.
Page 77
User Interface Project Folder Shows the absolute path to the project directory. Please don't change the project directory name outside of the program. This will not change the project name. Use "Save As" or "Rename Project" to save the project under a different name.
Page 78
User Interface sense if you have a specific article number, otherwise the project will run on all devices with the same article number. Article Number If you enable this property, the Article / Serial Number is treated as an article number. When disabled, it is treated as a serial number.
Page 79
User Interface Note that not all image settings are available on all devices. Loading Screen Image The loading screen image is an image that will be displayed while the project is being loaded on the terminal. Showing a progress bar is possible. The loading screen image should have the same resolution as the target device display and must be an image in PNG file format.
Page 80
User Interface The image above shows an example loading screen image. The shaded area is transparent in the image and will be filled with a loading bar when the project loads. It provides a positive feedback for the end user that something is happening. The progress bar will be drawn in black, filling a white area.
Page 81
User Interface By Pressing on "Deselect image" , the image will be removed. Boot Logo Image The selected image will be directly displayed after the cold start of the display after the project is installed. By pressing on "Deselect logo", the image will be removed. Note that the deselected boot logo will not be removed from the device upon the next installation of the project.
Page 82
User Interface Languages chapter describes these properties. Unit Properties Units chapter describes these properties. Object Properties "Send Value" Default This property changes the default setting for accepting variable changes. There are two possibilities available: · Send Value Directly · Send Value on Enter Here is an example that describes the difference between them: Lets assume your project uses an numeric field.
Page 83
User Interface been connected to the numeric field, the user wouldn't see any brightness change until he presses the encoder to accept the value. Softkey Frame Here you can change the default softkey frame width for landscape display orientation or height for portrait display orientation.
Page 84
User Interface Border Properties (4) Transparent Border Color (10) Allows changing the transparent border color. The color which is selected here will not be drawn on the screen, it will be drawn transparent. It's also possible to disable transparent border color by clicking No Color button. Note: To get rid of the blue border around all objects that are created on the screen, set this property to blue (0,0,255).
Page 85
User Interface Property Description The border color visible when the user is Open For Input editing a value. The border color visible when the user has Enabled with Focus selected an object, but not started editing the value. The border color visible when the user has Enabled without Focus not selected an object.
Page 86
User Interface Font Attributes (1) To create a new Font Attribute, enter a new font attribute name in (4) and click the Add button. The name entered here will be used to select a Font Attribute while creating the project pages. Afterwards you can configure the new Font Attribute as described below.
Page 87
User Interface Note: Please be aware of the copyright situation of fonts. Note: Font files have a lot of name metadata. The font file will only be used successfully if the font name is the same in as many places as possible. You can check and change these settings with a font editor like FontForge: Bad example, doesn't work: Good example, works:...
Page 88
User Interface Preview (3) You can use the preview to see how the selected font looks with the selected font attribute. The background will change color between black and white depending on the brightness of the set font color so it is always visible. Line Attribute Properties In this category line attributes for the 2D Graph...
Page 89
User Interface Visibility Properties Visibility chapter describes these properties. Variable Logging Properties Variable Logging chapter describes these properties. Input Character Attribute Properties When you offer the user the possibility to enter values with the encoder, you most likely want to restrict the characters he is able to use. Example: When your project asks the user to enter his name, you might want to prohibit the possibility to enter special characters like !?_ and so on.
Page 90
User Interface Now you can start selecting characters by clicking them in the table (6). The table shows the characters in Unicode (UTF-8 encoding form) code pages. For faster selection of code pages, you can select the subset (4) (it contains a list of character blocks) and click Select all characters button.
Page 91
Image Handling Chapter. ISOBUS For OPUS A6G2, OPUS A8, OPUS B3, X18 and X40, ISOBUS projects can be created, see here The ISOBUS functionality can be viewed in this category. The media player and variables that are not available for ISOBUS devices will be deactivated when an existing project is converted to an ISOBUS project.
User Interface Day/Night Settings Day/Night chapter describes these settings. Versioning Project Versioning chapter describes these settings. Hardkey settings For devices with a power button, the project-wide behavior of that button can be defined. This behavior can be overridden by a per-page setting on each page. On each page the same events can be configured specifically for that page.
Page 93
User Interface For the Image Handling there is a separat file "image_list.xml" which stores all informations about the images in a project. The file is saved in the project folder. During working on the project the Tool creates an temporary file called "image_list.tmp" which saves all image changes in the project.
Page 94
User Interface NOTE: 1. For original image files with extension JPG/JPEG and BMP the scaled images will be converted to PNG. Example: Original Image Name: test.jpg Scaled Image Name: test_100_80.png (without transparency color) Scaled Image Name: test_100_80_0xffffffff.png (with transparency color(argb) "white") 2.
Page 95
User Interface (3) Click on "Browse" to select a new image. OPUS Projektor Manual...
Page 96
User Interface (4) Select a new image (5) Click on "Open" to add new image. (6) Original Image name with path of new image (7) Preview of new Image OPUS Projektor Manual...
Page 97
User Interface (8) Click on "Ok" to set new image. (9) New image is shown in Designer for "Picture Graphic" object. (10) The property "Image To Display" shows the name of new created scaled image "ireland_240_144.png" (11) When property "Height" and "Width" are changed, a new scaled image is created with new name "ireland_100_100.png".
User Interface If the tool Version > 1.9.x is used and a project with a lower version (< 1.9.x) is opened the project is automatically converted for new Image Handling. After the conversion of the project, all scaled images will be recreated and renamed. This step is necessary to avoid duplicate images.
Page 99
User Interface What you see here are possible groups of units which you can use. There are no automatic calculations done in the background. They all have to be defined within the tool and the properties of the objects. The current unit settings for the different unit categories (1) and the general unit setting (2) are only for the development phase.
User Interface This is the example for the "Scale". Here can now enter the values which shall be used for the scale depending on the unit which is currently chosen for the unit group. For example: You choose the unit group "Force Units". Per default this group is selected as metric, so the scale value entered in the metric field is used.
Page 101
User Interface The tab provides you an overview of the current available variables (1). Now you can add (3) and remove (4) the variables which you like to log with the according labelled buttons. All selected variables you will find in the right tree view (2). Variables are written to a file. How the variables are written is defined by the method of logging.
Page 102
User Interface Show Log File Example (3) This shows an example of how a log file could look like. Note: This is not a run time preview so the shown example will not change based on the changes you made to the settings.
Page 103
User Interface File settings It is possible to select between two options that will effect the creation of new log files: · Continuous Logging · New File at Restart The user can select one of the options by clicking one of the radio buttons with the respective labeling.
Page 104
User Interface shows the second option. With "Continuous Logging" you have a maximum of two files of the file size in the memory, which you can see above. The number of files field is not changed accordingly, it is only changed by the "new file at restart" option. "New file at restart"...
Page 105
User Interface Please note: Event based logged variables are logged when an event occurs! They can not be logged in an user specific order even if you changed the sorting of the table. Log Level must be switched at runtime between the 0 (no logging), and 1 to 9 (logging the variable up to the defined level only) with the internal variable @LogLevel.
Page 106
User Interface automatically when plug in an USB stick. If you plug a USB after the device is powered on you have to set the @LogCopyPath accordingly. Variab Default @Log /opt/pclient/logfiles Path @Log CopyP /disk/usbsda1 Use the @LogCopyProgress to show the overall progress when copy / move the log files to an external memory.
Page 107
User Interface Please note: After the copy process is finished the external device is not unmounted from the file system, but you can unplug without an explicit unmount or eject. Please wait for 2 seconds after the copy/move finished. To make sure the USB stick is mounted correctly, you can use a Java Script like this for your copy/move event: var usb_mounted = getVariableValue("@USBMemStatus");...
User Interface Explanation The already used disk space plus the new file will exceed the reserved disk space (half partition). The oldest File will be deleted. (only for "new file at restart") The available disk space is not sufficient for the next new logFile. The oldest File will be deleted.
Page 109
User Interface 1. Combo-Box: list of all opened projects 2. Text box/Combo box: search command 3. Button: search 4. Check boxes: search settings 5. Label: search details 6. Tree: search results 7. Latching button: show all search settings 8. Latching button: show detailed search results. (property/event matches) 9.
Page 110
User Interface 1. Combo-Box: list of all opened projects · List is empty if no project is available · List is always enabled · The selected project is used for the search 2. Text box/Combo box: search command · Combo-Box is always enabled ·...
Page 111
User Interface · If no match was found only the Project-Node is visible. · If no opened project exists the following message is shown: No current search! 7. Latching button: show all search settings · Shows/hides the detailed search settings panel ·...
Page 112
User Interface 8. Latching button: show detailed search results. (property/event matches) · Shows/Hides the detailed search results (Default is Enabled/Selected) · Enabled OPUS Projektor Manual...
Page 113
User Interface · Disabled 9. Button: go to previous search result node (with rollover) · Selects the previous search result object and opens the appropriate page/alarm/VKB and selects the object in the scene. · For communication objects nothing special happens ·...
Page 114
User Interface · Tree view: 12.Latching button: show search results as a list · Switches between List/Tree View (Default is List-View) · List view: 13.Latching button: expand search tree · Expands search tree (Default state: selected) Should only be used if tree view is enabled (makes no sense otherwise) 14.Latching button: collapse search tree ·...
Page 115
User Interface Should only be used if Tree-View is enabled (makes no sense otherwise) The tree will be collapsed, till the Pages The search command The Search-Command-Text-Box can be used in many different ways. For the current examples the Welcome-Project with default search settings are used. Possible syntaxes: ·...
Page 116
User Interface For the 1st example the simple word test is typed into the search command box. The String test is now search in every property/event of all Objects of all Pages/Alarms and VKBs in the Welcome-Project. Beside it will be searched in all Communication Objects (Variables, CAN-Messages and Owners) and in all JS-Files.
Page 117
User Interface If the property NAME is searched, the JS file names will also be considered. For all other properties the JS files will be ignored, because they don't have properties. Example 3 => Simple Integer search: Search Command: For the 3rd example the number 12 is typed for the search. The number 12 is now searched in every property/event of all Objects of all Pages/Alarms and VKBs in the Welcome-Project.
Page 118
User Interface => would match Example 4 => Connecting search commands Search Command: (#[Type ID]=8 || #[Type ID]=9) && test In the 4th example it is searched for the word test again, but now the Type ID of the found object(s) must be 8 or 9 (String Field or Numeric Field) The String test is now searched in all properties of all Objects in all Pages/Alarms and VKBs in the Welcome-Project.
Page 119
User Interface Note: All properties and events can be used for the search. Exceptions are only: · Border Profile and · List-Items For the Project the following properties are searchable: · General · Object · Alarm · Variable Logging · ISO-Bus ·...
Page 120
User Interface Settings: Search Command: #[Set As Input]=true Example 6 => Exchange the Font property for all String Fields with DejaVu (bulk property editing) Here it is searched for all String Fields that don't have language dependency that use the Font DejaVu Search command: #[Font]=DejaVu Sans &&...
Page 121
User Interface Tips & Tricks Special commands for #(): - With the search command #[Event]!=No Action it can be searched for all configured events in a project. - It is also possible to search for a specific event, e.g. OnPress: #[OnPress]!=No Action - It is possible to search for special actions, e.g.
Page 122
User Interface Update a property for several objects If e.g. the font property can be updated for all String Fields on a certain page with these steps 1. Open the page where the fonts shall be changed and close all others. 2.
User Interface 3.13 Project Versioning Sometimes users would like to have an old state from some months ago of the project to do some edits for a special customer who shouldn't get the latest changes. Sometimes it happened that a project had an error and could not be opened anymore in the program.
Page 124
User Interface How can I turn versioning on / off later on? Versioning can be turned on / off in the project properties of each project. If versioning is turned off, the existing revision data is kept, so if versioning is enabled again, all existing revisions are still available.
Page 125
User Interface As with the .git folder, please don't edit or remove this file. How can I access the different stages of my project? When opening a versioned project, you will see a dialog like this: The dialog shows the different revisions of this project. A revision is a certain state of the project, defined usually by a project save or a conversion.
Page 126
User Interface So yes, if you click yes now, all newer revisions of the project will be deleted (unless they have been tagged If you click No, nothing happens. If you click Revision Browser, the revision browser will be opened and you can manage your revisions. How do I use the revision browser? You can access the revision browser by clicking on the toolbar item or through the menu...
Page 127
User Interface In the revision browser the different revisions of the currently selected project can be viewed. Additionally, tags can be created, moved and deleted. What are tags? If you open an older revision of a project, make changes to it and try to save it, you will be warned that all newer revisions will be lost if the save is completed.
Page 128
User Interface When a versioned project is saved, a revision commit dialog appears. Here the user can add a comment to a commit and choose or create a new tag. A click on Commit Revision commits the currently saved revision to the versioning system. Cancel cancels the commit process.
Page 129
User Interface When do I risk losing a revision? The versioning system only deletes revision that do not have a reference to the "master" (i.e. the latest state of a project) or to a tag. Let's look at an example: A first save of a project Revison 1 (Master) Some edits to the project, delivery to a customer...
User Interface Delivery_2021_02_0 "Master" branch Revison 1 Revison 4 (Master) Note that by doing the above work flow, revision 3 was deleted, because it did not have any reference, not by the tag "Delivery_2021_02_03" nor by the "master". My save process was interrupted, my computer crashed or something, my project is broken, what do I do now? When opening the project, uncheck the "Latest revision"...
Page 131
User Interface In the dialog, choose one of the sample project slots, give a name and, optionally, a description, and click Create. The creation of the sample project will be confirmed in a dialog. OPUS Projektor Manual...
Page 132
User Interface If a custom sample project slot is already used, the dialog will warn that the old sample project will be overwritten. Now, a Custom folder is displayed in the new project dialog that contains the custom sample projects. Please note: Depending on the exact version of the program, it is possible that a backup of the project is made when a sample project is created.
Page 133
User Interface Tradeshow Dashboard project OPUS Projektor Manual...
User Interface This project is a ready-to-use dashboard for a trade show, complete with moving needles and blinking icons. There are 6 pages, with a hardware, a software programming information screen, a dynamic gauge to see the flexibility of our objects, a camera page and a multimedia player that can play back a video.
User Interface 3.16 Symbol Library We offer three sets of symbols in the OPUS Projektor: 2425 ISO 7000 symbols 4391 Material Design symbols 1433 Remix symbols Material Design Symbols These symbols can be used for free. The files were modified from its original state to be used with the blend color feature. The original files are available here.
Page 137
User Interface You are not allowed to use these symbols outside of projects for our devices! The full symbols package has to be purchased. Please contact your vendor for more information. General You can access the symbols by opening the Symbol Library toolbar on the right side (in the default view).
Page 138
User Interface You can also (re-)open the window by clicking the menu Window -> Symbol When the library is opened for the first time after the program was started, it takes a while to load the preview images. You will see a loading pop-up OPUS Projektor Manual...
Page 139
User Interface and you can see the loading progress in the lower right corner of the program. Once the previews are loaded, they are instantly available as long as the program stays open. Changing the zoom level requires a reloading of the preview symbols. UI elements In the bottom of the symbol library window there are some UI elements 1 - Search bar.
Page 140
User Interface 2 - Zoom slider. Here you can change the zoom level of the preview images in the symbol library window. Sliding to the left shows more smaller preview images, sliding to the right shows less larger preview images. 3 - Image size.
Page 141
User Interface Border Image - This will use the image as the border image of the object that it was dropped Video Image - This will use the image as the placeholder image for a video frame Needle Image - This will use the image as the needle image of the object that it was dropped Pressed Image - This will use the image as the pressed state image of the button that it was dropped on Released Image - This will use the image as the released state image of the button that it was...
User Interface Favourites Symbol images can be set to favourites to be found easier. This can be done by right-clicking on a symbol image and choosing Add To Favourites in the context menu: This will create a new tab Favourites where this and all other images set to favourites are displayed.
Page 143
User Interface The undo/redo buttons are only enabled if actions were done (undo) and undo steps were selected (redo). The number next to the undo/redo buttons show how many steps were recorded since starting the program / opening the project. This toggle button enables/disables tooltips of undo entries in the undo history list This toggle button enables/disables mouse navigation in the undo history list The undo history list always starts with "Start: <project name>".
Page 144
User Interface · Project-Properties/Project-Event changes · All dialog changes which modify the project o Simulation-Settings o Variable-Manager o Terminal and Owner(ECUs) Configuration... o Port Configuration o Configure Mappings Dialog o CAN-Freestyle: Transmit-Sequences o CAN-Freestyle: CAN-ID Masks o J1939: DM1/DM2 Settings o Import Variables o Import DBC-File o DataType definitions...
Page 145
User Interface o Rename: [JavaScripts]: <New-JS-FileName>: Rename · Dialog changes o Update: [Project]: <Dialog-Name>: updated Tooltip · Graphical Objects o Property/Event changes: Old-Value and New-Value is shown o Move changes: Old-Location and New-Location is shown o Resize changes: Old-Location/Size and New-Location/Size is shown ·...
User Interface If one or more objects are moved or resized on the scene, only one undo edit will be created => The undo edit will be created when mouse release event occured. => The edit is directly created when the first update occurs, but all following updates/undo edits will be merged into the first undo edit.
Page 147
User Interface Full live search field. You can search for "Group Name", "Name", "Index" and "SubIndex". Results will be filtered live as you type 5 Additional columns. Here you can choose to show more than the default columns. 6 Variable View Config. Main list.
User Interface indexes. Within the next section you can define how to deal with the index. Fill Index gaps (2) enables the creation of variables with free indices between already existing indices. Fill SubIndex gaps (3) enables the creation of variables with free sub indices between already existing sub indices.
Page 149
User Interface How to use the find usage? Find usage is started through the variable view on the bottom of the program. First select a variable (1) and than click the find usage icon (2) or, alternatively, right-click on the selected variable and choose "Find Usages of Variable"...
Page 150
User Interface If the hierachy of the project is too deep you have the option to flatten the view (2). This results in: How to navigate with find usages? OPUS Projektor Manual...
User Interface To jump directly to the found page double click directly on the object (2) in the tree (1). This results in opening the page and selecting the correct object (3). Known issue: In this version, the double click for the objects that are connected with the variables is disabled.
Page 152
User Interface By right-clicking the object in the project tree or in the scene and choosing the category Z- Order. Then the object can be set - one step to the front (Level Up) - one step to the back (Level Down) - into the background (Bring To Back) - into the foreground (Bring To Front) By using the Level Down...
Page 154
Variables Variables The main approach followed in the program is to create pages and the navigation between them which is a more static definition. The dynamics come in with variables changing their values. Other tools use the term "signal" instead of "variable" to describe the same thing. A CANopen "object" also describes what we call a "variable"...
Page 155
Variables Assume engine speed is a measured value coming from engine ECU but at the same time the operator can set a new desired engine speed by applying a new value to the engine speed variable. Then there are (at least) two different sources for new values of the same variable. If engine ECU is the owner of engine speed in this example, then the following will happen: One can see three effects here:...
Page 156
Variables If flickering back to last known value is not acceptable and the GUI can make sure that all settings made are valid then PClient could become the owner which would mean that any value of the variable is valid and variable will stay valid at any point of time. If display should forward the value owned by PClient to different busses it will forward each and every value modification made by anyone - because it considers all modifications valid.
Page 157
Variables · Variable groups are supposed to support the designer in keeping variables where he will find them again. These groups are not relevant for the device. · Index and subindex are used to identify a variable even on display side. This concept was mainly introduced for CANopen support but is used for all variables.
Page 158
Variables test4;0x3011;0x04;;;;INTEGER;16;;;;;TRUE;FALSE;FALSE To import variables, click in the menu Communication -> Import Export Variables -> Import Variables In the file dialog, choose the according file type (project xml or CSV) and the file from which you want to import the variables and click Open. OPUS Projektor Manual...
Page 159
Variables In this dialog you can choose the appropriate delimiter, the row where the program should start reading the variable data, and a table where you can tell the program which column contains which property for the variables. If you have used the format shown above you can use the default values and click Next...
Variables You can select single variables or all variables. Click on the button >> to choose variables for import. Click import to create all the chosen variables in your project. Variable Owner Menus On this help page, the user interfaces to create and manage variable owners are handled. It is based on the general concept of variables and owners but concentrates on the specific...
Page 161
Variables 1. Open "Communication" menu. 2. Select "Terminal and Owner ECU(s) Configuration ...". Open Terminal and Owner ECU(s) Configuration from Variable Manager 1. Open "Communication" menu. 2. Select "Variable Manager ..." 3. The Variable Manager dialog opens which could stay open for all variable creation and management.
Page 162
Variables 1. Select additional protocol and port it should run on. 2. Press "Add". 3. The new protocol will be selected automatically. In order to modify settings of an existing protocol select it here. 4. Edit display's properties for the protocol - these typically define how the display can be identified on the bus.
Page 163
Variables Open Process Configuration from Menu 1. Open "Communication" menu. 2. Select "Options". 3. Choose "Process Configuration...". Open Process Configuration from Variable Manager 1. Open"Communication" menu. 2. Select "Variable Manager...". 3. Variable Manager dialog opens which provides all the links to create and maintain variables.
Page 164
Variables 1. To add another process type the name of the program here. 2. Press "Add" button to add it to the GUI definition. Once you have added the process or selected an existing one you can edit their properties. Note: System defined processes can only be viewed but not edited or deleted.
Variables Socket Name This describes the interface PClient will use to communicate with the process. By default this is the same as the program's name but located in folder "tmp". If you should not know what a socket is: Consider it a kind of file which is used to exchange variable values.
Page 166
Variables 1. Check "Signed" if you need an additional signed data type. 2. Type the length of the new data type in bits. 3. Press "Add" button to add your new data type to the GUI definition. 4. New type will appear in this list (for our example it would be "INTEGER27"). 5.
Page 167
Variables Open Variable Groups Configuration from Variable Manager 1. Open Menu "Communication". 2. Select "Variable Manager..." 3. Press button "Groups..." Variable Group Configuration OPUS Projektor Manual...
Page 168
Variables Initially the dialog only shows the predefined variable groups which can not be modified or deleted. In order to add your group(s) 1. Press "Add Group" button 2. Type the name of your group in the box that appears and press "Enter". The new group will be moved where it belongs alphabetically in the list of variable groups.
Page 169
Variables 1. Open "Communication" menu. 2. Select "Variable Manager..." Create New Variable In order to add a new variable to the GUI definition 1. Press button "Create a new Variable..." in Variable Manager dialog. This opens the "Add New Variable" dialog. 2.
Page 170
Variables 3. Define the index for the variable. If you should use CANopen this will be the index published in EDS file. 4. Define subindex for the new variable. See dedicated section of variable concept for recommendations on index and subindex. 5.
Page 171
Variables The rest of this page explains properties and actions for variables. The filters mentioned in the image above should be self-explanatory. The configuration of CAN mappings is explained with the CAN protocols, see Freestyle CANopen J1939 Properties Name The name of a variable is used to identify the variable within the program mainly. In order to find a variable in this dialog, attach it to a DDO or use it in a script this name is required.
Page 172
Variables Like using variable groups proper selection of index and subindex can help to keep the GUI definition maintainable. See dedicated section of variable concept recommendations on index and subindex. Warning: Although one can change index and subindex here they render all references to this variable useless.
Page 173
Variables basic ASCII encoding (values 0 ... 127) then UTF-8 is the same as ASCII and every character takes exactly one byte. Access Type This property allows some optimization and is required for CANopen support. Generally the owner of a variable has full access and can modify its value whenever he needs to.
Variables OnValueChangeByOwner This event is triggered whenever the owner of the variable changes its value i.e. really sends a different value or "Force Writing" is true. If you should see any "Event Options" for this event - ignore them like PClient does. Possible actions that can be assigned are ·...
Page 175
Variables Invali 0x200 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Terminal "Type of Terminal" Either the terminal this PClient was compiled for or that was detected / configured. Index Subin Stora Lengt...
Page 176
Variables Invali 0x200 String Read disabl disabl enable Byte Only VALU Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @SerialNumber "Serial number of the terminal" 12 byte string as stored in EEPROM. Format is usually YYWWNNNHH where YY is the manufacturing year, WW is the manufacturing calendar week NNN the sequence number in that week and HH the hardware revision.
Page 177
Variables @SDUSB_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x201 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS...
Page 178
Variables "Memory size used for files on first partition of USB stick inserted." Resolution: 1 MB (e.g. 51 refers to a 51 MB used on card) Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type...
Page 179
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x202 Integer 32 Bit Read disabl disabl enable 21474 Only 83647 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @EnableServiceMode 0: Service Mode Disabled1: Enable service Mode (after reboot OS update process will be...
Page 180
Variables @PowerModes_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS...
Page 181
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_LowPowerDisplayState "State of the display in low power mode." 0: Off 1: On Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203...
Page 182
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_LowPower_RGB_LED_State "State of the multi color RGB LED functionality in low power mode." 0: Off 1: On Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 183
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_LowPowerEncoderState "State of the Encoder in low power mode." 0: Off 1: On Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203...
Page 184
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_LowPowerOutput1State "State of the 1st digital output in low power mode." 0: Off 1: On Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali...
Page 185
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_LowPowerCamOutputState "State of the camera supply voltage in low power mode." 0: Off 1: On Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali...
Page 186
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203 0x12 Integer 32 Bit Read/ disabl enable enable 45063 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_SleepModePropagationTime "This time in seconds is added to the @PWR_TimeToSleepMode before going into sleep...
Page 187
Variables 0: Off 1: On Only available on devices with digital inputs. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203 0x15 Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35...
Page 188
Variables @PWR_LowPowerDigitalInput4State "State of the 4th digital input in low power mode." 0: Off 1: On Only available on devices with digital inputs. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x203...
Page 189
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PWR_TimeFromSilentOnToLowPower "Define time spent in silent-on mode while no other wake source is enabled until power mode is switched to low power. " Time in seconds. When device starts in silent-on mode it will automatically switch to low power mode after this time if no other wake source is enabled (e.g.
Page 190
Variables Type Type Invali Value 0x204 Integer 32 Bit Read/ disabl disabl enable 16777 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @LEDMultiColorRepetitions "Number of repetitions of @LEDMultiColorPattern" Number of intervals to perform. For more details see user manual: FAQ -> How can I use the multicolor LED? Index Subin Stora...
Page 191
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS Sensors @Sensors_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x205 Integer 8 Bit Read disabl disabl...
Page 192
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @SensorSupplyVoltage "Input voltage of power supply in mV" Input voltage on permanent power supply (clamp 30) in mV e.g. 13294 means 13.294V Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin...
Page 193
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DigitalInput02 "Get state of digital input 02" Only valid for terminals equipped with such an input 0: low voltage on input pin 1: high voltage on input pin Index Subin Stora Lengt Acces...
Page 194
Variables 0x208 Integer 2 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS Analog Inputs @AnalogInputs_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as...
Page 195
Variables Please refere to the hardware documentation to find out which value range and precision is supported by a specific hardware. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x209 Integer 32 Bit Read disabl...
Page 196
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS FrequencyInputs @FrequencyInputs_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x209 Integer 8 Bit Read disabl disabl...
Page 197
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @InputConfiguration01 "Configure input 01 for digital/analog (voltage sensor) or for current sensor operation." Configure input 01 for digital/analog (voltage sensor) or for current sensor operation. Value 0 and 1: digital and analog operation (measured value in @DigitalInput01 and @AnalogInput01);...
Page 198
Variables 0x209 Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @InputConfiguration04 "Configure input 04 for digital/analog (voltage sensor) or for current sensor operation." Configure input 04 for digital/analog (voltage sensor) or for current sensor operation. Value 0 and 1: digital and analog operation (measured value in @DigitalInput04 and @AnalogInput04);...
Page 199
Variables and 1023. One step is about 11mV. For devices with i.MX 6 CPU: The value represents 1mV directly. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x209 Integer 16 Bit Read/ enable disabl enable...
Page 200
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS Digital Outputs @DigitalOutputs_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20a Integer 8 Bit Read disabl disabl...
Page 201
Variables 1: connect to ground Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20a Integer 2 Bit Read/ disabl disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DigitalOutput03...
Page 202
Variables @DigitalOutputLoopback02 "Value of the Digital Output 2 Loopback connection" New generation of devices have a loopback connection for the digital outputs which can read back the real set value and detect errors with this (see @DigitalOutputFailure0x). Index Subin Stora Lengt Acces Rema...
Page 203
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DigitalOutputFailure02 Shows if digital output 2 has detected a failure (set value != loopback value) If the value of @DigitalOutput0x and @DigitalOutputLoopback0x is not the same, this variable signals the failure. 0: No failure 1: Failure detected Index Subin...
Page 204
Variables 0x20b Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DispBacklightIntensity "Set display backlight intensity directly or activate automatic mode" 0 ... 100: set backlight intensity constant to this percentage else: Automatic backlight algorithm is active To make it clear: To activate the automatic backlight dimming based on the ambient light: Set a value that is NOT between 0 and 100 (e.g.
Page 205
Variables "Defines how often @DispBacklightAmbientLowPassed is calculated" Value in milliseconds how often the low passed ambient light sensor is calculated for the automatic display backlight dimming. See @DispBacklightAmbientLowPassed. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 206
Variables Display backlight intensity between specified values is linearly interpolated. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20b Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series...
Page 207
Variables Type Type Invali Value 0x20b Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DispBacklightIntensity50 "Intensity of display backlight when @DispBacklightAmbient-LowPassed == 50%" Display backlight intensity between specified values is linearly interpolated. Index Subin Stora Lengt...
Page 208
Variables 0x20b Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DispBacklightIntensity80 "Intensity of display backlight when @DispBacklightAmbient-LowPassed == 80%" Display backlight intensity between specified values is linearly interpolated. Index Subin Stora Lengt...
Page 209
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @DispBacklightOffset "Offset to be configured by end user (in case values above are fixed by brand owner)" see @DispBacklightAmbientLowPassed Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value...
Page 210
Variables 0x20b 0x13 Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS Keyboard Backlight @KeyboardBacklight_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin...
Page 211
Variables 0xff0000: red 0x00ff00: green 0x0000ff: blue 0x00ffff: cyan Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20c Unsign 32 Bit Read/ enable disabl enable 16777 16777 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series...
Page 212
Variables Invali 0x20c Unsign 32 Bit Read/ enable disabl enable 16777 16777 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @KeyBacklightStartupIntensity "Keypad Intensity that is set by the bootloader at cold boot until hardware daemon is started.
Page 213
Variables @Beeper_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20d Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS...
Page 214
Variables @BeeperAlarmVolume "Volume to be used for alarm beeps" Percentage of @BeeperMaxVolume to be used to alarm user. Typically set at runtime based on severity of an alarm. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 215
Variables 0x20d Integer 8 Bit Read/ enable enable enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @BeeperOnTime "On time in one beeper interval" Time in interval where beeper is switched on [ms] One interval consists of @BeeperOnTime + @BeeperOffTime Note: On devices with a speaker, short interval times (less than 300ms) might not trigger the speaker at the beginning of the pattern.
Page 216
Variables alarms. Beeper priorities are: - Key click (lowest) - Event based beep patterns - these variables - Control audio command (sent to ISO VT) - Alarms (with respect to their beep priority, highest) Value is 0 if the beeper is not active. Value is -1 if the beeeper is active. Note: On devices with a speaker, short interval times (less than 300ms) might not trigger the speaker at the beginning of the pattern.
Page 217
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20d Integer 2 Bit Read/ disabl enable enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @BeeperEventOn "Switch beeper on or of for an event"...
Page 218
Variables This pattern will be played with volume set in @BeeperAlarmVolume. e.g.: value is 5, bitwise: 00000000000000000101 resulting beep pattern: 100ms on 100ms off 100ms on 1700ms off The pattern will be repeated for @BeeperAlarmRepetition times. Note: On devices with a speaker, short interval times (less than 300ms) might not trigger the speaker at the beginning of the pattern.
Page 219
Variables "Writing: Number of intervals to perform. Reading: Beeper active/non-active" Note: On devices with a speaker, short interval times (less than 300ms) might not trigger the speaker at the beginning of the pattern. Defines how often @BeeperAlarmPattern will be repeated. Index Subin Stora Lengt...
Page 220
Variables 0x20d 0x12 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @VolumeLevelSpeaker Set the master volume of the internal speaker. Use this variable to set the master volume level of the internal speaker (0% to 100%). Index Subin Stora Lengt...
Page 221
Variables 0x210 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @RTC_Year "Local date: Year" Current year from the device's RTC chip. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent...
Page 222
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x210 Integer 8 Bit Read/ disabl disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @RTC_Hours "Local time: Hours"...
Page 223
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x210 Integer 8 Bit Read/ disabl disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @RTC_HoursAMPM "Same as @RTC_Hours, but in am/pm format"...
Page 224
Variables "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x212 Integer 32 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS...
Page 225
Variables @CAN1_MsgSent "Messages sent by terminal in last second." Counter of massages sent to the bus by the PClient during the last second. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x212...
Page 226
Variables Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CAN2_State State of CAN controller 2 The following values describe the state of the CAN controller: 0x00: Controller switched off 0x01: Controller is active, no errors 0x02: Error active state 0x03: Error passive state 0x04: Bus off state 0xff: Device Error...
Page 227
Variables Type Type Invali Value 0x212 Integer 32 Bit Read disabl disabl enable 21474 Only 83647 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CAN2_Bitrate Read or set the CAN bitrate of CAN Port 2. The value is in Bit per second. If the bitrate is changed while the CAN controller is running, it will be shut down and the new bitrate will be set.
Page 228
Variables State of CAN controller 3 The following values describe the state of the CAN controller: 0x00: Controller switched off 0x01: Controller is active, no errors 0x02: Error active state 0x03: Error passive state 0x04: Bus off state 0xff: Device Error It is possible to write the values 0 to this variable to switch the CAN controller off and 1 to switch it on.
Page 229
Variables 0x212 Integer 32 Bit Read disabl disabl enable 21474 Only 83647 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CAN3_Bitrate Read or set the CAN bitrate of CAN Port 3. The value is in Bit per second. If the bitrate is changed while the CAN controller is running, it will be shut down and the new bitrate will be set.
Page 230
Variables The following values describe the state of the CAN controller: 0x00: Controller switched off 0x01: Controller is active, no errors 0x02: Error active state 0x03: Error passive state 0x04: Bus off state 0xff: Device Error It is possible to write the values 0 to this variable to switch the CAN controller off and 1 to switch it on.
Page 231
Variables Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CAN4_Bitrate Read or set the CAN bitrate of CAN Port 4. The value is in Bit per second. If the bitrate is changed while the CAN controller is running, it will be shut down and the new bitrate will be set.
Page 232
Variables Invali 0x213 String Read/ enable enable enable /proc Byte Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CurrentFile "Currently selected file (file name only)" e.g.: "test.txt" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin...
Page 233
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x213 Integer 8 Bit Read/ disabl disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @FileSystemPath "A valid full qualified file system path"...
Page 234
Variables 0x213 Integer 32 Bit Read disabl disabl enable 21474 Only 83647 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CurrentFileSize "Shows the file size of @CurrentFile in kilobytes" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent...
Page 235
Variables Type Type Invali Value 0x214 String Read/ enable disabl enable 192.16 Byte Write 8.135. Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Ethernet0_Netmask "Currently set Netmask, can be set via Variable (default 255.255.255.0)" Index Subin Stora Lengt Acces...
Page 236
Variables 0x214 Integer 2 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Ethernet1_IPAddress "Currently set IpAddress (default 192.168.135.2)" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 237
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Ethernet1_UpAtStart "Should the adapter be started at startup? 1 = yes 0 = no; Default = 0" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 238
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Ethernet0_MasterConfig "Master/Slave configuration for automotive ethernet devices. 1: Master, 0: Slave" Only available on devices equipped with automotive ethernet (100BASE-TX, BroadR- Reach). If value of this variable is 1, the interface is configured as master (=> slave devices can be directly connected).
Page 239
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x215 Unsign 8 Bit Read/ disabl enable enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS PClient User Inputs...
Page 240
Variables @UserButtonPressed "Keycode of button currently pressed. -1 if no button is pressed" Please note that not all keys are available on all devices. Key codes: 0 - ESC 1 - Home 2 - Three Arrow Key 3 - Enter (Encoder) 6 - Stop 200 - Left Key 1 201 - Left Key 2...
Page 241
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @UserButtonReleased "Keycode of last button released." Keycodes: see @UserButtonPressed -1 if there is at least one button pressed. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 242
Variables Type Type Invali Value 0x207 Unsign 32 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @UserMultiButtonPressed_02 "Keys bitwise encoded so that press of multiple keys can be detected. To be used if terminal has more than 64 keys or to keep bit pattern device independent as long as possible."...
Page 243
Variables Coordinates are given in display coordinates starting with (0, 0) in the upper left corner Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x207 Unsign 16 Bit Read disabl disabl enable...
Page 244
Variables Warning: When multi touch functionality gets disabled (setting the value of this variable from 1 to 0), all currently pressed objects will be cancelled. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali...
Page 245
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e Integer 16 Bit Read/ enable disabl disabl Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam1Saturation "color saturation setting"...
Page 246
Variables 0x20e String Read enable disabl disabl /dev/vi Byte Only deo0 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam1Name "Name of camera position" e.g. "rearview", "left sweeper" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin...
Page 247
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e Integer 8 Bit Read/ disabl enable disabl Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam1XPosition "Get or set the X position of the video image"...
Page 248
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e 0x10 Integer 16 Bit Read/ disabl enable disabl 65535 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam1Height "Get or set the height of the video image."...
Page 249
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e Integer 8 Bit Read/ enable disabl disabl -127 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam2Contrast "contrast setting"...
Page 250
Variables 0x20e Integer 8 Bit Read/ enable disabl disabl -127 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam2Interface "Path to device file that is used for video input 2. Default value is device dependent" Index Subin Stora Lengt...
Page 251
Variables i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam2Mirror "Set/Get Mirror settings for camera" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e Integer 8 Bit Read/ disabl enable disabl...
Page 252
Variables This variables controls the width of the video image for this camera. On i.MX35 devices: Any value that is not a multiple of 8 might be truncated to the next smaller multiple of 8 by the hardware interface. On i.MX6 devices there is no restriction. Index Subin Stora Lengt...
Page 253
Variables @Cam3Brightness "brightness setting" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20e Integer 8 Bit Read/ enable disabl disabl -127 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam3Contrast...
Page 254
Variables Invali 0x20e Integer 8 Bit Read/ enable disabl disabl -127 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam3Interface "Path to device file that is used for video input 3. Default value is device dependent" Index Subin Stora Lengt...
Page 255
Variables 0x20e Integer 16 Bit Read/ disabl enable disabl Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @Cam3Mirror "Set/Get Mirror settings for camera" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 256
Variables @Cam3Width "Get or set the width of the video image." This variables controls the width of the video image for this camera. On i.MX35 devices: Any value that is not a multiple of 8 might be truncated to the next smaller multiple of 8 by the hardware interface.
Page 257
Variables @ActiveCamera "Number of active camera as bit field." Number of active camera as a bitfield: Bit 1: Analog Camera 1 (0x1) Bit 2: Analog Camera 2 (0x2) Bit 3: Analog Camera 3 (0x4) Bit 4: H264 Ethernet Camera (0x8) On i.MX6 devices it is possible to show video of camera 1 and 2 or 2 and 3 at the same time.
Page 258
Variables This variable does NOT need to be used if the application (e.g. PClient) handles video frames or pages automatically. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x20ef Integer 2 Bit Read/ disabl...
Page 259
Variables similar to ISO 11783-7, A.23.1, codes according to ISO 639 e.g. "de": german "en": english "fr": french "nl": dutch As defined in the project. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali...
Page 260
Variables Invali 0x220 Unsign 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @SettingsTimeFormat "time format to be used" similar to ISO 11783-7, A.23.4 0: 24 h 1: 12 h, am/pm Index Subin Stora Lengt...
Page 261
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x220 Unsign 2 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @SettingsVolumeUnits "type of volume units to be used"...
Page 262
Variables "type of temperature units to be used" similar to ISO 11783-7, A.23.5.6 0: metric [°K, °C] 1: imperial [°F] Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x220 Unsign 2 Bit Read/...
Page 263
Variables @SettingsUnitSystem "general unit system setting" similar to ISO 11783-7, A.23.5.9 0: metric 1: imperial 2: US Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x220 Unsign 2 Bit Read/ enable disabl...
Page 264
Variables Type Type Invali Value 0x224 Unsign 8 Bit Read/ enable enable disabl Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @UpdaterCANPort Sets the CAN Port for updates of the ClientUpdater. 0: CAN Port 1 is used 1: CAN Port 2 is used.
Page 265
Variables @Projekt_NoOfEntries "Number of entries in this group" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x240 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS...
Page 266
Variables @ProjektCurrentPage "get/set number of page currently visible" Page number as defined in project. Additionally the following numbers can be set: 0: Home Page -1: Jump one page back Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value...
Page 267
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x240 Integer 32 Bit Read disabl disabl enable 21474 Only 83647 Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @ProjektHistoryPage04 "get page that was current page before the one listed in @ProjektHistoryPage03"...
Page 268
Variables 0x240 Integer 8 Bit Read/ enable disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @ProjektTimePage "Time elapsed since PClient switched to current page" Time in ms since this page was initialized to be shown. Could be used to control some animation.
Page 269
Variables Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @PClientSimulationMode "Enable or disable PClient simulation mode" Enable or disable PClient simulation mode (when enabled, variable simulation can connect to PClient via Ethernet), see also @PClientSimulationPort Index Subin Stora Lengt Acces...
Page 270
Variables 401: Bottom softkey frame level up The value will be reverted back to 0 directly after writing. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x240 0x12 Unsign 8 Bit Read/ disabl...
Page 271
Variables 0x241 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @LogLevel "Select Level of data currently logged." Set loglevel so that data is logged according to this level defined in project. 0: Logging switched off Index Subin Stora...
Page 272
Variables 0x241 String Read/ enable disabl enable /disk/u Byte Write sbsda Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @LogCopyNow "Trigger copying / moving current log file and start a new file." 0: Do nothing 1: Copy log file from @LogPath to @LogCopyPath 2: Move log file from @LogPath to @LogCopyPath Value is reset to 0 when copying/moving is finished Index Subin...
Page 273
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x241 Unsign 8 Bit Read/ disabl disabl enable Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @LogCurrentLogFileName "Name of the current log file without the leading path"...
Page 274
Variables Invali 0x241 Integer 32 Bit Read/ enable disabl enable 10000 Write Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @LogCopyError "Error Number 0 = OK" If the copy / move feature fails in some way, you can see the error code here. Index Subin Stora Lengt...
Page 275
Variables Type Type Invali Value 0x242 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @VisibilityStore "Store visibility of one or all visibility variable(s) remanently and overwrite the initial setting" -1: do nothing XX == 00 ...
Page 276
Variables @Visibility00 "Represents Visibility group 00" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 277
Variables @Visibility03 "Represents Visibility group 03" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 278
Variables @Visibility06 "Represents Visibility group 06" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 279
Variables @Visibility09 "Represents Visibility group 09" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 280
Variables @Visibility12 "Represents Visibility group 12" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 281
Variables @Visibility15 "Represents Visibility group 15" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 282
Variables @Visibility18 "Represents Visibility group 18" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 283
Variables @Visibility21 "Represents Visibility group 21" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 284
Variables @Visibility24 "Represents Visibility group 24" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 285
Variables @Visibility27 "Represents Visibility group 27" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 286
Variables @Visibility30 "Represents Visibility group 30" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 287
Variables @Visibility33 "Represents Visibility group 33" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 288
Variables @Visibility36 "Represents Visibility group 36" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 289
Variables @Visibility39 "Represents Visibility group 39" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 290
Variables @Visibility42 "Represents Visibility group 42" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 291
Variables @Visibility45 "Represents Visibility group 45" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 292
Variables @Visibility48 "Represents Visibility group 48" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 293
Variables @Visibility51 "Represents Visibility group 51" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 294
Variables @Visibility54 "Represents Visibility group 54" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 295
Variables @Visibility57 "Represents Visibility group 57" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 296
Variables @Visibility60 "Represents Visibility group 60" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 297
Variables @Visibility63 "Represents Visibility group 63" Where a bit is set (1) the objects assigned to it are visible. Default is "all objects visible" Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value...
Page 298
Variables Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @AlarmCurrent "Alarm currently shown on screen" Alarm number of alarm currently shown on screen. Additionally bit 15 is set when the alarm is acknowledged by the user. To be requested by ECRR to receive user ACK.
Page 299
Variables 0x243 Unsign 16 Bit Read disabl disabl enable 36863 Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @AlarmCurrentPriority "Priority of the currently visible alarm" Alarm properties are as followed (n is the number of defined alarm priorities, maximum is 0: Emergency Alarm, high priority 1: Medium priority 2: Low priority...
Page 300
Variables This variable stores the Value being edited by the Virtual Keyboard. This is always a string value and appropriate casting is required for the Numeric DDO. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type...
Page 301
Variables ID of the Layer(Container Object) to be displayed for the current VKB. Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x244 Unsign 32 Bit Read/ disabl disabl enable 21474 Write 83647...
Page 302
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x245 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @MalfunctionIndicatorLampStatus "Combined status and flash information of the DM1 Malfunction Indicator Lamp (calculated...
Page 303
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x245 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @ProtectLampStatus "Combined status and flash information of the DM1 Protect Lamp (calculated value from all...
Page 304
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x245 Integer 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @AmberWarningLampFlashing "Calculated value from all flashing and status information for the Amber Warning lamp.
Page 305
Variables Index Subin Stora Lengt Acces Rema Force Initiali Defaul nent Writin ze as Value Value Type Type Invali Value 0x246 Unsign 8 Bit Read disabl disabl enable Only Supported on Platforms: i.MX 35 i.MX 6 A-Series i.MX 6 B-Series ISOBUS @CurrentThemeIndex "Index of current shown theme.
Page 307
The communication between the terminal and other devices is realized with the help of CAN protocols. Each kind of protocol supported has its special properties to be configured according to the requirements. Supported are 2 prevalent and 1 proprietary CAN protocol: ·...
CANFreestyle General Introduction CANFreestyle is a simple proprietary protocol, without e.g. the complexity of a transport protocol. So this protocol is very easy to use. Anyway you can modify CAN values that you want to send on the bus as well as the CAN values that you received from the CAN bus.
Page 309
ECU Configuration Once the port is configured the protocol itself has to be assigned to it. 1. Open "Communication" menu and choose "Terminal and Owner ECU(s) Configuration ...". The "Terminal and Owner ECU(s) Configuration" dialog will appear 2. Press on the arrow and select CANFreestyle protocol for the CAN port you want it to run on 3.
Page 310
1. Select CANFreestyle on the CAN port configured before - in our example we configured it for CAN 1. 2. Type a valid name and description - these are mainly for your convenience and may help others to understand the GUI configuration in future. Properties of Owner ECU(s) ECUs are configured in the same "Terminal and Owner ECU(s) Configuration"...
Page 311
1. Open Menu "Communication" 2. Select "Variable Group Configuration ..." 3. In the dialog that opens press "Add Group" to create a new variable group 4. Type a sensible name for the new group OPUS Projektor Manual...
Page 312
5. Once you pressed "Enter" to confirm the new group name it will move according to alphabetical order of all groups. 6. Press "close" once you're finished creating or deleting variable groups. Creating CANFreestyle variables Creation of CANFreestyle variables is similar to all other variables OPUS Projektor Manual...
Page 313
1. Open the "Communication" menu and choose "Variable Manager ..." entry 2. Variable Manager dialog opens (which can be used as shortcut to all variable related tasks) 3. Press "Create a new Variable ..." button 4. "Add new variable" dialog opens OPUS Projektor Manual...
Page 314
5. Fill in a name of the variable 6. Type an index for the variable. You are free to enter the value in decimal or hexadecimal, starting with "0x". Anyways hexadecimal will be displayed. (Although the concept comes from CANopen you should use index and subindex as a means of ordering and grouping of variables) 7.
Page 315
For a detailed description of all the variable properties and events please refer to variable view There is a second option to create variables: 1. In variable view press the "Var +" button 2. A new variable with default settings appears 3.
Page 316
1. If you want to edit CAN ID Masks you can find it in the main menu like shown above. A new dialog CAN ID Mask will be open. 2. For performance reasons you can only define 6 CAN ID Masks 3.
Page 317
8. Deletes the currently selected mask. NOTE: The predefined mask can not be deleted. 9. To save the settings you have to press the "OK" button The created Masks can be used here Defining Variable Mappings After having defined an ECU as variable owner and the variable itself we finally have to define the connection between the two.
Page 318
1. Open the menu "communication". Select "Protocols". Choose "CANFreestyle". Select "Configure Mappings ...". 2. The "CANFreestyle Configure Mappings" dialog will pop up. 3. Type the name of your mapping 4. Select the type "Receive" if the display shall fetch values from CAN bus and "Transmit"...
Page 319
Description Should be a valid description of the mapping which helps understanding its purpose and context in future. Mapping Variable Type CANFreestyle only supports one type: · Length based mappings find every variable (or constant) by position and length within the CAN message. If length based mappings are less than 8 bytes long, their variables or constants can be placed at any position.
Page 320
These settings define if and when the display sends a request (for receive mappings) or answers a request for a transmit mapping. The only pre-requisite is that the ECU sending the request is "known", i.e. defined in the ECU Configuration Enable Request For receive mappings this means that the display will send out a request to get the Mapping based on the following settings.
Page 321
Please note that all other values in the mapping will be the ones provided by their respective owners and even the new setpoint will in the next message be replaced by the last measured value provided by the owner. If you should want to write to the same variable from many sites you should consider "PClient"...
Page 322
Create the mapping multiple times with different constant values. Each mapping will only react if its constant value equals the incoming message. The variables should match the message structure for the according multiplexer value. 1. Press "Add" button to add a line to the mapping. 2.
Page 323
· "Set Value" to assign a constant value to a variable, e.g. to reset a counter, raise an alarm or trigger something attached to a variable where "Force Writing" is true. · "Execute Script" allows to execute a script and provides additional parameter "Execute on every Xth Event"...
Page 324
Length Defines the size of the mapped numeric variable or constant in bits. If a string is mapped this defines the length of the string in bytes. Mapped length can be shorter than the length defined for the variable but not longer. By default the variable length is used.
Page 325
Floating point value to scale the received value before applying it to the mapped variable. Is applied after mask, shift and offset 1 but before offset 2. Scale is not used for String variables. Values can be entered in decimal form or in scientific notation / floating-point representation.
Page 326
1. Open Menu "Transmit Sequence..." 2. Enter a Sequence Name in the new dialog named CANFreestyle Transmit Sequence which appears. 3. Press "Add" button Afterwards following should be visible OPUS Projektor Manual...
Page 327
4. Combo box where you can select the sequence you want to edit. 5. Deletes the current selected sequence. 6. Name of the transmit sequence which is currently selected 7. Here you can add a description for the sequence 8. Target owner which should receive the sequence. 9.
11.Select the mapping you want to add to the sequence. 12.Press "Add >>" to add the message to the sequence After adding of mapping objects the dialog should look like this: 13.If a mapping was mapped by mistake you can select the mapping and remove it again with the "<<...
Page 329
o Abort SDO Transfer protocol · NMT (Slave implementation) o NMT transitions o NMT states · PDO Communication o Asynchronous communication o acyclic and cyclic communication · EDS File The following Features are NOT implemented: · EMCY Messages · Node Guarding ·...
Page 330
Communicate using CANopen protocol To set up the CANopen protocol go to menu communication-> Terminal and Owner ECU(s) Configuration (1) Then the user can choose the protocol CANopen on the desired CAN port OPUS Projektor Manual...
Page 331
Dialog to set up the CANopen protocol on a device CAN Port instance configuration Step 1 : Selecting a port protocol instance To add a CANopen protocol instance, select the protocol to be supported on the desired port and press Add The added protocol instance is now selected in the view Select Protocol and configure Terminal and ECU(s) Step 2: Selection and configuration of device node...
Page 332
Properties values / Range Default values Name max 255 characters Name ofd the selected panel Description max. 255 characters Node ID 0x1 -0x7F HeartBeat Producer (ms) 0-65535 (Object 1017) SDO Timeout (msec) 100 - 1000 Step 3: Configuration of other nodes in the CANopen Network After selecting and CAN port, a "partner"...
Page 333
For the new CANopen Device, events can be configured: Events Options (1) actions (2) Set Value OnHeartBeatTimeout Sound pattern Execute Script Configuration of event OnHeartBeatTimeout. Step 4: Deleting of CANopen protocol instance User can delete a whole CANopen protocol instance from the project. All CANopen variables will be assigned to the owner PClient.
Page 334
Step1: Press on button Create a new Variable By pressing on this button, the dialog Add New Variable appears. User can configure following properties: Properties values / Range Default values Name (2) max 255 characters blank Index (3) 0x3000-0x5FFF blank Sub-Index (4) 0x0-0xFE blank...
Page 335
Properties values / Range Default values List of defined Owners Owner (6) PClient or last used Owner + PClient User defined group Group (7) Common + Common Step 2: By pressing Add the new variable will be created with selected configuration assuming that no issue is existing Step 3: By pressing Close, the dialog Add a new Variable will be closed.
Page 336
Properties values / Range Default values ECU Variable Index 0x0-0x9FFF ECU Variable Subindex 0x0-0xFE For the new CANopen Device, events can be configured: Events Options (1) actions (2) Set Value OnValueChangeByOwner Sound pattern Scale Value Execute Script Set Value OnValueChangeRequest Sound pattern Scale Value Execute Script...
Page 337
For each CANopen variable, user can configure the Index and Subindex of the manufacturer object on his own device with properties ECU Variable Index and ECU Variable Subindex. The device can also send an SDO Download Write Request to the CANopenECU using this setting and PClient Client Channel as defined in the Terminal and Owner ECU(s) Configuration Example:...
Page 338
· There may be only one active SDO Upload Request. If more Upload Requests are triggered via requestVariableValueFromOwner, they will be queued until either a timeout happens (see below) or the ECU answers with a SDO Upload Response. · The ECU has to answer to an SDO Upload Request within 100ms. If the answer takes longer or is not answered at all, an SDOAbort message will be sent (with error code SDO Protocol Timeout).
Page 339
Step 1: Add a new Mapping Object OPUS Projektor Manual...
Page 340
The user enters a name for the PDO and selects the PDO type Receive or Transmit. By pressing Add , the PDO will be created and appears as selected in the field Select Mapping Object. Step 2: User selects the PDO Step 3: User can update the following Properties /Events Properties values / Range...
Page 341
Properties values / Range Default values sync* message on the bus for messages to be processed) 0 - 65535 For Receive: will be handled Event Timer as time out For Transmit: period for sending CAN message Only configurable for Inhibit Time Transmit PDOs 0-65535 (milliseconds) Only configurable for...
Page 342
· "Set Value" to assign a constant value to a variable, e.g. to reset a counter, raise an alarm or trigger something attached to a variable where "Force Writing" is true. · "Execute Script" allows to execute a script and provides additional parameter "Execute on every Xth Event"...
Page 343
The protocol consists of the following main elements: · unique identification of each participant on the bus · standardized message and number format for many automotive use cases · means to transfer data > 8 bytes (i.e. longer than one CAN message) These main components are described in the following sections.
Page 344
3. Bits 23 ... 16 define the "PDU Format": If "PDU format" is less than 240 then "PDU specific" is 0 in the PGN definition and is replaced by the destination address in the CAN identifier (PDU1). If "PDU format" is greater or equal to 240 then "PDU specific"...
5.3.1 J1939 Basic Settings This page is a follow-up of the general introduction into J1939 Here the general setup required to use J1939 is described. There are two more pages describing setup of J1939 ECU and variable definitions J1939 PGN mappings Adding J1939 to the project Before one can use J1939 protocol it has to be activated.
Page 346
1. Open "Communication" menu 2. Choose "Terminal and Owner ECU(s) Configuration ..." 3. The "Terminal and Owner ECU(s) Configuration" dialog will appear 4. Press on the arrow to see the protocols available 5. Select J1939 protocol for the CAN port you want it to run on 6.
Page 347
Defining Display's J1939 Address Knowing that every ECU on the bus has to claim an address we now have to configure the display's own address in the same dialog: 1. Select J1939 on the CAN port configured before - in our example we configured it for CAN 1.
Page 348
address but use another one if forced to do so by an ECU with higher priority. The default 0x54 == 84 is reserved for "Cab Display #2" in the main J1939 document. 5. Configure the display's J1939 name after pressing the button with the three dots. Configure Display's J1939 name The display claims a J1939 name at startup and whenever asked for it.
· The second section shows the bytes as they will appear in the display's address claim message on CAN bus. This section can only be edited in hexadecimal format. · The lower section shows the resulting J1939 as 64 bit number. Like the section above this one can only be edited in hexadecimal format.
Page 350
ECUs are configured in the lower part of this dialog: 1. Type a name describing the ECU 2. Press "Add" Then the new ECU will automatically be selected and one can modify the other parameters: OPUS Projektor Manual...
Page 351
3. Provide a description that could help others to understand better which ECU is meant here. 4. Select "Static" since we want to configure an ECU with a static address here (ECUs with dynamic addresses are handled below). 5. Type the source address this ECU will use. This can be done in decimal or hexadecimal format.
Page 352
1..3. Are the same steps as above. 2. Select "Dynamic" since we want to configure an ECU with dynamic address claim here 3. The "Source Address" chosen here is not really relevant - the display will identify the ECU by its J1939 name. Anyways it's a good idea to configure the preferred address of the ECU here.
Page 353
The fields of the J1939 name are explained here One could find out the name of an ECU with a CAN tool the name is the data part of the address claim message looking like this in a CAN tool: 18EAFFFE 3 00 EE 00 18EEFF4D 8 23 47 E0 FF FF 00 FE FF The first line shows a "request for address claimed"...
Page 354
Setting Masks for the J1939 Name of an ECU The message above shows the J1939 name of one specific ECU. The challenge now is to decide which parts of the name are relevant for the display to recognize this ECU on the bus.
Page 355
1. Open Menu "Communication" 2. Select "Variable Group Configuration ..." 3. In the dialog that opens press "Add Group" to create a new variable group 4. Type a sensible name for the new group OPUS Projektor Manual...
Page 356
5. Once you pressed "Enter" to confirm the new group name it will move according to alphabetical order of all groups. 6. Press "close" once you're finished creating or deleting variable groups. If you delete a variable group that is not empty, all the remaining variables of the deleted group will be moved to group "Common"...
Page 357
1. Open the "Communication" menu 2. Choose "Variable Manager ..." entry 3. Variable Manager dialog opens (which can be used as shortcut to all variable related tasks) 4. Press "Create a new Variable ..." button 5. "Add new variable" dialog opens 6.
Page 358
9. Select signed or unsigned data type at least as wide as the variable will be in CAN message. 10.Change owner from default "PClient" to the newly created J1939 ECU. Note: If you keep "PClient" you could handle the variable also but would not notice if the ECU is not available anymore.
Page 359
As you may have noticed the "Description" was added and the variable type was modified from "INTEGER8" to "UNSIGNED8". For a detailed description of all the variable properties and events please refer to variables menu description There is a second option to create variables: 1.
Warning: Depending on your sorting option the variable can "disappear" whenever a modification is confirmed. More details on this option can be found in variable view So the recommendation is to create variables following the first option and use the variable view to manage and modify existing variables.
Page 361
1. Open menu "communication". 2. Select "Protocols". 3. Choose "J1939" 4. Select "Configure Mappings ...". 5. The "J1939 Configure Mappings" dialog will pop up. 6. Type the name of your PGN mapping - in the example we want to define PGN 65262 "Engine Temperature 1"...
Page 362
The dialog will populate with the default setting for the new mapping object which have to be modified according to your intentions: General Is the object ID internally created which can not be modified. Name The name of the mapping as used during creation. This name can be edited here. Type "Receive"...
Page 363
· Length based mappings find every variable (or constant) by position and length within the CAN message. If length based mappings are less than 8 bytes long their variables or constants can be placed at any position. If they should be longer the variables and constants have to be byte aligned.
Page 364
Request Settings These settings define if and when the display sends a request (for receive mappings) or answers a request with a transmit mapping. In any case the display answers the "request for PGN" if it has a transmit mapping configured for the requested PGN.
Page 365
Transmit Settings Use as Write Request If checked this means that the transmit mapping will be sent out once if there is a write request to one of the variables contained in the mapping. Usually the display only sends values provided by the owners of the respective variables in transmit mappings. This means that e.g.
Page 366
· "Execute Script" allows to execute a script and provides additional parameter "Execute on every Xth Event" so that it is possible to execute the script only for e.g. every third timeout. OnReceiveTimeOutResolvedAction This event is triggered if a receive mapping which time out before is received again. If this happens all the variables mapped to the PGN are automatically considered valid again (assuming the PGN received really contained a value for them) and additionally the action is executed.
Page 367
Note: The last condition allows covering multiplexed PGNs by defining a separate mapping for each value of the multiplexer Note: Message length is only compared if less than 8 bytes are defined. For messages with flexible size or other reason to ignore length, make sure configure the length of the message to a value >8.
Page 368
behind the CAN ID and ends with byte 8. In a byte with value 1 bit 1 is set, in a byte with value 128 bit 8 is set. These enumeration scheme matches the one used in J1939 standard documents so that you can directly copy the position.
Page 369
Values can be entered in decimal form or in scientific notation / floating-point representation. Shift X Bits Shift received value to the right by as many bits as defined here. Negative values shift to the left. This value is applied after the mask but before offset and scale. See section mapping calculations for details about how this property applies to receive...
This will correctly provide temperatures from 0 ... 210 °C since we defined the variable as "unsigned". CAN values 0 ... 39 will be converted into high unsigned values by Offset1. Alternatively we could have defined the variable as "signed" so that temperatures of -40 ... 87 °C would be displayed correctly.
Page 371
A description of all available settings follows here: Common Settings for DM1 and DM2 Select CAN Port Select the CAN port for which you want to configure the DM settings. Only CAN ports that have a J1939 protocol attached are available. When changing the CAN port you can choose to apply the settings you have made for the current CAN port.
Page 372
#SPN translation # syntax: SPN;Number;Translation SPN;110;Coolant Temp. SPN;1119;Exh. Oxygen SPN;161;Shaft Speed SPN;177;Oil Temp. SPN;521;Pedal Pos. SPN;1091;Pressure SPN;258856;Tire F_L SPN;258857;Tire F_R SPN;258866;Tire R_F_L SPN;258876;Tire R_R_L SPN;258867;Tire R_F_R SPN;258877;Tire R_R_R #General FMI codes. Used if no SPN specific FMI was declared #Syntax: FMI;Number;Translation FMI;0;Above Normal FMI;1;Below Normal FMI;2;Data Erratic...
Page 373
# syntax: SPN;Number;TranslationLanguage0;TranslationLanguage1 SPN;110;Coolant Temp.;Kuehltemperatur SPN;177;Oil Temp.;Oel Temperatur SPN;1091;Pressure;Druck #General FMI codes. Used if no SPN specific FMI was declared #Syntax: FMI;Number; TranslationLanguage0;TranslationLanguage1 FMI;0;Above Normal;Ueber Normal FMI;1;Below Normal;Unter Normal #SPN specific FMI codes. #Syntax: SPNFMI;ECUAddress;SPN;FMI;FMITranslationLang0;FMITranslationLan SPNFMI;0x0b;521;0;Pedal position too high; Pedal Position zu hoch Please note that the sequence of the languages corresponds to the configured language indices (see Project Properties =>...
Page 374
Open Alarm On Change If the “Open Alarm On Change” checkbox is enabled, the Alarm Number of an existing Alarm can be entered in the text field. Now whenever a new or changed DTC arrives in a DM message this Alarm will pop up and the currently active DTCs can be presented to the user.
Page 375
In this dialog it can be configured if all SPNs of one ECU shall be extracted or if only the configured ones shall be handled. Furthermore it can be specified if an alarm shall be triggered if a certain SPN is received in a DM1 message. If all SPNs shall be extracted, the “Extract Errors of all SPNs”...
Page 376
· Engage alarm 16 for SPN 116 if FMI is 0 (FMI is 0, Alarm is 16) · Engage alarm 17 for SPN 116 if FMI is 1 (FMI is 1, Alarm is 17) · Engage alarm 24 for SPN 177 and don’t care for FMI (FMI is -1, Alarm is 24) ·...
Page 377
Now add two entries in the Configure mappings of variables for selected mapping object section of the dialog by pressing the Add button twice. Make the same settings as in the screenshot below: Important is that the first 16 bit entry is constant with Mask 0xffff and the Constant Value of 0xfecb.
Page 378
Screenshots from an example DM2 Table Object running on adevice: First without a translation file: And with a valid translation file: How to clear the data of a table object Execute a script with the following content: var emptyArray = new Array(0); //the first parameter of setProperty function is the Object ID, //make sure that you enter the correct ID (probably not 291) var tableID = 291;...
Page 379
//Create an Array to store each line of the log file: var logFile = new Array(); //create a string with the name of the log file (the same that was configured in DM1 Settings) var logFileName = “j1939_DM1_log_file.csv”; //now a variable with the default log path: var path = “/opt/logfiles/”;...
Page 380
Malfunction bits 8-7 Indicator Lamp Status Amber bits 4-3 Warning Lamp Status Protect bits 2-1 Lamp Status and a flashing indicator (byte 2): Flash bits 8-7 Malfunction Indicator Flash Red bits 6-5 Stop Lamp Flash Amber bits 4-3 Warning Lamp Flash Protect bits 2-1 Lamp...
Value for Status read Value for Flashing value of value of from DM1 messages read from DM1 @XXXLampStatus @XXXLampFlashing (Byte 1) messages (Byte 2) 0: Lamp Off 1: Lamp On 0: Lamp Off 0: Lamp Off 0: Lamp Off 0: Lamp Off 0: Lamp Off 0: Lamp Off 0: Lamp Off...
Page 382
To start the import, open the dialog under the menu Communication -> Import-Export -> Import DBC File. Note that the dialog can only be opened with an opened project. The import process is done in two steps. In the first step, a CAN protocol needs to be chosen and a DBC file is selected. In the second step, the CAN messages and variables to be imported are selected.
Page 383
If no CAN protocol has been added to the project, an import of a DBC file isn't possible, so first at least one CAN protocol has to be added. The Configure ECU(s) dialog can be reached directly from this dialog with the button "Configure ECU(s)...".
Page 384
In this case the parsing failed with an error in the Message_3. The hint [ParameterExceoption] shows the root cause for this issue. In the example a parameter Message-Length is missing. NOTE: Please validate the DBC-File with Help of Vector CANdb++ Editor and solve all warnings before importing the DBC-File.
Page 385
Below the ECU selection box there are two check boxes. With the fist check box, all ECUs can be selected / deselected for import. With the second check box, the terminal ECU settings (the CAN protocol settings for the OPUS device) can be imported from a DBC file. Note: The check box is only available if such settings have been exported into the DBC file.
Page 386
In the second step of the dialog the CAN messages and variables for import can be selected. To select a CAN message for import, activate the check box in the Select column in the upper table of the dialog. With Select/deselect all CAN Messages, all messages can be selected or deselected at once.
Page 387
The direction type (Receive or Transmit) can be set in the column Type. The name of the CAN mapping can also be changed from what is given in the DBC file. Finally, the owner can be changed in the column Owner to specify from which ECU the message will be sent. When a CAN message is selected for import, the according variables are automatically selected for import, as well.
Page 388
Only when there are no conflicts, the import process can be finished. If a variable is already existent in the project and the data type matches the variable in the DBC file, the variable will be used. In the Mapped Variable table, such variables will be shown with a gray background.
Page 389
In the bottom of the dialog an overview of the CAN messages and variables in the DBC file and the ones selected for import are shown. In the Variables tab all variables in the DBC file are shown. In this tab, variables can be selected and deselected for import.
Page 390
Additionally, regular expressions can be used to search in the DBC file data. The search can also be used to specifically search in certain data fields: CAN Messages tab: · Column Import [boolean] => #Import=false/true => true if Object is selected for import ·...
#Name=engine searches for all mappings that contain the character sequence "engine" anywhere in the mapping name or variable name Note: Search terms can be combined (AND) by typing them one after another: #CAN-ID=0x7e5 #Name=engine searches for all mappings with ID 0x7e5 that have engine in the mapping name or variable name Note: Invalid search terms will be ignored, e.g.
Page 392
To start the export, open the dialog under the menu Communication -> Import-Export -> Export DBC File. Note that the dialog can only be opened with an opened project. The export process is done in two steps. In the first step, a CAN protocol needs to be chosen and a DBC file name is given. In the second step, the CAN messages and variables to be exported are selected.
Page 393
If there are several protocols in the project, one has to be chosen for the DBC export, i.e. from which protocol the CAN mappings should be exported. A folder to save the file in has to be selected. Then a valid file name has to be given. The file name needs to be complete, i.e with the extension, e.g.
Page 394
In the second step of the dialog the CAN messages and variables for import can be selected. To select a CAN message for import, activate the check box in the Select column in the upper table of the dialog. With Select/deselect all CAN Messages, all messages can be selected or deselected at once.
Page 395
· Messages with same CAN-ID but different Multiplexer-Positions can not be exported. This is not supported by the DBC format When a CAN message is selected for import, the according variables are automatically selected for import, as well. The table below the CAN messages shows the mapped variables of the currently selected CAN message.
Page 396
The following properties of CAN mappings are exported: All protocols: · Type (RX/TX) · Producer of the message (for Receive the "Receive From" value will be set, for Transmit the device will be set) · Consumer of the message (for Receive the device will be set, for Transmit the "Transmit To"...
· The name of predefined variables e.g. @AlarmShow is not valid in DBC-Format. (the @ sign is a delimiter) so the prefix __AT__ is used instead (e.g. __AT__AlarmShow) · The Scale and Offset2 of variable mappings is used for setting Scale and Offset. (Offset1 will be exported as a user-defined attribute that won't be used in Vector) ·...
Page 398
Open Visual CAN Mapping view Visual CAN Mapping is available for all protocols (CANopen, J1939 and CANFreestyle) It can be opened at the dialog "Configure Mappings...". To open Visual CAN Mapping please navigate to: Communication - Protocols - (1) CANFreestyle (2) CANopen (3) J1939 - (4) Configure Mappings...
Page 399
Alternatively, you can use the three shortcuts in the tool bar. VCM Toolpanel (1) Button panel for add, delete, move variable mappings. The buttons will be disabled/enabled depending on the state of the VCM table. (2) Search field to search after variables (3) Variables tree with all variables which can be mapped to current mapping object.
Page 400
There are 2 possibilities to add variables/constants 1. Add variable/constant with "Add" button. 1a Add variable By clicking on "Add" (1) a new dialog will be opened. In the dialog you can select a variable which is allowed to map to the current mapping object. You can filter the variable in 2 categories: - filter by "Owner"...
Page 401
If you want to add a constant you have to select the check box "Constant" (1). All other fields will become disabled. By clicking "Add" a constant will be added to the current mapping object. Note 1: If a variable is selected the new variable/constant will be added at the start bit of the selected variable.
Page 402
Note 2: Constants are not available for CANopen mappings and J1939 delimiter mappings. The length of the constant can be changed by clicking on the constant at the VCM table. Afterwards you can update the length at the VCM Configure Mapping table. For more information about the VCM Configure Mapping table look here Deleting variables...
Page 403
2. Trigger move up/down via mouse wheel The move function can also be triggered with the mouse wheel. If you want to to move up or down selected variables, you have to press the left "Ctrl" key of the keyboard together with mouse wheel up or down.
Page 404
At the searchfield (1) you can search after variables by their - names - groups - owners - index - subindex The variable tree (2) will be updated in real time after the first input at the search field. Only variables which hit the search text will be shown. To add a variable to the VCM table drag a varaible (3) and move it to the VCM table.
Page 405
- Transmit Mapping => "Tx: Engine_Tx" 4 Variable tree context menu There are 3 options at the context menu of the variable tree (1) Collapse all Only the groups of the variable will be shown (2) Expand all All groups with all variables will be shown (3) Open Variable Manager...
Page 406
Overview - The column titles shows the bit number of the current byte and the row titles shows the appropriate byte. - The table starts in the upper right corner with bit index 1, which represents the first bit of a mapping. - At the end and start bit the name of mapped variable / constant is shown.
Page 407
After dropping the variable "Engine_Speed" at "Bit 9" they switch the position Now you can move the variable "Engine_Speed" to "Bit 17". If you try this you will get following picture (1): The variables "Engine_Speed" and "Engine_Temp" can not switch their positions, because variable "Engine_Temp"...
Page 408
The variables will turn red if they are dragged out of the table. If you drop them outside they will be deleted. The position of the other variables will not be changed after the deleting. (Except for CANopen (CANopen does not allow gaps): For CANopen the other variables will be moved to the beginning of the table.
Page 409
(2) Open Variable Manager... The variable manager will be opened and the selected variable of the variable tree will be shown. At this dialog you can edit the variable. If you want to learn more about the "Variable Manager" dialog please have a look here (3) Reset Colors Sometimes it can happen that variables have the same color.
Page 410
At the tool tip (3) you can see the original length (16 bit) and the mapped length (8 bit). VCM Configure Mapping Table To change a property of a variable the "Configure Selected Variable Mapping" ((2) VCM Configure Mapping Table) table can be used. The VCM Configure Mapping Table is only filled if only one variable is selected (1).
Page 412
Object Reference Object Reference The design tool provides various objects that can be used to design a project. We can divide the objects in two main categories: General (or tree) objects and palette objects. General Objects The general objects are the "root" objects and can be found in the project tree. The following general objects are available: ·...
Page 413
Object Reference Table List Measurement Controls Meter Gauge Gauge Gauge Gauge Arched Bargrap Linear Bargrap Graph Lamps and Switches OPUS Projektor Manual...
Page 414
Object Reference Lamp Power Switch Push Switch Rocker Switch Horizontal Rocker Switch Special Controls Multimedia Player The basics - Create a page and add objects to it After creating a project, one page will be automatically created. To create a new page, do a right click on the Pages node in the project tree and select New Page.
Object Reference Common Object Properties Here you can find a list of all properties. A lot of the properties are shared between objects. For object specific properties please refer to the linked object descriptions Some of the default values may differ between the different object themes. General properties for all objects These properties are common for all objects (see exceptions): Every object in a project has a unique ID.
Page 416
Object Reference Object Type Type ID Sub Type ID Rocker Switch Lamp Gauge Gauge 270 Gauge 180 Gauge 90 Name A string containing the name of an object. It is automatically created but it is strongly recommended that the name should be changed to match the purpose of the object. This makes the content of the project more clear and helps to find objects better.
Page 417
Object Reference Default value: Position of the object where it was dropped on parent object in the designer area or 0 when dropped to parent object in object tree. Possible values: · Minimum: o - object height o exceptions: § objects that contain other objects (Frame, Container, Button, List): They can't be moved out of it's parent.
Page 418
Object Reference Default Value: Force units Possible Values: · Force units · Distance units · Mass · Volume · Area · Date format · Temperature · Pressure · Units system · Time format Variable References For most of the objects one or more references to a variable can be created. The object will then show the value of the variable at runtime (or shows a invalid state if the referenced variable is invalid) or the max or min value of a DDO can be adjusted with variables.
Page 419
Object Reference The Absolute Min Value can also be changed through the JavaScript function setProperty. Max Value Variable Reference When selecting a variable for this property, the value of the variable controls the Max Value of that object. This property is supported by the following objects: ·...
Page 420
Object Reference Possible values: 0x1 ... 0xffffffff Skin Properties The Skin Properties influence the look of the objects. Most of these properties are shared for almost all objects. The one exception is the Container object. It is not visible and therefore has no Skin Properties.
Page 421
Object Reference Default value: no image Possible values: any image in the supported format (BMP, JPEG, PNG, SVG) Border State Using this property a preview of the different Border Profiles can be activated. This property has no influence at runtime since the different border profiles are chosen according to object's navigation state at runtime.
Page 422
Object Reference ==> Transparent Border Color With the Transparent Border Color it is possible to make a border profile of a certain state or single lines of a border profile invisible. A relatively common use case is: Make the color that is used in the state Enabled Without Focus the same as the transparent border color.
Page 423
Object Reference The Transparent property can be used to make the background of an object invisible. If the property is disabled, the Background Color will be drawn as the background of the object. If the property is enabled, no background color will be drawn. Note: If a Background Image is assigned, it will be shown also if the transparent property is enabled.
Page 424
Object Reference An object can directly connected to the encoder. This means that the user does not need to select the object and make it open for input. The consequence of enabling this property is, that this object is the only input object on the current page.
Page 425
Object Reference This property only has influence if the Encoder Movement property (see above) is set to Dynamic. The Value Change Factor controls the amount of acceleration for dynamic encoder movement. The higher the value, the more the value change by encoder is accelerated. Rule of thumb: The higher the value range of an object is, the higher the Value Change Factor should be set.
Page 426
Object Reference This property defines the color of the object if the value of the object is greater than Max Value (see below). Color Above Max Value is available for the following objects with the following appearance effect: · Arched Bargraph: Fill color of the bargraph or value line color ·...
Page 427
Object Reference Possible values: Any Font Attribute Object defined in project properties Absolute Min Value As the name implies, the Absolute Min Value is the lowest value that a user can set to an object (Min Value is not, see above). This property is available only for Arched Bargraph, Linear Bargraph, Meter and Numeric Field objects.
Page 428
Object Reference CurrentValueToDisplay = ((oldValue * filterFactor) + (meassuredValue * (1000 - filterFactor))) / 1000 This calculation is made in a relatively high frequency until currentValueToDisplay is equal to meassuredValue. Default value: Disabled Possible values Enabled or disabled This property is available only for Arched Bargraph, Linear Bargraph, Meter and Numeric Field objects.
Page 429
Object Reference Horizontal Alignment With the Horizontal Alignment property it can be controlled if the text is aligned left, right or centered. Default value: Center Possible values: Left, Center, Right This property is only available for Numeric Field, String Field and Table object. Vertical Alignment With the Vertical Alignment property it can be controlled if the text is aligned on top, bottom or centered.
Object Reference Virtual Keybard Events and Actions With events and the corresponding actions, dynamic behavior can be added to a project. Almost all objects support a certain set of events. For these events certain actions can be configured. This chapter lists a description of all available events and actions. What event and what action is supported by an object, can be found in the documentation for that object.
Page 431
Object Reference This period is always a multiple of 100 milliseconds (which means that the fastest period is 100ms). It is not guaranteed that the actions can be triggered exactly in the specified period, a slight deviation is possible (based on CPU load and other circumstances at runtime).
Page 432
Object Reference Audio Output The Audio Output dialog allows to assign an audio file that will be played back when the event occurs. The following elements of the dialog can be used for configuration: · Select Audio File: Use the Browse button to select an audio file from the file system (There are different default audio files pre-configured for an event or alarms that can be directly used) ·...
Page 433
Object Reference (very large files might add a delay before they are played and increase the size of the project package that needs to be transfered to the device) · Volume: Select the desired volume with the slider. Note that the final volume is dependent on the values of the beeper volume variables ·...
Page 434
Object Reference This event is triggered as soon as the device enters the On (normal operation) state but only if it was in low power or sleep mode before (switch ignition on). If the device just did a cold boot, this event is not triggered. Allowed actions: ·...
Page 435
Object Reference · Navigate Up (Softkey and function key object only) · Navigate Down (Softkey and function key object only) · Navigate Confirm (Softkey and function key object only) · Open PDF Reader (Not for Frame object) · Set Media Player Command (only for devices that support the playback of audio / video) OnRelease This event is triggered either if an object on screen was pressed via touchscreen or if a...
Page 436
Object Reference Please also note that from this version on, devices with capacitive touch will behave differently when sliding away from a button: When sliding away from a button, in earlier versions of the program, the button would stay pressed. Then, when the finger is released, the OnRelease event would be executed. Now, as soon as the finger leaves the button, the button becomes de-pressed WITHOUT the release event being executed! Additionally, the OnCancel event is executed in that case from version 2022.4.1 onwards.
Page 437
Object Reference OnDblClick This event is triggered either if an object on screen is pressed via touchscreen or if a softkey is pressed via physical keys twice within the double click time (300ms). Allowed actions: · Execute Script · Jump To Page ·...
Page 438
Object Reference · Set Media Player Command (only for devices that support the playback of audio / video) (only for buttons and softkeys) OnEnabledWithFocus This event is triggered when the user navigates to this object so that it gets into the EnabledWithFocus navigation border state.
Page 439
Object Reference The OnEscape event is triggered if an object is open for input and the user pressed the Escape key to cancel the input. Allowed actions: · Execute Script · Jump To Page · Set Value OnGetValue This event is currently not supported. OnValueChangeByOwner This is a variable event.
Page 440
Object Reference The execute script action can trigger the execution of a JavaScript file. See the JavaScript documentation for more information. Properties: · Script File The JavaScript file that shall be executed · New Script File Not really a property, rather a short-cut which will open the new script dialog. ·...
Page 441
Object Reference · Divisor · Offset2 Next Softkey Level With this action the next softkey level in a softkey frame can be shown. Properties: None Previous Softkey Level With this action the previous softkey level in a softkey frame can be shown. Properties: None Navigate Up This action simulates one click of the encoder.
Page 442
Object Reference § loop A description of the commands can be found in the chapter Multimedia Player · Value A value can be set for the set volume and set position command. Open For Input With the open for input action it is possible to open one object on the current page for input so that the user can directly edit it without the need to navigate to it.
Object Reference This action is currently not supported and has no effect at runtime. General Objects 6.3.1 Page Object The page object is the root object for designing a page. Only Frame objects can be added to a page. A page can also be used as video page. See properties below. The page has a limited set of properties.
Page 444
Object Reference Connect All Softkey Frames When changing Softkey levels it is possible to switch a level of each Softkey Frame separately or to connect all Softkey Frames. When the Softkey Frames are connected, changing the level of one Softkey Frame will also change the level of the other. Default value: Enabled Possible values: Enabled or Disabled Note: This property is only available for Page alarms.
Page 445
Object Reference Possible value: any string LED Properties The LED properties allow to configure the behavior of the multi color LED when entering the selected page. LED Options This property defines the behavior of the LED when entering the page. Default value: LED off Possible values: ·...
Object Reference · 100ms ON · 100ms OFF · 100ms OFF · 100ms ON · 100ms ON · 100ms OFF · 100ms OFF · 100ms ON · 100ms ON · 100ms OFF · 100ms OFF · 100ms ON · 100ms ON ·...
Page 447
Object Reference · Layer 3: Numbers and special characters A numeric keyboard only has one layer with the numbers. Default value: Layer 1 Possible values: Any available layer This property has no effect on runtime, it only shows the different layers in the designer area.
Object Reference Button for normal character input. When a Character button is pressed, the button's value is added to the edited value. · Layer Switch When pressing this button, the layer of the keyboard will be switched. The target layer can be selected with the Switch To Layer property (see below).
Object Reference Softkey Frame Specific Properties For a list of other common properties of a softkey frame that are shared with other objects here Softkey Width As default softkeys have a calculated size so that no gaps exist between the softkeys. With this properties it is possible to make the softkey width smaller in a bottom or top softkey frame so that gaps between the softkeys are possible.
Page 450
Object Reference Softkey Specific Properties Key Number This is a property that can not be changed. Each hardware key gets a specific number. The value of this property is based on the softkey frame in which the softkey is in and the position inside the softkey frame.
Object Reference Palette Objects 6.4.1 2D Graph New and changed features since May 2016 · All data points are logged to the non-volatile memory of the device so that they are still available after reboot. · Maximum value of Number of Samples to Record reduced from 10,000,000 to 1,000,000 ·...
Page 452
Object Reference The complete value history can be reset (deleted) with the JavaScript delete2DGraphHistory function. Displaying the logged data at run time needs some CPU time. To improve performance of the 2D Graph, the object is not redrawn at each variable change but automatically redraws itself with the latest values in a fixed interval (currently about every second).
Page 453
Object Reference Default value: None Possible values: Any integer variable Copy Progress Variable If an integer variable is atached, it will show the copy progress when copying the graph's history data. See save2DGraphHistory here for details. Default value: As configured for the varaible Possible values: 0 ..
Page 454
Object Reference Default value: 3 Possible values: · 3 (three horizontal and three vertical grid lines will be drawn) · 1 (one horizontal and one vertical grid line will be drawn) Number of Grid Lines With this property the existence and position of the Y axis can be configured. It either can be on the left or on the right or completely disabled.
Page 455
Object Reference The top part of the dialog is designated for selecting the variables that the graph object shall draw. On the left the tree with all variables available in the current project is displayed. On the right there is the tree showing the variables that are already assigned to the graph. To add a variable to the graph, select one in the left tree and click the Add >>...
Page 456
Object Reference Note: There is a limit of variables that can be added to the graph. This limit is device specific. On the bottom of the dialog the limit is shown and how much variables can be added. Note: Adding many variables might make the graph confusing. After a variable was added, the following options can be set for each variable: Name The Name of the variable.
Page 457
Object Reference Possible values: 10 ... 1000000 Show Value Labels at Y Axis If this property is disabled, no values for this variable will be shown at Y axis. If this property is enabled, the Min and Max value are displayed at the Y axis. If grid lines are drawn in the graph, values between Min and Max value will be shown at the grid lines positions at Y axis.
Page 458
Object Reference With this property the trigger for logging a value can be configured. It can either be time based (every value change is logged) or time based (a value sample is recorded cyclacly. If Time Based is selected, the Timer Value can be used to configure the log period for the selected variable.
Object Reference The ring buffer is implemented as 100 files per variable. Each file is named with the name of the variable and a sequence number. 6.4.1.1 Graph History Tool The Graph History Tool is a PC tool for viewing and converting saved history data of a 2D Graph object.
Page 460
Object Reference The first step is to select what shall be exported: · Export Selected Tab Only If this option is selected, only the selected variable (active tab) will be exported into one csv file · Export All Tabs in Single Files If this option is selected, one csv file for each variable will be exported.
Object Reference graphHistoryTool.exe is inside this directory, the start.bat batch file can be used to start To deploy the application for the end user, copy the following libraries from the shared_libraries directory into the graph_history_tool directory: · Qt5Core.dll · Qt5Gui.dll ·...
Page 462
Object Reference · Start Angle 0, End Angle 360: · Start Angle 0, End Angle 315: · Start Angle 45, End Angle 0: · Start Angle 135, End Angle 225: · Start Angle 315, End Angle 225: Arched Bargraph Specific Properties Start Angle The start angle of the arched bargraph can be defined with this property.
Object Reference See examples above Draw Target Line When enabling this property, a line will be drawn at the position of the Target Value property value. Default value: Enabled Possible values Enabled or disabled. Target Line Color The color in which the target line (see above) will be drawn. Default value:black (RGB 0, 0, 0) Possible values: Any 24Bit RGB color Deflection Direction...
Page 464
Object Reference Example project: Download this project to see the different button events in action. How to add pressed or released objects to the button Two other objects can be added to a button. One indicating the released state of the button and one the pressed state.
Page 465
Object Reference Disable this property if the design of the button is completely custom and the press/release state is distinguishable using the pressed and released objects (see above). If this property is enabled, a small region between button background (or object inside button) and border of the button is reserved for the shadow.
Object Reference Will be automatically set when adding a released state object to the button (see above). Can't be edited by hand. Pressed Image (Theme dependent) Alternatively to putting one or two Picture Graphic objects into the button, this property can be used to add an image to the button.
Object Reference To put an object into a container, drag and drop the object into the container in the project tree. When putting existing objects into a container, please note that the position of the object relative to the parent object will be used to position the object in the container. I.e.
Page 468
Object Reference Angle The angle of a gauge can be changed with the Angle property. For the full Gauge, Start and End Angle can be modified to change the range of the instrument as needed. For the other Gauges, only the Start Angle can be modified. The End Angle will be calculated depending on the range of the gauge (270, 180 or 90 °).
Page 469
Object Reference Default value: No image Possible values: Any image with supported format (bmp, jpeg, png, svg) Note: To make the needle image look good when rotated, it is recommended to use scalable vector images (SVG). This prevents steps or anti aliasing artifacts. Needle Thickness Factor With this property the thickness of the needle can be modified.
Page 470
Object Reference Possible values: Enabled or disabled Tick Color (Theme dependent) The color in which the gauge's ticks are drawn. Default value: Light grey (255,204,204,204) Possible values: Any 32Bit ARGB color Minor Tick Color (Theme dependent) The color in which the gauge's minor ticks are drawn. Default value: Light grey (255,204,204,204) Possible values: Any 32Bit ARGB color Number Of Ticks (Theme dependent)
Page 471
Object Reference With this property the drawing of the tick points can be enabled or disabled. Default value: Enabled Possible values: Enabled or disabled Tick Point Size Factor (Theme dependent) With this property the size of the tick points can be modified. The reference value (which equals a factor of 1) is the radius of the gauge object.
Page 472
Object Reference Default value: 0 Possible values: -2147483648.0 ... 2147483647.0 scale: Default value: 1 Possible values: -2147483648.0 ... 2147483647.0 Draw Boundary Bar (Theme dependent) A colored bar can be drawn around the gauge. The bar is divided in 3 regions, following the min and max value settings.
Object Reference The width of the digital value box inside the gauge can be modified. The reference value (which equals a factor of 1) is the radius of the gauge object. Default value: 0.3 Possible values: 0.0 ... 2.0 Events The following events can be configured for the gauge object: ·...
Page 474
Object Reference If "Draw Shadow" is enabled one can define the shadow color used to draw the shadow. The background color of the shadow is the button background color which includes that. the background of the shadow is transparent if the button is configured as transparent. The button shadow consists of two areas where one is drawn in the opaque color selected and the other is drawn in a half-transparent version of the same color.
Object Reference The following events can be configured for the button object: · OnPress · OnRelease · OnLongPress · OnLongRelease · OnDblClick · OnOpenForInput · OnEnabledWithFocus · OnEnabledWithoutFocus · OnValueChange · OnCancel here for the descriptions of all event and possible actions that can be assigned. 6.4.8 Linear Bargraph The linear bargraph is an object for showing a numerical value in a graph.
Page 476
Object Reference Possible values: Any 24Bit RGB color Fill Mode (Theme dependent) If Fill Mode is enabled, the value will be shown as a filled area in the bargraph. If Fill Mode is disabled only a line will be drawn at the value's position. Default value: Enabled Possible values: Enabled or disabled.
Object Reference 6.4.9 List Tutorial video about the list object https://www.youtube.com/watch?v=zNNjsMrO4Hk The list object is a useful object to show other objects based on a value (e.g. two icons in a list showing a different state). A list always contains other objects. It is possible to either display only one object at a time or multiple objects, this can even be defined for the different navigation states of the list (see properties Items Visible (Normal Mode) and Items Visible (Editing Mode)).
Page 478
Object Reference Note: This property can only be changed if the property Open For Input is enabled. Default value: 1 Possible values: 1 ... 255 List Items When editing this property a dialog will pop up that provides some ways to change the items in a list -Add a single object (1) In the upper part of the dialog, the items of List is shown.
Page 479
Object Reference The table in the dialog shows all items in the list. The one of the top is the one that will be shown when setting value 0 the list. The one on the bottom of the list is the one that is shown when the highest value is set.
Page 480
Object Reference · shows all valid items if there are less than items configured for the list (note that this will result in reduced height of the widget) · current value/selected item is identified by a focus frame using the 'ENABLED_WITH_FOCUS' state of the item ·...
Object Reference 6.4.10 Meter Tutorial video about the meter object https://www.youtube.com/watch?v=l9mp9Z5xAjM Tutorial video about the hour glass demo project <%HOUGLASS_METER%> The meter can be used to design gauges or other instruments requiring a needle (indicator). The meter shares many properties with other objects. Find a description of them here Angles The angles of a meter can be changed with the Start Angle and End Angle properties (see...
Page 482
Object Reference Meter Specific Properties Start Angle The start angle of the meter can be defined with this property. The start angle's 0° position is at 3 o clock. Default value: 0° Possible values: 0° ... 360° See examples above End Angle The end angle of the meter can be defined with this property.
Page 483
Object Reference Needle Image (Theme dependent) Instead of the automatically drawn needle, a needle image can be assigned to the meter to show a more beautiful indicator. The needle image should have the same size as the meter and the needle in the image should always point to 3 o'clock position.
Object Reference Events The following events can be configured for the meter object: · OnOpenForInput · OnEnabledWithFocus · OnEnabledWithoutFocus · OnValueChange · OnEnterValue · OnEnterNewValue · OnEscape here for the descriptions of all event and possible actions that can be assigned. 6.4.11 Multimedia Player Tutorial video about the Multimedia Player...
Page 485
Object Reference Name Type Events / Actions Description If the "play" command is executed, the current media file will be played. The media time string field (14) and position bargraph (7) will be updated with the current playback time. If no media is set or OnPress if there is a playback error, the play Set Media Player...
Page 486
Object Reference Name Type Events / Actions Description media time string field (14) will be set to “00:00 / <totalTime>” and the position bargraph's (7) current value will be set to 0. The play Command: stop button will automatically be set to Value: Value Not Set the released state.
Page 487
Object Reference Name Type Events / Actions Description Command: shuffle shuffle graphics depending on the Value: Value Not Set pressed state. By executing the "loop" command, the next loop mode will be applied. The inital loop mode is 2. This list shall have three picture graphics as children.
Page 488
Object Reference Name Type Events / Actions Description When executing the "unmute" command, the current volume of the volume bargraph (12) is used Set Media Player to set the volume of the currently Command played back media file. Command: unmute The button includes two picture Value: Value Not Set graphics for showing mute or...
Page 489
Object Reference Multimedia Player Specific Properties The graphic below shows the default property states of the multimedia player object. Fit To Frame Size Enable this property to adapt the size of the multimedia player to the parent frame object. Default value: Disabled Possible values: ·...
Page 490
Object Reference care about the positioning and sizing of all included objects in design time. The layout manager has no effect at runtime. Resizing is only done when the object size is changed. Default value: Enabled Possible values: · Disabled: The Multimedia Player objects will not be sized and positioned when changing the size of the Multimedia Player object.
Page 491
Object Reference Possible values: · Disabled: Removes the volume increase / decrease buttons). · Enabled: Add's the volume increase / decrease buttons. Full Path In Title This property shows the full path of the played media file in the title string field at runtime instead of only the file name.
Page 492
Object Reference The id of deleted control objects will be set to "-1.” Of course it is also possible to add / register a control object again. Restrictions for the registration of new control objects: - Only objects which are included in the multimedia player component can be registered. - The object which is to be registered must contain all required events, because the default events/actions will be registered again.
Page 493
Object Reference The following video codecs are currently NOT SUPPORTED on the device: · Theora Video · MPEG-4 Video (DX50) => DIVX version 5 · Any Windows media format in an AFS container (VC1, WMV) Audio The following audio codecs have been verified on the device: ·...
Page 494
Object Reference Yes and no. When using one of the supported codecs above, the built in hardware acceleration is used on the device to minimize CPU load (while playback the CPU load increses between 3% and 7% on a single core CPU). BUT there are some things to keep in mind: When running on a single core CPU it is more likely that playback of multimedia has an influence on the system.
Object Reference else //no usb stick present, show alarm 1 that shows an eror message setVariableValue("@AlarmShow", 0x8001); Why can't I change the position in an MP3 file? Changing position (seeking) for MP3 encoded audio files is currently not supported by the backend.
Object Reference Default value: Disabled Possible values: Enabled or Disabled Offset, Scale, Offset 2 Two offsets and a scale value can be defined that will be used in the following way: displayed value = (original value + Offset 1) * scale + Offset 2 offsets: Default value: 0.0 Possible values: -2147483648.0 ...
Page 497
Object Reference This section only describes the properties that are Picture Graphic specific or differ with the common properties. Picture Graphic Specific properties Image To Display To choose the image that shall be displayed in a Picture Graphic use this property. Any supported image file can be selected from the file system.
Page 498
Object Reference Possible values: · 0 (Stop) · 1 (Play) · 2 (Pause) Example for how to use this property in a JavaScript: var objectID = 42; //Start the GIF animation setProperty(objectID, "GIF State", 1); //Pause the GIF animation: setProperty(objectID, "GIF State", 2); //Stop the GIF animation setProperty(objectID, "GIF State", 0);...
Object Reference GIF Frame Number It is possible to jump to a certain frame number of the GIF animation. Like this an animation can be played frame by frame or jump to a special frame. Default value: 0 Possible values: 0 (first frame) ... number of frames of the GIF animation If a number greater than the actual number of frames of the animation is set, it will be ignored.
Page 500
Object Reference Both colors are switched when button is pressed to simulate a kind of 3D effect of the pressed/released button. Default value: Black. Possible value: Any color allowed by standard color chooser. Latching Latching means: When a button is pressed and released, it toggles state and stays in the toggled state until it is pressed again.
Object Reference · OnLongPress · OnLongRelease · OnDblClick · OnOpenForInput · OnEnabledWithFocus · OnEnabledWithoutFocus · OnValueChange · OnCancel here for the descriptions of all event and possible actions that can be assigned. 6.4.15 Push Switch The push switch object is based on the button object .
Page 502
Object Reference Latching means: When a button is pressed and released, it toggles state and stays in the toggled state until it is pressed again. Like that a latching button resembles a light switch whereas a non-latching button resembles a door-bell switch. With this property this behavior can be enabled.
Object Reference · OnValueChange · OnCancel here for the descriptions of all event and possible actions that can be assigned. 6.4.16 Rocker Switch The rocker switch object is based on the button object . It can display two states: On or off. The rocker switch can be turned on or off by a variable reference.
Object Reference With this property this behavior can be enabled. Default value: Disabled Possible values: Enabled or Disabled Pressed State Switch between the release or pressed state of the button. This is important for having a preview of the object and also for adding pressed/released objects for the button (see above).
Object Reference Besides the Auto Wrap property, Texts in String Fields can also have custom line breaks by inserting "\n" (without the "") in the text. The line break can also be included at runtime via JavaScript by adding \n in a String variable and having that referenced to the String Field or, alternatively by putting the text into the String Field with setProperty...
Page 506
Object Reference Line1Column1;Line1Column2;Line1Column3;Line1Column4 Line2Column1;Line2Column2;Line2Column3;Line2Column4 Line3Column1;Line3Column2;Line3Column3;Line3Column4 The source for the text can either be automatic (e.g. from J1939 DM settings) or set manually via a JavaScript (set the text directly (with setProperty and property "Table Data") or read e.g. a log file, see JavaScript readFile function for an example).
Page 507
Object Reference Horizontal Alignment Same as for other objects. All text in the table will be aligned either center, left or right. Vertical Alignment Same as for other objects. All text in the table will be aligned either center, top or bottom. Table Specific Grid Color (Theme dependent) This represents the color of the "grid"...
Object Reference Default: disabled Possible values: enabled or disabled Number of Table Columns This property displays the current number of columns of the table. The value will automatically set by enter the Table Column Spacing property below. Table Column Spacing With this property the number of columns and their spacing can be configured.
Page 509
Object Reference · Analog video is always drawn as the most-backward graphics layer and the field of the video objects will be made invisible so that the video image gets visible. Any other objects (e.g. other non-video frames on top of a video frame/page) will be displayed in front of the video image Devices with i.MX6 CPU: ·...
Page 510
Object Reference Note that the camera preview image in the tool changes with the different mirror settings. Video Type Here the type of the video can be chosen between analog video input or digital H.264 stream over Ethernet: · Analog Video Input One of the device's analog video inputs shall be used (select which with Video Camera property below) ·...
Page 511
Object Reference (especially a page on a 16:10 display). Use this property to position the video image either centered or in one of the corners. If the video is displayed in a frame, keep the frame size in a 4:3 format to avoid blank spaces. Note that H264 video always fills the complete object.
Page 512
Object Reference · RTSP video streams over Ethernet are only supported on devices with i.MX6 CPU. · The camera needs to use the RTSP protocol to deliver the stream. The program has a tool included with which Ethernet cameras can be configured. It can be accessed via the menu Tools ->...
Page 514
JavaScript JavaScript Please Note the following changes in May 2016: The complete JavaScript engine was exchanged! Due to some problems experienced with the old Google v8 JavaScript engine, the engine was replaced with QtScript. The new script engine solves all issues currently known to us and has some more advanteges (like a debugger that can be used with the Windows simulation, here One importand difference to the old engine is that global variables are handled differently...
JavaScript · Scripts are only visible in the debugger if they ran once. · A breakpoint can be set before a script was run (if you want a breakpoint in line 42 of myScript.js simply type ".break myScript.js:42" into the console of the debugger). ·...
Page 516
JavaScript A wizard for creating a new file will be appear. In the category JavaScript an empty JavaScript file can be created. The category JavaScript Samples includes different templates. These templates can help to understand the basics of the JavaScript programming language or show best practices for different use cases.
Page 517
JavaScript Editing a script A script file can be edited by double clicking the corresponding file (1) insides the JavaScripts node. A new JavaScript editor tab (2) will be opened. In our example we have created an "Hello World" application with an template. The script file includes a function call "helloWorld()"...
Page 518
JavaScript To help writing a script with variable interactions, the Variable View can be used to get / set the value of all variables that exist in the current project. They are sorted by variable group. A variable can by dragged into the context area by DnD (Drag & Drop). Also objects can be dragged into the context area by DnD (Drag &...
Page 519
JavaScript For example, we have only typed "fo" in the content area and press CTRL+SPACE. A context menu pops up with the keyword completion "for" and additional suggestions for whole "for loop" templates. Note that not all expressions offered in the CTRL + Space popup are supported by our devices.
Page 520
JavaScript Error and Warning Hints A further important feature highlight is the just in time detection of errors and warnings. The script below shows an error by the assignment of an value to the array position (1) caused by a missing closing bracket. For some errors the JavaScript editor suggest solutions to solve the problem by clicking on the lightbulb.
Page 521
JavaScript Shortcuts and icons The folloging shortcuts can be used in the JavaScript editor: CTRL + E Delete the current line CTRL + SHIFT + UP Create a copy of the current line one line above CTRL + SHIFT + DOWN Create a copy of the current line one line below ALT + SHIFT + UP...
Page 522
JavaScript CTRL + SHIFT + F Opens a dialog with which all opened JavaScript files can be searched for a certain text phrase. CTRL + SHIFT + H Opens a dialog with which all opened JavaScript files can be searched for a certain text phrase to replace it with another.
JavaScript The encoding can also be changed by pressing this place. Normally there is no reason to use any other encoding than UTF-8. Additionally it is possible to load and save a file in a certain format. There are entries in the menu File called Open in Encoding...
JavaScript The assigned event will be displayed at the events tab of the Object (1). You can configure such an Execute Script Action by clicking on the button (2). Here you can choose an existing Script File (3) for execution or create a New Script File (4). Already existing JavaScripts can also be used in the project by using the function Import Script File (4).
Page 525
JavaScript //This is a comment Comments can also be spread over several lines: This multiline comment*/ Note that every command in a JavaScript should end with a semicolon ";". JavaScript Variables JavaScript is a weakly typed scripting language which means that no type declaration is needed when creating variables and differently typed variables can be assigned to each other.
Page 526
JavaScript Opera Example Result Comment 42 === 42 true strong compare 42 === "42" false 42 < 43 true < less than "w" < "W" false 42 <= 42 true <= less or equal 42 <= 43 true > 42 > 43 false greater than >= 42 >= 43...
Page 527
JavaScript execution of scripts, so instead of a for loop, just write x := x + 1; and after 10 repetitions the appropriate code can be executed. Three different loop types are available: · The while loop. It only begins if the condition is true and stops as soon as the condition is not true anymore: //Example: loop 10 times: var i = 0;...
Page 528
JavaScript //execute this code if none of the above conditions were true (in this case i is greater than 42) · The switch statement. The switch statement makes it easy to check the value of exactly one variable without the need to write complex if-else statements: var i = 42;...
JavaScript Custom JavaScript functions for device specific functionality Various custom functions exist that help JavaScript interact with project variables and objects. By pressing CTRL+SPACE in the JavaScript editor content area (1), a list with auto complete suggestions will appear. On the top of the list are functions from the category Custom Functions (2).
Page 530
JavaScript // output: Strings and numbers can be concatenated! print("Strings " + "and " + "numbers " + "can " + "be " + "concatenated!"); Please note that the print function also works with the PClient simulation on the PC. The output will be written in the file %USER%\AppData\Roaming\%program version% \extracted_components\pclient\simulation\console_output.txt...
Page 531
JavaScript print("Failed to set the display backlight intensity to 50% :("); getVariableValid - retrieve information if a project variable has a valid value With this function you can check if a variable has a valid value. Returns true if the variable has a valid value.
Page 532
JavaScript Javascript Data type SetObject type(s) Remarks propertyName 0 - left aligned String Fields Alignment Integer 1 - center aligned Numeric Fields 2 - right aligned Array object containing 4 values Arc Color Color x Bargraphs (RGBAlpha) Text wraps and new lines are Auto Wrap Boolean x String Fields...
Page 533
JavaScript Javascript Data type SetObject type(s) Remarks propertyName keyboards and pages The number corresponds to the Display Video Integer x Frames video input Display Zeros As Boolean x Numeric Fields Blank ID of the Done button in the DoneButtonID Integer Virtual keyboards virtual keyboard Draw Arc...
Page 534
JavaScript Javascript Data type SetObject type(s) Remarks propertyName Array object containing 4 values Bargraphs (RGBA). For table objects this Foreground Color Color Tables will change the "Grid Color" property. Format Integer Animated GIF GIF Frame Number Integer images Animated GIF GIF Loops Boolean images...
Page 535
JavaScript Javascript Data type SetObject type(s) Remarks propertyName Name String x All objects Array object containing 4 values Needle Color Color x Meter objects (RGBA) Meter objects absolute path to the image on Needle Image String Gauge objects the device Bargraphs No Of Decimals Integer...
Page 536
JavaScript Javascript Data type SetObject type(s) Remarks propertyName Only applicable if Display Video Scaling Factor Integer x Frames is >0 Bargraphs List objects Send Value Boolean Meter objects Equals "Send value directly" Numeric Fields Tables Set As Input Boolean x All editable objects Show Unused Boolean x Softkey frames...
Page 537
JavaScript Javascript Data type SetObject type(s) Remarks propertyName setVariableValue("@VideoStat us", 0); setProperty(47, "UDP Port", 5005); setVariableValue("@VideoStat us", 1); All objects except pages, list objects Unit Group String and virtual keyboards Integer / Numeric Fields Integer for numeric fields, string Value String String Fields for string fields...
Page 538
JavaScript Javascript Data type SetObject type(s) Remarks propertyName virtual keyboards All objects except Width Integer pages and virtual keyboards All objects except Always relative to its direct X Location Integer (x)* pages and virtual parent keyboards *Use the function moveDDO All objects except Always relative to its direct Y Location...
Page 539
JavaScript // Setting a new name to a DDO: var worked = setProperty(DDOID, "Name", "MyNewName"); if (worked === true) print("Setting new name worked!"); else print("Setting name failed!"); // Set the background color: worked = setProperty(DDOID, "Background Color", myColor); // Set a new background image worked = setProperty(DDOID, "Background Image", "/opt/images/bg.png");...
Page 540
JavaScript setProperty(TableID, "Table Data", myData); For details see the manual chapter for the table object. writeToFile - write a string to a file on the file system With the writeToFile function it is possible to write strings to a file. For security reasons the file can only be located on a connected USB stick or on a dedicated folder of the device.
Page 541
JavaScript var result = writeToFile(filePath, myTextWithLineBreak, "append", doSync); if (result == true) print("Writing into file was successful!"); else print("Writing into file FAILED!"); getAlarmLogRingBufferContent - Read the alarm log ring buffer The ring buffer alarm log data can be similarly retrieved as the contents of a file. There will also be a vector returned which contains each alarm log entry.
Page 542
JavaScript //reading successful, myLog is now an array //print contents to console: print("Alarm log:"); for (var i = 0; i < myLog.length; i++) print(myLog[i]); Note: The returned array can be easily passed to a table object so it can be shown on screen ( setProperty(IDofTableObject, "Table Data", arrayWithLogContent);...
Page 543
JavaScript print("Moving picture was successful!"); else print("Moving picture failed! :( "); Example project: Download this project to see how the MoveDDO function can be used. showSoftkeyFrames - show faded-out softkey frames If the fadeout time for softkey frames was set in project properties, the softkey frames will be hidden after that time.
Page 544
JavaScript print("Failed to send CAN messge!"); includeFile - include another JavaScript file With this command it is possible to execute a JavaScript file from within another JavaScript file. Example: includeFile("example.js") The included file will be executed as if the source code was written in the source file (except when it's a function).
Page 545
JavaScript For the purpose of prohibiting going back to pages with a password access with the escape key, it is possible to delete the browsing history with this command. To prohibit certain pages from being accessable with the escape key, set the property "Add To Page History" to false. multimediaCommand - send commands to a MultimediaPlayer object The multimediaCommand function can be used to send commands to a MultimediaPlayer object.
Page 546
JavaScript · "set position" Optional Value: integer number (positive or negative) Description: Jump to a position in the currently played back file. If no optional value is provided, the position that is set in the position bar graph of the MultimediaPlayer is used.
Page 547
JavaScript var result = multimediaCommand(mmpID, "play"); if (result == true) print("Play command successfully sent"); else print("Error sending play command to MultimediaPlayer with ID " + mmpID); //From here we ommit the handling of the return value (to save some space in the example code) //Pause playback of the current file multimediaCommand(mmpID, "pause");...
Page 548
JavaScript //Save history to target path. The 2D Graph has object ID 42 var result = save2DGraphHistory(42, usbMountPath); if (true == result) print("Copy 2D Graph history started"); else print("Starting copy 2D Graph history FAILED"); delete2DGraphHistory - Delete the value history of a 2D Graph object Use this function to completely delete the value history of a 2D Graph object.
Page 549
JavaScript · On devices with I.MX35 CPU, the new calibration values are directly used after the calibration has finished. On devices with I.MX6 CPU, the new calibration values will only have an effect after a cold boot (write 0xb007 to variable @PWR_CurrentPowerMode). writeEEPROM - Write a value to the EEPROM The writeEEPROM function allows writing values to EEPROM.
Page 550
JavaScript var ret = writeEEPROM(6, 20, "Hallo Test!"); //write the string "Hallo Test!" into 20 bytes starting at position 4 print("Write str: " + ret); //console output: Write str: 11 ret = writeEEPROM(26, 1, true); //write a bool into 1 byte at position 26 print("Write b: "...
Page 551
JavaScript read again, 255 will be returned (see example below)! The handling of such data is up to the script programmer! Examples (see writeEEPROM for the according write functions): var x = readEEPROM(0, 4, "number"); //read 4 bytes from postion 0, interpret the data as a number print("Read 0xdeadbeef: "...
Page 553
JavaScript below /opt/user_files, the current USB mount path is automatically prepended to the path and the directory is created on the USB stick. The path may not contain a ".." or "*". Prototype: var result = createUSBDirectory(string directoryPath); The result of the function will be true if creating the directory was successful (or the directory already exists) or false if -the path contains a ".."...
Page 554
JavaScript This function sets navigation focus to object identified by DDO-ID and even opens it for input if the second parameter is 'true' or '1'. The second parameter can be skipped - then the object will not be opened for input. The function throws exceptions if the parameters are not correct or if the object cannot be found in project.
Page 555
JavaScript //copy the directory /opt/test_dir inluding all its content to /opt/parent_dir (resulting in /opt/parent_dir/test_dir copyFileOrDirectory("/opt/test_dir/","/opt/parent_dir/"); Please note: This function blocks the execution until it is finished. Blocks means: The thread that caused the execution of the script will block. Usually this is the PClient main thread including any painting operation.
Page 556
JavaScript including any painting operation. The programmer is advised to show a warning to the device user when a blocking function is called. If the script was triggered e.g. by a CAN stack (e.g. timeout or received event), it will also block that thread and will e.g.
Page 557
JavaScript This function executes any command on the Linux system console. We cannot stress enough that it is very easy to slow down or even completely stop the PClient misusing this command, it is even possible to destroy almost all data on the device. But we also know that it can be very useful in certain situations, e.g.
Page 558
JavaScript Why is it bad? The example will delete ALL files and folders in /opt, killing the project, PClient, updater and all user data. Once again: Please use this function with care. There are no limitations in this function, whatever is the content of <command> will be forwarded to the system. There are plenty of commands that take a long time to process.
Page 559
JavaScript OnIntValueChange OnStringValueChange OnEnterValue OnEnterNewValue OnEscape OnOpenForInput OnEnabledWithFocus OnEnabledWithoutFocus OnValueChangeByOwner OnValueChangeRequest OnValidStateChange OnPowerOn OnLowPower OnSleep OnReceiveTimeoutAction OnReceiveTimeoutResolvedAction OnMappingReceived OnHeartbeatTimeout OnHeartbeatTimeoutResolved OnEncoderPress OnEncoderRelease OnEncoderLongPress OnEncoderLongRelease OnEncoderDoublePress setVariableValid - set a variable as valid / invalid This function sets the validity state of a variable. Prototype: var result = setVariableValid(string variable name, bool valid);...
JavaScript Return value: · true if the operation was successful · false if the operation was not successful (shouldn't really occur) · undefined if the variable wasn't found Note that the function works both for variables belonging to the PClient as well as external variables, so use with care.
Page 561
JavaScript The following baud rates [bit/s] can be configured: 1200 1800 2400 4800 9600 19200 38400 57600 115200 230400 460800 500000 576000 921600 1000000 1152000 1500000 Every other value will result in a setting of 115200 bit/s. The wait time means that the read function will wait for that time if the RS232 buffer is empty. This can be used when communicating with a device that needs some time to deliver an answer to a write.
Page 562
JavaScript 2 - port cannot be opened 3 - parameters cannot be applied to port 10 - current settings cannot be read from port RS232Handler.encoding - set the character encoding of the target If the target machine (i.e. printer) should not accept UTF-8 encoded text, this property allows the modification of strings before they are sent.
Page 563
JavaScript var myBaudrate = myRS232.getBaudrate(); The method returns 0 if the port is not initialized yet. Note that this method can't actually read the current baud rate. It returns the saved value of the last baud rate that has been set successfully with the .init method. RS232Handler.getPort - read the name of the RS232 interface currently used This method returns a string containing the path and device file currently opened by this instance.
Page 564
JavaScript myRS232.writeFromBuffer("Special characters: 'ÄÖÜ äöü'\r\n"); // If the receiver expects special characters according to an extended ASCII encoding // the special characters have to be provided as an array of numbers. // If 'latin 1' (ISO 8859) is expected the same text as above could look like this: myRS232.writeFromBuffer("Special characters: '");...
JavaScript //convert the numeric array into a String var arrayAsString = String.fromCharCode.apply(null, readArray); // show data received in String Field [57]: setProperty(57, "Preview Value", arrayAsString); Programming Guidelines In this chapter we want to provide some general programming guidelines for JavaScript programming with our devices.
Page 566
JavaScript var test_js = getVariableValue ("test"); test_js = test_js + 1; setVariableValue ("test",test_js); OPUS Projektor Manual...
Functionalities Functionalities Alarms This chapter describes the concept of alarms. Alarms are popup pages or frames that can be shown to indicate certain events. Alarm templates can be defined in the project properties. Alarm Properties Alarms are characterized through the following properties: ·...
Page 569
Functionalities or alarm) and the value of the beeper volume variables . A sound pattern consists of the number of of repetitions and a bit coded pattern of on/off states. In the dialog that pops up when changing this property, the pattern can be defined by clicking on the boxes.
Page 570
Functionalities · Enable Alarm Log: Enable or diasable logging of alarms. · Use Ring Buffer: Enable this to log alarms into a binary ring buffer and select how much entries the ring buffer shall use. If the ring buffer is full, the oldest entries are overwritten.
Functionalities Press OK to create the alarm. The alarm will be listed in the project tree under "Alarms()". To edit it, double click on the alarm in the project tree. A tab will be opened where you can create a layout for the alarm similar to a page layout. Activating and Clearing Alarms Alarms can be activated by setting the variable @AlarmShow.
Page 572
Functionalities To enable Day/Night Mode for an object, the property "Day/Night Mode" has to be activated. After that you can choose a theme for day and one for night (properties "Day Theme" and "Night Theme". Per default, the theme "modern_bright" will be used as the day theme and "modern_dark" as the night theme.
Page 573
Functionalities To show some details of the new theme handling, a new theme will be created, called "new_dark", as a duplicate of "modern_dark", with the background color of the 270° gauge changed to dark blue. The preview of the new look is shown in the dialog. OPUS Projektor Manual...
Page 574
Functionalities The theme can now be chosen in the object properties for "Day Theme" and/or "Night Theme". Note: Changing the theme of the object overwrites all custom property settings made previously (only for theme properties)! It is of course possible to change theme properties (i.e. visual properties that are configurable in themes) of single objects with a normal property configuration for the object.
Page 575
Functionalities At run time, the day / night mode can be switched with the variable @CurrentThemeIndex Project Properties Settings The following settings can be made in this dialog: Enable Day/Night Mode (for newly created objects) When this box is checked, new objects will have Day/Night Mode enabled by default. Apply "Enable Day/Night Mode"...
Functionalities Apply "Default Day Theme" to Project When this button is pressed, ALL existing objects in the project that have Day/Night Mode enabled will have the current default Day Theme set as their day theme. Note: This overwrites all theme properties of all existing objects! Default Night Theme This selection will be the default Night Theme for newly created objects Apply "Default Night Theme"...
Page 577
Functionalities Please note that only Landscape versions can be used as ISOBUS applications. Portrait projects cannot run as an ISOBUS application. For the X18 and X40, the ISOBUS checkbox is checked and cannot be un-checked. For ISOBUS projects, a MiniView Window of the page is created automatically. For OPUS A8 and X40, these MiniView pages are shown next to the actual page in the editor.
Page 578
Functionalities The large portion of the screen will be the normal page, as it will be integrated as a main screen in the OPUS ISOBUS solution. The MiniView Window will be used as the small version of the page. By default, the MiniView will be scaled automatically from the big page. It is also possible to create a custom MiniView page.
Page 579
Functionalities The resulting page only has the small MiniView size. The mini page can be designed in any way like a big page. Every normal page in the project has a Property Miniview Page ID. This property can be set to the ID number of any MiniView page. OPUS Projektor Manual...
Functionalities Then the MiniView Page will be shown in the normal page view. For B3, X18 and A6 Generation 2 all of this is the same, only the MiniView pages are not shown in the page editor of the main pages. Object Themes General Object themes are pre-defined or user-defined sets of properties for palette objects.
Page 581
Functionalities Modern bright Modern dark OPUS Projektor Manual...
Page 582
Functionalities Classic For each palette object, certain properties are "theme-dependent", i.e. they will be used when a new object with that theme is created or when the theme is applied to an object or to a whole project. OPUS Projektor Manual...
Page 583
Functionalities To see which properties are changed by a theme, go to the dialog reached over the menu Options -> Scene -> Object Themes, choose a theme and select one of the objects. In the "Properties" window on the right side of the dialog, the affected properties and their settings for the selected theme are displayed.
Page 584
Functionalities · for an existing project, by choosing a theme in the menu Tools -> Options and then Scene -> Object Themes in the "Theme:" dropdown menu, clicking Apply and selecting Yes in the confirmation dialog. Editing themes OPUS Projektor Manual...
Page 585
Functionalities The pre-defined themes cannot be changed. However, duplicates of these themes can be made. These duplicates can then be modified by the user. In the dialog reached over the menu Tools -> Options and then Scene -> Object Themes an existing theme can be duplicated by selecting the theme and clicking "Duplicate".
Page 586
Functionalities This theme is only visible with the project selected. Changes to this theme will only be applied to the project, and all changes to the project theme will directly be applied to the project when clicking OK or Apply. To use this theme globally it can be duplicated and the duplicate becomes a global theme and can be used in other projects.
Page 587
Functionalities I can't see the global theme <name> anymore, only <name>_<project_name>. When a project uses a theme that has the same name as a global theme, and they are different, the global theme is not visible anymore when the project with the custom theme is selected.
Functionalities To remove a custom theme, click the Remove button. Themes are not project-dependent, they can be used in all projects. They are saved in the user data folder. Visibility Tutorial video about visibility https://www.youtube.com/watch?v=77RNxko1HvQ Example projects: Download this example to see how Visibility is used.
Page 589
Functionalities First, check the check box next to "Select Variable". Then choose a variable below by filtering by owner and/or group. After choosing the variable you want to use, click OK to save the setting. The variable will be displayed in the Visibility Bit property. Setting the object visible / invisible is very easy: If the variable is 0, the object is invisible If the variable has ANY other value than that, the object is visible.
Page 590
Functionalities How to configure Visibility Before the Visibility can be used, you have to define the Visibility variables and its bits. Therefore please navigate to main menu tab [File][Project Properties ] and select category Visibility This dialog provides the fields to add new Visibility variables. The 'Index' of the variables defines what internal Visibility variable should be used.
Page 591
Functionalities Please select the Visibility variable which you want to configure . Now you can define for each of the 16 bis (Bit 0 - Bit 15) the correspondent visibility name After defining names for the Visibility bits please confirm both dialogs with 'OK'. Now the Visibility variables is configured properly and it can be used in the project.
Page 592
Functionalities If you want to show all objects which are corresponding with the first bit of the Visibility variable (user), the value of the variable @Visibility00 should be set to '1' (value in decimal) @Visibility00 user imal If you want to show all objects which are corresponding with the 3rd bit of the Visibility variable (technical), the value of the variable @Visibility00 should be set to '4' (value in decimal) @Visibility00...
Page 593
Functionalities · Click on a graphical object e.g. 'Text Field · Navigate to 'Properties' window o Enable checkbox at property 'Visibility' o Click on 'Value not set' at property 'Visibility Bit' · Select Visibility variable and Visibility bit at the dialog 'Visibility Bit' At the end following settings should be set: OPUS Projektor Manual...
Page 594
Functionalities Now the Visibility variable @Visibility00 can be updated by setting the value of the 'Numeric Field' NOTE for J939 PGNs: Be careful with adding visibility variables to receive PGNs. To make sure all values are forwarded to the Visibility variable, enable the option Forward Don't Care for the variable in the J1939 mapping dialog, otherwise a value of all 1's will be ignored.
Simulations Simulations Two types of simulations are available (click the links for details): · PClient Simulation · Variable Simulation Additionally Simulation Settings can be made Tutorial video about the PClient Simulation https://www.youtube.com/watch?v=rzgrpzZZ9tI Simulation Settings General The settings dialog can be opened via the menu Simulation => Simulation Settings The following simulation settings can be made: Connection Settings Connection settings only need to be adjusted if the PClient shall not be run as a simulation on...
Page 597
Simulations CAN Hardware Type Currently two options for the CAN hardware are available: Peak CAN USB Peak CAN USB dongle with one CAN port per dongle. Don't use CAN No CAN bus will be used for the simulations. Navigation, scripts, etc. can still be simulated.
Simulations Under normal conditions it is not neccessary to change this path. It is set by the tool installer. Via the Browse button another path can be chosen. If the PClient simulation does not show the housing of the device, make sure that this path is correct.
Page 599
Simulations Starting from Simulation Toolbar · Select the project you want to simulate from the project tree. · Make sure that the PClient checkbox is set. · After that just hit the (Re)Start button. Starting from Menu · Select the project you want to simulate from the project tree. ·...
Page 600
Simulations Above: A running PClient simulation on the device with the click areas on the housing marked with red rectangles and the associated keyboard keys. Navigation via keys The following keys simulate the hardware keys: Hardware Key Key on PC Keyboard The F-Keys (F1 to FX, depending on Softkeys device type, starting from Top-Left)
Simulations Stopping the PClient simulation Simply close the window like any other window or hit ALT+F4. Variable Simulation Overview What can be achieved with the variable simulation? The variable simulation is an application that connects to a PClient (simulated or on a device) and provides ways to view and change variable values.
Page 602
Simulations Or go to the simulation menu and then select "Start Variable Simulation". Please Note: · A variable simulation without a running PClient simulation is useless. · A project needs to be open and active in the tool before the simulations can be started.
Page 603
Simulations To start the ethernet interface the value 1 needs to be written to the variable @Ethernet0_applynstart. After that the network interface should be running. This only has to be done if the value of variable @Ethernet0_UpAtStart is not set. To enable ethernet automatically at each cold boot use the variable @Ethernet0_UpAtStart.
Page 604
Simulations o Port: The simulation port used by PClient on the device (see @PClientSimulationPort and step 2 above) How to work with the variable simulation The variable simulation basically consists of the following parts (for detailed descriptions click the respective link): The tool bar The variable view The value operations view...
Page 605
Simulations The left side of the status bar shows some importand status messages, e.g. when the connection to PClient is lost. On the right side the connection status to PClient is displayed. Saving and loading settings Default settings The default settings for a project are loaded automatically when starting the variable simulation and a connection to PClient was successful.
Simulations 9.3.1 Variable Simulation Toolbar The tool bar of the variable simulation contains the following elements: · Button "Show Variable Properties" With this button the Variable Properties view can be shown or hidden. · Button "Advanced View" With this button the Advanced view can be shown or hidden. ·...
Simulations 9.3.2 Variable Simulation Variable View The variable view shows all variables that are configured for the currently simulated project. The data is obtained by the running PClient simulation. The variable tree The variables are shown in a tree. The top level node of that tree are the variable owners. Below the owners are the variable groups as configured in the project.
Page 608
Simulations · The variable name · The current variable value as reported by the PClient o If the value of the variable is grey, the value of the variable is invalid o If the value of the variable is black, the value of the variable is valid ·...
Simulations To filter the variable tree or to search for a certain variable, a part of the variable name can be entered in the filter field above the variable tree. The search is case insensitive: It makes no difference if you search e.g. for CAN, Can, CaN, cAn, etc.
Page 610
Simulations On top of the view the name of the selected variable is shown (right besides "Editing value of:"). Below that the checkbox "Overwrite Owner's value" is located. This is an important setting for each variable whose owner is not the PClient: ·...
Page 611
Simulations The value set in the simulation will be accepted by PClient Please note that all value operations (manual and automatic) use the setting of this checkbox when sending requests to the PClient. Important note regarding the "Overwrite Owner's value" check box in combination with internal variables owned by PClient: Predefined internal PClient variables have a special action assigned (e.g.
Page 612
Simulations Note: The settings made for automatic variable change can be saved and loaded along with other settings. Note: Automatic value change generators are not available for string variables. Value Range Generator The value range generator changes the value of a variable within a given range. The value is incremented or decremented within a configured period.
Page 613
Simulations The value list generator can be used to set certain distinctive values to a variable in a defined sequence and at defined times. Use the following elements to configure the value list generator: · buttons Pause or resume the generator (make sure that the rest of the configuration is correct) ·...
Simulations The random value generator can be used to set random values within a defined range to a variable. Use the following elements to configure the random value generator: · buttons Pause or resume the generator (make sure that the rest of the configuration is correct) ·...
Page 615
Simulations Initialization lists are meant to provide an easy way to set values of several variables at once. This can be helpful for initialization purposes, end of line programming or just to test certain scenarios with different value sets. Note: All initialization lists and their settings will be saved when the Variable Simulation settings are saved.
Simulations Just double-click the value in the table that shall be changed and enter the new value. Sending an initialization list Select an initialization list then click the Send Now button on the lower right of the view. The variable simulation will send requests for all variables in the list with the configured values to the PClient.
Device Software Update Device Software Update 10.1 Project Update Tutorial video about the Updater https://www.youtube.com/watch?v=eSW_P0Z3imU The Updater is a small GUI application which allows the user to transfer a project to the device via CAN bus or to a USB drive. The Updater has two parts.
Page 619
Device Software Update Legend: (1) The application title shows you the name of the project which will be transferred (Please do always check if the correct project is chosen) (2) Start USB update (3) Start CAN update (4) Start Ethernet update (5) Exit application First we will start with the USB update mode.
Page 620
Device Software Update If the USB button is clicked on the Start Page, the USB Settings Page is shown. Here you can set the USB drive to transfer the Project Package USB Settings Page Legend: (1) The text box shows the path or USB drive name, the Project Package will transferred to.
Page 621
Device Software Update (2) The combo box contains all connected devices of the computer and is automatically selected. So you can easily selected the one you want transfer the project. (The selected device will be saved in the 'MainSettings.ini' file of the updater. For all other projects the device will be chosen, too) When the device is available at program start the 'green check' is visible, otherwise a red cross is shown.
Page 622
Device Software Update (1) If the checkboxes are checked, the tab "Device CAN Settings" and/or "Device Ethernet Settings" are opened. (2) In these tabs it is possible to edit the CAN/Ethernet settings for the device. USB Transfer Page When the Transfer button is pressed, this page appears and shows the current USB transfer progress and its result.
Page 623
Device Software Update Step 1: Creating Project Package This step shows if the Project Package was created successfully. Step 2: Connecting device This step shows if the USB device is connected successfully. Step3: Transferring project This step shows the progress of the project transfer to the USB drive. If the transfer fails an error code and error text is shown under the progress bar.
Page 624
Device Software Update In these examples the Step 2: Transferring project... shows an error: 1. Unable to create folder on USB drive Legend: (1) Step 2: The Transfer to USB drive failed. (2) The Error Code (here: -201) is shown under the progress bar. After the code the appropriate Error Message is shown (here: DEST DIR CREATION FAILED).
Page 625
Device Software Update Legend: (1) Step 2: The Transfer to USB drive failed. (2) The Error Code (here: -207) is shown under the progress bar. After the code the appropriate Error Message is shown (here: ERR_MMFT_DEST_FILE_CLOSE_FAILED). Additionally an detailed message is shown what exaclty went wrong: Could not write file: E:\updater\MyProject.ud4 In this case the Updater could not write the Project Package to USB drive.
Page 626
Device Software Update The CAN Update mode is a little more complex than the USB Update mode. Many things have to be considered. Otherwise the transfer won't work or the CAN network can be damaged. 1. The ClientUpdater uses as default CAN Port 2 on the device. If you want to use instead CAN Port 1 you can change the port here If the ClientUpdater uses the same CAN Port as a CAN Protocol in the...
Page 627
Device Software Update Legend: (1) When the agree checkbox is checked, the Proceed button will be enabled. (2) If Proceed button is pressed you will see the CAN Settings Page. (3) With Cancel you get back to Start Page. NOTE: When the Tool is started and you want to transfer a project via CAN bus you have to accept the CAN Disclaimer...
Page 628
Device Software Update Legend: (1) With the Tabs you can choose between PC and Device CAN Settings. (2) Show communication parameters (expert settings) shows the communication parameters (3). (4) Edit PC settings enables the settings mask. If it is checked, all parameters can now be edited (5).
Page 629
Device Software Update Command ID Stream Len ID Stream ID § These for IDs will be used for CAN communication between HostUpdater on PC and ClientUpdater on device. § It is important that these IDs are set properly, otherwise the connection or transfer can not be established.
Page 630
Device Software Update (4) Edit device settings enables settings mask. If it is checked all parameters can now be edited (5). (6) Back button to go back to Start Page. (7) Starts CAN Transfer with current settings. Device CAN Parameter 1.
Page 631
Device Software Update CAN Baud Rate setting During the start, the Updater reads the project file and checks if CAN Protocols are used and on which CAN Ports the protocols are running. If protocols are used, the appropriate baud rate is read. If a protocol uses the same port as the Updater, the appropriate baud rate is set in the Device CAN Settings (also for the first start of the Updater).
Page 632
Device Software Update You can choose between 2 options: (1) Restore CAN parameters from settings file. This option can be used to restore the last working CAN settings. The settings will be restored from the HostSettings.ini file. (2) Restore default CAN parameters. This option can be used to restore the factory default CAN settings.
Page 633
Device Software Update If the application is closed via the "X" button during active transfer, a dialog is shown with a warning that the current transfer will be aborted. The Transfer is devided in 5 Steps: 1. Creating Project Package => Creates the Project Package which is transmitted.
Page 634
Device Software Update Step 5: Disconnect device This step disconnects the HostUpdater from ClientUpdater. If the CAN connection is interrupted, the ClientUpdater will automatically disconnect itself after 3 seconds. Afterwards the project is starting on the device. Error Codes during Transfer If the CAN Transfer does not work properly, an Error Code with Error Message is shown on the CAN Transfer Page.
Page 635
Device Software Update Other popular Error Codes are: · (- 1) UD_FAILURE: It seems an unexpected error occurs. Just try again, and/or restart the HostUpdater and ClientUpdater (device reboot). · (-22) DEVICE MODEL MISSMATCH: It seems the device model name of the project does not match with the device model name of the device connect on the CAN bus.
Page 636
Device Software Update Legend: (1) When the ethernet interface of an device is activated, it is possible to scan the network for that device. For the communication between Host and Client the 'Broadcast Port' is used. When Host and Client are using diffrent ports the communication won't work.
Page 637
Device Software Update 1. Broadcast Settings: Broadcast Port § Port Number for Broadcast message to find connected devices. Select PC LAN Adapter § When the PC has more than 1 LAN Adapter you can select the Adapter (Device Net), where the Broadcast messages should be sent to. 2.
Page 638
Device Software Update · New Device Settings: New Device IP-Address § The new IP-Address for the device. Command Port Stream Port § New Port Numbers, which will be used for Ethernet communication between HostUpdater on PC and ClientUpdater on device. §...
Page 639
Device Software Update Legend: (1) On the left side you can see the current step which is permformed. Last Step with black font color => current performed step (here Transferring Project), grey font color steps which have not be performed yet. (2) Transferred Bytes and Project Package size.
Page 640
Device Software Update OPUS Projektor Manual...
Page 641
Device Software Update Legend: (1) Add.. button opens a file browser to selecte a file which shall be added to the project package. NOTE: The user is responsible to delete unused files manually (by console or by using the "post-/preinstallscript.sh") (2) Remove button removes selected files from the list.
Page 642
Device Software Update Legend: (1) Select a file which shall be added to project package. (2) Click on Open to add the file. (3) The file list view shows all files which are added to the user_files folder. (4) The green check shows that the file could be copied to the folder, and below the size of all files shown.
Page 643
Device Software Update NOTE: With the postinstall_script.sh you can, it is possible to edit the file after download process. Setting Files PC (HostSettings.ini) The HostSettings.ini file saves the settings (USB Settings, Device CAN Settings and Device Ethernet Settings) which can be changed in the Updater application. BUT the settings will only be saved if the Transfer (to USB drive, or via CAN/Ethernet was successful).
Page 644
Device Software Update The files are already available in the postinstall_script.sh at the above location NOTE: The folder user_files may only contain less than 8 files. If the folder contains more than 8 files only the first 8 files will be transmitted. File names may not contain empty spaces or UTF8 characters like ('ä', 'ö', 'ü', or 'é').
Page 645
Device Software Update NOTE (DANGER): Please be aware, if you set the pre-defined variable to '0x0', the Updater on the device is disabled and NO project update is possible anymore. Please always add a possibility to change the value of the pre-defined variable in your project. CAN Transfer Checklist The CAN update is disabled by default on the device.
Page 646
Device Software Update Errors and Warnings If an error occurs in the Updater application, the warning is shown in the status bar. By clicking the icon or label in the status bar, a dialog with detailed information is shown. All error messages will disable the Transfer button until the error is resolved. Warnings do not disable the Transfer button, but it is recommended to check why the warning is shown.
Page 647
Device Software Update Too many files in 'user_files' folder If more than 8 files are copied to the user_files folder, this message will appear. In this case only the first 8 files will be copied to the Project Package Please also have a look here Subdirectories in 'user_files' folder If subdirectories are copied to the user_files folder, this message will appear.
Page 648
Device Software Update To create the file, close the wizard and save the project. This will create the file. CAN Settings PC Duplicate CAN IDs CAN IDs have to be unique, otherwise the CAN communication does not work properly. If an error occurs, the Transfer button is disabled. This error is only shown on the CAN Settings Page.
Page 649
Device Software Update PC Empty CAN ID CAN IDs must have valid values, otherwise the CAN communication does not work properly. If an error occurs, the Transfer button is disabled. This error is only shown on CAN Settings Page. Device Empty CAN ID CAN IDs must have a valid value, otherwise the CAN communication does not work properly.
Page 650
Device Software Update Ethernet Settings Error -93 If error -93 is displayed during an Ethernet project transfer: The solution might be to allow the updater wizard executable file, HostUD.exe in your firewall. Upon the first use, a popup like this should be displayed (from Windows Defender): OPUS Projektor Manual...
Page 651
Device Software Update Please check all network types and allow access. Similar settings should be made for other firewall solutions. Command Line Interface It is possible to start the updater program through a command line. The updater executable is located in <program_path>\application\extracted_components\updater named HostUd.exe There is an example batch file showing how the updater can be started with the user...
Page 652
Device Software Update · ProjectPath (required) - the path to the project that should be downloaded - example: ProjectPath=C:\Workspace\Projects\customer_project2 · GUI (optional) - flag whether the updater should start with the gui (true) or silently (false) - example: gui=false · AppName (optional) - A name that will be displayed in the gui title (only considered if gui=true) - example: AppName=MyPersonalUpdater ·...
Device Software Update No, it is not possible. Please connect only 1 device to CAN network when a project update is performed. Why is the project not updated on the device via USB drive? 1. Please check if the the folder "updater" is created on the USB drive properly as described here 2.
Page 654
Device Software Update Legend: (1) The combo box shows all available devices which can be updated. NOTE: If no device is shown, please install the desired PClient module and/or the needed OS module(s) in the Plugin Center. (2) Here you can choose the components which you want to update on the device. Additionally, the respective versions of PClient and OS for the chosen device are displayed (3) This combo box shows the destination drive where the update files will be copied to.
Page 655
Device Software Update This feature provides a USB auto detection. Newly inserted usb mass storage drives will be selected automatically. You can also select your desired device manually. Copy Process OPUS Projektor Manual...
Page 656
Device Software Update Legend: (1) When the button 'Create Bootable USB Drive' is clicked, the current copy state is shown here. (2) During copy progress, the progress bar is running. (3) When the copy process starts, the button 'Create Bootable USB Drive' will be disabled. To abort the copy process, please press 'Abort'.
Device Software Update When the copy process fails, a red cross icon is visible. NOTE: The copy process fails e.g. if disk space is to low, or USB device is removed during the copy process. 10.2.1 Software Versions Overview This page provides an overview of released program versions and what OS/BSP combinations should be used on the devices.
Page 658
Device Software Update Program Version OS Version for OS Version for OS Version for I.MX35 Devices I.MX6 EGSPRO I.MX6 EGSCORE Devices Devices 2021.4 2.2.6 2.3.4 1.2.2 2020.4 2.2.5 (2.2.6 for EA 2.3.4. 1.1.1 ( only B3) devices) 2020.1 2.2.3 (2.2.6 for EA 2.3.2 0.6.1 devices)
Miscellaneous Miscellaneous 11.1 Online Update With this version we are introducing the possibility to receive online updates of the program. These can be bug-fixes, new features or updates of the device software. Please note: The update is modular, but it always comes in one package, i.e. you cannot update only some of the parts that are updated, either you keep the version you have or you update to the new one available.
Page 661
Miscellaneous If you don't want to receive notifications about updates, set this to Never. Please note that you should never deactivate or uninstall modules in the Installed tab. This will break the functionality of the program. Update Process When an update is available, you will be notified with this symbol in the lower right corner: Additionally, an information bubble will be shown when the update is first recognized: OPUS Projektor Manual...
Page 662
Miscellaneous If you close the bubble, you will not be notified again until the set check interval occurs. Click the link in the bubble to see the content of the update. Alternatively, you can check for updates yourself in the dialog Tools -> Plugins in the tab Updates and click the button Check for Updates.
Page 663
Miscellaneous In the next screen you might see a license agreement for each module (depending on whether a new update is already available at the time of the original installation). In most cases these will be identical for all modules. Cancel stops the update process. OPUS Projektor Manual...
Page 664
Miscellaneous Click the check box to accept the license agreements and then click Update to continue with the update. If you have started the update from the bubble, it will be downloaded in the background, so you can continue to work. The download progress will be shown in the bottom right. Clicking the X symbol stops the download of the update content.
Page 665
Miscellaneous Once downloading has finished, a dialog with the module certificate verification pops up. OPUS Projektor Manual...
Page 666
Miscellaneous There are 3 possibilities for modules: - Signed and Valid - This will not be used by us since we can't let our modules be validated externally - Self Signed - This is where our modules will be. We have signed them ourselves - Unsigned - Our modules will never be unsigned.
Page 667
Miscellaneous Click OK to close the certificate information. In the certificate verification dialog, press Continue to progress in the update installation. Cancel stops the update process. Click Next to start downloading the update. After the verification, a bubble will show up that asks you to restart the program to complete the installation.
Page 668
Miscellaneous Alternatively, if you started the update from the Plugins Dialog, you will see a confirmation dialog that asks you to restart the program. Cancel stops the update process. Select Restart Now and then click Finish to install the update. Select Restart Later to continue working and restart later.
Miscellaneous Online Manual - This module contains the offline version of the manual you are reading right now. ___ - These modules contain the OS files for the different devices. PClient - This module contains the PClient files for the different devices. Project Samples - This module contains the sample projects.
Page 670
Miscellaneous If your device has no input method, i.e. no keys and no touch, the welcome project will start in a no touch mode. In this mode, the project will show different screens to show some information about the device. The pages are Home page ->...
Page 671
Miscellaneous On this page you can enable / disable the project download over USB, CAN and ETH (Ethernet) by pressing the according buttons. Pressing them again will inverse the current setting. By pressing the CAN Settings button you can navigate to the CAN Settings page. By pressing the ETH Settings button you can navigate to the Ethernet Settings page.
Page 672
Miscellaneous On the CAN Settings page you can set the CAN port that should be used for the project download and the Bitrate for the project download for that port. Back returns to the Updater Settings page. OPUS Projektor Manual...
Page 673
Miscellaneous On the Ethernet Settings page you can set the IP Address (10) and Netmask (11) that the device should have in the network. With the Back button (12) you can go back to the Updater Settings page. Please note: All settings made in this project are temporary and only valid for the first project transfer.
Page 674
Miscellaneous On most pages in the Service Project an "Eject USB" button will be displayed next to the help button if a USB stick is connected to the device. If you want to unplug the USB stick, press this button first to unmount it properly from the device. Service Project ->...
Page 675
Miscellaneous In this screen different device data is displayed. Back returns to the system menu. Service Project -> System -> Service Mode OPUS Projektor Manual...
Page 676
Miscellaneous In this screen the service mode can be activated for the next reboot to update OS / PClient. Pressing the restart button opens a confirmation dialog. By pressing Yes the device will reboot. By pressing No the dialog will be closed again. The service mode setting will be kept.
Page 677
Miscellaneous In this screen the different power events can be tested. The current power mode is shown in the top. The lamps will light up when the according power event is used. Disconnect clamp 15 /ignition pin to enter low-power mode, and then sleep mode, after which the device will turn off.
Page 678
Miscellaneous In this screen the times for the low-power mode and the sleep mode can be set. - (minus) decreases the time, + (plus) increases the time. For some devices, the silent on to low power time can be set, as well. The amount that the current value is modified by, can be chosen with the Modifer dropdown.
Page 679
Miscellaneous In this screen, hardware elements can be configured to stay on or turn off when low power mode is entered. If the switch is in the OFF position, the element will turn off when low-power mode is entered. If the switch is in the ON position, the element will stay on in low-power mode.
Page 680
Miscellaneous In this screen different power modes can be activated. Low power and on mode can be set here. For some devices, a timed low power mode can be set, as well. For both low power modes a popup will be shown, warning that a way back to on mode should be considered, either by disconnecting and re-connecting ignition, or by setting display, touch and or keys to still work in low power mode.
Page 681
Miscellaneous In this screen the simulation mode can be enabled to be able to use the variable simulation in the OPUS Projektor for the device. Additionally, the port for the simulation can be set by pressing the - (minus) and + (plus) buttons.
Page 682
Miscellaneous In this screen the touch screen calibration can be started. 5 cross hairs will appear one after another (top left, top right, bottom right, bottom left, center). Press the cross hairs to calibrate the screen. Please note that the PClient stays on during this operation, so the cross hairs will be painted over this screen.
Page 683
Miscellaneous In this screen two encoder settings can be made. Roll over means that the yellow selection rectangle will not stop at the last object, but it will roll over to the first object again. Additionally, the navigation direction for the encoder can be switched between clockwise and anti-clockwise.
Page 684
Miscellaneous In this screen, the IP address and Netmask can be set, similarly to the updater screen described above. Additionally, SSH can be enabled here. On devices with Automotive Ethernet, the mode can be switched between master and slave here, as well. Back returns to the system menu.
Page 685
Miscellaneous In this screen a rudimentary USB file browser is implemented. If a USB stick with a valid file system is plugged in, the content will be shown. Next to the help button, an eject/unmount button will be shown to unmount the USB stick before unplugging it. The view in the browser can be switched between directories and files.
Page 686
Miscellaneous In this screen a Linux command can be executed. Select the field that says "command string" and a virtual keyboard will open. Enter a command of your choice. With the Execute button the command will be executed in the Linux system. If the command is faulty, it will be displayed that there was an error executing this command.
Page 687
Miscellaneous In this screen the update behavior when inserting a USB stick can be selected. The default update option (active by default) is the behavior as you know it - when a USB stick with a project is inserted and USB update is enabled in the Updater section, the project will be loaded.
Page 688
Miscellaneous By pressing Install, the project on the USB stick will be installed. By pressing Reboot, after a confirmation the device will be rebooted in service mode in which the OS / PClient files will be installed. Note that afterwards the device reboots again, starts in service mode, and if a PClient is installed and a valid project is on the USB stick, that project will be installed automatically, since the USB Update Check settings are volatile.
Page 689
Miscellaneous In this screen, the available hardware sensor values can be viewed. Back returns to the main menu. Service Project -> Objects and Functions OPUS Projektor Manual...
Page 690
Miscellaneous In this screen some functionalities of the OPUS Projektor and the PClient can be tested. Service Project -> Objects and Functions -> Animated GIFs In this screen, an exemplary animated GIF file can be controlled. Play starts the animation. Pause pauses the animation (but stays at the current frame).
Page 691
Miscellaneous In this screen the PDF reader can be started with an exemplary PDF file. Please note that it might take a while for the PDF reader to be started. Please be patient. Please note that the PDF reader opens as a separate full screen application. Close it to go back to the PClient.
Page 692
Miscellaneous In this screen necessary settings to use the RS232 port for data communication can be made. By default, the RS232 port will be used by the device operating system console. To be able to use the RS232 port for data communication, the console mode needs to be set to 1 (system console off) or 2 (system console goes to the first USB-RS232 adapter (with USB side plugged into the device).
Page 693
Miscellaneous Yes restarts the device with the chosen console mode setting. No closes the dialog and resets the console mode back to 0. Back returns to the Objects and Functions menu. Service Project -> Objects and Functions -> RS232 Data Page OPUS Projektor Manual...
Page 694
Miscellaneous In this screen, RS232 data communication can be tested. Please note that this screen is only shown if the console mode is 1 or 2 (see previous screens). Read reads the RS232 buffer and displays the result (if it is text). Hello World writes a "Hello World"...
Page 695
Miscellaneous In this screen the dynamic possibilities of the Gauge object can be tested. The different button change the object at runtime. Reset resets the object to the default setup. Back returns to the Objects and Functions menu. Service Project -> Objects and Functions -> Day / Night Mode OPUS Projektor Manual...
Page 696
Miscellaneous In this screen the day / night mode can be tested. The Night Mode / Day Mode button switches all objects between their day mode / night mode theme. The input objects can be tested, including the touch input for the list object. Back returns to the Objects and Functions menu.
Page 697
Miscellaneous In this screen, screenshots can be enabled by pressing "Enable Screenshots". When screenshots are enabled, a screenshot can be taken on every page by either pressing the camera button in the upper right, or by long-pressing the 3 arrow key on the device. Screenshots will be stored on the file system.
Page 698
Miscellaneous In this screen the EEPROM can be tested by writing to it and reading from it. The value that should be written into an EEPROM position can be set between 0 and 255 with the + and - buttons. They will increment and decrement either by 1 or 10, depending on the value modifier setting.
Page 699
Miscellaneous In this screen the variable logging functionality can be tested. Press Start Logging to start the variable logging. The logged variable is the RTC seconds variable, so there will be one event each second. The file can be viewed by pressing View Log File. This opens up an alarm showing the content of the file.
Page 700
Miscellaneous In this screen the multi language functionality can be tested. The five language buttons switch the texts and the image between the languages. Back returns to the Objects and Functions menu. The used language flag icons were created by Freepik from www.flaticon.com.
Page 701
Miscellaneous In this screen alarms and alarm logging can be tested. To enable alarm logging, press the Start Logging button. To stop it, press it again. The three Open ... Alarm buttons open an alarm from one of the categories Emergency, Warning or Information(al). From the opened alarm pop up, the alarms of the other two categories can be opened as well, to demonstrate the enqueuement and priority of the different alarm categories.
Page 702
Miscellaneous On this page most object events of all input objects can be tested. In the list object in the top an object type can be selected, from String Field, Numeric Field, Button, Table, List, Meter, Gauge, Arched Bargraph, Linear Bargraph. For the selected object type, the available events are listed on the left and right of the object in the center.
Page 703
Miscellaneous In this screen a file with information about the device can be written to a connected USB stick for analysis or to be sent to technical support. Copy infos to USB creates the info file and puts it on the USB stick. Please note that this button is only shown if a valid USB stick is connected.
Page 704
Miscellaneous After copying, the file name of the created file will be shown. Unmount USB stick unmounts the USB stick so it can be ejected from the device. Please note that until the USB stick is mounted, the file might not be finalized on the USB stick.
Page 705
Miscellaneous When the USB stick is successfully unmounted, an information will be displayed on the screen that the stick can be ejected. Back returns to the main menu. Service Project -> CAN In this screen the different CAN protocols can be selected for some tests. Please note that if the device is connected to a CAN network, it is your responsibility that the messages created in these tests don't collide with the CAN network.
Page 706
Miscellaneous In this screen the SDO and the PDO Test can be selected. Please note that for these tests to work, the device ports CAN 1 and CAN 2 need to be connected. Back returns to the CAN menu. Service Project -> CAN -> CANopen -> SDO Test OPUS Projektor Manual...
Page 707
Miscellaneous In this screen different SDO functionalities can be tested. Device reads means that the OPUS device will ask the ECU (aka CAN port 2) for some data values. If the communication is successful, the values in the Expected column should be the same as in the ask ECU column.
Page 708
Miscellaneous In this screen some PDO functionalities can be tested. For the PDO communcation to start, the device first needs to be set into operational mode with the button in the bottom left. The first two indicators show a green check mark if the cyclic receive and transmit communication work correctly.
Page 709
Miscellaneous In this screen the CANopen heartbeat functionality can be tested. When entering this page, the CANopen stack on the device will produce a heartbeat message every 100 ms (ID 0x701) on CAN bus 1. A CANFreestyle receive message on CAN bus 2 checks for this message and shows the red X if the heartbeat isn't received for more than 200 ms.
Page 710
Miscellaneous In this screen the test pages for DM1 and PGNs can be opened. Please note that for these tests to work, the device ports CAN 1 and CAN 2 need to be connected. Back returns to the CAN menu. Service Project ->...
Page 711
Miscellaneous In this screen two DM1 tests can be performed. Send Example 1 will send an error to the OPUS device and let one lamp blink slowly. Send Example 2 will send a different error to the OPUS device and let all lamps blink fast. Please note that the errors will disappear after 1 second.
Page 712
Miscellaneous On this screen, two PGNs can be tested. PGN FDC5 contains some device information. With Send PGN FDC5 the PGN is sent from CAN bus 1 to 2 and the received values are compared to the actual values on the left. If they are correct, green check marks will be displayed.
Page 713
Miscellaneous Pressing Enable PGN 0 starts the periodic transfer of PGN 0, usually used to transfer the target RPM. The gauge on the left side shows the value that is transferred, the gauge on the right shows the received value. With the plus / minus buttons the value can be changed. If the values are identical, a green check mark will be displayed.
Page 714
Miscellaneous On this page, different masking, bit shift, scaling and offset functionalities can be tested. For this test to work, CAN1 and CAN2 have to be connected. In the top the original value can be changed (shown in hexadecimal). The Modifier dropdown chooses the modifier by which plus and minus buttons change the value.
Page 715
Miscellaneous In this screen a custom CAN message can be set up which will be sent to the chosen CAN bus. Please note that creating the "wrong" message can be dangerous for the system the device is connected to. The CAN 1 / CAN 2 button chooses over which CAN bus the message should be sent. In the Bitrate dropdown the bitrate can be chosen with which the message should be sent.
Page 716
Miscellaneous The LED / Backlights screen allows changing the values for display, key, encoder backlight and the multicolor LED. The - (minus) and + (plus) buttons change the according value. The amount that the current value is modified by, can be chosen with the Modifer dropdown. Store display brightness as startup value changes the startup display brightness (i.e.
Page 717
Miscellaneous In this screen the automatic backlight control can be activated / deactivated. Additionally, the backlight curve for the different brightness sensor values can be adjusted. The first bar sets the brightness of the screen for an ambient brightness of 0 to 10 %. The second bar sets the brightness of the screen for an ambient brightness of 10 to 20 %, and so on.
Page 718
Miscellaneous In this screen the colors for the key backlight and the encoder backlight can be adjusted (only available on certain devices). The - (minus) and + (plus) buttons change the according value. The amount that the current value is modified by, can be chosen with the Modifer dropdown. Store as startup value will set the backlight color that keys and encoder will have at startup until the application setting sets in.
Page 719
Miscellaneous In this screen the analog / digital / current / frequency (where available) inputs can be viewed and the digital outputs can be set. The lamps for outputs 1 to 3 are inputs and can be activated / deactivated. This activates the according output.
Page 720
Miscellaneous Please refer to the how-to on digital outputs. Back returns to the main menu. Service Project -> Cameras OPUS Projektor Manual...
Page 721
Miscellaneous In this screen different camera screens can be chosen. Please note that only the available screens should be opened. With the RTP button the Ethernet Camera input for the multi camera pages can be switched between RTP and RTSP. Back returns to the main menu.
Page 722
Miscellaneous In this screen an Ethernet camera stream can be viewed. Note that only RTP over UDP is supported in this screen. The UDP port can be set with the - (minus) and + (plus) buttons. The Modifier dropdown chooses the modify value. ETH settings jumps to the Ethernet settings to set an IP address.
Page 723
Miscellaneous In this screen an Ethernet camera stream can be viewed. Note that only RTSP over UDP is supported in this screen. The RTSP address can be set by selecting the String Field. ETH settings jumps to the Ethernet settings to set an IP address. Back returns to the camera main menu.
Page 724
Miscellaneous In this screen the date and time can be set. The - (minus) and + (plus) buttons change the according value. The week day will be calculated automatically. Back returns to the main menu. Service Project -> Keys OPUS Projektor Manual...
Page 725
Miscellaneous In this screen the soft- and hard keys as well as the encoder can be tested. For the soft keys, both the actual physical key and the according touch region can be used to test. For each event, the according field will be colored green (P - press, R - release, LP - long press, LR - long release, DC - double click).
Page 726
Miscellaneous In this screen the touch input can be tested. Each squared button will be colored green if it has been touched, so a well-working screen should be able to color all buttons, and a button should only be colored green if it actually has been touched. Additionally, the touch coordinates for X and Y both for pressing and releasing are displayed, as well as a counter number for the presses and releases of the touch.
Page 727
Miscellaneous In this page the multi touch functionality can be tested. Depending on the capabilities of the hardware, 2 or 5 buttons, each with a lamp, will be displayed. Each button lights up the according lamp. If all buttons are pressed at the same time, the green lamp lights up.
Page 728
Miscellaneous In this screen some volumes for speaker / beeper can be set and different audio / video screens can be reached. Back returns to the main menu. Service Project -> Audio / Video -> Beeper OPUS Projektor Manual...
Page 729
Miscellaneous In this screen the beep on click function can be enabled / disabled. With this enabled, the device will beep whenever the touch screen has been pressed. Additionally, an alarm can be opened which also triggers a beep. The alarm will close itself after 2 seconds.
For a complete list, please visit the Topcon Electronics Projektor Tool tutorial video page. 11.4 Crash, Issue, Feedback reports With this version we are introducing the possibility to send crash reports and give us general feedback or report an issue directly through the program.
Page 731
Miscellaneous Crash report If a crash, or more correctly, an exception occurs, a dialog is opened automatically. Good news first: if you want to send us that report, but you don't want to bother with all the things we ask, just click Send, the crash report will be accepted anonymously. But it will be more helpful if you will out the fields in the report dialog.
Page 732
Miscellaneous Email - if we have questions regarding your report, it would be good if we could reach out to you (optional for crash reports). The email address will be stored for future reports. You can delete the stored data in the Options dialog Subject - is automatically filled with the exception name Description - Anything you can tell us about what lead to the exception will be helpful...
Page 733
Miscellaneous Protocols : [No Protocols] CAN-Mappings 2: ======================================== DummyEdit => TS: 2021.11.24-14:30:45 Page: Project Edit: Start: EmptyProject_85 3: ======================================== Workflow => TS: 2021.11.24-14:30:51 [Action] "Report an issue or give feedback" | Action_Performed 4: ======================================== Workflow => TS: 2021.11.24-14:30:51 [Dialog] "Report an issue, request a feature or give feedback"...
Page 735
Miscellaneous 26: ======================================== PropertyEdit => TS: 2021.11.29-09:04:21 Page: Home Page Object(s): Numeric Field 1[46] Edit: Absolute Max Value Old Value: 100 New Value: 1000 27: ======================================== Workflow => TS: 2021.11.29-09:04:28 [Action] "Report an issue or give feedback" | Action_Performed 28: ======================================== Workflow =>...
Page 736
Miscellaneous java.util.ConcurrentModificationException at java.base/java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.base/java.util.HashMap$KeyIterator.next(Unknown Source) org.netbeans.api.visual.model.ObjectScene.setSelectedObjects(ObjectScene.java:217) org..core.gui.sceneDesigner.PageTopComponent$3.resultChanged(PageTopComponent.ja va:328) org.openide.util.lookup.SimpleProxyLookup.checkLookup(SimpleProxyLookup.java:89) at org.openide.util.lookup.SimpleProxyLookup.lookup(SimpleProxyLookup.java:134) org.netbeans.modules.openide.windows.GlobalActionContextImpl.blickActionMapImpl(Global ActionContextImpl.java:107) org.netbeans.modules.openide.windows.GlobalActionContextImpl.blickActionMap(GlobalActi onContextImpl.java:81) org.netbeans.modules.openide.windows.GlobalActionContextImpl.propertyChange(GlobalAct ionContextImpl.java:180) at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.desktop/java.awt.KeyboardFocusManager.firePropertyChange(Unknown Source) java.desktop/java.awt.KeyboardFocusManager.setGlobalPermanentFocusOwner(Unknown Source) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) at java.desktop/sun.awt.SunToolkit$1.run(Unknown Source)
Page 737
Miscellaneous at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source) Don't show this error again - You can choose to not send this error again. If there happens to be an exception that occurs rather often in your work flow, it will be annoying for you to have the dialog pop up all the time, and receiving the same report over and over again will not be increasingly helpful for us, either.
Page 738
Miscellaneous Choose Feedback in the Your concern drop down list to send a general feedback report. Choose Feature Request in the Your concern drop down list to send a feature request report. The dialog for feedback and feature request are both very similar to the crash report with the following differences: Name, Email, Subject - These fields are necessary fields now because the probability that we will want to discuss your report with you are much higher.
Page 739
Miscellaneous The Report Issue / Bug dialog can be opened through the menu Help -> Report an issue or give feedback. Choose Issue/Bug in the Your concern drop down list to send an issue / bug report. The dialog for Issue/Bug is similar to the crash report, with the following differences: Undo/redo history is not available.
Page 740
Miscellaneous Reported Issues View In this view all crash reports and feedbacks from this installment of the program are listed. The list can be sorted by either of the columns. A double click opens the Reported Issue Details Window. In this window the details about the issue can be viewed, including the current status and all comments, both by the user and by us.
Page 741
Miscellaneous Why shouldn't I just click "Don't send" mindlessly if a report pops up? Why should I care? If you use the program regularly, you surely want the best experience possible when using it. We know that the program is not perfect (yet), but we want to make it as good as we can, and you can help make it a little better with your error reports and your feedback and ideas.
Page 742
Miscellaneous · The report is too big - There may only be short of 30.000 characters in a report. If you wrote a LOT in the description, maybe shorten it a bit and send the rest as a comment through the Issue View.
How To How To Here you will find some quick short solutions for common use cases. Feel free to contact us if something you think should be there is missing. 12.1 How to create switch buttons with changing colors You want to create buttons that activate and deactivate certain settings (like a switch). The background color of the button should indicate if the setting is activated or not.
How To · Activate the Set as Input property of the list object · Set the Items Visible (Editing Mode) to e.g. 5 · Put a JavaScript to the event OnEnterValue of the list object · In the script, read the variable menu_id to find out which option in the menu was selected and perform the according action (e.g.
How To - create the variable you want to read from the ECU (data type must match!) - open the Variable Manager - set the ECU as the owner of the variable - set the ECU index and ECU sub index of the variable according to the index / sub index the variable has in the ECU - use the JavaScript function requestVariableValueFromOwner...
Page 747
How To In Low Power mode the device is basically functional, all scripts, CAN messages etc. are still running. Some elements of the devices can be turned off to save power and / or give the user the illusion that the device is already off: ·...
Page 748
How To After another time, set with @PWR_TimeToPowerOff (again between 0 and 2332800 seconds), the device turns Off. Here is a rough overview how much power the devices draw in which mode. 4.7" iMX.35 7" iMX.25 7" iMX.6 12" iMX.6 1000 1600 Low Power...
How To When returning from Low Power or Sleep mode, the device will continue where it was instead of starting freshly. If disconnecting clamp 15 is not possible, consider using the variable @PWR_CurrentPowerMode. You can shut down by setting it to 0x4A17. 12.8 How to use the digital outputs The digital outputs that are available on some of the variants of our displays are open-drain outputs.
How To The external VCC and the power source of the display device can be the same. The grounds have to be connected (i.e. have to be the same). The LED in the image is only an example, it is not limited to LEDs. 12.9 How to process CAN messages with a multiplexer bit You need to process CAN messages from an ECU that uses one CAN-ID and a multiplexer bit to differentiate the data.
How To 12.10 How to create dynamic icons You want to put 40 icons in your UI, but you only have space for 10, so you want to display them dynamically. · Create a list object · Put a String Field in as the first child, delete its text and make it transparent. This will be shown when no icon needs to be displayed.
Page 752
How To · For each event that should remove a certain icon, put this code in a script: icon_enable[<n>] = 0;//hide Icon n //change flag var flag = getVariableValue("icon_event_flag"); flag = flag + 1; setVariableValue("icon_event_flag", flag); · To test this without actual events, you can put latching buttons on the screen with the above 2 scripts on OnPress and OnRelease, respectively.
Page 754
Can I rearrange the pages in the tree? You can change the order of pages in the project tree by selecting a page and pressing the keyboard shortcut <ALT> + <Page Up> / <Page Down>. You can bring them to the top / bottom with <ALT>...
Page 755
• Sleep: When the device is in LowPower mode and a timeout expires (@PWR_Time_To_Sleep_Mode), the device enters sleep mode. In this mode only the RAM is supplied with power. Power consumption is very low. Three events are defined for the project to which actions can be assigned: OnPowerOn, OnLowPower and OnSleep.
Page 756
CANopen: Can I change the Node-ID of the device at runtime? The LSS services used for this purpose are currently not supported by the terminals. How can I change the default backlight intensity at startup? The default intensity for the display and the keypad backlight can be adjusted with the following variables: @DispBacklightStartupIntensity @KeyBacklightStartupIntensity...
Page 757
How can I use the hard keys in my project? Encoder: The encoder is automatically used for selection and editing when you set the "Set as Input" property for objects. Additionally, you can use encoder events directly by configuring the events of the encoder. You can do this for every page. Function Key (three arrow key): You can use the events of that key for every page.
Page 758
General volume settings The main variable to control the general volume level is @BeeperMaxVolume. This variable can be seen as the main volume level. It has an influence on all other volumes. The next two general volume variables are @VolumeLevelSpeaker and @VolumeLevelLineOut.
Page 759
soundVolume = (configuredVolume * ((@BeeperEventVolume * @BeeperMaxVolume) / 100)) / 100 While configuredVolume is the volume that was configured in the Audio Output settings Note that the final volume also still depends on @VolumeLevelSpeaker and @VolumeLevelLineOut (see above Click Volume The following variables have an influence on the click volume: ·...
Page 760
setVariableValue("@CurrentDirectory", "/opt/pclient/logfiles/"); //Set the current file name to "alarm.log", the name of the file setVariableValue("@CurrentFile", "alarm.log"); //Set the destination to a temporary folder which will be deleted after restart setVariableValue("@DestinationDirectory", "/dev/null/"); //Execute the copy/move process setVariableValue("@CopyFileOrFolder", 2); Please note: - no slash before or after the file name - @CurrentDirectory needs to be set before @CurrentFile How can I rename my project? There are two ways to rename a project.
Page 761
How can I calculate with numbers in unsigned32 in JavaScript You can force the interpretation of a number in JavaScript in unsigned32 by executing this code: var number_us32 = number_original >>> 0; How can I set the IP of the device? To change the IP of a device while it is running, use the variable @Ethernet0_IPAdress But this is not a permanent setting!
Page 762
You can save screenshots of your project (i.e. what is currently shown on the screen) by using the variable @ProjektTakeScreenshot Why aren't my GIF files displayed in the project? We support the GIF file format mainly because of its animation possibility. GIF files are only supported for the Image to Display property of Picture Graphics.
To be sure you have the latest software running on the devices, please always perform a software update on devices you purchased. If you have any problems during the update, please contact the Topcon Electronics support team: opus-support@topcon.com +49 6722 4026 888...
OPUS devices update manual 14.2 Contents of the software update In this chapter, the files that are used for the different update parts are described. 14.2.1 OS 1.x The OS 1.x contains the following files: Redboot_RAM.bin – a binary image with the bootloader zImage –...
OPUS devices update manual Additionally, there is an md5 checksum file for each of the above files (except for the uImage file) which are used to check the integrity of the files in the installation. 14.2.4 OS EGSCORE The OS EGSCORE contains the following files: boot_egscore_X.X.X.bin –...
OPUS devices update manual For OS EGSCORE there are two files: user_egscore_x.y.tar.gz – zipped package with Codesys executable and additional files user2_egscore_x.y_Service.tar.gz – zipped package with service project Additionally there is an md5 checksum file for these files which are used to check the integrity of the files in the installation.
OPUS devices update manual Please note that the boot logo cannot be changed with these devices like it can for OPUS devices. If you need to change the boot logo, please contact opus-support@topcon.com 14.3 Updating the device In this chapter, the update process for the different device types is described.
Page 769
OPUS devices update manual After some seconds a screen with “Maintenance” will be displayed. At this point please disconnect the clamp “Serv_EN”, otherwise the update will be done again after restart. b) Press the left keys 1 and 2 and then power on the device while holding the keys (works only if you have a product version with keys).
OPUS devices update manual Let the update run through completely. Don’t disconnect the power when the reboot countdown is displayed Once the device restarted, there will be a touch screen calibration process, if the device has a touch screen. You can read about that process here. 14.3.1.1 Updating from OS 0.x / 1.x to 2.x Warning: All files in /opt will be deleted with this update.
Page 771
OPUS devices update manual Warning: When upgrading to OS EGSPRO 2.x, a downgrade to EGSPRO 1.x is NOT POSSIBLE! In Windows, the user.tar files are often shown as zip files. Never unzip these files or the update won't work! To update from EGSpro 1.x to EGSpro 2.x, the additional files update.img and update.img.md5 must be included on the update USB stick.
OPUS devices update manual Alternatively, you can also press left keys 1 + 2 for A6 G2 Standard, keys 1 and stop for OPUS A8 Standard, during power on. After some seconds a screen with “Maintenance” will be displayed. At this point please disconnect the clamp “Serv_EN”, otherwise the update will be done again after restart.
OPUS devices update manual After some seconds a screen with “Maintenance” will be displayed. At this point please disconnect the clamp “Serv_EN”, otherwise the update will be done again after restart. 14.3.4 ISO-V2 The first step to update the device is to copy the update files on a USB stick. The USB stick has to be FAT32 formatted with only one partition.
Page 774
OPUS devices update manual a) Connect the clamp “Serv_EN” (service enable) with clamp 15 and 30 and then power on the device. After some seconds please disconnect the clamp “Serv_EN”, otherwise the update will be done again after restart. b) Press the left keys 1 and 2 and then power on the device while holding the keys (works only if you have a product version with keys).
OPUS devices update manual 14.3.5 Update via partition It is possible to update OS and application without a USB stick (not valid for ISO-V2). For this, the files have to be put into a special folder that might have to be created at first. For A3/A6G1: /opt/var/update This folder might have to be created first: mkdir /opt/var/update...
Page 776
OPUS devices update manual You can use any shell program, such as HyperTerminal (only up to Windows XP), PuTTY or TeraTerm VT (both free and open source). These are the settings you need to make in your software: The COM-Port can differ depending on your system. If you start up the device with the console connected, you will see a lot of startup messages.
OPUS devices update manual password: for A3 -> opusa3 for A6 -> opusa6 for A8 -> egspro for A6 G2 -> egspro for B3 -> egscore After logging in you will see a screen similar to this (it differs from device to device): Now you’re logged into the Linux system on the device.
Page 778
OPUS devices update manual - logo_egspro_a8-we-landscape.bmp for OS EGSPRO with A8 - recovery_egspro_a8-we-landscape.bmp for OS EGSPRO with A8 (update screen) - logo_egscore_b3-te-landscape.bmp for OS EGSCORE with B3 - recovery_egscore_b3-te-landscape.bmp for OS EGSCORE with B3 (update screen) Additionally, you need to create the MD5 checksum file. The checksum in the .md5 file needs to contain lower case letters and numbers only! If you have an existing check sum file (e.g.
Page 779
OPUS devices update manual 7. Check if the file was created by executing ls /disk/usbsda1 and, optionally, cat /disk/usbsda1/<filename>.md5 The MD5 file has to be encoded in ANSI or UTF8 without BOM. UTF8 doesn’t work. The letters in the checksum have to be lower case. The line endings in the .md5 file have to be Linux line endings (LF only) OPUS Projektor Manual...
Page 780
1a . (OPUS A3/A6 G1). Create a png image in the appropriate resolution (A3: 480x272, A6: 800x480) 1b . (OPUS A6G2/A8). Create a bmp image in the appropriate resolution (A6 G2: 800x480, A8: 1280x800) 1c . (OPUS B3). Create a bmp image in the appropriate resolution (B3: 800x480) 2.
OPUS devices update manual 14.4.3 Manual update of the boot loader and service ramdisk (OS 1.x) If the wrong boot loader and/or service ramdisk have been installed (e.g. A6 files on A3 or vice versa), you need to install the correct boot loader / service ramdisk file manually. For OS 2.x this doesn’t work anymore because the filenames containing the display name prohibit a wrong installation.
Page 782
OPUS devices update manual Once you see the RedBoot> prompt, you can let go of CRTL + C. If this doesn’t work, close TeraTerm/HyperTerminal and start it again. 3. Have the correct boot loader file (Redboot_RAM.bin) ready on your computer. Now enter the following command: load -r -b 0x100000 -m ymodem The device now waits for you to send a file.
Page 783
OPUS devices update manual In HyperTerminal choose the menu Transfer -> Send file and choose the boot loader file in the dialog: Then a dialog which shows the file transfer progress is displayed. Tera Term: HyperTerminal: The file transfer will take about 30 seconds. After successful file transfer the dialog is closed automatically and you will retrieve the boot prompt again.
Page 784
OPUS devices update manual 4. Now start the boot loader by entering the command 5. stop the execution of the boot script by pressing CTRL+C instantly after pressing Enter. 6. As a last step, the boot loader has to be programmed into the flash memory by entering the command romupdate Now power off the device and try installing the whole OS using the method described in...
OPUS devices update manual phys_addr=0x80100000 ++Searching for BBT table in the flash ... Found version 1 Bbt0 at block 8191 (0x3ffe0000) Total bad blocks: 0 hardware reset by POR Clock input is 24 MHz Hardware: OPUS A3 standard full Total RAM size: 268435456 byte (256MB) Chip is working in consumer mode Using display configuration "Seiko WQVGA"...
OPUS devices update manual 14.4.4 Touch Screen Calibration Devices with a resistive touch need a calibration after an update of the user application (i.e. when the /opt folder is deleted during the update), or if the touch doesn't work as expected, anymore.
Page 787
OPUS devices update manual In case of CODESYS, use the command: /opt/CoDeSysControl/Files/run stop Then execute the calibration program: ts_calibrate And once the calibration has finished, restart the PClient: /opt/CoDeSysControl/Files/run start In case of a customer programmed C++ application, consult the vendor of the vehicle/system for the exact command.
Page 788
OPUS devices update manual If the calibration went wrong, i.e. there was a double press and the cross hair "jumped" two positions at once, repeat the calibration in one of the ways described above. On the serial console, the output while running the calibration, looks like this: root@rosi /$ ts_calibrate xres = 480, yres = 272 Took 24 samples...
Tools Tools ISO 17215 Camera Configuration 15.1 ISO 17215 Camera Configuration The ISO 17215 standard provides a standardized way to configure ethernet cameras in an automotive environment. The ISO 17215 ethernet camera configuration tool is a small desktop application that allows configuration of ethernet cameras that support ISO 17215.
Page 791
Tools Network settings and scanning On start up, the tool automatically scans the available ethernet interfaces of the PC and lists them in the Interfaces drop down box. It only lists interfaces that are up and running (e.g. are configured and a cable is connected). Choose the interface to which the camera is connected.
Page 792
Tools If the IP address of your network interface can't be changed, consider using a second network card / USB-Ethernet interface. The Camera Port field needs to contain the UDP communication port number on which the camera listens. This is not the port for the actual video stream but the one for the ISO 17215 communication.
Page 793
Tools A Region of Interest (ROI) defines a setting that consists of · the region of the camera's sensor that shall be used (Sensor Geometry) · the output resolution · video compression · maximum bit rate that shall be used for the video stream The Select Region of Interest drop down box lets you select one of the available ROIs of the camera.
Page 794
Tools display has a resolution of 800x480, it makes no sense to choose an output resolution of 1280x960). WARNING: A certain combination of sensor geometry and output resolution may not be supported by the camera. This is a manufacturer specific limit and can not be checked. Please check camera documentation and error output! In the Video Compression drop down box the type of video compression can be selected.
Page 795
Tools Use the Mirror Horizontally (left will be right, right will be left) and Mirror Vertically (up will be down, down will be up) check boxes to configure mirroring of the camera. The preview image will change according to the mirror settings. Use the Sensor Resolution Presets drop down box to select a region of the camera sensor.
Page 796
Tools Note: The sensor and output resolution presets are currently designed to work with an Orlaco Emos camera. Not all presets can be combined with this camera. A warning will be displayed if a resolution combination will not work for that camera. Other cameras might support that combination so it is still possible to apply this to the camera.
Page 797
Tools Static IP Address The static IPv4 address of the camera. Change this to an address that matches the target system network. DHCP can also be enabled. Static Network Mask The static IPv4 network mask of the camera. Change this to a mask that matches the target system network.
Page 798
Tools MAC Address The MAC address of the camera. This setting is read-only and can not be changed. DHCP Select if DHCP shall be used or not. If DHCP is enabled, the camera will only work if a DHCP server is available in the network. If DHCP is disabled, the static IP address and mask will be used.
Page 799
Tools If enabled, two rotating arcs are overlaid to the video stream. This helps the user to detect video freezes and is a safety feature. LED Mode LED Mode can be either enabled, disabled or set to auto. The effect of this setting is currently unknown.
Page 800
Tools No Stream at Boot Select stream or no stream. If stream is selected, the camera will begin streaming the video directly after connecting it to power. If no stream is selected, the camera will only stream after someone subscribed to a ROI. Wait for MAC: do not wait or wait can be selected.
Need help?
Do you have a question about the OPUS A6G2 and is the answer not in the manual?
Questions and answers