DATASHEET 4Discovery 3.5" Wall Mounted Intelligent Display Module RS485 - 2 Wire Interface Document Date: 7th March 2015 Document Revision: 1.4 Uncontrolled Copy when printed or downloaded. Please refer to the 4D Systems website for the latest Revision of this document Contents 1. Description ............................................................................................................................. 4 2. Features ................................................................................................................................. 4 3. RJ45 Pin Configuration and Summary ...................................................................................... 5 4. Hardware Interface................................................................................................................. 6 4.1. Serial Port - RS485 ................................................................................................................................. 6 4.2. System Pins ............................................................................................................................................ 6 5. PmmC/Firmware Programming ............................................................................................... 7 6. Module Features .................................................................................................................... 7 6.1. Display - 3.5" TFT Touch Screen ............................................................................................................ 7 6.2. DIABLO16 Processor ............................................................................................................................... 7 6.3. SD/SDHC Memory Cards ........................................................................................................................ 8 6.4. FAT16 ..................................................................................................................................................... 8 6.5. Serial Flash Memory ............................................................................................................................... 8 6.6. Real Time Clock ...................................................................................................................................... 9 6.7. WiFi ........................................................................................................................................................ 9 6.8. Crypto Authentication ............................................................................................................................ 9 6.9. Piezo Buzzer ........................................................................................................................................... 9 6.10. Universal Mounting Options .............................................................................................................. 10 6.11. Removable Front Cover ...................................................................................................................... 10 6.12. Removable Display sub-assembly ...................................................................................................... 10 7. Display Precautions .............................................................................................................. 11 8. Hardware Tools .................................................................................................................... 11 8.1. 4D 485 Programmer ............................................................................................................................. 11 9. 4DGL - Software Language .................................................................................................... 12 10. 4D Systems - Workshop 4 IDE .............................................................................................. 12 10.1. Workshop 4 - Designer Environment ................................................................................................ 13 10.2. Workshop 4 - ViSi Environment......................................................................................................... 13 10.3. Workshop 4 - ViSi Genie Environment .............................................................................................. 13 10.4. ViSi-Genie Limitations with 4Discovery .............................................................................................. 14 10.5. Workshop 4 - Serial Environment...................................................................................................... 14 11. Connecting to External Hardware ........................................................................................ 15 11.1. Master and Slaves .............................................................................................................................. 15 11.2. 4Discovery as a Host .......................................................................................................................... 16 11.3. 4Discovery as a Slave ......................................................................................................................... 17 11.4. 4Discovery Multiple Masters ............................................................................................................. 18 11.5. Programming 4Discovery ................................................................................................................... 19 11.6. Termination Resistors ........................................................................................................................ 20 12. Notes ................................................................................................................................. 21 13. Scribble Box ........................................................................................................................ 21 14. Mechanical Details.............................................................................................................. 22 15. Specifications and Ratings ................................................................................................... 23 16. Legal Notice ........................................................................................................................ 24 17. Contact Information............................................................................................................ 24 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 1. Description 2. Features The 4Discovery is a high resolution 480x320 pixel 3.5" Intelligent wall mounted display product from 4D Systems, featuring the DIABLO16 Processor. * Powerful 3.5" Intelligent LCD-TFT module powered by DIABLO16. The 4Discovery is designed to be mounted to a standard light switch flush/mounting box, which enables quick and easy installation in to a wall, and can just as easily be mounted into an enclosure or panel, enabling a wide range of customers to take advantage of this display product. Driving the display and peripherals is the DIABLO16 processor, a very capable and powerful chip which enables stand-alone functionality, programmed using the 4D Systems Workshop 4 IDE Software. The Workshop IDE enables graphic solutions to be constructed rapidly and with ease due to its design being solely for 4D's graphics processors. The 4Discovery has an array of features including a 3.5" 320x480 TFT LCD Display, Resistive Touch, micro-SD memory storage, 16MB of Flash Memory storage, Real Time Clock, 2 wire RS485 Interface which can act as Master or Slave with additional changeover wire, Optional WiFi, Optional Crypto Authentication security chip for secure transmissions, and a switch-mode power supply enabling a wide input voltage range, along with many more features. This 4Discovery can be programmed to store 16MB worth of graphics, images, videos, data on the external flash, which may be desirable so a microSD card is not required. Additional images/data can be stored on the microSD card, or the microSD card can be used to upgrade the application running on the 4Discovery or update the external Flash memory. The options are endless. The on board optional WiFi module is the populate CC3000, which can be used to connect to a remote computer or server and exchange information. Anything that has been designed to run on a PICASO or DIABLO16 module can theoretically run on this 4Discovery with minor changes. Please ensure you contact the 4D Systems' support team if unsure changing over from a 4D Systems' module to this 4Discovery. display * 480x320 HVGA Resolution, RGB 65K true to life colours, TFT Screen with integrated 4-wire Resistive Touch Panel. * Programmed over RS485 using a special programmer designed specifically for the 4Discovery. * 6 banks of 32750 bytes of Flash memory for User Application Code and Data * 32Kb of SRAM purely for the User. * On-board micro-SD memory card connector for multimedia storage and data logging purposes. HC memory card support is also available for cards larger than 4GB. * On-board external 16MB of serial Flash for multimedia storage, datalogging etc. Can be used as an alternative to microSD, or as well as. * DOS compatible file access (FAT16 format) as well as low level access to microSD card memory. * Display full colour images, animations, icons and video clips on chosen 4D Systems display. * Supports all available Windows fonts. * 5.0V or 6.3V to 36V input voltage range operation (single supply). * Module dimensions: 74.0 x 117.0 x 21.7mm * Weight approximately 80g. * Display Viewing Area: 48.96 x 73.44mm * Easily mounted to the wall using a standard light switch flush/mounting box, or can be mounted in an enclosure/panel or virtually any flat drillable surface. * Compatible with Clipsal/HPM mounting blocks, 18mm or thicker, if the 4Discovery needs to be offset from the wall (useful for concrete block walls etc). * RoHS and CE Compliant. * Wireless option FCC Certified as per TI CC3000MOD specifications and carries a `Modular' grant that complies with the `Intentional Radiator' portion (Part 15c) for FCC Certification, Part 15.247 Transmitter Tests. FCC ID: Z64-CC3000EM (c) 2015 4D SYSTEMS Page 4 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 3. RJ45 Pin Configuration and Summary PIN 1 PIN 8 RJ45 Pinout Pin Symbol I/O 1 VIN P 2 3 4 5 A B GND GND I/O I/O P P 6 5V_IN P 7 TURN I 8 RESET I Description 6.3V to 36VDC Input. Recommended range is 12V to 24V. This is the primary power source of the 4Discovery. 485 A Signal, pulled to 3.3V internally, terminated to B with 120ohm. 485 B Signal, pulled to GND internally, terminated to A with 120ohm. System Ground, relevant to VIN and 5V_IN System Ground, relevant to VIN and 5V_IN 5.0VDC Input. This is typically only used to power the 4Discovery from the 4D 485 Programmer, however can be used to power the 4Discovery if a higher voltage power source into VIN is not available. Should be in the range of 4.5V to 5.5V, nominal 5.0V Primarily used by the 4D 485 Programmer in conjunction to programming the 4Discovery, however can also be from an external device which is acting as Host when 4Discovery is programmed to be a slave. This is an input only to the 4Discovery. When 4Discovery is a Master, the slaves have to determine the direction of transmit/receive themselves using an Auto Turnaround 485 IC or circuit. Reset signal used by the 4D 485 Programmer. Can be used by an external device if the 4Discovery needs to be reset. Active Low. Continued overleaf... I = Input, O = Output, P = Power (c) 2015 4D SYSTEMS Page 5 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 4. Hardware Interface 4.2. System Pins The 4Discovery provides both a hardware and software interface. This section describes in detail the hardware interface pins of the device. VIN (Primary Voltage Input) Pin 1: 4Discovery supply voltage input pin. This pin must be supplied between 6.3VDC and 36VDC, and these must not be exceeded. Typical voltages are between 12V and 24VDC. If this pin is not used, a 5VDC source can be applied to pin 6 instead. 4.1. Serial Port - RS485 The 4Discovery provides one asynchronous serial port which interfaces via the RJ45 port, and communicates using the RS485 protocol. This serial port is used for both communications to various devices on the RS485 bus, but also for the programming of the 4Discovery itself, using the 4D 485 Programmer. A MAX3430 RS485 IC is used inside the 4Discovery, to provide the RS485 interface, signals A and B. The primary features are: Full-Duplex 8 bit data transmission and reception. Data format: 8 bits, No Parity, 1 Stop bit. Baud rates from 300 baud up to 250K baud. Single byte transmits and receives or a fully buffered service. The buffered service feature runs in the background capturing and buffering serial data without the user application having to constantly poll any of the serial ports. This frees up the application to service other tasks. A single byte serial transmission consists of the start bit, 8-bits of data followed by the stop bit. The start bit is always 0, while a stop bit is always 1. The LSB (Least Significant Bit, Bit 0) is sent out first following the start bit. Image below shows a single byte transmission timing diagram. A (485 A Signal) Pin 2: This is the A signal used by the 2 wire RS485 bus on the 4Discovery. This signal is internally pulled up to 3.3V to prevent a floating bus, and is terminated to the B signal with a 120ohm resistor. B (485 A Signal) Pin 3: This is the B signal used by the 2 wire RS485 bus on the 4Discovery. This signal is internally pulled down to GND to prevent a floating bus, and is terminated to the A signal with a 120ohm resistor. GND (Module Ground) Pins 4, 5: Device ground pins. At least one of these pins must be connected to ground. 5V_IN (Secondary Voltage Input) Pin 6: 4Discovery supply voltage input pin. This pin is typically used by the 4D 485 Programmer when programming from USB of a PC, however it can also be used in the case a suitable voltage cannot be applied to VIN. Supply to his pin must be between 4.5V to 5.5V DC. Nominal operating voltage is 5.0 Volts. Note: Backlight brightness will be lower for voltages under 5.0V. TURN (485 Turn Around Pin) Pin 7: Primarily used by the 4D 485 Programmer in conjunction to programming the 4Discovery, however can also be from an external device which is acting as Host when 4Discovery is programmed to be a slave. This is an input only to the 4Discovery. When 4Discovery is a Master, the slaves have to determine the direction of transmit/receive themselves using an Auto Turnaround 485 IC or circuit. RESET (Module Master Reset) Pin 8: Reset signal used by the 4D 485 Programmer. This can be used by an external device if the 4Discovery needs to be reset. Active Low. (c) 2015 4D SYSTEMS Page 6 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 5. PmmC/Firmware Programming 6. Module Features The 4Discovery features a 4D Systems DIABLO16 processor, which is a custom graphics processor. All functionality including the high level commands are built into the chip. This chip level configuration is available as a PmmC (Personality-module-microCode) file, which can be likened to traditional Firmware. There is also a Display Driver file, which separates specific display settings from the PmmC. The 4Discovery is designed to accommodate a range of wall or enclosure mounted applications. Some of the main features of the 4Discovery are listed below. A PmmC file contains all of the low level microcode information (analogy of that of a soft silicon) which define the characteristics and functionality of the device. The ability of programming the device with a PmmC file provides an extremely flexible method of customising as well as upgrading it with future enhancements. The Display Driver contains the initialisation and parameters associated with the particular display that is to be connected to the DIABLO16 processor. The PmmC file and Display Driver file can only be programmed into the device using the RJ45 connector, using the 4D 485 Programmer with the aid of Workshop 4, the 4D Systems IDE software. No other RS485 device will be able to program the 4Discovery, the 4D 485 Programmer must be used. 6.1. Display - 3.5" TFT Touch Screen The 4Discovery is equipped with a 3.5" TFT display. Details of the display are listed below: Screen Size: 3.5" diagonal, 320x480 resolution, 65K colours Integrated 4-Wire Resistive Touch Screen Viewing Area: 48.96 x 73.44mm Pixel Pitch: 0.153(H) x 0.153(V)mm Brightness: 220cd/m2 Contrast Ratio: 500:1 Viewing Angle Above Centre: 65 degrees Viewing Angle Below Centre: 45 degrees Viewing Angle Left of Centre: 60 degrees Viewing Angle Right of Centre: 60 degrees Viewing Direction: 12 O'clock 7 LEDs for Backlighting Note: The Displays used are the highest rated `Grade A' Displays, which allow for 0-4 defective pixels. A defective pixel could be solid Black (Dead), White, Red, Green or Blue. 6.2. DIABLO16 Processor The 4Discovery is designed around the DIABLO16 Graphics Controller from 4D-Labs. The DIABLO16 is a smart Controller and the interface to the TFT- LCD displays is almost plug-nplay. All of the data and control signals are provided by the chip to interface directly to the display. (c) 2015 4D SYSTEMS Page 7 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution Powerful graphics, text, image, animation and countless more features are built right inside the chip. The data sheet for the processor is available from the http://www.4dsystems.com.au website: "DIABLO16-Processor-Datasheet-REVx.pdf" 6.3. SD/SDHC Memory Cards The 4Discovery supports micro-SD memory cards via the on-board micro-SD connector. The memory card is used for all multimedia file retrieval such as images, animations and movie clips. The memory card can also be used as general purpose storage for data logging applications. Support is available for off the shelf micro-SD (up to 2GB) and high capacity SDHC memory cards (4GB and above). Note: A microSD card capable of SPI is a requirement for all 4D Systems' display modules powered by Goldelox, Picaso or Diablo16 Processors. If a non-SPI compatible card is used, it will simply fail to mount, or may cause intermittent issues resulting in lock ups and crashing of the application. Please refer to the 4D Systems website for microSD cards offered by 4D Systems. The micro-SD card can be used as an update medium for the 4Discovery, in conjunction with suitable application code being written. The microSD card can be mounted and used to update the application(s) stored on the onboard Flash of Diablo16, as well as the application(s) stored on the external Serial Flash memory. This is useful to roll out updates without having to reprogram the 4Discovery. This however is not able to update the PmmC/Firmware or Display Driver. These must still be updated via the RS485 Programmer. The 4Discovery features a Card Detect on the microSD socket, which can be utilised by the User in their application, to determine if a microSD card is inserted or not. PA11 - Card Detect 6.4. FAT16 The uLCD-35DT Module uses off the shelf standard SDHC/SD/micro-SD memory cards with up to 4GB capacity usable with FAT16 formatting. For any FAT file related operations, before the memory card can be used it must first be formatted with FAT16 option. The formatting of the card can be done on any PC system with a card reader. Select the appropriate drive and choose the FAT16 (or just FAT in some systems) option when formatting. The card is now ready to be used in the DIABLO16 based application. The DIABLO16 Processor also supports high capacity HC memory cards (4GB and above). The available capacity of SD-HC cards varies according to the way the card is partitioned and the commands used to access it. The FAT partition is always first (if it exists) and can be up to the maximum size permitted by FAT16. Windows 7 will format FAT16 up to 4GB. Windows XP will format FAT16 up to 2GB and the Windows XP command prompt will format FAT16 up to 4GB. Partitioning of microSD cards should be carried out using the RMPET tool, which is included with the Workshop4 IDE. This tool enables you to partition and format your microSD card in a range of ways. It also then allows you to format the card so it is ready for the 4Discovery. 6.5. Serial Flash Memory The 4Discovery features 16MB of Serial Flash Memory which is connected to the following GPIO: PA0 - SPI Chip Select PA1 - SPI Clock PA2 - SPI Data Out MOSI PA3 - SPI Data In MISO DIABLO16 has a set of built in user functions to address SPI Flash Memory. Please refer to the DIABLO16 Internal 4DGL Functions document for more information on the SPI functions, available from the 4Discovery Product Page, on the 4D Systems website. www.4dsystems.com.au PA11 is Active Low when a card is detected, and High when no card is detected. (c) 2015 4D SYSTEMS Page 8 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 6.6. Real Time Clock The 4Discovery features a Microchip MCP7940N real time clock. This RTC is capable of Day, Month, Year, Hour, Minute, Seconds and Day of Week, with leap year compensation up to the year 2399, and both 12 and 24 hour modes. This RTC communicates to the DIABLO16 processor over an I2C interface using the following GPIO: PA13 - I2C Data SDA PA12 - I2C Clock SCL It is capable of up to 400kHz I2C communications. Please refer to the DIABLO16 Internal 4DGL Functions document for more information on the I2C functions, available from the 4Discovery Product Page, on the 4D Systems website. www.4dsystems.com.au Please also refer to the Microchip MCP7940N Datasheet for specific information about the RTC. 6.7. WiFi The 4Discovery comes in 2 versions, one with WiFi and one without WiFi. The WiFi option features a Texas Instruments CC3000MOD WiFi module built in, which enables the 4Discovery to communicate to remote servers or computers over the standard WiFi network in a house or commercial building. 4D Systems has developed a CC3000 library to use with the 4Discovery, providing all the low level functions required, enabling the User to get communications up and running promptly. Communication with the CC3000MOD module on board is carried out with SPI, using the following GPIO: PA4 - SPI CLK PA5 - SPI CS PA6 - SPI MISO PA7 - SPI IRQ (GPIO) PA8 - SPI MOSI PA9 - CC3000 Enable Please refer to the App Notes section for information and demos relating to the CC3000 Wifi module and the DIABLO16 processor. Application Notes include the connection of the CC3000 to an Access Point, Resolving a Remote (c) 2015 4D SYSTEMS Address, TCP Socket Connections, and Reading Text Information from a Website. More will become available over time. The CC3000MOD module inside the 4Discovery is capable of being updated when Firmware Updates are released from TI. This process is classed as Hard in difficulty and has a few manual steps due to porting the update from TI into a usable format for the 4Discovery to understand, and should only be conducted if there is an issue or new feature which is required to be fixed or updated. Please refer to the App Note regarding Updating the CC3000 Firmware, for more information. 6.8. Crypto Authentication The WiFi version of the 4Discovery features an Atmel Crypto Authentication security chip, which enables Diablo16 to encode messages securely so the messages cannot be intercepted and read rd openly by a 3 party without difficulty. The Crpyto Authentication chip uses the following GPIO: PA14 - I2C Clock SCL PA15 - I2C Data SDA It is capable of up to 1Mhz I2C Communications. Please refer to the DIABLO16 Internal 4DGL Functions document for more information on the I2C functions, available from the 4Discovery Product Page, on the 4D Systems website. www.4dsystems.com.au 6.9. Piezo Buzzer The 4Discovery has an on-board Piezo buzzer, which enables feedback to the user for a range of situations, such as when the screen is touched, or if an event occurs that needs an audio alert. The Piezo buzzer uses the AUDIO pin on the Diablo16 processor, and can be controlled using the snd_Freq() function. The optimal frequency to use for this buzzer is 2731Hz. Please refer to the DIABLO16 Internal 4DGL Functions document for more information on this function, available from the 4Discovery Product Page, on the 4D Systems website. www.4dsystems.com.au Page 9 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 6.10. Universal Mounting Options The 4Discovery has a range of ways it can be mounted. Primarily designed to be mounted into a standard light switch frame (a.k.a. Flush Box, Mounting Box), it can also be panel or enclosure mounted, or directly mounted on virtually any supportive wall surface. This includes plaster board, wood, and even concrete. One nice feature about the 4Discovery is only a single central hole is required to be drilled into the surface to enable the CAT5 cable to pass through and the RJ45 socket on the back of the 4Disocvery to protrude into. Mounting can then be as little as 2 screws, depending on the mounting surface. The central hole needs to be larger than 25mm (about 1") in order to give the RJ45 socket sufficient clearance and to not bind in the hole. There are 4 corner mounting slots, designed for countersunk self tapping wood screws or similar. 8G Countersunk Head chipboard screws work well. There are 2 central mounting slots, designed for the Flush/Mounting box which are commonly used for Plaster Board installations. Typically the screws that come with the Flush/Mounting box are used, and are Pan Head type. Any of these 6 mounting holes however can be used to mount the 4Discovery. Select the most appropriate ones for your target installation, and ensure the 4Discovery is securely attached to the surface in question. Please refer to the mechanical drawing towards the end of this document, for more information regarding the mounting holes and positions. On the front cover is the 4Discovery logo at the top left. This is countersunk slightly into the surface, and is designed so a company logo sticker can be placed in this location, to customise the 4Discovery to suit the application it is being used in. Bubble Stickers work well and give a nice 3D look. 6.12. Removable Display sub-assembly The display module itself can be removed from the mounting base, which enables full access to all of the mounting holes, specifically the 2 central slots, designed for a Flush/Mounting box. The display module can be carefully unclipped by gently raising the two upper (or lower) clips, which will release the display module from the mounting base. Please ensure only gentle force is applied to this clips so they are not damaged. 6.11. Removable Front Cover The front over of the 4Discovery is removable in order to access the mounting holes beneath it. Simply clip on or unclip the cover as required. (c) 2015 4D SYSTEMS Page 10 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 7. Display Precautions 8. Hardware Tools The following hardware tools are required for full control of the 4Discovery module. Avoid having to display the same image/object on the screen for lengthy periods of time. This will cause a burn-in which is a common problem with all types of display technologies. Blank the screen after a while or dim it very low by adjusting the contrast. Better still; implement a screen saver feature. Moisture and water can damage the display. Moisture on the surface of a powered display may cause the electrodes to corrode. Wipe off any moisture gently or let the display dry before usage. Dirt from fingerprint oil and fat can easily stain the surface of the display. Gently wipe off any stains with a soft lint-free cloth. The performance of the display will degrade under high temperature and humidity. Avoid such conditions when storing. Displays are susceptible to mechanical shock and any force exerted on the module may result in deformed zebra stripes, a cracked display cell and broken backlight Always use the mounting holes on the 4Discovery when mounting the 4Discovery to a wall, enclosure or panel. Do not apply undue tightness to the screws when fixing the 4Discovery to the chosen wall/enclosure, the 4Discovery case is made of plastic and may be damaged if screws are fastened too tightly. 8.1. 4D 485 Programmer The 4D 485 Programmer is an essential hardware tools to program, customise and test the 4Discovery module. It is possible to change the application the 4Discovery is running, using a microSD card. This however is only possible once the 4Discovery has been programmed such that the application is able to update itself. This is not possible out of the box, and requires an appropriate program to be written to achieve this. The 4D 485 Programmer is used to program a new Firmware/PmmC, Display Driver and for transferring compiled Workshop4 Applications. It can even serve as an interface for communicating serial data to the PC. The 4D Programmer also supplies power to the 4Discovery so it can be programmed on the bench or in the field, as it must be disconnected from the RS485 network in order to be programmed with the 4D 485 Programmer and therefore needs a power source. To connect the 4D 485 Programmer to the 4Discovery, requires a standard CAT5 Ethernet cable, straight through (NOT cross over). You can use CAT4, CAT5, CAT5e, CAT6 etc type cables, but all that is required is 8 wires/conductors and these are straight through, not crossed, to allow correct connection between the two RJ45 plugs/connectors on the 4Discovery and the 4D 485 Programmer. The speed rating of Ethernet cables is not relevant for the purpose of the 4Discovery since it uses RS485 which operates at a much slower speed to Ethernet. The maximum length of cable between the 4Discovery and the 4D 485 Programmer, should be kept below 10m. This is due to TTL signals on the RJ45 connector which need to be controlled by the 4D 485 Programmer. Anything longer may be feasible depending on the type of cable used, however typically longer cables will cause voltage drops and capacitive loading which could cause programming to fail. NOTE: The 4Discovery cannot be programmed when connected to the RS485 network. It needs to be 1:1 with the 4D 485 Programmer. (c) 2015 4D SYSTEMS Page 11 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 9. 4DGL - Software Language 10. 4D Systems - Workshop 4 IDE The 4Discovery utilises the DIABLO16 processor, which belongs to a family of processors powered by a highly optimised soft core virtual engine, EVE (Extensible Virtual Engine). Workshop 4 is a comprehensive software IDE that provides an integrated software development platform for all of the 4D family of processors and modules. The IDE combines the Editor, Compiler, Linker and Down- Loader to develop complete 4DGL application code. All user application code is developed within the Workshop 4 IDE. EVE is a proprietary, high performance virtualmachine with an extensive byte-code instruction set optimised to execute compiled 4DGL programs. 4DGL (4D Graphics Language) was specifically developed from ground up for the EVE engine core. It is a high level language which is easy to learn and simple to understand yet powerful enough to tackle many embedded graphics applications. 4DGL is a graphics oriented language allowing rapid application development, and the syntax structure was designed using elements of popular languages such as C, Basic, Pascal and others. Programmers familiar with these languages will feel right at home with 4DGL. It includes many familiar instructions such as IF..ELSE..ENDIF, WHILE..WEND, REPEAT..UNTIL, GOSUB..ENDSUB, GOTO, PRINT as well as some specialised instructions SERIN, SEROUT, GFX_LINE, GFX_CIRCLE and many more. For detailed information pertaining to the 4DGL language, please refer to the following documents: "4DGL-Programmers-Reference-Manual.pdf" "DIABLO16-4DGL-Internal-Functions.pdf" To assist with the development of 4DGL applications, the Workshop 4 IDE combines a fullfeatured editor, a compiler, a linker and a downloader into a single PC-based application. It's all you need to code, test and run your applications. 4DGL is available to be written in two of the four environments offered by the Workshop 4 IDE, Designer and ViSi. The other environments use alternative methods to program or communicate with the 4Discovery. Please refer to the Workshop 4 IDE section for more information. The Workshop 4 IDE supports multiple development environments for the user, to cater for different user requirements and skill level. The Designer environment enables the user to write 4DGL code in its natural form to program the 4D display module. A visual programming experience, suitably called ViSi, enables drag-and-drop type placement of objects to assist with 4DGL code generation and allows the user to visualise how the display will look while being developed. An advanced environment called ViSi-Genie doesn't require any 4DGL coding at all, it is all done automatically for you. Simply lay the display out with the objects you want, set the events to drive them and the code is written for you automatically. ViSi-Genie provides the latest rapid development experience from 4D Systems. A Serial environment is also provided to transform the display module into a slave serial module, allowing the user to control the display from any host microcontroller or device with a serial port. The Workshop 4 IDE is available from the 4D Systems website. www.4dsystems.com.au For a comprehensive manual on the Workshop 4 IDE Software along with other documents, refer to the documentation from the 4D Systems website, on the Workshop 4 product page. (c) 2015 4D SYSTEMS Page 12 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 10.1. Workshop 4 - Designer Environment 10.3. Workshop 4 - ViSi Genie Environment Choose the Designer environment to write 4DGL code in its raw form. ViSi Genie is a breakthrough in the way 4D Systems' graphic display modules are programmed. It is an environment like no other, a code-less programming environment that provides the user with a rapid visual experience, enabling a simple GUI application to be `written' from scratch in literally seconds. The Designer environment provides the user with a simple yet effective programming environment where pure 4DGL code can be written, compiled and downloaded to the 4Discovery. ViSi Genie does all the background coding, no 4DGL to learn, it does it all for you. Pick and choose the relevant objects to place on the display, much like the ViSi Environment yet without having to write a single line of code. Each object has parameters which can be set, and configurable events to animate and drive other objects or communicate with external devices. Simply place an object on the screen, position and size it to suit, set the parameters such as colour, range, text, and finally select the event you wish the object to be associated with, it is that simple. 10.2. Workshop 4 - ViSi Environment ViSi was designed to make the creation of graphical displays a more visual experience. ViSi is a great software tool that allows the user to see the instant results of their desired graphical layout. Additionally, there is a selection of inbuilt dials, gauges and meters that can simply be placed onto the simulated module display. From here each object can have its properties edited, and at the click of a button all relevant 4DGL code associated with that object is produced in the user program. The user can then write 4DGL code around these objects to utilise them in the way they choose. In seconds you can transform a blank display into a fully animated GUI with moving sliders, animated press and release buttons, and much more. All without writing a single line of code! ViSi Genie provides the user with a feature rich rapid development environment, second to none. Refer to the "ViSi Genie User Guide" and "ViSiGenie User Reference Manual" from the Workshop 4 product page on the 4D Systems website for information about the ViSi-Genie Environment and its Protocol. Refer to the "Diablo16 Internal function Manual" from the Workshop 4 product page on the 4D Systems website for a complete listing of all the supported 4DGL functions, along with the "4DGL Programmers Reference Manual" for information about the 4DGL Language and Syntax. (c) 2015 4D SYSTEMS Page 13 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 10.4. ViSi-Genie Limitations with 4Discovery While the 4Discovery is capable of being programmed using the ViSi-Genie Environment, there are limitations that need to be observed. If the 4Discovery is being programmed as a Slave Device on the RS485 network, it can only function in Polled mode, rather than Event mode due to the RS485 interface being half duplex rather than full duplex. 2-wire RS485 is only half duplex. If the 4Discovery is being programmed as a Master Device (Host) on the RS485 network, it can operate using Event mode, however is limited in data which can be returned from the slaves. When the 4Discovery is used with ViSi-Genie, only a single Master/Host and a single Slave, can be present on the network. This is the limitation with the ViSi-Genie protocol, as there is no way to direct the ViSi-Genie protocol to a specific Slave, and there is no way for Half Duplex RS485 to handle the responses from the slaves. If more than 1:1 is required, another Environment such as ViSi will be required. If ViSi-Genie is to be used when operating as a Slave Device, which is the typical operation for a 4D display using ViSi-Genie, when selecting the Event options on any given widget/object, "Reported Messages" cannot be used. The Host must poll each object on the 4Discovery in order to gain the required information. 4Discovery cannot just send information when it likes, which is the case of Reported Messages, as the 4Discovery is a Slave and therefore is only allowed to speak when spoken to. If ViSi-Genie is to be used when operating as a Host Device, the Reported Message option can be used as it can speak out to the bus as required since it is the Master of the RS485 bus. However it is not possible to request information from Slave devices, such as the value of something, as there are no standard functions available in ViSi-Genie to request data from another device. This mode is typically only useful if the 4Discovery only features controls such as buttons, switches, sliders and knobs, which do not require data to be displayed, and only send data out to the slaves in order for them to do a specific function. It therefore has limited but still applicable applications. available in the future, however these features are currently not supported by ViSi-Genie. 4D Systems is currently developing a Professional version of Workshop4, called Workshop4 PRO. This has an advanced ViSi-Genie environment with new widgets which allow 4DGL code to be executed by the ViSi-Genie environment when various situations occur, such as button presses, data being received, touch screen interaction, etc. With Workshop4 PRO, a number of the above limitations are lifted and therefore possible. Workshop4 PRO is aiming to be released February 2015. 4D Systems has ViSi-Genie libraries for the Arduino and the Raspberry Pi. The Arduino library has been updated to include support for the 4Discovery, to allow it to communicate as a Slave to an Arduino using RS485 (external hardware is required on the Arduino). It utilises the Turn Around pin on the 4Discovery in order to control the Transmit/Receive functionality of the RS485 transceiver. This Turn Around Pin control is required as the ViSi-Genie Protocol is defined already and therefore control of the 4Discoverys Transmit/Receive mode needs to be controlled from the Host, the Arduino. 10.5. Workshop 4 - Serial Environment The Serial environment in the Workshop 4 IDE provides the user the ability to transform the 4Discovery into a slave serial graphics controller. This enables the user to use their favourite microcontroller or serial device as the Host, without having to learn 4DGL or program in a separate IDE. Once the 4Discovery is configured and downloaded to from the Serial Environment, simple graphic commands can be sent from the users host microcontroller to display primitives, images, sound or even video. Refer to the "Diablo16 Serial Command Set Reference Manual" from the Workshop 4 product page on the 4D Systems website for a complete listing of all the supported serial commands There are a number of features, such as WiFi, RTC, Piezo Buzzer and Serial Flash which can only be operated using Designer, ViSi or Serial. Support of these features into ViSi-Genie may become (c) 2015 4D SYSTEMS Page 14 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11. Connecting to External Hardware The 4Discovery is capable of acting as both a RS485 Host, and a RS485 Slave, when appropriate circuitry is present on the devices being interfaced to, and appropriate software is written. It is also possible to connect multiple 4Discoveries on to a single bus at the same time. Like all Half Duplex RS485 systems though, there can only be 1 Master. All devices on the RS485 bus MUST communicate using the same protocol else the system will not work. 11.1. Master and Slaves The 4Discovery is a Half-Duplex RS485 device, which means it operates on a 2-wire RS485 bus, which means there can be only a single Master device, and multiple Slave devices, and only the Master can initiate communication, and a Slave can only communicate if first spoken to. Only 1 device can talk on the bus at any given time. The simplest way to achieve this is when building a new network, and each device on the network is programmable and capable of handling a customised protocol. With an appropriate protocol, the Master can initiate communicate to one or all slaves at once (a Broadcast), and the Slaves will receive the information, process it and based on which slave the message was intended for, that Slave will reply with the information requested or an Acknowledgement of an Action taken place. In the case of a Broadcast, the Slaves should not attempt to reply at all, as only one device can reply at once and this could lead to chaos on the network (Unless an innovative protocol is derived). In the case of an existing RS485 system that 4Discovery is going to be placed into, the 4Discovery may need to be a Slave device to an existing Master, and an existing Protocol may need to be programmed into the 4Discovery. On the 4Discovery there is a Turn Around pin. This pin is wired directly to the RS485 transceiver in the 4Discovery, which switches the system from Transmit to Receive. This pin is also connected to a GPIO of the Diablo16 processor, and is therefore capable of being controlled by the 4Discovery, to tell other devices the state of the transmit/receive on the 4Discovery. While this Turn Around pin may not be used in most cases, it may be useful for those special systems where Automatic Direction Control is not possible, such as if an existing protocol does not support it, but the control of a GPIO is possible. Figure 1. Typical 2-wire RS485 configuration, which includes a common ground. (c) 2015 4D SYSTEMS Page 15 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11.2. 4Discovery as a Host The 4Discovery is capable of being the Master device of the RS485 network. It therefore needs to communicate to all Slave devices on the network, and handle the replies from each of them. The 4Discovery is fully programmable by the User when used in Designer or ViSi, and therefore every aspect of the system needs to be managed by User Code. To enable the 4Discovery to transmit out of the RS485, the Turn Around pin needs to be High, which is controlled using the PA10 GPIO on the Diablo16 processor on board the 4Discovery. To enable the 4Discovery to receive over RS485, the Turn Around pin needs to be Low. As mentioned in 11.1 `Master and Slaves', the 4Discovery is capable of being used in new RS485 systems, as well as existing systems. When used in new systems, the 4Discovery protocol can be more easily customised to provide the best mix of features and performance as possible, compared to existing systems which typically have a protocol already defined or devices which use a fixed protocol. The 4Discovery is fully programmable so is capable of working with a large range of new and existing systems, even if the protocols are specialised. A main factor is that all devices on the RS485 bus need to take the same protocol, else the system will not operate correctly. If there are systems which are not capable of determining when the Slaves are `allowed' to Transmit, the Turn Around pin may be used from the 4Discovery to indicate when the Master (4Discovery) is transmitting or receiving, and may be useful to assist the Slave. Figure 2. This shows a 4Discovery as the Master of the RS485 Bus, and there are multiple Slaves, which can include multiple 4Discovery's (as Slaves). The Master could communicate to each of the Slaves individually, or to all of them by doing a Broadcast, however this is dictated by the User Protocol and how the system is set up. Each Device on the bus needs to communicate using the same protocol, and each device needs to be able to control its own Transmit/Receive mode of its RS485 transceiver. (c) 2015 4D SYSTEMS Page 16 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11.3. 4Discovery as a Slave To operate the 4Discovery as a RS485 Slave, the same considerations need to be made regarding the protocol used in the system, as when the 4Discovery was the Host. An appropriate Protocol is required such that the Master Device transmits out onto the bus to the slaves, either pinpointing a single Slave device, or broadcasting to all Slave devices on the Bus. Based on the Protocol, the Slaves will receive the message and if the message is not intended for them, then to discard it. If the message is intended for them to then wait for the end of the message and reply accordingly. The 4Discovery is not capable of Auto Direction Control, and therefore needs to be either externally controlled by the host (as is the case when the 4Discovery is programmed using the 4D RS485 Programmer), or more commonly the 4Discovery would handle the Direction Control of its RS485 transceiver based on the data received on the RS485, dictated by the Protocol. The PA10 GPIO on the 4Discovery is connected to the Turn Around pin on the RJ45 Jack, and it is also connected to the Transmit/Receive controls of its RS485 transceiver. When the 4Discovery is in Slave Mode, the GPIO needs to be controlled based on the data received over the RS485, to place the 4Discovery in the appropriate Transmit or Receive state based on the information received, dictated by the Users protocol. If this is not possible, the Turn Around pin can be controlled from the Host to manually change the 4Discovery from being in Transmit or Receive mode, however this is less desirable and should only be used in special situations. For example, if the 4Discovery is a Slave and the PA10 GPIO is Low, then the Host is currently in Transmit mode, and data could be flowing over the RS485 and should therefore be captured and processed. If the PA10 GPIO is High, then the 4Discovery has the opportunity to reply or send information to the Host if required, in response to the previous data received. When multiple devices are on the bus, ie more than 1 slave, Designer or ViSi Environments can be used to program the 4Discovery as a Slave. If only a single slave exists and no more are going to be added, ViSi-Genie can be used. Please refer to Section 10.4 "ViSi-Genie Limitations with 4Discovery" for more information. Figure 3. This shows the situation where there are 1 or more Slaves on the network, of which 1 or more could be a 4Discovery. Each Slave needs to handle the changing of its own Transmit/Receive, based on the information received from the Master. Only one Slave should reply at any given time, after the Master has transmitted to it. Utilizing RS485 transceivers with Auto Direction control can simplify the setup, however a suitable protocol needs to be utilized regardless. (c) 2015 4D SYSTEMS Page 17 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11.4. 4Discovery Multiple Masters It is possible to implement a system which has multiple Master devices on the RS485 network, provided the protocol is written to support this. There may be situations where multiple 4Discoveries are required in a building, all attached to the same RS485 network, and talk to the same Slaves. While this is not a typical situation in the eyes of RS485, it is possible to do if each of the devices on the RS485 can be programmed to handle this. The protocol programmed into the devices needs to be written such that all devices are in Receiving Mode by default, and only go into Transmit Mode when they are initiating a transmission. This will allow any of the 4Discoveries working as Masters to send out a message on to the bus, to be received by the other units. As with any 2-wire RS485 network, only one Master can talk at any given time. If a configuration is used where there are multiple Masters on the same RS485 bus, the programming either needs to prevent multiple Masters speaking at the same time, else it needs to handle it if the situation arises, such as if 2 Users are working on 4Discoveries in separate locations, trying to send onto the bus at the same time. Figure 4. This shows multiple Masters on the RS485 network, with multiple Slaves. A specialised program and protocol is required to realise this setup, but is useful if more than 1 4Discovery is required on the network to control the same set of equipment from multiple locations. (c) 2015 4D SYSTEMS Page 18 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11.5. Programming 4Discovery The only method available to program the 4Discovery directly is by using the 4D RS485 Programmer. This device programs the 4Discovery over the RS485 bus, as well as supplying it Power and controlling the Turn Around pin of the 4Discovery and the Reset signal, to appropriately program the on-board Diablo16 Processor. There is no other programmer which can be used to program the 4Discovery. The 4D RS485 Programmer is also capable of upgrading the PmmC/Firmware of the 4Discovery and the Display Driver, along with the User Application. An alternative method of loading a new Application on to the 4Discovery is by loading a precompiled program from microSD storage, on to the on-board flash of the Diablo16 processor. This can be done using the built in functions of the Diablo16 processor, and enables the 4Discovery to be updated in the field by the End User, without having to have a technician or technical person on call to program the 4Discovery using the 4D RS485 Programmer and PC. This method however cannot be used to upgrade the PmmC or Display Driver. This can only be done using the 4D RS485 Programmer. To enable the loading of precompiled programs onto the 4Discovery from the microSD card, an appropriate application needs to be written, this is not possible straight out of the box. Here is a diagram to show the basics of how the 4Discovery interfaces to the 4D RS485 Programmer. Figure 5. This is the situation used when programming the 4Discovery using the 4D RS485 Programmer. The Programmer controls the 4Discovery's Turn Around Pin, allowing the programming software to dictate when the 4Discovery is listening and when it is allowed to reply to programming commands. This same setup can be used for general communications also, where there is one external Master, and 4Discovery as a single Slave. It is not possible to have multiple Slaves in this situation, due to the way the Turn Around Pin is interfaced with the 4Discovery in order to make the 4Discovery programmable over the RJ45 connector using RS485. Programming of the 4Discovery is only possible when the 4Discovery is disconnected from the RS485 network, and is connected 1:1 with the 4D 485 Programmer. It is not possible to program it when connected to the network, as the Reset and Turn Around pins are required to program the 4Discovery, and other devices may try to communicate on the bus when programming is occurring, which could cause corruption and the programming to fail. Reset and Turn pins are also TTL level, so the distance these should ideally be transmitted over, should be as short as possible. Please refer to Section 8.1, "4D 485 Programmer", for more information. (c) 2015 4D SYSTEMS Page 19 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 11.6. Termination Resistors On each 4Discovery is a built in 120ohm termination resistor. This is active by default. The termination resistor is there to absorb reflections in the RS-485 bus, however typically are only used at each end of the bus, ie the first device and the last device. Depending how you are configuring your system with the 4Discovery, will determine if you need a termination resistor or not. In a number of cases, having a termination resistor present is better than not having a termination resistor at all, even if the termination is not located at the end of the bus, however this is very subjective and system dependant. If the on-board termination resistor is causing problems with communication, it can be disabled, but requires the 4Discovery case to be carefully opened and the PCB modified. On the back of the 4Discovery is a cover, which is attached with multiple clips, and can be tricky to remove. Using a plastic tool or possibly two plastic tools, these clips can be carefully opened, and the back cover removed, exposing the circuitry inside. Under the cover, towards the bottom, are two sets of pads with a label JP1. These two pads have a small track running between them. This track between the two pads of JP1 needs to be carefully cut with a sharp knife, to separate the two pads from each other. This will disable the 120ohm resistor. If the 120ohm resistor needs to be enabled again, these pads can be soldered together. Note: Extreme care needs to be taken when performing this modification, as slipping with the knife could result in components or tracks being damaged. This should only be attempted by people who know the risks and are capable of modifying the PCB. (c) 2015 4D SYSTEMS Page 20 of 24 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 12. Notes __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ 13. Scribble Box (c) 2015 4D SYSTEMS Page 21 of 24 www.4dsystems.com.au 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 4Discovery - Wall Mountable Display 14. Mechanical Details (c) 2015 4D SYSTEMS Page 22 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution 15. Specifications and Ratings ABSOLUTE MAXIMUM RATINGS Operating ambient temperature ................................................................................................... -15C to +65C Storage temperature .......................................................................................................................... -30C +70C Voltage on VCC with respect to GND .............................................................................................. 6.3V to 36VDC Voltage on 5V_IN with respect to GND ............................................................................................... 4.5V to 5.5V NOTE: Stresses above those listed here may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the recommended operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. RECOMMENDED OPERATING CONDITIONS Parameter Supply Voltage (VCC) Supply Voltage (5V_IN) Operating Temperature Reset Pulse Operational Delay Conditions Stable external supply required Stable external supply required External Open Collector Power-Up or External Reset Min 7.0 4.5 -10 20 500 Typ 12.0 5.0 ---- Max 30.0 5.5 +60 -5000 Units V V C s ms GLOBAL CHARACTERISTICS BASED ON OPERATING CONDITIONS Parameter Supply Current (ICC) Diablo16 Flash Memory Endurance External Serial Flash Memory Endurance Diablo16 & Serial Flash Memory Data Retention Display Endurance (c) 2015 4D SYSTEMS Conditions 12V, heavily depends on screen usage conditions, SD Card etc. WIFI ON. 12V, heavily depends on screen usage conditions, SD Card etc. WIFI OFF. 5V, heavily depends on screen usage conditions, SD Card etc. WIFI ON. 5V, heavily depends on screen usage conditions, SD Card etc. WIFI OFF. Min Typ Max Units -- 200 -- mA -- 130 -- mA -- 290 -- mA -- 220 -- mA PmmC / Application Programming -- 10000 -- E/W Per Sector Program/Erase Cycles -- 10000 -- E/W 20 -- -- Years -- 20000 -- H Provided Maximum ratings are not exceeded. Hours of operation, measured to when display is 50% original brightness Page 23 of 24 www.4dsystems.com.au 4Discovery - Wall Mountable Display 4D SYSTEMS 4Discovery - Wall Mountable Display Solution ORDERING INFORMATION Order Code: 4Discovery-35 (Non WiFi Version) 4Discovery-35W (WiFi Version) Packaging: Module sealed in an antistatic foam padded 4D Systems box 16. Legal Notice Proprietary Information The information contained in this document is the property of 4D Systems Pty. Ltd. and may be the subject of patents pending or granted, and must not be copied or disclosed without prior written permission. 4D Systems endeavours to ensure that the information in this document is correct and fairly stated but does not accept liability for any error or omission. The development of 4D Systems products and services is continuous and published information may not be up to date. It is important to check the current position with 4D Systems. 4D Systems reserves the right to modify, update or makes changes to Specifications or written material without prior notice at any time. All trademarks belong to their respective owners and are recognised and acknowledged. Disclaimer of Warranties & Limitation of Liability 4D Systems makes no warranty, either expressed or implied with respect to any product, and specifically disclaims all other warranties, including, without limitation, warranties for merchantability, non-infringement and fitness for any particular purpose. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. Images and graphics used throughout this document are for illustrative purposes only. All images and graphics used are possible to be displayed on the 4D Systems range of products, however the quality may vary. In no event shall 4D Systems be liable to the buyer or to any third party for any indirect, incidental, special, consequential, punitive or exemplary damages (including without limitation lost profits, lost savings, or loss of business opportunity) arising out of or relating to any product or service provided or to be provided by 4D Systems, or the use or inability to use the same, even if 4D Systems has been advised of the possibility of such damages. 4D Systems products are not fault tolerant nor designed, manufactured or intended for use or resale as on line control equipment in hazardous environments requiring fail - safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines or weapons systems in which the failure of the product could lead directly to death, personal injury or severe physical or environmental damage (`High Risk Activities'). 4D Systems and its suppliers specifically disclaim any expressed or implied warranty of fitness for High Risk Activities. Use of 4D Systems' products and devices in 'High Risk Activities' and in any other application is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless 4D Systems from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any 4D Systems intellectual property rights. 17. Contact Information For Technical Support: www.4dsystems.com.au/support For Sales Support: sales@4dsystems.com.au Website: www.4dsystems.com.au Copyright 4D Systems Pty. Ltd. 2000-2015. (c) 2015 4D SYSTEMS Page 24 of 24 www.4dsystems.com.au Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: 4D Systems: SK-4Discovery-35WiFi 4Discovery RS485 Programmer