Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[UNRELEASED]
[13.?.?] - 2026-??-??
[13.0.0] - 2026-05-25
⚠️ Breaking
- Send()/SendReceive() now return "PC Suite: ERR 4020" when not connected (was "ERR Sync: Not Connected!"). Callers using
AACommEventArgs.IsErrorare unaffected. - Mixed-mode rejection strings removed — Send and SendReceive no longer reject each other (see Changed).
- Rename
HighPrecGainScale_Supported→HighPrecGainScaleAMAT_Supported - AACommServer closed-connection error payload changed to "PC Suite: ERR 4021" (was "AACommServerNotRunning"). Callers using
AACommEventArgs.IsErrorare unaffected.
Added
- New
CommAPI.IsResettingproperty — true during the post-Reset recovery window. - SendReceive returns "ERR Sync: Session terminated" on session death (distinct from "Timeout").
- New
OnUserProgramVarsUpdatedevent — fired when a User Program download changes cached global vars. - AACommSniffer:
MaxTotalSizeMB(default 1500) caps total disk usage;MinUserSessionMs(default 2000) filters noise from rapid reconnect cycles.
Fixed
- SendReceive no longer deadlocks when the internal dispatcher dies unexpectedly.
- Post-AReset reconnect retries with backoff (5 × 500 ms) instead of failing on first attempt. Eliminates mysterious timeouts when controller is slow to recover.
- IPC framing: coalesced TCP receives no longer cause spurious disconnects under sustained load (both server and client side).
IsConnectednow correctly becomes false when AACommServer closes cleanly (was silently stale until next Send failed).OnCommsErrorno longer silently suppressed during brief dispatcher-iteration gaps.
Changed
- Send and SendReceive fully thread-safe for concurrent use — no more mutual rejection. FIFO ordering preserved per-flow. Re-entry guard: calling SendReceive from inside an OnReplyReceived callback returns an error instead of deadlocking.
- Internal transport rebuilt on dual independent pipelines (no public API change).
- AACommSniffer: default disk footprint reduced from ~9.5 GB to ~1.3 GB; stale snapshots trimmed automatically.
[12.1.1] - 2026-04-17
Changed
- Packaging: NuGet sidecar selection is now OS-based instead of TFM-based.
Windows consumers (net48 or net8.0) always receive the WPF
AACommServer.exe(net48 build, runs on any Windows with .NET Framework 4.8 — keeps sniffer/UI available to net8.0 Windows consumers). Non-Windows net8.0 consumers continue to receiveAACommServerNetConsole
[12.1.0] - 2026-04-15
Fixed
-AAComm/Services/ARPTools: SendARP multi-NIC discovery fix: scan from all local Ethernet interfaces on the target subnet instead of relying on OS routing (SrcIP=0). Fixes discovery missing controllers when multiple NICs share the same subnet (e.g. 172.1.1.220 and 172.1.1.225). - New GetLocalIPsOnSubnet() returns local IPs matching a subnet - GetSubnetActiveIPs() now scans per-NIC in parallel using ScanSubnetFromSource() with explicit SrcIP binding - New PingAddressFromMatchingNICs() tries ARP from every matching NIC - PingAddress() overload accepts srcIP parameter - Thread-safe results using ConcurrentBag (replaces unsafe List)
[12.0.0] - 2026-04-03
⚠️ Breaking
-AAComm/Services/ControllerIdentityContainer: Removed deprecated const MaxNumOfRecParams (use MaxNumOfRecVectors) -AAComm/Services/AllStatInterpreter: Constructor now requires CommAPI (old int-based constructor removed) -AAComm/Shared/AllStatData: All fields upgraded from int to double -AACommNative/ParseAllStatData: Removed newFeatures parameter -AAComm/Services/CanDescriptionBuilder: Make class static, change methods 0AAComm/Extensions/RemoteFpgaInfo: Change FPGAVersion from 'Version' to 'string'
Changed
-AAComm/Services/Feature_02: Add LockSrcZero_Supported -AAComm/Extensions/RecData: Expose RecParamsResolver class + more functionality -AAComm/Extensions/RecData: Expose RecUploadNext functionality -AAComm/Extensions/RecData: Expose LoggerDataContainer to parse LoggerUpload -AAComm/Extensions/RecData: Expose ScopeDataContainer to parse ScopeUpload -AAComm/Services/AllStatInterpreter: Add float/double support -AAComm/Services: Add a 'SpecialMessages' static class with common controller parameters -AACommServer + API: Ethernet packet sniffer for debugging communication issues - Auto-captures traffic on Ethernet channel open/close - Session snapshots saved to Error/User/Marked folders on disconnect - UI: status indicator, statistics, enable checkbox, mark capture button - Ring buffer with configurable retention policies
Fixed
-AAComm/Extensions/RecData: Correct float/double rec upload data processing -AAComm/Extensions/RecData: Legacy RecUpload header parsing trigger type/mask -AAComm/Services/AllStatInterpreter: Correct float/double AllStat data resolution (was parsing all values as int)
[11.1.0] - 2026-03-08
Changed
-AAComm: 'Push' notifications support + API -AAComm: Read exact 'Identity' indexes at Connect() without 'out of range' controller error break
Fixed
-AACommServer: .NET SDK 10 Resource Loading Fix -AACommServer: multi-threaded debug log access crash
[11.0.0] - 2026-01-07
⚠️ Breaking
-AAComm and AACommServer: Deprecate .NET 4.0 targets
Changed
-AAComm/Extensions/RecData: Fix incorrect trigger initialization at TriggersContainer -AAComm/Services/Feature_02: Add HighPrecGainScaleOFR_Supported -AAComm/FW download: Add 'AACommBinFwInfo' class for AGM800 FW file info -Manage/FPGA: Refresh file contents during Remote FPGA download
[10.0.0] - 2025-12-01
⚠️ Breaking
-AAComm/IdentityContainer: Rename property: IsInBoot -> InBoot Rename property: NewFeatures_1 -> NewFeatures_01 Factor-out 'Features' containers (NewFeatures_1,2) Factor-out 'Versions' container (FW, FPGA, CM, ESI,..) Factor-out 'Connectivity' items (IP, MAC, COM port,..) Move 'IsCiMasterExt' from IdentityContainer to ProductTypes Move 'IsEtherCATExt' from IdentityContainer to ProductTypes Fix: RS-232 and USB connection failed if Ethernet cable disconnected
⚠️ Breaking
-AAComm: Remove: 'MinMsgDelayMsec', 'IgnoreDebug13', 'IsUser1', 'DrawCodeCRC', 'ChannelType.User1UDP', 'ChannelType.User1RS232'
Changed
-AAComm/IdentityContainer: Add support for 'New_Features_02' (Identity[62]) -AAComm/IdentityContainer: DrawModeProfiler_Supported, HomingStep_21_Supported bits -AAComm/FW download: Allow FW download over any IP address -AAComm/FW download: Fix flashing of AGD301 in boot mode -AACommServer CAN connect: Fix native CANLibCLS dependency resolution -AAComm/MessageData: Correctly apply scaling factor to 'float' and 'double' parameters
[9.1.0] - 2025-07-25
Changed
- AAComm: IdentityContainer: Add 'InjectTypeBeforeMotorOn' flag
- AACommServer: Improve Ethernet communication to fix 300 msec delay
[9.0.1] - 2025-05-23
Fixed
- AACommServerAPI: Ethernet: multiple NIC up/down connect issue
[9.0.0] - 2025-05-12
⚠️ Breaking
- AAComm: Change IsAACommServerRunning() to return 'ConnectResult' enum
Changed
- AAComm: Remove ParamAbout handling "hack"
- AAComm: Improve reliability of StartAACommServer() function
- AAComm: Correct error code for disconnected Ethernet cable at Connect() call
Fixed
- General: Correct the 'manual' AAComm package .net 6.0 and 8.0 targets
[8.0.0] - 2025-03-21
⚠️ Breaking
- AAComm/Services/ControllerMessagesContainer: Deprecate 'MnemonicToData' and 'AllMnemonicsHashLow' containers
Changed
- AAComm/OnResetProgress: Improve behavior and invoke in NEW task
- AAComm/Shared/ProductTypes: Mark AGM400 as 'deprecated'
- AAComm: Add implicit ParamAbout handling
[7.1.2] - 2025-02-12
Changed
- AAComm: Add protection against invalid AACommMessage format
- AAComm: Increase AGM800 'reset time' to 10 sec.
- AAComm: Extend FwInfo validations at Connect() with Current Rating
- General: Update YAML nuget to 16.3.0
Fixed
- AAComm/Extensions/AACommDownloadFW: Fix AGM800 DL over non-default IP
[7.1.1] - 2025-01-16
Changed
- AACommServer: Improve faults logging, add "save log" button
[7.1.0] - 2024-11-21
Added
- AAComm/Extensions/DlFPGA: Add support for EC FPGA DL
Changed
- AACommServer/API: Add .NET 4.0 target
- AAComm: Add PULSE_SYNC product type
- AAComm/Services: Add 'AACommAxisHelper' class
- AAComm/Extensions/AACommFwInfo: change signature of ValidateFwFiles()
[7.0.4] - 2024-09-16
Changed
- General: Allow connecting over wifi interfaces
[7.0.3] - 2024-06-16
Fixed
- General: .NET 4.0 YamlDotNet reference 4.2.2
[7.0.2] - 2024-06-11
Changed
- AAComm: Add 'MessagesInBulk' property
- AAComm/Shared/DataRecParams: Add 'ParamsToRecParamArray' helper function
Fixed
- AACommServer: "Exclusive comms. access" bug
[7.0.1] - 2024-06-01
⚠️ Breaking
- AAComm/Extensions/AACommFwInfo: Change CTOR signature
- ControllerIdentityContainer: SlowLoggerByTime -> DataLoggerByTime
Added
- Extensions: add "RecData" related classes and functionality
- Support 'float', 'double', 'long' parameters: Terminal, IDE+, Watch and Panel windows
- Add support for AGD101-EC product type
- Add support for AGD156-EC product type
- Add .NET 6.0 and 8.0 targets, deprecate 4.6, core 3.1, 5.0 targets
- AACommDownloadFW: Support EC ESI image flashing
- AACommServerAPI: extended logging mechanism, logs saved at Documents\PCSuite\AACommServer_DebugLogs
- AAComm/Services: Add 'VerifySingleAACommClient' helper class
- AAComm/Services: Add 'AACommExclusiveCommsManager' helper class
Changed
- AACommServer Simulator: Improve behavior for LARGE parameters file
- AACommDownloadFPGA: Add 'Product type' protection to '.ver; file
- Shared.ProductTypes: Add NameToId and IdToName functions
- ConFault LocaleProvider resolving for negative values: "Fault by user: xyz"
- AAComm: Fail initialization if YamlDotNet is missing
- ControllerIdentityContainer: FloatPhase_1_Supported property
- ControllerIdentityContainer: MultipleGantry_Supported property
- AAComm: Disable SendReceive() timeout when DEBUGGER is attached
- AACommServer window: Add "trim long messages" checkbox
- AACommServer: Add setting + folder for "implicit shutdown log" functionality
- AACommDownloadFW: Add protection vs. other device on IP 172.1.1.101
- AACommDownloadFW: Add protection vs. incorrect EC CM FW file
- Services/ConnectionData: Add static properties: ET_IP_Default and ET_IP_DefaultSubnet
- AACommServer window: Improve 'debug log' UI
- AACommServer: Improve protection vs. connect/disconnect re-entry
- Services/COMTools: Add support for 'Prolific' RS-232 manufacturer
- ControllerIdentityContainer: Add Draw Control related property
- AACommDownloadFPGA: Over Ethernet, allow only IP 172.1.1.101
- AACommServer: Allow "retrying" socket init. upon process start
- Services/AllStatInterpreter: Support axes I to L
- AACommServer: Improve logging
- AACommServer: don't show a messagebox if sim. file is missing
- ControllerIdentityContainer: Add DefaultSamplingRate(ProductType) function
- AAComm/Services/LocaleProvider: Add support for Draw err. 5001-6000
- ControllerIdentityContainer: HomingSteps_19_20_Supported property
Fixed
- AACommDownloadFW: Add protection CPU1/CM files mismatch
- AACommServer: RecUpload (all "continuous" messages) over Ethernet bug
- AACommServer: 'EA bulk' message: don't append duplicated '>'
- AACommServer: Download User Program over CAN bus bug
- ParametersInfoDB: Fix incorrect DB file encoding
- Services/CanDescriptionBuilder: Fix ParseCanDewscription() wrongly parsing axis > H
- AACommServer: Linux support: Ethernet socket 'fast ack' related bug
- AACommServer: Ethernet 'fast ACK': Enable only for Windows >= v.10
- Params Info: MotionStat bits map strings
- AACommServer: Protect against Debug Log overflow
- AACommServer: Ethernet: fix double '>' at end of 'continuous' messages (i.e. ProgInfo)
[6.0.0] - 2023-05-01
⚠️ Breaking
- Removed multiple unused properties and functions
Added
- ParametersInfoDB: Refactor + add support for 'values' descriptions
Changed
- LocaleProvider: Refactor, deprecate functions
- ControllerMessagesContainer: deprecate GetJerkMessage() function
[5.5.0] - 2023-03-13
Added
- Support for 'BMI:' prefix: Bulk message that ignores errors
Changed
- ControllerIdentityContainer: 'MasterPWM_Supported' property
- AAComm.CommAPIWrapper: Add GetCanDescriptionFromParameter()
Fixed
- AAComm: Set proper timeout when MotorOn,1 is sent using ','
[5.4.0] - 2023-03-03
Added
- AAComm.Services: Add ParametersInfoDB class(es) (also add to Services.MessageData)
- General: Support for RecUploadB - new recording stack
Changed
- ControllerIdentityContainer: 'DoubleFlash_Supported' property
- ControllerIdentityContainer: 'HomingSteps_17_18_Supported' property
- ControllerIdentityContainer: 'CNC_Feature_8_Supported' property
- ControllerMessagesContainer: properties, CTOR's, etc. ⚠️ Breaking (but no one uses this!)
- AAComm.Shared.Timeouts: Add DownloadUPBin = 10 sec.
- AAComm.Extensions.AACommDownloadUP: Increase process timeout
[5.3.1] - 2023-01-19
Changed
- ControllerIdentityContainer: Add IsEtherCAT property
- AAC: Improve big packets Rx handling
Fixed
- AACS: Fix RecUpload and ProgInfo error interpretation
- Fix nuget YamlDotNet dependency
[5.3.0] - 2022-12-21
Added
- AACommDownloadFW: Add support for AGD155_EC Core1 and CM FW DL
Changed
- ControllerIdentityContainer: Deprecate 'MaxNumOfRecParams' property
- Update YAML nuget
- AACS/Ethernet: Increase socket receive buffer to 2M bytes
- AACommDownloadFW: Improve protections
- AACS/RS232 handler: Refactoring
- AACS/Log: Trim long messages after 1K characters
- AAComm/AACS/Ethernet: Decrease 'long' messages handling time by a factor of x100 (i.e. RecUpload, ProgInfo, ...)
- AACS Wnd: Add 'Stay on top' checkbox
Fixed
- AACommDownloadFPGA: Deprecate unneeded Reset at end of process
[5.2.0] - 2022-11-15
Added
- AACS: Controller over Ethernet: 10x speed increase of "continuous messages"
Changed
- Add public class "Services/HeaderParser.cs"
- AAComm.Extensions.DL_FPGA: Add "reset" at the end of DL FPGA process
- AAComm.IdentityContainer: Add "Halls-only Phasing supported" property
- AAComm.IdentityContainer: Add "CNC 3D Arc supported" property
Fixed
- AACS: Simulation: Do NOT save changes to the Parameters file
- AACS: Simulation: Allow parallel use by multiple clients
[5.1.0] - 2022-06-19
Added
- AACS: Improve 'debug' logging and auto-save log on implicit AACS close
Changed
- Add support for AGD155-EC
- Internal: Add lock section for socket closure
- AAComm: Increase ASave time-out to 60 sec.
- AAComm.IdentityContainer: Add 'indirect array indexing is supported' flag
- AAComm.Services.CanDescriptionBuilder: Add new functions for User Program CCC handling (internal use!)
Fixed
- AAComm.Services.ControllerIdentityContainer.FPGAVersionStr: 'Dyn Brk Mismatch' is NOT an FPGA fault
- AACS: Fix CAN Tx/Rx bug when connecting to multiple controllers over a 'daisy chain'
- AACS: Deprecate a LOCK section that prevented send/receive while Connect was in progress
[5.0.1] - 2022-03-07
Changed
- AAComm.Services.ControllerErrorInterpreter: Add 'IsAssignedValOutOfRange()' static function
- AACommNative: Fix dependencies and add YAML dll to package
- Documentation: Some additional details
Fixed
- Simulator connection: Increase 'Open' timeout to accommodate for large parameters files
[5.0.0] - 2022-02-02
⚠️ Breaking
- Removed AAComm.Services.ControllerErrorInterpreter.MotionStatTests (now multi-lang.)
- Removed AAComm.Services.ControllerErrorInterpreter.GetErrorCodeByName() (deprecated)
- AAComm.ControllerIdentityContainer.AnyFPGA_Fault + IsFaultyFPGA... properties are replaced with "UnitStat" property. Contact Agito for faults interpretation.
Added
- Add .NET 5.0 target framework
- AAComm.Services.LocaleProvider class that handles multi-language support
- Add User Program Download protection (target controller FW version check)
- Add support for 16 bit (large) arrays
Changed
- Download FW: Increase MAS02 erase flash to 22 sec
- AAComm.Shared.ProductTypes: add public GetProductIdByName() function
- AACommNative: Add IsAACommServerRunning() function wrapper
- AAComm.Services.GetFTDI_COMs(): Add try-catch
[4.15.1] - 2021-09-29
Changed
- Add IdentityContainer "CNC_Feature_6_Supported" NewFeatures bit property
Fixed
- FW DL bug over RS-232
[4.15.0] - 2021-09-16 (DEPRECATED: FW DL bug over RS-232)
Added
- Introduce AAComm <-> AACommServer "error reporting" and logging protocol
Changed
- Improve ConnectResultInterpreter class
- Improve Connect() error reporting
[4.14.0] - 2021-09-10
Added
- Support for SBCB and BMCB message type for CNCB support
- Shared/ConnectResultInterpreter class for ConnectResult enum interpretation
Changed
- ControllerIdentityContainer/IsFPGAVersionEqualOrGreater(): allow 3 "version" values
Fixed
- Fix FW/UP/FPGA DL bug over non-Ethernet channels (due to 4.13.0 "protections" feature)
[4.13.0] - 2021-09-06 (DEPRECATED: FW/UP/FPGA DL bug over non-Ethernet channels)
Added
- AAComm property "AACommServerVersion"
- Add multi-AACommServer client protection for FW, FPGA, remote FPGA, UserProg download
Changed
- Add IdentityContainer "GearMasterProfiler" NewFeatures bit property
- Add IdentityContainer "SlowLoggerByTime" NewFeatures bit property
- Add IdentityContainer "SmoothAutophase" NewFeatures bit property
- Add IdentityContainer "IsNoGolden" UnitStat bit property
- Add IdentityContainer "ProductVariant" Identity property
- Add 'Vector' MotionStat texts
[4.12.1] - 2021-08-24
Changed
- Add 'Spline Buffer Stop' MotionStat text
[4.12.0] - 2021-08-12
Added
- AACommDownloadFPGA: Don't allow Ethernet FPGA DL over other than 172.1.1 subnets (non-AGM800 products only)
Changed
- AGM800 DL FW: Increase sleep time after DL FW from 8 to 12 sec
- FPGA DL: Don't allow download when BOOT version < 1.013
Fixed
- Don't sleep after "failed" Reset request
[4.11.0] - 2021-06-24
Added
- New "Extension": FPGA Download for Master remote unit
Changed
- FPGA DL: CAN is NOT supported
- Increase Load and Save timeouts
- MessagesContainer InitErr property to indicate failure reason
[4.10.0] - 2021-06-08
Added
- Extensions/DL FW & FPGA: Add FW/FPGA compatibility validation
- New MotionReason status: Controlled stop by input
Changed
- ControllerErrorInterpreter: Use random file name for errors list resource
- FwInfo: Add info item 26: "Additional Bi-Quad Filters bypassed"
- UserProgVarsAdapter: ignore white-spaces
[4.9.5] - 2021-05-13
Changed
- ControllerMessagesContainer: Use random file name for default messages list
- AACommServerAPI: Fix OpenEnded reported assembly version (not used ATM)
[4.9.4] - 2021-05-10
Fixed
- AGM400: increase reset time for proper reconnect
Added
- Extend FW/FPGA mismatch indication (Support for UnitStat bits[1,2])
Changed
- Increase ALoad command timeout from 2 sec to 10 sec
[4.9.3] - 2021-04-18
Changed
- Add DRV3-V6 controller type (8) to Product Types
- Connect: Do not fail if AIdentity[22] (RS232 cable type) doesn't exist
- FullCurrDirOperation property: Indicates that Current Direction operation is fully supported
[4.8.3] - 2021-03-24
Changed
- Add DRV3-V6 controller type (8) to Product Types
- Connect: Do not fail if AIdentity[22] (RS232 cable type) doesn't exist
[4.7.3] - 2021-02-05
Changed
- AACommCore must use explicit AACS file StartAACommServer() parameter
- Change LoggerUpload message from "Continuous" to "Regular"
- Don't allow RecUploadNext in a "bulk" message
- Add delay between "Discover connection" IP pings to not stress the connection. Introduced to fix a fault at AGD155 when user program is running
[4.7.2] - 2020-12-25
Fixed
- FPGA Download over RS-232
Changed
- AAComm Core: start AACS process improvement
- AAComm Core: default AACS: AACSCoreConsole on non-Win32 OS
[4.7.0] - 2020-12-07
Added
- AACommDownloadFW: Don't allow Ethernet FW DL over other than 172.1.1 subnets (non-AGM800 products only)
[4.6.1] - 2020-11-29
Added
- Support for recognition of User Program defined Global Variables and Task names (See CommAPI.Services.UserProgramInfo class for more details.)
- Add ControllerErrorInterpreter.GetErrorDescriptionByAACommEventArgs() function
Changed
- Support detection of multiple IP's set on a single NIC
[4.5.1] - 2020-11-09
Fixed
- AACommServer simulation mode 'file name' bug
Changed
- Add 'Bulk' error code 4002 - "unexpected reply format"
[4.5.0] - 2020-11-08
Added
- Improve FPGA Download error message
Changed
- Add ConnectResult.FailMacAddress error code
[4.4.0] - 2020-10-29
Added
- ControllerIdentityContainer.IsFPGAVersionEqualOrGreater function
[4.3.0] - 2020-10-18
Added
- Add "CNC_TrueJerk_Supported" property to ControllerIdentityContainer
- Add .NET 4.8, remove 4.62. target frameworks
- Add .Net Core RS-232 support (in dev!)
Changed
- Improve ConnectResult.CorruptAboutFile error code file logic
- Support "old" '/' FW info names: AGD200orAGC300 and AGD301/AGC301
- 'Bulk message': Add error code '4000' for empty, and '4001' for longer than 100 components
- 'Bulk message': Add protections for (bulk) unsupported keywords
[4.2.0] - 2020-09-17
Added
- Add "Group 10" to AllStatData: DInPortHigh and BoardTemp
- Add "HomingByLock_Supported" property to ControllerIdentityContainer
- Add "VectorMotion_Supported" property to ControllerIdentityContainer
[4.1.0] - 2020-09-10
Added
- Improve AAComm.StartAACommServer() capabilities to support .NET Core server
[4.0.0] - 2020-09-09
Added
- Resolve AAComm <=> AACommServer socket port number according to OS (instead of target framework) (results in interoperability between .NET and .NET Core assemblies on Windows)
- Add .NET 4.6.2 target framework
Changed
- Introduce Semantic Versioning 2.0.0 (https://semver.org/) to AAComm and AACommServer (no compilation breaking, or backwards incompatibility changes introduced)
[3.0.3.1] - 2020-09-06 (.101 for NUGET)
⚠️ Compilation-breaking AAComm changes
- Introduce new "AAComm.Shared.ProductTypes" class to manage product names and enums
- Products names were changed according to new names convention
- All previous ControllerIdentityContainer and AACommFwInfo references that relate to Product ID and name, must be redirected to ProductTypes
- CiG1-MAS01 => AGM400
- CiG1-MAS02 => AGM800
- AG100-DRV50 => AGD155
- AG300-CTL01 => AGD200/AGC300
- AG300-CTL02 => AGD301/AGC301
- Make property CommAPI.IsAACommServerRunning STATIC
- Make function CommAPI.StartAACommServer() STATIC
Changed
- Improve AAComm documentation (including 'Bulk' message type)
- Protection against LocalHost loopback "rogue" connect requests
Fixed
- AllStat handling time bug (MAS02)
Added
- Protect all synchronous API functions against multi-thread re-entry (mutual lock)
- Package and NUGET for .NET 4.0 and 4.6
- CNC_Feature_5_Supported ControllerIdentityContainer property
[3.0.2.8] - 2020-08-27
Fixed
- AllStat handling time bug
Added
- ControllerIdentityContainer.IsFaultyFPGA property, supported for FW >= 1.3.0.1-142
[3.0.2.7] - 2020-08-17 (DEPRECATED: AllStat handling time bug!!)
Fixed
- Protect AACommServer startup vs. corrupt user.config file
- AGD301/AGC301 product names
Added
- Backwards compatibility for old products names
[3.0.2.6] - 2020-08-16 (DEPRECATED: AllStat handling time bug!!)
Added
- AAComm.Extensions.AACommFwInfo: Rename products according to new definitions
- Services.COMTools.GetFTDI_COMs: add default "GetAllCOMPorts" parameter (no backwards compatibility issues)
Changed
- Update documentation
- CommAPI.DocsAppFolder to "PCSuite" (default folder for FW connection history)
[3.0.2.5] - 2020-08-05 (DEPRECATED: AllStat handling time bug!!)
Added
- FPGA download: rolling progress bar
Changed
- Remove Microsoft.Windows.Compatibility dependency
- Improve 'special' messages handling (implicit CTOR: need "BM:", explicit CTOR: NO "BM:")
[3.0.2.4] - 2020-08-04 (DEPRECATED)
Added
- FPGA download support
[3.0.2.3] - 2020-08-02
Changed
- StartAACommServer(string AACSFile = "") => AACS file NAME instead of path (defaults to "" -> look within working directory)
- Default timeout to IsCommServerRunning(int timeoutMS = 100)
- Rename TemwoutMs.ResetProceesType to TemwoutMs.Reset
- Rename MessageType.Reset to MessageType.ResetRequest
- Rename MessageType.RecUpload and TimeoutsMs.RecUploadTimeout to "Continuous"
- Remove MessageType.About and TimeoutsMs.AboutTimeout (now "Continuous" is used)
- Rename all TimeoutMs enums (remove "Timeout" from items names)
- Simplify AACommMessage class and CTORs - resolve messageType and timeout automatically!!
- Add SetTimeoutMs to AACommMessage
- AACommFwInfo.ValidateFwFiles() is no longer static
- New function: AACommFwInfo.VerifyCurrents()
- AACommDownloadFW.StartDownloadingSafe() now has a new parameter: "verifyCurrents" (does NOT work in BOOT mode, does NOT work with MAS02; FW DL will "fail" with an error, user must uncheck the checkbox, or pass "false" to the API function)