{"id":21436,"date":"2017-07-18T08:16:54","date_gmt":"2017-07-18T15:16:54","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=21436"},"modified":"2021-06-10T16:35:49","modified_gmt":"2021-06-10T23:35:49","slug":"browser-based-and-open-source-waveforms-live","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/browser-based-and-open-source-waveforms-live\/","title":{"rendered":"Browser Based and Open Source- WaveForms Live!"},"content":{"rendered":"<p>For the past couple of weeks we&#8217;ve been talking quite a bit about about the new OpenScope MZ, and have mentioned the interfacing software WaveForms Live. However, we haven&#8217;t gone into much detail about the software side of things&#8230; that is until now!<\/p>\n<p style=\"text-align: left;\">Based on our popular, <a href=\"https:\/\/analogdiscovery.com\/support\/\">WaveForms software<\/a>, WaveForms Live is Digilent&#8217;s <strong>browser based<\/strong>, and <strong>open sourced<\/strong> software offering. It was designed to easily control and interact with instrumentation hardware (like OpenScope MZ) by providing a cross platform (Mac, Windows, Linux), \u00a0graphical user interface that combines support for an oscilloscope, logic analyzer,\u00a0<abbr title=\"\" data-original-title=\"General Purpose Input\/Output\">GPIO<\/abbr>, power supply and more into a single application.<\/p>\n<figure style=\"width: 1353px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium\" src=\"https:\/\/digilent.com\/reference\/_media\/reference\/software\/waveforms-live\/waveforms-live-instrument-panel.png\" width=\"1353\" height=\"845\" \/><figcaption class=\"wp-caption-text\">&#8220;Hello World&#8221; example from the OpenScope MZ being displayed on WaveForms Live<\/figcaption><\/figure>\n<p><strong>Browser Based-\u00a0<\/strong>A defining feature of WaveForms Live is it&#8217;s ability to run in a browser and interact with hardware. This frees the user from having to download software that runs natively on the computer and opens up the possibility to run the software on phones, tablets, chrome books or anything that can serve a webpage!<\/p>\n<figure style=\"width: 492px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/www.digikey.com\/-\/media\/MakerIO\/Images\/blogs\/2017\/Digilent%20OpenScope%20MZ\/Cover.jpg?la=en&amp;ts=748d9437-eb6a-4861-b375-b360e3a65db8\" width=\"492\" height=\"369\" \/><figcaption class=\"wp-caption-text\">Waveforms Live is running on the Android Phone Through a Browser<\/figcaption><\/figure>\n<p>This is because WaveForms Live was developed using web-framework tools, such as\u00a0<a class=\"urlextern\" title=\"http:\/\/ionicframework.com\/\" href=\"http:\/\/ionicframework.com\/\" rel=\"nofollow\">\u00a0Ionic 2<\/a>\u00a0and\u00a0<a class=\"urlextern\" title=\"https:\/\/angular.io\/\" href=\"https:\/\/angular.io\/\" rel=\"nofollow\">\u00a0Angular2<\/a>\u00a0and written in TypeScript,\u00a0<abbr title=\"\" data-original-title=\"HyperText Markup Language\">HTML<\/abbr>\u00a0and\u00a0<abbr title=\"\" data-original-title=\"Cascading Style Sheets\">CSS<\/abbr>. The engine behind WaveForms Live is called, The Digilent Instrumentation Protocol.<\/p>\n<p>The Digilent Instrumentation Protocol is a JSON encoded command set for communicating with and controlling electronic instruments.JSON encoding offers several advantages including ease of use in JavaScript based web and mobile applications, human readable commands, and bus agnostic communication that easily supports HTTP, UART, TCP, WebSockets and more. The Digilent Instrumentation Protocol was initially designed as the communication protocol between\u00a0<a class=\"wikilink1\" title=\"reference:software:waveforms-live:start\" href=\"https:\/\/digilent.com\/reference\/software\/waveforms-live\/start\">WaveForms Live<\/a>\u00a0and and the\u00a0<a class=\"wikilink1\" title=\"reference:instrumentation:openscope-mz:start\" href=\"https:\/\/digilent.com\/reference\/instrumentation\/openscope-mz\/start\">OpenScope MZ<\/a>, however the protocol is designed to be hardware agnostic and extensible. You can find more details about the Digilent Instrumentation Protocol by <a href=\"https:\/\/digilent.com\/reference\/software\/digilent-instrumentation-protocol\/protocol\">visiting the resource center.<\/a><\/p>\n<p><strong>Open Source-\u00a0<\/strong>The other defining feature of WaveForms Live is the move to make the software open source. Largely enabled by the web tools that were used to develop it, all of the source code can be found on the Digilent\u00a0<a class=\"urlextern\" title=\"https:\/\/github.com\/Digilent\/waveforms-live\" href=\"https:\/\/github.com\/Digilent\/waveforms-live\" rel=\"nofollow\">GitHub<\/a>.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/github.com\/Digilent\/waveforms-live\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-21438\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Screen-Shot-2017-07-18-at-3.25.33-AM-600x310.png\" alt=\"\" width=\"600\" height=\"310\" data-wp-pid=\"21438\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Screen-Shot-2017-07-18-at-3.25.33-AM-600x310.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Screen-Shot-2017-07-18-at-3.25.33-AM-768x397.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Screen-Shot-2017-07-18-at-3.25.33-AM-1024x529.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Screen-Shot-2017-07-18-at-3.25.33-AM-800x413.png 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>The open source nature allows users to modify and contribute to the source code any improvements, device additions or general curiosity of how the software is put together. We&#8217;ve created a <a href=\"https:\/\/digilent.com\/reference\/software\/digilent-instrumentation-protocol\/angular2\">getting started tutorial<\/a> that will help developers begin poking around WaveForms Live and learning how it works.<\/p>\n<p>If you haven&#8217;t tried out WaveForms Live yet, you can head over to:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/waveformslive.com\/\">www.waveformslive.com\u00a0<\/a><\/p>\n<p>To take it for a test drive. If you have already explored the software, we encourage you to go and visit the <a href=\"https:\/\/digilent.com\/reference\/software\/waveforms-live\/start\">resource center<\/a> and to let us know your thoughts!<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-21436 jlk' data-task='like' data-post_id='21436' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-21436 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-21436 jlk' data-task='unlike' data-post_id='21436' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-21436 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-21436 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Now that you have (hopefully!) met the OpenScope MZ, it&#8217;s time to say hello to it&#8217;s companion software, WaveForms Live!<\/p>\n","protected":false},"author":2,"featured_media":21439,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,4323],"tags":[],"ppma_author":[4470],"class_list":["post-21436","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-products","category-software"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/waveformslive-opensource-browser-based.png","authors":[{"term_id":4470,"user_id":2,"is_guest":0,"slug":"larissa","display_name":"Larissa Swanland","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9a291236a6abf66b3508d1d28eea7a30?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Swanland","last_name_2":"","first_name":"Larissa","first_name_2":"","job_title":"","description":"I'm a bit of an electronics-education evangelist. After all, Education is how we learn about the world.\r\nElectronics make the world better.\r\nEngineers change the world. \r\nSo more engineers that know how to design and create electronics? \r\nThat's the kind of world I want to help create."}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/21436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=21436"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/21436\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/21439"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=21436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=21436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=21436"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=21436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}