Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

GoBus 1.5 Protocol Analyzer Plugins for Saleae Logic


  • Please log in to reply
7 replies to this topic

#1 Matt Isenhower

Matt Isenhower

    Advanced Member

  • Members
  • PipPipPip
  • 74 posts
  • LocationSan Diego, CA

Posted 24 September 2012 - 11:00 PM

To help build and debug the new GoBus 1.5 protocol, I have created a pair of protocol analyzer plugins for use with the Saleae Logic software. There are two versions of the analyzer: one for GoBus over asynchronous serial, and one for GoBus over SPI.

After installing the new Netduino Go firmware and Shield Base firmware released earlier today, you can use the serial analyzer to view the protocol between the Netduino Go mainboard and the Shield Base module. Using a breakout board (for example, the GoBus Breakout Module), simply connect your logic analyzer to GoBus pins 4, 5, and GND and you'll be able to capture and view the serial GoBus traffic between the module and the mainboard. (On the GoBus Breakout Module pins 4 and 5 are labeled with the STM8 functions SWIM and NRST.)

Download: Beta 1
Includes compiled files for Windows and Mac OS X, as well as the source code for both analyzers.

Here's what the analyzer looks like:
Posted Image
When you zoom in you can see a few more details about each byte:
Posted Image
Here's what the SPI analyzer looks like. At the moment I only have sample ("fake") data to display but it should work correctly with actual GoBus SPI traffic when that is available :)
Posted Image

Installation:

Windows:

Copy the following files:
  • GoBusAsyncSerial.dll
  • GoBusSPI.dll
to the Logic Analyzers directory: C:\Program Files\Saleae LLC\Analyzers

If the GoBus analyzers don't show up within the Logic software, make sure you have the Microsoft Visual C++ 2010 Redistributable Package installed. This can be downloaded from: http://www.microsoft...ls.aspx?id=5555

Mac OS X

Copy the following files:
  • libGoBusAsyncSerial.dylib
  • libGoBusSPI.dylib
to the Logic Analyzers directory: /Applications/Logic.app/Contents/Resources/Analyzers

Right click Logic.app and select "Show Package Contents" to access the "Contents" folder.

Limitations:
  • The analyzers currently only support CRC8 frames. This is due, in part, to CRC8/16 being a transport setting that is not indicated within each packet. This will be fixed in the future, either from a change in the protocol or through a setting in the analyzer.
  • The SPI analyzer currently uses the Enable line to determine frame length (and therefore where the CRC byte is located) as well as where each new frame begins. This could cause issues if the Enable line is not cycled between frames.
  • For both analyzers, the CRC value is only displayed and not actually verified by the analyzer. The CRC value in simulated data is not accurate and will always be set to 0xFF.
  • I haven't worked on the export function yet, these features are purely for displaying GoBus traffic at the moment. That will be fixed later :)

Enjoy, and let me know what you think! :)

Matt
Komodex Labs
Follow me on Twitter: @mattisenhower

#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 24 September 2012 - 11:16 PM

Hi Matt, That rocks! I didn't even know that LOGIC supported custom plug-ins until you built this. This will _really_ help in debugging of GoBus transports, when adding custom logic in GoBus module MCUs, etc. What an amazing contribution. Thank you so much! Chris

#3 Gutworks

Gutworks

    Advanced Member

  • Members
  • PipPipPip
  • 363 posts
  • LocationOttawa, Ontario

Posted 25 September 2012 - 02:08 AM

Matt,

I can't tell you how helpful this plugin is. It has really opened my eyes to the GoBus 1.5 Protocol. Even though I have read the Gobus document several times, it wasn't until I used your plugin and the Komodex GoBus Breakout Module that it all started to make sense. Great job!

Kudos,
Steve

#4 Matt Isenhower

Matt Isenhower

    Advanced Member

  • Members
  • PipPipPip
  • 74 posts
  • LocationSan Diego, CA

Posted 25 September 2012 - 02:10 AM

That rocks! I didn't even know that LOGIC supported custom plug-ins until you built this.

They do! Saleae provides two SDKs: an Analyzer SDK, and a Device SDK. The analyzer SDK can be used to build analyzers like this one, and the device SDK can be used to build programs that interact with the Logic hardware itself.

These SDKs are available from the Saleae Community. You just need to create an account to gain access to all the downloads.

One other quick note: The current Analyzer SDK only works up to the current release version of the Logic software, v1.1.15. There is a 1.1.16 beta but the SDK hasn't been updated just yet. I'll release an updated version of the GoBus analyzers when the new SDK is released :)

Matt
Komodex Labs
Follow me on Twitter: @mattisenhower

#5 Pete Brown

Pete Brown

    Advanced Member

  • Members
  • PipPipPip
  • 138 posts
  • LocationAnne Arundel County, MD

Posted 25 September 2012 - 02:23 AM

This
Pete Brown - http://10rem.net (NETMF, C++, Windows, C64, and general geekery) Twitter: @pete_brown
I work for Microsoft. Opinions expressed here are my own and do not necessarily reflect those of my employer,our partners or customers.

#6 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 25 September 2012 - 05:05 AM

This

Translation: I think that Pete is excited about this :)

Chris

#7 Nevyn

Nevyn

    Advanced Member

  • Members
  • PipPipPip
  • 1072 posts
  • LocationNorth Yorkshire, UK

Posted 25 September 2012 - 05:52 AM

To help build and debug the new GoBus 1.5 protocol, I have created a pair of protocol analyzer plugins for use with the Saleae Logic software. There are two versions of the analyzer: one for GoBus over asynchronous serial, and one for GoBus over SPI.


Big thumbs up !

Regards,
Mark

To be or not to be = 0xFF

 

Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life

Follow @nevynuk on Twitter


#8 Gutworks

Gutworks

    Advanced Member

  • Members
  • PipPipPip
  • 363 posts
  • LocationOttawa, Ontario

Posted 16 October 2012 - 02:24 PM

This

Ahhh...I only just clued in LOL.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.