XDK-Workbench version 3.6.0

  • SDK: v3.6.0
  • XDK Workbench Version: 3.6.0

SDK

Notable changes include:

  • Added Wlan reconnect functionality
    • HttpExampleClient, PpmpUnide & SendDataOverMQTT applications updated to use reconnect functionality.
  • ServalPAL
    • ServalPalWiFi_NotifyWiFiEvent notify radio connection and disconnection events as SERVALPALWIFI_CONNECTED and SERVALPALWIFI_DISCONNECTED events.
    • Following events are not supported SERVALPALWIFI_STATE_CHANGE, SERVALPALWIFI_SOCKET_SERVICE and SERVALPALWIFI_DATA_RECEIVED.
    • Removed SERVAL_THREAD_RUN macro implementation in pThreading.h.
  • SNTP feature using simplelink UDP sockets
  • Adaptive Data Rate (ADR) interface for LoRa
  • Fota through Http as port of the common code
  • CPU sleep enabled in Idle task
  • Master Feature control macro
    • This macro is used to select the features needed by application
    • ALL    ----> All the features will be enabled
    • NONE   ----> All the features will be disabled
    • SELECT ----> Application has to select the required features
  • Mbedtls configuration optimized for the binary size (Enabled only the required configurations for the below cipher suites)
    • For DTLS - PSK is implemented
      • The default cipher suite is MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8
    • For TLS - RSA certificate exchange is implemented
      • The default cipher suite is MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA
      • PEM certificate string is expected from the user to define the server certificate.

Eclipse Mita

Mita Version: legacy@d83a77c9a2b0382aab15360d1053a12bfd22a0e0

Since Workbench 3.5 the following things changed:

  • Support the LoRa module
  • Implement MQTT over TLS
  • Improve HttpRestClient stability
  • Minor code generation fixes

LoRa Module

We are now supporting the LoRa module. You can use it like this:

setup lora: LoRa {

    region = EU;
    loraAppKey = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
    loraAppEui = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
    var binary = raw(1);
    var semantic = cayenne(2);
}

every button_one.pressed {
    var buffer = new array<CayennePayload>(1);
    data[0] = CayennePayload.HumiditySensor(environment.humidity.read() as uint8);
    lora.semantic.write(data);
}
every button_two.pressed {
    var buffer = new array<uint8>(1);
    buffer[0] = 1;
    lora.binary.write(buffer);
}

For more details on this consult the Mita documentation.

MQTT over TLS

You can now talk securely with an MQTT broker. For this you change the protocol from mqtt:// to mqtts:// and configure certificatePath with either a relative or absolute path to the server's certificate. For more details consult the the Mita documentation.

Other Improvements

You can find more changes in the commit history of the Eclipse Mita GitHub repository, detailing miscellaneous stability improvements and bugfixes.

Known Issues

https://github.com/eclipse/mita/issues?q=is%3Aopen+is%3Aissue+label%3ABug