General instructions on discontinued modules

Hi

I was planning to play a little with my 8x8 Led Matrix module. Which is discontinued from GHI.

After installing 4.3 it does not appear in the designer, not even with a sign saying “cannot be used”. Then I tried messing with some download of the old driver source-code, which unfortunately is infiltrated by new fancy namespaces, and I decided to take a halt.

Can you please give some generic guidelines for all of us that in the next 10 years still are planning to use your great modules from previous times, which are now discontinued and not supported :frowning:

Thank you so much :slight_smile:

With regards to Gadgeteer modules specifically, we will from time to time update the source and the installer as discussed on https://www.ghielectronics.com/docs/299/discontinued-gadgeteer-product-drivers It is currently up to date and works with the latest 2014 R2 SDK. That said, we will not be adding features or fixing bugs.

Thanks for that, took it for a spin with a Cerberus newly updated, and the LEDMatrix module.

It works well in the designer, the code seems ok, and compiles fine. But deployment fails.

Cannot deploy the base assembly ‘mscorlib’, or any of his satellite assemblies, to device - USB:Gadgeteer twice. Assembly ‘mscorlib’ on the device has version 4.3.1.0, while the program is trying to deploy version 4.3.0.0

Next move?

Hmm, sounds easy. But that one does not exist on my disk. Is there another archive/download to look in?

UPDATE: Solved it by installing 4.3 QFE1 from https://netmf.codeplex.com/releases/view/118283 after installation of the newest GHI SDK.

I guess I completely lost it… But is it possible to use the newest GHI SDK together with the legacy module stuff?

Or do I need to rewrite the driver to be able to use any legacy module with 4.3?

Which means that if you want to use legacy modules, you need to run 4.2 on your hardware?

Confirmed!

Ok, do you mean porting the driver? If I have 4.3 on the hardware, and uses a legacy Gadgeteer module, that module requires (among other stuff) Gadgeteer 4.2 and mscorlib 4.2 which cannot be deployed to the hardware.

The source can be downloaded, and I can modify the driver to fit 4.3, but thats not neat. :frowning:

Not sure what John mean by that sentence. Up to date? Works?

I am trying with ledmatrix…


Found debugger!

Create TS.

 Loading start at 806ebf4, end 8094b80

   Assembly: mscorlib (4.3.1.0)     Assembly: Microsoft.SPOT.Native (4.3.1.0)     Assembly: Microsoft.SPOT.Hardware (4.3.1.0)  
   Assembly: Microsoft.SPOT.Graphics (4.3.1.0)     Assembly: Microsoft.SPOT.TinyCore (4.3.1.0)  
   Assembly: Microsoft.SPOT.IO (4.3.1.0)     Assembly: System.IO (4.3.1.0)     Assembly: Microsoft.SPOT.Hardware.Usb (4.3.1.0) 
    Assembly: Microsoft.SPOT.Hardware.SerialPort (4.3.1.0)     Assembly: Microsoft.SPOT.Hardware.PWM (4.3.1.0)  
Loading Deployment Assemblies.

Attaching deployed file.

   Assembly: Gadgeteer (2.43.1.0)  Attaching deployed file.

   Assembly: GHI.Hardware (4.3.3.0)  Attaching deployed file.

   Assembly: GHIElectronics.Gadgeteer.FEZCerberus (4.3.3.0)  Attaching deployed file.

   Assembly: Gadgeteer.DaisyLink (2.43.1.0)  Attaching deployed file.

   Assembly: GTM.GHIElectronics.LEDMatrix (4.2.106.0)  Attaching deployed file.

   Assembly: GHI.Pins (4.3.3.0)  Attaching deployed file.

   Assembly: Microsoft.SPOT.Net (4.3.1.0)  Attaching deployed file.

   Assembly: LEDMatrixTest2 (1.0.0.0)  Resolving.

Link failure: some assembly references cannot be resolved!!


Assembly: GTM.GHIElectronics.LEDMatrix (4.2.106.0) needs assembly 'Gadgeteer.DaisyLink' (2.42.0.0)

Assembly: GTM.GHIElectronics.LEDMatrix (4.2.106.0) needs assembly 'mscorlib' (4.2.0.0)

