GHI Electronics NETMF SDK 2015 R1 Pre-Release 3

We’re happy to announce another pre-release for our NETMF SDK. We’ve added support for the recently announced G30 SoC and G30HDR, continued to improve UART and built in Ethernet on the G400 (on which the FEZ Raptor is based), and made a few other small improvements. We highly recommend trying it out.

Any feedback is very much appreciated as we are getting close to the final 2015 NETMF release and we want to make sure it is as stable and bug free as possible.

SDK: https://www.ghielectronics.com/support/netmf/sdk/36/ghi-electronics-netmf-sdk-2015-r1-pre-release-3.exe

4 Likes

Sweet, :clap:

By the way, this release includes support for products that are not announced yet. More good news to come soon.

1 Like

@ John -

What about G80. G30 has a user manual but nothing for G80.
Does the new SDK include anything needed for G80?

Question only… Not a gripe…

I’m not sure if it was stated before, but for RLP [em]extension [/em]users on G400, 2015R1 is a breaking release: RLP end address has been shifted 1MB up.

he he

FEZ Lemur and FEZ Reaper

Reaper looks to be a Gadgeteer board.

@ willgeorge - The previous release included the G80 firmware.

@ Simon from Vilnius - It was mentioned in the pre-release 1 release notes and will be noted again in the combined final release notes.

@ andre.m - Which changes are you referring to?

@ andre.m - Have you removed and re-added your references? There haven’t been any changes to the libraries for this release outside of the addition of some boards to pins and PulseFeedback.ResistorMode.

@ andre.m - Does a reinstall fix it?

We already talked about this, no api changes till 2016, unless absolutely necessary. Nothing changed in this release.

@ andre.m -

Someone else using your PC again?

Ok, having a weird error. Could be win10, but not sure…

Have 4.3SDK (SDK-QFE2) installed. The VSIX says installed. I can create a new netmf console application and run it against the emulator, so that all seems consistent.

When installing the R1 pre-rel 3 package, no matter what options I un-select in Advanced, I am always prompted to locate the netmf SDK, and even when I do that I hit an error.

Plan:

[quote][2E78:4774][2015-06-27T11:33:56]i201: Planned package: sam_ba.2.12.exe, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: DfuSe_Demo_V3.0.3_Setup.exe, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: DfuSe_Demo_V3.0.3_Setup_amd64.exe, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: NETMF_v4.2_SDK.msi, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: NETMF_v4.3_SDK.msi, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: _.NET_Gadgeteer_SDK.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: FEZ_Config.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: USB_Drivers_x86.msi, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[2E78:4774][2015-06-27T11:33:56]i201: Planned package: USB_Drivers_x64.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[/quote]

Then, it acquires the packages for SAM-BA and DFUSE, then:

[quote][2E78:4AD4][2015-06-27T11:34:07]i338: Acquiring package: DfuSe_Demo_V3.0.3_Setup_amd64.exe, payload: DfuSe_Demo_V3.0.3_Setup_amd64.exe, download from: https://www.ghielectronics.com/downloads/NETMF/SDK/DfuSe_Demo_V3.0.3_Setup_amd64.exe
[1484:3858][2015-06-27T11:34:27]i305: Verified acquired payload: DfuSe_Demo_V3.0.3_Setup_amd64.exe at path: C:\ProgramData\Package Cache.unverified\DfuSe_Demo_V3.0.3_Setup_amd64.exe, moving to: C:\ProgramData\Package Cache\676712FC14BC24F61C8DB296CC501E08CC58392E\DfuSe_Demo_V3.0.3_Setup_amd64.exe.
[2E78:4AD4][2015-06-27T11:34:27]w341: Prompt for source of container: WixAttachedContainer, path: C:\Users\brpound\Downloads\NETMF SDK.exe
[2E78:4AD4][2015-06-27T11:34:38]i336: Acquiring container: WixAttachedContainer, copy from: C:\Users\brpound\Downloads\MicroFrameworkSDK.MSI
[/quote]
The last line is when I select the netmf SDK msi package in the file select dialog box. As you can see from the plan, both the 4.2 and 4.3 SDKs are not expected, so I don’t know why it’s going into acquire mode nor why its failing. Any thoughts ?

Edit: the log then shows an error as it can’t extract the “expected” installer from the msi, as it’s expecting an exe that contains 4.3 msi.

@ Brett - can you verify that your sdk download is not corrupt?

Grrrrr

look away, nothing to see here. (a re-download seems to have addressed it - thanks @ John for keeping me on the straight and narrow !)

