Mountaineer 4.3 Beta 1

On behalf of the entire Mountaineer team, I’m happy to announce the first public beta of the Mountaineer 4.3 firmware and SDK. It allows you to use the current .NET Micro Framework 4.3 on both Ethernet and USB Mountaineer boards.

The steps needed to upgrade to 4.3, and the downloads, can be found on this page:

http://www.mountaineer.org/resources/release-4-3/

Our focus for this release, apart from switching to Microsoft’s current 4.3 porting kit and ARM’s new MDK-ARM 5.0 compiler, was to improve the integration of the lwIP stack into NETMF. So we are especially interested in learning how robust TCP connections are working with these improvements.

The new release includes support for the real-time clock hardware built into the STM32 microcontrollers. You can learn more about this topic here:

http://www.mountaineer.org/resources/tidbits/using-the-real-time-clock/

Cuno

8 Likes

Hello

Have you link for the Source for the new stm32f429 Discovery board, on the Website is the device
on supported devices?

thanks

@ gerry10 - Hi Gerry, after the beta phase we’ll publish the source code of [em]NETMF for STM32 4.3[/em], along with solutions for the Mountaineer boards and for the new Discovery board.

1 Like

Hello there,
In this New Beta the following event doesn’t fires when the board starts with a network cable attached, which used to work fine in 4.2:

Using Linksyswrt160n v3 router


ethernetForMountaineerEth.NetworkSettings.EnableDhcp();
ethernetForMountaineerEth.NetworkUp += ethernetForMountaineerEth_NetworkUp

using the new Beta I have to remove the RJ45 cable and re-plug it while the board is up in order for the event to fire.

Edit:
I also ran a TCP stress test on the new Beta using “StressTestNetworkWinForm” found here:
https://www.ghielectronics.com/community/codeshare/entry/780

used MFDeploy as the debugger since it is faster than VS2012…


LWIP Assertion "tcp_pcb_purge: listen pcb does not have accepts pending" failed at line 343 in C:\MicroFrameworkPK_v4_3\DeviceCode\pal\lwip\lwip\src\core\tcp.c

and the good news is the board doesn’t hang and keeps serving the pages, right now i’m at 12000 served requests :slight_smile: . not sure what the above error means and hopefully it could lead to tracking other issues…

Edit: now at 40000 TCP requests and the board is still kicking :slight_smile: apart from the above LWIP Assertion, which still is displayed … and the Listening of Multicast Broadcasting issues I mention in the E-mail the Ethernet is rock solid… we’ll continue testing and report back here.

another wired behavior I noticed, when the Mountaineer is attached to a Debugger in my case MFDeploy, it runs faster than when it is not attached… basically the TCP response are slower with the board NOT Attached to a debugger…

cheers,

Hi, I had Problems to get the Gadgeteer.Networking.WebServer running. The following code worked nicely for my Mountaineer Eth Board with MF 4.2 firwmware.

But on my Board with the MF 4.3 Beta 1 firnware I do not get any Response when sending an http request:



 public class TemperatureService
 {
   private WebEvent temperature;

   public TemperatureService(string address, int port)
   {
       try
       {
          WebServer.StartLocalServer(address, port);

          temperature = WebServer.SetupWebEvent("temperature");
          temperature.WebEventReceived += temperature_WebEventReceived;
      }
      catch (Exception e)
      {
                Debug.Print("Unable to start service started on address " + address + ", port " + port);
                Debug.Print("Error : " + e.StackTrace);
      }
 }


        private void temperature_WebEventReceived(string path, WebServer.HttpMethod method, Responder responder)
        {
            responder.Respond("Temperature is : xx.x °C. - Regquest was: " + method.ToString() );
        }




[...]



    public partial class Program
    {
        private TemperatureService _service;

        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            Debug.Print("Program Started");

            NetworkInterface nic = ethernet.NetworkSettings;
            string ipAddress = nic.IPAddress;
            _service = new TemperatureService(ipAddress, 8080);
        }
    }


Great news. So where can we find Porting Kit source code? :slight_smile:

Regards
Darek

Welcome Dariol,
The porting kit is available on netmf download page, where all the source code is http://netmf.codeplex.com/ and currently http://netmf.codeplex.com/releases/view/81000

it’ll be great if CUNO can give us some updates on how they are progressing with the reported issues, especially the UDP Broadcast issue.

thanks.

Our [em]NETMF for STM32[/em] port is a delta to the above porting kit. It can be found at

http://netmf4stm32.codeplex.com/

This is the NETMF 4.2 QFE2 version. We will release the 4.3 source code after the beta phase, once we have published the final 4.3 binaries.

Cuno

any news or updates on the reported UDP Broadcast Issues?

just to let everyone know that the Mountaineer group have successfully fixed the issue internally…so i’m sure it’ll be available on the next beta…

cheers,

Good for you (and us :wink: ) You have been waiting for this for some time. :slight_smile:

This is due to a race condition in the Gadgeteer library. We have added a Codeplex issue:

https://gadgeteer.codeplex.com/workitem/1752

It also describes a workaround: adding [em]Thread.Sleep(1)[/em] before [em]UseDHCP[/em].

Does this work for you?

This seems to be due to USB timeouts when the [em]Debug.Print[/em] buffer is full and the board thus needs to send it to the PC. Maybe Microsoft has changed the timeouts or something. We’ll post an issue on Codeplex.