Assembly: LEDMatrixTest2 (1.0.0.0) needs assembly 'GTM.GHIElectronics.LEDMatrix' (4.2.106.0)

Error: a3000000

Waiting for debug commands...

The program '[2] Micro Framework application: Managed' has exited with code 0 (0x0).


UPDATE: I got my LedMatrix working on 4.3, by doing this:

[ul]1. Create a Gadgeteer 4.3 project
2. Add the sourcecode for your legacy module from the legacy pack in this case ledmatrix_42.cs
3. Add “Gadgeteer.Modules.GHIElectronics.LEDMatrix ledmatrix = new GTM.GHIElectronics.LEDMatrix(2);” or something similar to initialize the module
4. Port the code to match 4.3 in this case only one line. (What Andre thinks “easy”)[/ul]

AND REMEMBER: DONT USE THE DESIGNER FOR LEGACY MODULES!

This is not as nice as I hoped for, can GHI assist in finding a nicer way?

you can compile the module for 4.3 yourself and then go back to using it in the designer; you basically just need to follow the module builder instructions

1 Like

That was in my plans, but I decided that it would take too much time. But if we coordinated a community effort somewhere, I would gladly participiate.

Anywhere to put the code and issue-stuff? Should we go for github?

@ njbuch - That will only be required for modules that we never ported to 4.3, like the LED Matrix. Many of the modules are already ported to 4.3 and work with no issue.

As for what I meant by “It is currently up to date and works with the latest 2014 R2 SDK.” the Gadgeteer modules in the discontinued SDK were compiled against the 2014 R2 NETMF SDK. That means the 4.3 mainboards are compiled against the 4.3.3 DLLs while the 4.2 boards are compiled against 4.2.11 (or 4.2.6). All modules were compiled against 2.43.900 Gadgeteer core.

We don’t plan to support these discontinued modules beyond releasing the source and occasionally building an installer against a released SDK of ours.

Porting completely to 4.3 is pretty easy. Most of the API changes are just changing I/O constructors to the factory methods. Then you just have to add a 4.3 entry in the installer project in common.wxi and GadgeteerHardware.xml.

Thanks John

@ jeff - This information would be great to have on the developer page.

This would be fair to say that it would have been easiest if GHI did this. But nevermind, a community effort would be cool as well

:wink:

To add to this, there is no Cobra 2 WiFi in the devices list anymore.

If I select Cobra 2 Eco I get code but all of the references are not found and show up with little yellow triangles.

When you go to the project properties, the target framework is blank.

Something big time is broken in the new SDK and as was stated in another thread, this sort of thing is not good for newbies entering the field. :frowning:

Even after I did build the code, the Cobra 2 updated to 4.3 won’t deploy and just keeps resetting all the time every few minutes or so.

@ Dave McLaughlin - Cobra II WiFi was moved to the Discontinued Gadgeteer Products SDK when we discontinued the board. Since that mainboard driver was written after we moved to 4.3, there was no 4.2 driver made for it. Cobra II Eco remains with 4.2 and 4.3 drivers.

Cobra II Net and Cobra II Eco Extender were also moved to the discontinued SDK. Since the eco extender board already had a 4.2 driver, it was kept.

I did just test and those boards work fine with no reference issues. I would try to uninstall all NETMF things and try again. Make sure you don’t have any prior NETMF SDKs installed except 4.3 QFE1.

@ John @ njbuch - I try to update a MF4.2 projet with G120HDR, LedMatrix and WifiRs21 to MF4.3 with last SDK 2014-R5.

I know that LedMatrix is a discontinued product and I have read instructions to proceed with discontinued modules.
I have seen this thread and the njbuch job on CodeShare https://www.ghielectronics.com/community/codeshare/entry/914 but when I try to use LedMatrix classe on MF4.3 with last SDK, I have an error because the namespace “Gadgeteer.Modules.DaisyLinkModule” do not exist…

Have you some idea to proceed which can help me ?

I hope to translate my project https://www.ghielectronics.com/community/forum/topic?id=15787 in MF4.3 to replace Wifi RS21 module by the Cellular module since now the PPP is implemented. But I see it is not easy by using discontinued module.

@ ChristianJack - Did you add a reference to the Gadgeteer.DaisyLink assembly?