Will we see the SPI display stuff in this SDK - and if so point me to it, I’ve got a Panda3 rearing to go !!

Any feedback is very much appreciated

Raptor application (firmware 4.3.7.9) using a serial port no longer works using Pre-Release 3. - 4.3.7.9

I am using a serial port (Extender module connected to Socket 4 - COM2 connected to ALCAM pins 1 through 6.

I tracked down the problem to my usage of RTS. (I want to use RTS/CTS for other serial applications also)


In ProgramStarted()
 SerialPort UART; // Ref. Microsoft.SPOT.Hardware.SerialPort;
 Gadgeteer.Socket socket;

 //Pin6 PA2 RTS
 private Gadgeteer.SocketInterfaces.DigitalOutput _rts;
 //Pin7 PA3 CTS (Currently not used other than setting default false)
 private Gadgeteer.SocketInterfaces.DigitalOutput _cts;

//Raptor socket 4
socket = GT.Socket.GetSocket(4, true, null, null);
//Pin4 PA0 TX
socket.ReservePin(Gadgeteer.Socket.Pin.Four, null);
//Pin5 PA1 RX
socket.ReservePin(Gadgeteer.Socket.Pin.Five, null);
//Pin6 PA2 RTS (Set initialState to false)
socket.ReservePin(Gadgeteer.Socket.Pin.Six, null);
_rts = GTI.DigitalOutputFactory.Create(socket, GT.Socket.Pin.Six, false, null);
//Pin7 PA3 CTS (Set initialState to false)
socket.ReservePin(Gadgeteer.Socket.Pin.Seven, null);
_cts = GTI.DigitalOutputFactory.Create(socket, GT.Socket.Pin.Seven, false, null);

//Check _rts state
bool b = _rts.Read();
At this point _rts is false (b is false)

I can write:  _rts.Write(false);  and  _rts.Write(true);
and Pin6 PA2 RTS voltage changes low/high as expected.

However, once I create the serial port
_rts goes high and I cannot change it using  _rts.Write(false); 

void SetSerial()
{
    //K socket (serial + handshaking) - Socket 4 IKU X
    //Pin 1  Pin 2  Pin 3  Pin 4   Pin 5   Pin 6  Pin 7  Pin 8  Pin 9  Pin 10 
    //+3.3V  +5V    GPIO!  TX (G)  RX (G)  RTS    CTS    [UN]   [UN]   GND

    //COM2 is Raptor socket 4
    if (UART == null)
    {
        UART = new SerialPort("COM2", 115200);
        UART.Handshake = Handshake.None;  //Exception if not None
 
        _rts.Write(false);  //Pin6 PA2 RTS (Set state to false again)
        bool b = _rts.Read();
        Debug.Print(msg + b.ToString());

        //UART.DataReceived += UART_DataReceived;
        UART.ErrorReceived += UART_ErrorReceived;

        string portNname = UART.PortName;

        UART.DiscardInBuffer();
        UART.DiscardOutBuffer();
        UART.Open();
        //Flush data
        UART.Flush();
        Debug.Print("Serial port setup finished. usbSerial Port Name assigned is: " + portNname + " Using socket 4.");
    }
}
//

The following works until I create the serial port... SetSerial()

//Change _rts state
bool rts = false;
void LDR1_OnInterrupt(uint port, uint state, DateTime time)
{
    _rts.Write(rts);
    Debug.Print("\nLDR1 was pressed: Set _rts state to: " + rts.ToString());
    Debug.Print("Read state - " + "_rts current state is: " + _rts.Read().ToString());
    rts = !rts;
}
//

@ willgeorge -

[quote]UART = new SerialPort(“COM2”, 115200);
UART.Handshake = Handshake.None; //Exception if not None[/quote]

This comport has Handshake feature, you have to set it None if the RTS, CTS are used as GPIO before.

We will check, but different port should be OK?

@ Dat -

Another thing is,

_rts = GTI.DigitalOutputFactory.Create(socket, GT.Socket.Pin.Six, false, null);
//Pin7 PA3 CTS (Set initialState to false)
socket.ReservePin(Gadgeteer.Socket.Pin.Seven, null);
_cts = GTI.DigitalOutputFactory.Create(socket, GT.Socket.Pin.Seven, false, null);

Not sure why you create 2 output
Should it be 1 output, 1 input?

@ Dat -
Not sure why you create 2 output
Should it be 1 output, 1 input?

Yes - You are correct.
I was using the pin as a indicator not for a actual serial cts signal.