Releasing the NETMF and Gadgeteer Package 2014 R2 SDK!

Now I know I asked this before and I see that SPI mode for the SD card is still not present for the G400 (to make it backward compatible with the Chipworkx) but can someone explain the technical reasons it was removed?

I have 4 boards sitting on the shelf that have SPI connected MicroSD card sockets and right now I can’t use them with the G400 and the latest software (my ChipworkX boards are all gone) I need to have PPP support so I can’t roll back to the older version that supports the SD.

These boards sell for well over $1000 each so I am keen to be able to use them for a project I received an inquiry for.

What would be required to make the SD card work with SPI? I really don’t want to junk 4 expensive boards.

PPP. I am still getting an exception with this.


    #### Exception GHI.Networking.PPPSerialModem+ConnectionFailedException - 0x00000000 (3) ####
    #### Message: 
    #### GHI.Networking.PPPSerialModem::Connect [IP: 008e] ####

Aaargh. What board?

Custom board with G400D.

It worked before with ChipworkX albeit with some errors due to baud rates but at least it would connect.

@ Dave McLaughlin - can you modify them to add parralel SD card support. A few track cuts here and there and some jumper wires should do it. There are plenty of proffesional products that ship with this sort of last minute fix.

@ Brett - I know what it means, but it simply won’t end well… Again :slight_smile: See my next post here…

Something’s wrong with Cerberus and TinyBooter 4.3.3. If I upload it it press reset button, nothing happens. Cerberus simply disappears from Device Manager. Tried a few times.

Update: I first updated Firmware to 4.3.3, and then reflashed TinyBooter. For whatever reasons, it did the trick.

It seems that there are some significant changes in RLP between 2014 R2 Beta and release versions. The following code makes my Fez unresponsive (Debugger cannot attach, it does not responds to pings from MFDeploy).


var elfData = Resource.GetBytes(Resource.BinaryResources.RLPext_example);
var elfImage = new RuntimeLoadableProcedures.ElfImage(elfData);
elfImage.InitializeBssRegion();            
_myMethod = elfImage.FindFunction("myMethod");

var inputArguments = new byte[] { .... };
_myMethod.Invoke(inputArguments);

// RLP method
int myMethod(unsigned int* generalArray, void **args, unsigned int argsCount, unsigned int *argSize)
{	
	return args[0];
}

To recover I must switch to bootloader mode and reflash firmware.

@ pgierasi - native function signature is now

. You have to recompile...

Where I can find updated documentation and example of use?

As mentioned in the announcement, ppp is not available yet.

Hmm it’s not clear from the announcement. But thanks for letting us know. Can you tell about your plans…?

https://www.ghielectronics.com/support/netmf/sdk/19/netmf-and-gadgeteer-package-2014-r2

Library
Changes:
-Numerous tweaks to comments and exceptions.
-Some inconsistent casings were corrected.
-PPP no longer throws an exception when connecting.

@ njbuch

RLP has been heavily reworked. It now accepts any number of primative parameters and supports loading multiple ELF images.

Any details how to handle this at C side?

Same sentence, could mean two things to me.

(PPP and USBH) on the (Cerb-family)

OR

PPP and (USBH on the Cerb-family)

This was my reason to ask for clarification yesterday. I guess its clearer to me now.

The good thing is that USB Host should be available to more devices, which is great.

I still need some plans for the PPP stuff…? :wall:

@ njbuch and Dave McLaughlin - The wording was a bit unclear in the announcement. It should have read “Features like USB Host on the Cerb-family and PPP”. PPP remains in the state it was in in beta 3, namely that it is added but not tested.

“PPP no longer throws an exception when connecting.” found in the release notes was worded too vaguely. It refers to a minor C#-side issue and does not affect any deeper native issues.

@ RobvanSchelven - Only the 4.3 QFE1 SDK is supported. It has all of the 4.2 assemblies.

@ pgierasi - I am updating the RLP document shortly. https://www.ghielectronics.com/docs/50/rlp In the mean time, Simon is correct. int NativeFunction(void** args); is the correct signature.

@ njbuch - When I typed it, I was thinking of two different sets of things. Sorry for the confusion.

xkcd: ( :smiley:

That would be my very last option but have you tried soldering wires to the 200 pin DDR socket? 6 wires in 0.5mm pitch is a lot of work for 4 boards.

Secondly, my SD card socket is on the underside of the PCB and the G400 is on the other so not straight forward. :frowning: