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

Posts about Netduino Firmare v4.1.0.5


  • Please log in to reply
9 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 07 November 2010 - 08:23 AM

[replaced by Netduino Firmware v4.1.0.6]

#2 Philip

Philip

    Member

  • Members
  • PipPip
  • 26 posts
  • LocationPreston, England

Posted 09 November 2010 - 07:20 PM

Some users may erase their Netduinos completely to use them as low-cost ARM development boards or to otherwise tinker. In this case, it will necessary to redeploy the TinyBooter bootloader before redeploying the Netduino firmware.

To use the new "USB and serial - deployment selection" feature, you'll need to erase your Netduino and reflash the bootloader as well.

The TinyBooter booloader (v4.1.0.5) is attached to this post for your convenience.


Hi Chris - some very basic questions about the new update:

1) Why would I want to use 'serial deploy'? Does it use the Rx/Tx pins on the Netduino, or does it use the USB cable, but in a different way (as a serial link from VS2010?)?

2) Does this allow me to use the USB cable/connector as a serial link, like on the Arduino? Would I need a virtual serial COM port driver for this?

3) The choice of 'USB or serial feature now selectable via software tool' - its not clear what this tool might be. Could you give us a little more information on how to do this.

Thanks for a great community.

#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2010 - 10:03 PM

Hi Philip,

1) Why would I want to use 'serial deploy'? Does it use the Rx/Tx pins on the Netduino, or does it use the USB cable, but in a different way (as a serial link from VS2010?)?


Serial deployment uses pins D0/D1 of your Netduino (via a 3.3V USB-TTL cable). This frees up your USB port to be used for other things.

2) Does this allow me to use the USB cable/connector as a serial link, like on the Arduino? Would I need a virtual serial COM port driver for this?


Sure. You'd need to write a C# driver to do the CDC link. An even nicer option (for device to application communication) is to use the HID driver we're working on. We have a few bugs to squash and then we'll be giving that out...

3) The choice of 'USB or serial feature now selectable via software tool' - its not clear what this tool might be. Could you give us a little more information on how to do this.


We have a special version of MFDeploy which adds a "Deployment Transport" menu option. It'll be posted by sometime next week. The firmware got released a bit ahead of its time :) Please stay tuned...

Thanks for a great community.


Well, thank you. It's the community members and their contributions that make this community great.

Chris

#4 James

James

    Advanced Member

  • Members
  • PipPipPip
  • 56 posts

Posted 14 November 2010 - 04:53 PM

I ran through the process this morning, and it looks like the steps leave out the part about holding down the button on the Netduino while plugging it in and hitting "ping" in MFDeploy. Found that info in another thread and once I followed those steps the process worked for me. Thanks for the updates, it'll be nice to have the glitch filter working!

#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 14 November 2010 - 06:16 PM

I ran through the process this morning, and it looks like the steps leave out the part about holding down the button on the Netduino while plugging it in and hitting "ping" in MFDeploy. Found that info in another thread and once I followed those steps the process worked for me. Thanks for the updates, it'll be nice to have the glitch filter working!


Hi James,

Thank you very much for the feedback on this.

Unless you're "locked out" of your Netduino, it shouldn't be necessary to hold down the pushbutton while plugging the Netduino into your PC. That's more of a "backup plan" in case you accidentally disable the debug port or there's a glitch in the firmware which locks you out.

But it's a good feature to remember.

Chris

#6 AlfredBr

AlfredBr

    Advanced Member

  • Members
  • PipPipPip
  • 138 posts
  • LocationConnecticut, USA

Posted 14 November 2010 - 09:53 PM

What improvements can we expect with respect to 'glitchfilter'? I just updated to firmware version 4.1.0.5 and I do not notice any difference in the behavior of InterruptPort.

#7 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 14 November 2010 - 10:06 PM

Hi AlfredBr, In the original firmware, the GlitchFilter did not work. Now, it samples the pin a few times to help eliminate glitches. If you're experiencing glitches longer than the GlitchFilter samples for, you can either (a) increase the sample count and recompile the firmware or (B) add additional filter code of your own... What kind of issues are you having with glitch filters, generally? Chris

