New Features in FREEDM 1.3 - FREEDM-DGI/FREEDM GitHub Wiki

Here's a rundown of the major changes since FREEDM 1.2.

General

  • We now use Python instead of C++ for code generation, allowing the DGI to be cross-compiled onto a TS-7800. This will save tons of time. See Cross Compile Guide for TS-7800
  • Timings are now specified in a configuration file instead of hardcoded; see FREEDM 1.3 Configuration. Sample configurations are provided for groups with the Arch machines at S&T, the Mamba machines at FSU, and the TS-7800.
  • A utility is provided to assist with generating timings for your machine; see Configuring Timings if you have issues with the default timings.
  • hostname:port strings are now used directly by the DGI to identify peers, instead of inscrutable 32-byte UUIDs.
  • Internal message passing is now 5/2 times faster!
  • Don't segfault if we can't connect to a peer.

Device Management

  • Devices are now specified in a adapter.xml instead of in freedm.cfg; see Writing the adapter specification. (adapter.xml also replaces fpga.xml)
  • The PSCAD Interface can now be used to test CRtdsAdapter; see Configuring the simulation server.
  • A new device class provides easy access to the group state with the RTDS simulation; see Reading Group State From CDeviceLogger.
  • Ignore commands of value 0.0 at the simulation server; this is a temporary workaround to avoid a serious race condition in the CRtdsAdapter protocol.
  • Also, most of the device code has been rewritten. You probably won't notice.

Group Management

  • General stability and responsiveness improvements, particularly with larger groups.

State Collection

  • Fix two bugs that could cause State Collection to not work.
  • Fix a bug that could cause incorrect normal values.

Load Balancing

  • Don't run past its phase, stealing time from Group Management.
  • The load table is now nicer.
  • There are lots of known bugs with Load Balancing. This module will be a target for future development.