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:
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:
@ 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.
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 . 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 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…
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);
}
}
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.