Transitioning from 4.2 to 4.3

Last modified September 3, 2014

Introduction

Movement of projects from GHI Electronics' SDKs based on NETMF 4.2 to NETMF 4.3 is relatively easy. 

Most all changes are designed to:

 

Documentation

Extensive documentation is available to assist you in making the changes necessary to move from 4.2 to 4.3. The best references are descriptions of the namespaces and types. For convenience, both the 4.2 and 4.3 API.s are available elsewhere on GHI's website:

  1. The 4.2 API:
  2. The 4.3 API

The above documentation pages are exclusively for GHI's extensions. For documentation related to the 4.3 release of .Net Micro Framework, see the Release Page for 4.3 

Tip

The documentation for type names include the name of the assembly that holds it. This is useful for choosing "Reference" items for a project in Visual Studio. If your project has compilation errors due to "missing assemblies,"  the assembly can quickly be located by browsing the API 

The reverse mapping, determining which namespaces and types are contained in a particular assembly, can be found in Visual Studio using the Object Browser window.

Assembly Names

The SDK assemblies were merged to clarify their contents and simplify the need to determine which assemblies are needed for a given namespace.

Note: The Glide assembly names are unchanged.

New Assembly names  (with listings of old assemblies):

GHI.Hardware:

GHI.Networking:

GHI.Pins:

GHI.SQLite:

GHI.Usb:

GHI.GameO.LowLevel:

Old Assembly names:

GHI.Hardware.EMX
GHI.Hardware.G120
GHI.Hardware.G400
GHI.Hardware.FEZHydra
GHI.Hardware.FEZCerb
GHI.GameO.LowLevel
GHI.OSHW.Hardware
GHI.OSHW.Native
GHI.Premium.Hardware
GHI.Premium.IO
GHI.Premium.Native
GHI.Premium.Net
GHI.Premium.SQLite
GHI.Premium.System
GHI.Premium.SystemUpdate
GHI.Premium.USBClient
GHI.Premium.USBHost

Note: the GHI.Premium.System assembly/namespace, contained a number of unrelated classes (such as CRC versus USBH_Device) and methods within some of the classes (such as PlayPCMAudio and SetMACAddress in the Util class); they were re-organized into more appropriate namespaces/classes.

Namespaces

Some namespaces and types were modified to reflect the new assembly names. Some namespaces were changed to better group related types.

Note: The Glide namespaces were not changed.

New namespaces:

GHI.GameO.LowLevel
GHI.Glide
GHI.Glide.Display
GHI.Glide.Geom
GHI.Glide.UI
GHI.IO
GHI.IO.Storage
GHI.Networking
GHI.Pins
GHI.Processor
GHI.SQLite
GHI.Usb
GHI.Usb.Client
GHI.Usb.Descriptors
GHI.Usb.Host
GHI.Utilities

Old namespaces:

GHI.GameO.LowLevel
GHI.Hardware.FEZCerb
GHI.Hardware.FEZHydra
GHI.OSHW.Hardware
GHI.OSHW.Hardware.LowLevel
GHI.OSHW.Native
GHI.Hardware.EMX
GHI.Hardware.G120
GHI.Hardware.G400
GHI.Premium.Hardware
GHI.Premium.Hardware.LowLevel
GHI.Premium.IO
GHI.Premium.Native
GHI.Premium.Net
GHI.Premium.SQLite
GHI.Premium.System
GHI.Premium.USBClient
GHI.Premium.USBHost

Other changes

Some domains/categories of APIs underwent implementation changes:

Gadgeteer

Many of the names of Gadgeteer modules were updated to reflect their name in the catalog and to remove underscores from the names. As a result, existing Gadgeteer projects will not work. You must remove the changed modules from the designer and re-add them from the toolbox. From there you can either update your code to use the new module name or change the code instance name of the module in the module properties to the old name.

FEZ Hydra

FEZ Hydra continues to be open source. It supports all of NETMF's major features and also some of GHI's extensions (even more in 4.3 than it did in 4.2). See the FEZ Hydra Developers' Guide for more details.

FEZ Cerb Family

In 4.3, the FEZ Cerb Family of devices have moved to closed source. As a result, they now support the majority of our libary extensions. Due to memory limitations, however, some features are not supported. Keep in mind that other features are not supported due to lack of hardware support such as LCD and built in ethernet. See the FEZ Cerb Family Developers' Guide for more details.

Leave feedback about this document.
Let us know if the information presented here was accurate, helpful and if you have any suggestions.
Leave feedback about this document.
Let us know if the information presented here was accurate, helpful and if you have any suggestions.

* Indicates required fields.
This form is only for feedback not support.
Review our how to find information guide on locating helpful resources.