#8 AlfredBr

AlfredBr

    Advanced Member

  • Members
  • PipPipPip
  • 138 posts
  • LocationConnecticut, USA

Posted 15 November 2010 - 01:32 AM

Hi AlfredBr,

In the original firmware, the GlitchFilter did not work. Now, it samples the pin a few times to help eliminate glitches.

If you're experiencing glitches longer than the GlitchFilter samples for, you can either (a) increase the sample count and recompile the firmware or (B) add additional filter code of your own...

What kind of issues are you having with glitch filters, generally?

Chris


Hi Chris,

Do you remember me from the PDC? (I'm the black guy in the red baseball cap.)

I'm just experimenting right now and reimplementing some of the many BS1/BS2 programs that I have written over almost 20 years. In another thread here in this forum, I responded to someone regarding the implementation of a timeout based glitch filter (rather than a number of samples). Is counting samples what the Netduino firmware does? I imagine that is faster than creating a timer and checking against it, but accepting input after about 200ms is what I am generally looking for (which is why I probably did not notice the glitchfilter improvement in the latest firmware). Checking the 'time' value works fine for me (so far).

Please pardon me, I've not read anything about NETMF other than what I find on the internet. What is the value of data1 and data2 in the OnInterrupt handler?

-AlfredBr

#9 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 15 November 2010 - 03:14 AM

Hi Chris,

Do you remember me from the PDC? (I'm the black guy in the red baseball cap.)


Oh, hey. Hi there! [waves]

In another thread here in this forum, I responded to someone regarding the implementation of a timeout based glitch filter (rather than a number of samples). Is counting samples what the Netduino firmware does? I imagine that is faster than creating a timer and checking against it, but accepting input after about 200ms is what I am generally looking for (which is why I probably did not notice the glitchfilter improvement in the latest firmware).


Yes, the Netduino uses a "lite" glitch filter which reads multiple samples. The high-end .NET MF boards use a timeout instead--but that presumably creates a lot of overhead. We dug into this a bit when we fixed the glitchfilter bug in the .NET MF 4.1 PK.

Please pardon me, I've not read anything about NETMF other than what I find on the internet. What is the value of data1 and data2 in the OnInterrupt handler?


Those are generally the pin # followed by the state. You can rename them to "pin" and "value" if you'd like. Since .NET MF is a scaled-down version of .NET MF, this is one of the ways that Microsoft saved space--generic parameters and a minimal number of delegate types...

Chris

#10 dragonfly

dragonfly

    Member

  • Members
  • PipPip
  • 12 posts
  • LocationSouth Africa

Posted 20 November 2010 - 02:49 AM

Attached is a patch to enable compiling firmware v.4.1.0.5 using gcc 4.4. The patch is based on the original gcc 4.4 patch by jeremy. The patch includes jeremy's bug fix to metadataprocessor, and the necessary memory layout adjustments.

To use the patch:
1. Install porting kit and dev tools.
2. Copy firmware 4.1.0.5 into porting kit folder.
3. Download the attached archive, then unzip and copy the files into the porting kit installation folder.
4. Build and flash as normal.

While testing the build I noticed that compiling build.dirproj sometimes resulted in hundred of errors. Re-running the compile command consecutively (without using clean) eventually resolved the errors.

I have tested this by flashing the netduino with tinyboot and tinyclr, and deploying a very simple flashing light app. It has not been extensively tested and GCC 4.4 is not officially supported by the PK so you may come across some odd behavior.

This is my first patch ever so please be patient if it doesn't work perfectly :unsure: - remember to back up your MicroFramework_PK folder before applying this patch. Any feedback is welcome.

Special thanks to sweetlilmre for his invaluable assistance B)


GCC 4.4
-------
83 712 TinyBooterDecompressor.bin
349 476 ER_FLASH (TinyClr.bin)

I have also compiled the same firmware with GCC 4.5 (I can post a patch if anyone is interested). There is a noticable speed improvement but at the cost of a larger boot size, but the TinyClr is 7KB smaller!

GCC 4.5
-------
91 300 TinyBooterDecompressor.bin
342 296 ER_FLASH (TinyClr.bin)

Attached Files






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.