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

Shield Base Firmware (beta 3)


  • Please log in to reply
11 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 24 September 2012 - 10:35 PM

Version: Beta 3 (based on 4.2.0.1 NETMF firmware)

This update requires a Netduino Go running v4.2.0.1+ firmware.

In April, we launched the Shield Base to introduce GoBus Virtual I/O. With the release of the GoBus 1.5 specification, we've updated the Shield Base to GoBus 1.5.

This firmware uses the GoBus 1.5 UART transport, so it temporarily requires use of 4 GoPorts (1-4 or 5-8). We will remove this restriction later this season by moving to the fast GoBus 1.5 SPI transport.

This firmware includes the following updates:
1. GoBus 1.5 transport: error-correction with CRCs, frame acknowledgements, retries, etc.
2. InterruptPort support (pins D2-D13, although A0-A5 can be used by advanced users)
3. New ShieldBase.PWMChannels and ShieldBase.AnalogInputs enumerations (matching Netduino 4.2)

This firmware also includes the previous updates:
1. PWM no longer stops working 'randomly'
2. PWM scale now works properly

Known issues:
1. Pins D0/D1 are occupied by the NETMF debug channel. We'll free these up in an upcoming update.

NOTE: if you are using your Shield Base (with upgraded STM32F2 chip) as a standalone NETMF board, you'll want to continue using the production 4.2.0.0 NETMF firmware.

To upgrade your Shield Base:
1. Plug your Shield Base into GoPort 5 of your Netduino Go.
2. Deploy the attached updater app, and watch your Output window.
3. When prompted, press the Netduino Go's onboard button to start the flashing process.
4. While flashing your Shield Base, socket 5's LED will flash and the Output window will provide status.
5. When the Shield Base is completely updated, the white power LED will flash.

After the upgrade, simply deploy a new app to your Netduino Go mainboard. If you have trouble communicating with the shield base, power cycle your Netduino Go.

Please post in this thread if you have any troubles.

Thank you for beta testing the Shield Base,

Chris

P.S. We've discovered a quirk in the NETMF STM32 flash drivers which seems to intermittently affect deployment of really large apps like this one. If you run into troubles deploying this app (or another app immediately after this one), you can re-flash your mainboard. We're looking into it, and hope to contribute back any bug fixes to the NETMF core.

Attached Files



#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 24 September 2012 - 10:42 PM

P.S. To update your current project using Shield Base: 1. Remove the NetduinoGo.ShieldBase.dll assembly reference from your current project. 2. Add the attached NetduinoGo.ShieldBase.dll assembly as a reference to your project. This update should be fully backwards compatible with your existing code. Chris P.P.S. Once Shield Base leaves beta, we'll include it in the official Netduino SDK. This assembly update procedure is only required during the beta.

Attached Files



#3 Matt Isenhower

Matt Isenhower

    Advanced Member

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

Posted 24 September 2012 - 11:06 PM

If you have a Saleae Logic analyzer and want to analyze the protocol now being used on the Shield Base, be sure to grab the new GoBus 1.5 Protocol Analyzer Plugin too! :)
Komodex Labs
Follow me on Twitter: @mattisenhower

#4 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 24 September 2012 - 11:17 PM

If you have a Saleae Logic analyzer and want to analyze the protocol now being used on the Shield Base, be sure to grab the new GoBus 1.5 Protocol Analyzer Plugin too! :)

I'd like to second that thought :) This is a pretty sweet analyzer that Matt has put together. Really cool.

I love this community. Thanks again Matt!

Chris

#5 Lunddahl

Lunddahl

    Advanced Member

  • Members
  • PipPipPip
  • 152 posts
  • LocationEurope, Denmark

Posted 25 September 2012 - 09:55 PM

To update your current project using Shield Base:

1. Remove the NetduinoGo.ShieldBase.dll assembly reference from your current project.
2. Add the attached NetduinoGo.ShieldBase.dll assembly as a reference to your project.


I copied the files into "C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.2" overwriting what was there, now i seem to remember that Visual Studio copies the files referenced to "\ProjectFolder\bin\Debug", so i deleted that directory before rebuilding.

But no luck, i had to remove the reference to NetduinoGo.ShieldBase.dll and add it again.

After that, my ShieldBase.BlinkLed is deploying and running fine.

:-)

- Ulrik Lunddahl

#6 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 25 September 2012 - 10:08 PM

If you do rebuild, or clean on the project, visualstudio should remove the files that was copied into the debug folder, so you should not need to muck around on your own there. I guess that run alone, did not detect that those referenced files was changed, and did not copy them again, that should normally work, but sometimes it kicks you in the nu**

--
Asbjrn


#7 jens

jens

    New Member

  • Members
  • Pip
  • 2 posts

Posted 04 October 2012 - 04:47 PM

I am having somewhat of a problem with my shield base after the update. I have a simple code flashing the power led on the Go when I push the button, which runs fine. But whenever I add:

private static NetduinoGo.ShieldBase GoShield = new NetduinoGo.ShieldBase(GoSockets.Socket5);

to the code I get a System.Exception in GoBusSerialTransport.dll. The shield base is on socket 5 and before upgrading, the shield base initialized without any problems. It seems the Go does connect to the shield, as the blue LED lights up, but it crashes shortly after. I am running the 4.2.0.1 firmware and the shield base flash completed successfully. The debugger output should be attached.

Any hints would be greatly appreciated.

Jens

Attached Files



#8 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 05 October 2012 - 02:44 PM

what happens if you do

private static NetduinoGo.ShieldBase sb;

public static void Main(){
  sb = new NetduinoGo.ShieldBase(GoSockets.Socket5);



}

--
Asbjrn


#9 QuantumPhysGuy

QuantumPhysGuy

    Advanced Member

  • Members
  • PipPipPip
  • 30 posts
  • LocationKentucky, USA

Posted 05 October 2012 - 03:19 PM

I am having somewhat of a problem with my shield base after the update. I have a simple code flashing the power led on the Go when I push the button, which runs fine. But whenever I add:

private static NetduinoGo.ShieldBase GoShield = new NetduinoGo.ShieldBase(GoSockets.Socket5);

to the code I get a System.Exception in GoBusSerialTransport.dll. The shield base is on socket 5 and before upgrading, the shield base initialized without any problems. It seems the Go does connect to the shield, as the blue LED lights up, but it crashes shortly after. I am running the 4.2.0.1 firmware and the shield base flash completed successfully. The debugger output should be attached.

Any hints would be greatly appreciated.

Jens


I had a similar issue - make sure you are using the new ShieldBase.dll library.

#10 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 05 October 2012 - 03:35 PM

what is the version for that dll?, in his log, this is written: Assembly: NetduinoGo.ShieldBase (0.2.0.0)

--
Asbjrn


#11 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 05 October 2012 - 04:02 PM

The latest NetduinoGo.ShieldBase.dll version is (0.2.0.0). Static constructors in NETMF can be initialized in a different order than we're used to on the desktop. I second neslekkim's recommendation about instantiating the object in code (so you know when it will be instantiated). Chris

#12 jens

jens

    New Member

  • Members
  • Pip
  • 2 posts

Posted 05 October 2012 - 05:41 PM

Neslekkim's suggestion worked, thanks for the help. Funny, haven't had that problem before, and the code seemed to work before the update. Anyway, problem solved, thank you for the quick reply.




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.