Glide Uart Error: a3000000

Sorry Problem Solved,

It was an issue with outdated references I have solved the problem by replacing the reference GHIElectronics.NETMF.Hardware v4.1.5.0 with GHIElectronics.NETMF.Hardware v4.1.8.

Cheers,
Chris

Hi,

I am having problem initialising a Serial port on the Fez Cobra. I am using Glide and I’m constantly getting the error about unreferenced assemblies. The problem I have is that they are reference and they are the correct versions I know that somewhere one of the references is wrong but I can’t figure it out.

Here is a snippit of the code I’m using:

        

using System;
using System.Threading;

using GHIElectronics.NETMF.Glide;
using GHIElectronics.NETMF.Glide.Display;
using GHIElectronics.NETMF.Glide.UI;

using GHIElectronics.NETMF.FEZ;
using GHIElectronics.NETMF.Hardware;
//using GHIElectronics.NETMF.IO;
//using GHIElectronics.NETMF.System;

using Microsoft.SPOT;
using Microsoft.SPOT.IO;
using Microsoft.SPOT.Hardware;
using Microsoft.SPOT.Input;

using System.IO.Ports;
using System.IO;
using System.Text;


static SerialPort SUB_UART;

public static void Main()
        {
            // Load the windows
            windows[0] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.LogoWindow));
            windows[1] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.MainWindow));
            windows[2] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.DigitalValuesWindow));
            windows[3] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.AnalogValueWindow));
            windows[4] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.InfoWindow));
            windows[5] = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.HelpWindow));


            // Activate touch
            GlideTouch.Initialize();

            // Initialize the windows.
            LogoWin(windows[0]);
            MainWin(windows[1]);
            Values_Win(windows[2]);
            Values_Win(windows[3]);
            Info_Win(windows[4]);
            Help_Win(windows[5]);

            //updateButtons();

            // Assigning a window to MainWindow flushes it to the screen.
            // This also starts event handling on the window.
            Glide.MainWindow = windows[index];
            Piezo("open");
            Thread.Sleep(2000);
            if (index == 0) //make sure not skipped
            {
                index++;
                Glide.MainWindow = windows[index];
            }
            TimerThread = new Thread(timer_Thread);
            TimerThread.Start();
            Thread.Sleep(-1);
          
            SUB_UART = new SerialPort("COM4", 9600);
            SUB_UART.Open();
            SUB_UART.DataReceived += new SerialDataReceivedEventHandler(Sub_Port_Recieve);
}


the error I get from the output is:

Invalid native checksum: GHIElectronics.NETMF.Hardware 0x9C770BE2!=0xF68F37DF

Resolving.

Link failure: some assembly references cannot be resolved!!

Assembly: FEZ Cobra Window Application (1.0.0.0) needs assembly ‘Microsoft.SPOT.Hardware.SerialPort’ (4.1.2821.0)

Error: a3000000

Waiting for debug commands…

Now I understand that it wants a reference to ‘Microsoft.SPOT.Hardware.SerialPort’ the problem is this isn’t possible ‘Microsoft.SPOT.Hardware.SerialPort’ is under the class of System.IO.Ports is this a problem with GHIElectronics.NETMF.Hardware v4.1.5.0 ?

Any help is very much appreciated.

Cheers,
Chris

Hi Chris, welcome to the forums. Good one on finding your own problem, but seems you fell foul of the #1 reason for questions, firmware mismatch. When you do a firmware update, you really need to look at any active projects and remove all the old references and re-add them so you remove the old SDK DLLs from the cache. It’s a really important step otherwise things may break catastrophically or quietly, you can’t really tell in advance, but you end up with problems.

Hi Brett, thanks and yes I do understand that but it was a little more complicated it was a fresh new project I was working on, the problem I had is that I was working on the project from two computers one with an updated SDK and one without. When it came to using the serial port I was on the older computer and when I reference the libraries I needed they were the outdated ones. A silly mistake but an easy one to make.

Serves me right for not updating all my computers I’m sure you will agree,

All the best,
Chris