﻿--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.47 (4.9.7)
Release Date: Date: 2020-10-15 09:06:34 +0200 (Do., 15 Okt 2020) 
SVN Revision: Revision: 35096 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"
- FIX: SetPositionRelative after homing with Xnew at -1.0000000002  ()
- FIX: Sensorless wrong phasingError comp for encInvDir=true        ()
(use FPGA 1.4.5 with larger FIFO and Trialink watchdog fix)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.47 (4.9.6-beta)
Release Date: Date: 2020-10-02 15:44:43 +0200 (Fr., 02 Okt 2020) 
SVN Revision: Revision: 35007 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"
- FIX: EoT must not answer ping, if the request is comming from the local Ethernet 
- FIX: Wrong AxCmdErrPathplannerCoupleLimits check in Transformation mode
- FIX: currentLimitAx0 and currentLimitAx1 must be updated without commit 
- FIX: masterPosition must be a 100kHz signal
- FIX: Sensorless model wrong sin/cos
- NEW: delayPosition and delayCurrent currently in the currentController: Later part of the commutation 
- CHG: Sensorless option 0x98: 
       application.parameters.booleans[0]  true: use velocity instead of derivative
       application.parameters.booleans[1]  true: use legacy 50 kHz calculation of commutation 
       application.parameters.booleans[2]  true: freeze offset calculation
       application.parameters.booleans[3]  true: turns off the angleError compensation (34794, 4.9.2)
       application.parameters.booleans[4]  true: turns off the new notch filter        (34895, 4.9.3)
- FIX: AdvanceTimes in microseconds
- FIX: Homing blocks did not specify move direction mode for modulo axes : MoveToHome must be shortest 
- FIX: Tama error 07403 showed the code location devided by 4
- FIX: Persistence of DigitalEncoders                               (34794, 4.9.2)
- CHG: TSP710 threeLevel integrator should be turned off by default (34813, 4.9.3-proto)
- NEW: Gantry AngleSearch is done parallel (Ax0/Ax1)                (34813, 4.9.3-proto)
- FIX: DC-Motor r is abs of half alpha                              (34813, 4.9.3-proto)
- FIX: sensorless.angleError wrong modulo calculation               (34822, 4.9.3-alpha)
- FIX: Gantry same commutation.type checks etc. cannot be done during commit (because two axis might not finish commit at the same time). Do during enable instead (34822, fix 3-alpha)
- FIX: Sign of sensorlessBandpassCoefficient was missing            (34822, 4.9.3-alpha)
- CHG: New notch according to specs Damian                          (34822, 4.9.3-alpha)
- NEW: Gantry homing with secondSearch==Skip is now possible and uses the latching of axis0 corrected by the pathplanner positions (34822, 4.9.3-alpha)
- NEW: Extended log for EtherCAT: Option 0xE8 turns on a log on all SDO accesses 
- FIX: FPGA-OpenTrialink behavior                                   (34857, 4.9.3-beta)
- FIX: Sensorless Filter at 0 Hz                                    (34857, 4.9.3-beta)
- FIX: DC-Motor motor-invert-direction                              (34857, 4.9.3-beta)
- FIX: new bandpass zero frequency fix                              (34857, 4.9.3-beta)
- FIX: externalError fault used the wrong (ASY) FIFO for logging    (34857, 4.9.3-beta)
- CHG: Gantry Axis 1 move to zero after homing with DRF and delay   (34895, 4.9.3)
- FIX: masterPosition was not 100 kHz                               (34895, 4.9.3)
- FIX: Prevent event flooding in the Explorer in startup            (34895, 4.9.3)
- FIX: USB with pad, interrupt protected, in Asy, fullFrame issue   (34895, 4.9.3)
- FIX: 2-phase invert direction                                     (34895, 4.9.3)
- FIX: New 2phase equation                                          (34904, 4.9.4-beta)
- NEW: Register currentController.sensorlessBandpassDamping         (34910, 4.9.5-beta)
- CHG: Extend amplitudes of 3-phase and 2-phase motors              (34910, 4.9.5-beta)
(4.9.3-beta released with new FPGA 1.4.4 and new safetyMonitor 271 (watchdog problem))
- FIX: USB pads 34894 caused USB packet losses on EtherCAT devices  (34957, 4.9.6-proto)
- FIX: BridgeMode no abo/events for slaves                          (34967, 4.9.6-beta) 
- CHG: Preparations for new IDE                                     (35007, 4.9.6-beta)
(4.9.6-beta released with old FPGA 1.4.3)
- FIX: USB abo-bug from 34967                                       (35007, 4.9.6-beta 1.9.47)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.38 (4.9.1-alpha)
Release Date: Date: 2020-08-14 14:24:00 +0200 (Fr., 14 Aug 2020) 
SVN Revision: Revision: 34570 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"
- NEW: esiStruct for actualCurrent(U,V,Q,Q,D,CM,U0,V0,W0)           (34305, 4.9.0-alpha)
       Keep ActualCurrentQ/D and actualCurrent.U/V/W URIS for reverse compatibility   (34305, 4.9.0-alpha)
- NEW: CurrentCompensation feature for TSP710                       (34305, 4.9.0-alpha)
- NEW: TSP710: Reset SigmaDelta and Integrator if axis is disabled  (34305, 4.9.0-alpha)
- FIX: Gantry3 Homing secondSearch did not find a DigIn of axis1 if it arrives before axis0 (34335, 4.9.0-alpha)
- NEW: HTTP DELETE                                                  (34335, 4.9.0-alpha)
- NEW: More debug support for USB endpoints and do not send complete USB frames early, if there are no more data (34335, 4.9.0-alpha)
- CHG: (!) 3-Phase AC motors use always the new SVM method. Switch is not used anymore in this case     (34335, 4.9.0-alpha)
- NEW: Callback mode for USB Iso Endpoints                          (34335, 4.9.0-alpha)
- CHG (!) Gantry2 rotative coordinate is now pos0-pos1 instead of (pos0-pos1)/2   (34335, 4.9.0-alpha)
- FIX: Tracking axis1 during phaseing of Gantry3                    (34335, 4.9.0-alpha)
- FIX: RestartPhasing did not turn off the position controller when turning back to disabled state      (34335, 4.9.0-alpha) 
- FIX: Pathplanner endposition not precise redmine #913 / #915      (34430, 4.9.0-alpha)
- FIX: Support TOA4 modules                                         (34430, 4.9.0-alpha)
- FIX: Redmine #916                                                 (34430, 4.9.0-alpha)
- NEW: TSP710: DC-motors and 2-Phase motors                         (34430, 4.9.0-alpha)
- CHG: Remove parameter modulationMethod                            (34430, 4.9.0-alpha)
- CHG: USB Testmode 0x8E                                            (34430, 4.9.0-alpha)
- FIX: Ethernet connection loss during FW update: #919 LWIP         (34570, 4.9.1-alpha)
- FIX: Reset all USB registers in resetDiagnosticCounters           (34570, 4.9.1-alpha)
- NEW: Gantry: Option 0x99 moves axis1 to zero after homing         (34570, 4.9.1-alpha)
- NEW: Gantry: Allow Enable and Disable from axis1 to support Bode  (34570, 4.9.1-alpha)
- CHG: USB: Do not use unlimited sessions, but only one session     (34570, 4.9.1-alpha)







--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.31 (4.9.0-proto)
Release Date: Date: 2020-07-03 16:12:46 +0200 (Fr., 03 Jul 2020) 
SVN Revision: Revision: 34286 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"

Changes since last Build:
- NEW: Do not write firmware keyword, if the firmware cannot be validated
- NEW: Gantry-Error on other axis is "gantry other axis"
- NEW: The EoT close message is not 25322 anymore, but 25328 (connectionClose)
- NEW: Gantry3: Prohibit enable if an error is pending 
- CHG: Equation for actualCurrentQLin/Rot
- NEW: Show fast-gantry-state in axis[0].internalFast.debug
- FIX: currentLimitAx0/1 was not updated 
- FIX: Tracking mode for positionController active=false
- FIX: Complete rework of the emergency handling for gantry3 
- CHG: ETH discovery replace RAM buffer by POOL buffer 


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.30 (4.9.0-proto)
Release Date: Date: 2020-07-02 13:54:05 +0200 (Do., 02 Jul 2020) 
SVN Revision: Revision: 34272 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"

Changes since last Build:
- NEW: Tama log entries with string entry point description
- FIX: Emergency stop with disable did not work because of the Gantry statemachine changes 
       EventAfterStop must also store the eventParameter and it must wait for axes ready before setting the next event 
- NEW. Limit brake time during commit 
- CHG: masterState should clear the event only, if the statemachine has finished all work 
- CHG: Rename triaLinkClose log entry TcpOutPut 8 to entry tcpClose 3 
- FIX: Default TCP710 mode is with integrator on
- FIX: IncrementalRS422 must show amplitude error during enable 
- FIX: Reactivate OptionModuleFailure error
- CHG: Default Severity is Warning, not Error (requested by CHM)
- CHG: phaseAdvance now depends on encoder type with sensorLess: advanceTimeVoltage = 37.5e-6f and advanceTimeCurrent = 0.0e-6f;
- CHG. The sensorless currentAlpha/Beta must be calculated based on phaseAdvanceVoltage not phaseAdvanceCurrent (back rotation of Q/D instead of directly from UVW)
- FIX: Gantry3 commit did reset the gantry mode of the fast task
- NEW: Sensorless debugging with option 0x98
       application.parameters.booleans[0] derivative option 
       application.parameters.booleans[1] 100kHz calculation of current transformation 
       application.parameters.booleans[2] current offset calculation (TODO behavior after STO)  tau = 10ms 


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.29 (4.9.0-proto)
Release Date: Date: 2020-06-26 09:12:15 +0200 (Fr., 26 Jun 2020) 
SVN Revision: Revision: 34225 
Remarks:      Use TAM SDK >= 7.13.0 to support "Ethernet over Tria-Link"

Changes since last Build:
- FIX: (Temporary) Disabling and errors were interrupted if a brake was configured. Reason was masterState timeout during disabling. Workaround: 1s timeout
- FIX: Size of internal signals register 
- CHG: STO ignore misleading errors must be before error check and propagate
- FIX: For new axis statemachine events, we do not use device::queued events after eventAfterStop because these remove the eventparameter which contains the device error
- NEW: Support Nikon 8MHz ("16-24-F8MHz", downsampling 2) and (for debugging) ("16-24-K8MHz", downsampling 1) 
- CHG: Newest log file is always log.txt


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.29-beta (4.9.0-proto)
Release Date: Date: 2020-06-24 12:08:45 +0200 (Mi., 24 Jun 2020) 
SVN Revision: Revision: 34213 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- NEW: Gantry3-Mode
       Gantry errors, if the encoder is a serial encoder or modulo is used, or units are unequal
- NEW: Two LWIP TCP options for debugging send delays: 0x93=Send immediate on empty queue, 0x94 always PSH
- NEW: desiredCurrentQ/D for the current controller
- NEW: Position controller active command
- CHG: LWIP-Trialink for EoT: Standard is "nagle turned off", 0x95 option turnes it on
- NEW: Encoder Injected position, with linear interpolation
- CHG: (Breaking) move masterPosition from command to signal, MasterPosition source must not be "Ignore" anymore
- CHG: The TCP Rx counter now counts packages, not frames. New: countTcpRxFrames
- FIX: Testsignal position generator was bad with the delayLineCalc feature and fixed the sign
- NEW: Option 0x96 simulates DigIn1 = Encoder[0].EncoderCount<0 
- CHG: Homing uses pathplanner as a reference for the Relocation-move not the encoder 
- CHG: The axis statemachine runs on an internal event to offload work to Gantry
- CHG: (breaking) RTCeTSCMD_StartCurrentSineStaticVector and RTCeTSCMD_StartRotatingVectorConstantCurrent now generate a D-current, not a Q-current
- NEW: Support TSP710, based on Specification 34184 (50 kHz PWM)
       CommonModeCurrents are now subtracted from the currents and stored corrected in u,v,w (offset also in generalSignals[3])
       Error messages 06901 and 06902 for upper and lower TSP710 voltage > 400V

Mit General/Parameters/Options=0x97 werden folgende Optionen freigeschaltet
- mode.enumKp           = pReg->application.parameters.integers[0];   Kp: 0=3.0,     1=1.0, 2=10.0
- mode.enumKi           = pReg->application.parameters.integers[1];   Tn: 0=0.033333 1=0.1  2=0.011111
- mode.enableSd         = pReg->application.parameters.booleans[0].b;
- mode.enableLinear     = pReg->application.parameters.booleans[1].b;
- mode.enableIntegrator = pReg->application.parameters.booleans[2].b;
- mode.enableGap        = pReg->application.parameters.booleans[3].b;
- sigmaDeltaUCdesired   = pReg->application.variables.floats[0];

und Signale General.Signals.Internals.GeneralSignalsFast.
- TestSignal1 = iCstate
- TestSignal2 = iCdes

Der TAM-Explorer 7.13.0 hat neue Register Axes[].Signals.CurrentController.DesiredRatio (100 kHz)
- r          Radius (always)
- alpha,beta im rotierenden Koordinatensystem
- m          Alle Offsets zusammen (SVM plus dist und gap)
- u,v,w      Phasen-Stellwerte nach inverse Clark ohne Verschiebungen

und Signale Axes[].Signals.CurrentController.threeLevel
- CenterVoltage ist die Mittenspannung.
- CenterCurrent Strom in this Kondensatoren
- State         +1/-1 (alt)), +2/-2 (linear)), +3/-3 (sigmaDelta), +4/-4 (hysterese), 0 (no TSP710)
- CountUp       The percentage of Up states
- CountDown     The percentage of Down states
- CountHysterese The number of hysterese corrections

und die Register Axes[].Signals.CurrentController.PwmRatio
- U, V, W       Phasen-Ratios nach Verschiebung


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.15 ()
Release Date: Date: 2020-05-25 11:43:54 +0200 (Mo., 25 Mai 2020) 
SVN Revision: Revision: 33970 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- NEW: EncoderValid Flag from FPGA (bit0 from currentW) mapped into 0x40 of encoder errorFlags
- NEW: eStoSaveAxisMode to distinguish between safe faults that require a device fault and 
       such that cause an axis error, which is reset the same way
- FIX: Encoder errorFlags 0xC0 are now for valid bits        
- FIX: LWIP passive close must clear object in errorCallback
- NEW: UsbAsyOut state info and reset function option 0x91
- NEW: Position controller command active
- FIX: Webserver must clear the watchdog not only when receiveing GET, but also on sentCallback
- NEW: Pathplanner messages for safeStop (test with option 0x92)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.14 ()
Release Date: Date: 2020-05-13 13:32:20 +0200 (Mi., 13 Mai 2020) 
SVN Revision: Revision: 33864 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- CHG: Remove NoticeErrorChange because there is always an error log entry. Instead add a resetFault log if error!=0
- FIX: Recovery from SBC error (save axis errors): All axis error clears are handled before the statemachine now
- FIX: Wrong logic for pending Fault RDEeDRVERR_SafeTorqueOffSafeMode 
- CHG: setDriveErrorCode(None) is always called inside clearDeviceError 


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.13 ()
Release Date: Date: 2020-05-12 11:40:02 +0200 (Di., 12 Mai 2020) 
SVN Revision: Revision: 33842 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- NEW: EtherCAT Coe write and read entries in the log file, without the standard none-Triamec COE register accesses
- NEW: log freezes, if the web server accesses a log file that is active 
- CHG: log resolution of seconds is now 4 digits instead of 6
- FIX: Bug, if the remote site closed a TCP/HTTP connection by sending a FIN+ACK together with a last payload:
- FIX: There was legacy code for bridge mode to limit the number of TCP connections to 3. Now we allow 4. 
- FIX: Allow state/error changes in FaultPending and FaultReactionActive


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.12 ()
Release Date: Date: 2020-05-01 14:19:49 +0200 (Fr., 01 Mai 2020) 
SVN Revision: Revision: 33739 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- FIX: Ethernet Abo frames were not filled completely, which caused more short UDP traffic during scoping
- CHG: loadDefaultParameters must not disable the persistency
- CHG: USB DeviceProtocol is now 2 for USB to indicate flowControl is existing (after discussion with Christian)
- CHG: Format of the log-file link in index.html. Rename files to logX.txt and logY.txt
- NEW: controller delay option 0x90, application.parameters.integers[0], both axes 
- CHG: Allow DeviceErrorChange 
- FIX: TCP_MSS 1440


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.10 ()
Release Date: Date: 2020-04-21 11:20:28 +0200 (Di., 21 Apr 2020) 
SVN Revision: Revision: 33631 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- NEW: USB Loopback mode (Option 0x8E) and Talker mode (Option 0x8F)
- NEW: USB ASY-OUT endpoint flow control function
- FIX: USB ASY-OUT Endpoint size was not yet 512 (!) and FIFO size=8
- NEW: Logfile now switches between log.txt and log1.txt when size passes 2M
- NEW: Safety Encoder counts and Axis Safe Error 27 für SBC
- CHG: USB ASY-OUT Endpoint size 256 bytes now
- NEW: RestoreFactory function
- NEW: device commands for persistency save (blocks 180ms), disable and (re)load (blocks 80ms)
- NEW: Link to log-file in index.html

--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.8 (4.8.6+4.8.7)
Release Date: Date: 2020-04-14 11:42:04 +0200 (Di., 14 Apr 2020) 
SVN Revision: Revision: 33538 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- CHG: Tamagawa ReadFlowStatus
- FIX: AnalogEndat Zero function must use actual digital position for shift calculation
- FIX: Backlash filter was limited to 20ms: Now sampled at 10 kHz, max 0.2s
- NEW: safetyMonitor 271 (watchdog problem)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.7 (4.8.5)
Release Date: Date: 2020-04-03 14:27:34 +0200 (Fr., 03 Apr 2020) 
SVN Revision: Revision: 33467 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- CHG: Ecat: Wait for booting finished at ISO and ASY 
- FIX: GlobalTime wrong day
- CHG: Remove OptionEncoderDrivePersistency 0x00100000
- FIX: Tamagawa SetZero time 18ms and turn flowControl off before changing the mode, multiturnwait=0.5ms


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.6 (4.8.4)
Release Date: Date: 2020-03-26 13:28:27 +0100 (Do., 26 Mär 2020) 
SVN Revision: Revision: 33372 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- NEW: Nikon Encoder. Implement a string -F2.5MHz and -F4MHz to specify the frequency
- FIX: Encoder Tamagawa Multiturn init: Wait longer and disable first


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.9.5 (4.8.3)
Release Date: Date: 2020-03-06 09:09:47 +0100 (Fr., 06 Mär 2020) 
SVN Revision: Revision: 33172 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- FIX: TOE1 pulldown of EncIn and reboot
- CHG: Do not consider encoder warnings during enable when encoder amplitude error flag is not set 
- CHG: Call reboot in ASY task
- FIX: FSBL massstorage FIX B: SVN 33120 without USB padding
- FIX: Digital encoder stop missing caused bad encoder change behavior
- NEW: Support axes[].commands.general.event = ChangeUnits
- CHG: device errorMessage and errorNumber removed and replaced by writing the respective axis registers
- CHG: Change error formats
- CHG: Prio STO > LinkNotReady
- NEW: Pathplanner events are signalled to state observer redmine #676
- NEW: destroy the application image, if the factory image is written
- NEW: Send a UDP forced message, if an event abo is sent without ISO delay
- CHG: Ecat: if option 0x800 is off, then status Bit2 must be on always independent of the modeOfOperation 
             This way we can remove the default setting of modeOfOperation=8 in the xml configuration
- NEW: log entry if signal processor has an unknown address or command
- NEW: errorNumber registers supported
- NEW: Initialize stream filter on transition to coupled motion 
- FIX: if position is close to modulo, coupling can throw a false alarm 26.05
- FIX: MotorTempMon VoltageOutOfRange bug
- FIX: Wrong couple deviation check in Transformation mode 
- CHG: New General.Signals.DigitalInputBits and internals.linkAddress
- NEW: Pathplanner events are signalled to state observer redmine #676
- NEW: log entry at end of discrete motion
- FIX: avoid many log entries at end of errorStop 
- NEW: Ecat: Release XML 1.7 for test
- CHG: Correct limits for currentController.desiredVoltageD
- FIX: USB ISO might be collected with delay by a slow PC hardware
- CHG: device events >= Reboot are ignored in the device statemachine 
- NEW: Detailed error log for Tama / Improved Tama size limit check
- NEW: Error VoltageOutOfRange UVLO DcDc Drv
- FIX: BridgeOverCurrent was delayed unnessessarily
- FIX: FeedForward coulomb friction was not correctly merged from 4.4 branch in SVN30354
- FIX: Changing from DigitalEndat to None and back to DigitalEndat caused an EncoderDatabus error
- INFO: without boot.S changes 32558
- INFO: with old ETH size 0x00800000


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.8.0 (4.8.2)
Release Date: Date: 2019-12-17 10:11:31 +0100 (Di., 17 Dez 2019) 
SVN Revision: Branch 4.8: Revision: 32561 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C
Changes since last Build:
- FIX: Not absolute encoders during init: Do not set offset=0 but position=0 
- FIX: USB abo gaps introduced in 4.8.0


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.7.14 (4.8.1)
Release Date: Date: 2019-12-09 16:23:33 +0100 (Mo., 09 Dez 2019) 
SVN Revision: Branch 4.8: Revision: 32478 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build:
- CHG: Ecat Touchprobe: use option positions for touchProbe1 if source & 0x1000 (use 0x100E for Fast Axis0DigIn1)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.7.13 (4.8.0)
Release Date: Date: 2019-12-04 15:13:09 +0100 (Mi., 04 Dez 2019) 
SVN Revision: Branch 4.8: Revision: 32364 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C
Changes since last Build:
- NEW: Product TSD81
- NEW: SafetyFOutputs
- NEW: Commutation Angle Parameter
- NEW: Log-File with LogSeverity switches
- NEW: receive global time from TriaLink (first time only) and use in log
- NEW: Feature: ExcentricityCompensation with Feature 0x20000 and Option 0x85/0x86 (Axis0/1)
- FIX: Error recovery of Position controller caused frozen "Enabling" until disable 
- FIX: Ecat LinkNotReady did not show up after first boot.
- FIX: TOE1: Build 1.3.6: IncrementalEncoderSaturation
- FIX: Setting Encodertype to Analog for an TOA1 device caused a not recoverable situation 
- FIX: Encoderzero for AnalogBiss
- FIX: PositionLatch of AnalogBiss and AnalogEndat did not consider analogOffset. 
- FIX: Increase averaging time for limit600Hz from 0.8ms to 8ms
- CHG: Use option 0x800 to replace the Ecat state *27 normally used in standstill and coupled mode
       by 0x23 and show 0x27 only when coupled. Do not use with CNC-ISG (Post-Homing-Problem).
- CHG: Ecat: Option 0xe7 for legacy enable with Command bit 3. 
- CHG: PF0100: Allow SiliconRev 0x11 and 0x21
- CHG: Faster Commit
- CHG: stop old encoder access on encoder type change
- CHG: EncoderType None may be used to read encoder PhaseA/PhaseB


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.7.10 (4.7.7)
Release Date: Date: 2019-12-13 09:09:21 +0100 (Fr., 13 Dez 2019) 
SVN Revision: Revision: 32554 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- FIX: Ecat Touchprobe1: Option Module position latch is enabled with 0x1000, (use 0x100E for Fast Axis0DigIn1)
- FIX: Not absolute encoders during init: Do not set offset=0 but position=0


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.6.17 (4.7.5)
Release Date: Date: 2019-10-23 16:17:36 +0200 (Mi., 23 Okt 2019) 
SVN Revision: Revision: 32053 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- FIX: STO inconsistent required two clearFaults instead of one 
- FIX: SerialEncoders cleared the errorMask
- FIX: Delay bridgeMonitor config after bridgeMonitor ready to postpone initialValue writing in the bridge monitor
- FIX: Delay BridgeVoltageOutOfRange after bridgeMonitor ready to allow settling of the ADC
- FIX: Ecat register read/write Triamec-URIs was accidently removed in 4.7.0
- BREAKING: Ecat state *27 instead of *23 in not coupled operation (CNC-Homing-Problem), use opion 0x2000 for legacy behavior


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.6.16 (4.7.4)
Release Date: Date: 2019-09-20 14:18:36 +0200 (Fr., 20 Sep 2019) 
SVN Revision: Revision: 31881 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- FIX: Absolute Encoders: Set persistence of hom and comm only on saving
- FIX: Absolute Encoders: Biss-B stored the wrong commutation offset
- FIX: Absolute Encoders: Set error masks after all commit finished to avoid false encoderErrors
- NEW: Absolute Encoders: Endat Sign Extension FPGA


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.6.12 (4.7.3)
Release Date: Date: 2019-09-17 14:09:07 +0200 (Di., 17 Sep 2019) 
SVN Revision: Revision: 31847 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- NEW: Prevent errors after reboot command 
- FIX: Restart Bridge monitor temperature level writing after STO
- FIX: serviceCommand motionCommands should waitForTermination, Disable should use actualTimestamp instead
- CHG: SignalProcessor is turned off if mode is turned off even without setting start
- FIX: File directory was showing short filename for put.html entry: Missing length specifier for long file names
- NEW: Encoder short errors
- CHG: Improve timeout and logging behaviour of session handler
- FIX: InvalidateCommutation was still trying to enable the axis, which is outdated and reset-ed the command too early
- FIX: Nikon: Nameplate and new status info at Diagnostics.state 0x0F00000, read during encoder start
- BREAKING: use 16 bit Nikon nameplate
- NEW: AbsoluteEncoder commutation based on mode zero
- FIX: 1.6.12 Sensorless forced zero commutation angle


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.6.5 (4.7.1-beta)
Release Date: Date: 2019-09-04 10:22:58 +0200 (Mi., 04 Sep 2019) 
SVN Revision: Revision: 31717 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- FIX: Support Rev4 option modules TOE1/2 TOF1/2
- NEW: Support digitalOutput2/3 for TSP710 
- FIX: MotorTemperature Monitor showed TemperatureLimit error on VoltageLimit error 
- CHG: Show more Monitor VoltageOutOfRange errors 
- CHG: Error message for driver level voltage out of range


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.6.4 (4.7.0-beta)
Release Date: Date: 2019-09-02 15:41:05 +0200 (Mo., 02 Sep 2019) 
SVN Revision: Revision: 31692 
Remarks:      Use TAM SDK >= 7.10.1 to support Biss-C

Changes since last Build: 
- NEW: Commutation Commands (see AN108)
       StartPhasingAndSaveEncoder and enabling method AbsoluteEncoderOffsetEncoder
       StartPhasingAndZeroEncoder (Requires Disabled and RotorAlignment)
       InvalidateEncoder requires disabled axis, changed enum from 6 to 10
- NEW: Support Biss-C and fix Biss-B nameplate read and analog bug
- CHG: AnalogEndat and AnalogBiss SubresolutionCheck enabled using dataFormat "M1"
- CHG: Digital encoder without nameplate should not init to zero, but to real absolute position
- NEW: Preliminary Dig-IO-Axis1 outputs for TSP710 at Application.Variables.Booleans[0] and [1]
- NEW: Support new FPGA option modules (Rev4) with Monitor activation
- CHG: If domainName par is empty, choose default "TSD-NNN" with NNN=serialNumber
- CHG: Ecat SSC11 from V5.11 to V5.12 (Tool 1.4.2)
- CHG: Suppress VoltageOutOfRange if there is a MonitorIsNotRunning error
- FIX: "ERR63.71 HttpGet FileNotFound" caused TCP errors
- FIX: Sensorless pathplanner tracking
- CHG: Allow turning off bridge mode during commit 
- NEW: Position unit "turns"
- NEW: Reboot function (requires disabled)
- FIX: 1.6.1 AnalogEndat Legacy commutation Nameplate not handled
- FIX: 1.6.3 Internal: MonitorActivation
- FIX: 1.6.3 Reset safe fault in NotReadyToSwitchOn for watchdog clear
- NEW: 1.6.3 Leave Operational notEnabled with (STO, linkNotReady and BridgeVoltageOutOfRange). No error in this case 
- FIX: 1.6.4 AnalogEndat does not consider analogCount
 

--------------------------------------------------------------------------------
CpuFirmware:  Build  1.5.9 (4.6.6)
Release Date: Date: 2019-08-27 16:28:41 +0200 (Di., 27 Aug 2019) 
SVN Revision: Revision: 31630 
Remarks:      Use TAM SDK >= 7.10.0 to support TOF1, bridge mode and static IP registers


Changes since last Build: 
- BREAKING: Ecat product revision is now 2 for Revision4 drives (1 for revision3 drives)
            Use Triamec1.6.xml or option 0x100 to force old behavior
- NEW: File upload /put.html and directory /dir
- NEW: Axes[].Parameters.PathPlanner.InterpolatorDelay delays interpolator signals in microseconds. Use -24.0 for legacy behavior. 
- NEW: Bridge Mode Ethernet to TriaLink 
- NEW: Ethernet parameters for static IP
- NEW: Support new option modules TOA2, TOF1 (FFT)
- NEW: TSP710: Set Brake voltage and powerLines warning
- CHG: TSP710 hardwareLimit
- CHG: Distinguish between tama boot and tama resetFault, Compilation of tama code is never automatic
- FIX: Persistent boot: MotorTemperatureSensor parameters must be copied on success only
- NEW: Sensorless: New Debug Feature generalSignalsFast.testSignal0 = commutation.angle-sensorless.angle
- CHG: Commutation.angle is now +-pi*poles instead of +-2pi*poles
- FIX: 1.5.6 Sensorless damping worked only, if a standard encoder was used before (4.6.2-beta, 31292)
- FIX: 1.5.7 Sensorless must disable pathplanner tracking (normally done in disabled) (4.6.3-beta, 31306)
- FIX: 1.5.8 There was a peak of desiredCurrentQ at the beginning of the phasing ramp (4.6.4)
- FIX: 1.5.8 TOF1-Modul interface (merge with 1.5.8, 4.6.4, SVN31361)
- FIX: 1.5.9 Large encoderCountsperMotorRevolution caused bad commutation wrapping


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.4.8 (4.5.3-beta)
Release Date: Date: 2019-06-04 
SVN Revision: Revision: 30991 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build: 
- NEW: CSV-Mode based on integrated B-spline, PV-Mode and CSP with velocity based modulo estimation
       use 0x1604/0x1a04 or 0x1600/0x1a00 for cyclic telegrams with velocity
       0x6502 contains info of CSV and PV modes
- FIX: EtherCAT: Velocity scale contained a wrong factor 10000
- FIX: Triamec.xml: TwinCAT cannot handle type double in startup list (0x23EE=ReferencePosition)
- CHG: Merge with 3.3.4: The pathplanner legacy mode now delays 76us instead of 100us
- NEW: Merge with 3.3.2: The pathplanner legacy mode is corrected in the Stream path for parallel use of DirectFeed with Stream
- CHG: COE Product revision string was too short
- NEW: restart AnalogEndat after encoderError
- FIX: The linear interpolator did not store the timeRatio, which caused a step response instead of a linear ramp. 
- NEW: Ecat: Register for axes[0].parameters.pathPlanner.streamInterpolatorMode
       Option 0x00800000 for polynom4A legacy
- NEW: AxisParameterError on unknown Pathplanner or homing.method Parameters 
- NEW: AxisCommandError on unknown homing command or no suitable homingMethod
- NEW: New Digital Encoder Offset functions (AN122 and AN107 chapter 8)
- FIX: StreamReceiver: Support stop from coupled
- NEW: AxisCommandError "Pathplanner couple" if streamX is not within positionErrorLimit 
- FIX: fixed Bug#689 'wrong acceleration when modulo-limit is set during move'
- CHG: improved calculation of deceleration move ratios
- FIX: Option encoders did not show amplitude errors (bug introduced in 4.4)
- NEW: homing persistent offset
- NEW: errorMessage strings
- NEW: general.signals.etherCAT.cyclic.pdo1c12 and pdo1c13 
- NEW: (Re-)StartPhasing tested from Disabled/Operational 
- CHG: Immediate reaction to STO situation in visualization
- FIX: Ecat and ExternalError and both axes in motion and Master does not remove enable on error: Device waited endlessly for standstill 
- CHG: In the standalone case, EtherCAT must not disable axes
- CHG: Default PWM 50kHz
- FIX: Tamagawa and Nikon require a wakeup time of 10ms. 5ms -> 50ms 
- FIX: init of tama VMs in the resetFault case was done in 10kHz task. 
- FIX: Clear ResetFault event in RDSeDRVST_FaultPending to avoid double clear, which overwrote Tama-init error
- FIX: init of tama VMs (1.4.8)


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.2.14 (4.4.13-beta)
Release Date: Date: 2019-04-01 09:41:02 +0200 (Mo., 01 Apr 2019) 
SVN Revision: Revision: 30426 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build: 
- NEW: B-Spline turned on with option 0x00400000
- CHG: Improve wrap behaviour of smart sync to avoid 100us offset 


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.2.12 (4.4.12)
Release Date: Date: 2019-03-15 08:10:58 +0100 (Fr., 15 Mär 2019) 
SVN Revision: Revision: 30354 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build: 
- NEW: Ecat Stream Mode turned on with option 0x200000
- NEW: FeedForward coulomb friction
- NEW: Axis error RAEeAXISERR_MotorTemperatureLimit

--------------------------------------------------------------------------------
CpuFirmware:  Build  1.2.9 (4.4.11-beta)
Release Date: Date: 2019-03-07 11:10:15 +0100 (Do, 07 Mrz 2019) 
SVN Revision: Revision: 30207 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build: 
- NEW: Ready to test: OptionEncoderDrivePersistency = 0x00100000 discards nameplates and uses drive persistence for encoders
       Do not use for AnalogEndat or AnalogBiss!
       Axes[]/Commands/Commutation/OffsetInc != 0x80000000 means valid commutation data 
       Axes[]/Signals/PositionController/Encoders[0]/PositionOffset is the homing offset to be saved
       Saving data always during drive save persistent
       Loading only if HomingMethod=AbsoluteEncoder0
       Before next enable, make sure Parameters/Commutation/EnablingMethod = Automatic


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.2.7 (4.4.9-beta)
Release Date: Date: 2019-02-27 15:43:43 +0100 (Mi, 27 Feb 2019) 
SVN Revision: Revision: 30145 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build:
- NEW: OptionEcatPllTune				0x00010000
- NEW: OptionEcatSmartSync				0x00080000
- CHG: increase max EtherCAT cycle time to 3ms
- NEW: Position Stream Filter


--------------------------------------------------------------------------------
CpuFirmware:  Build  1.2.2 (4.4.5-beta)
Release Date: Date: 2019-02-27 15:43:43 +0100 (Mi, 27 Feb 2019) 
SVN Revision: Revision: 30115 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build:
- NEW: Suppress endat errors with DataFormat="Err0"
- NEW: EcatNewCouple return state 0x127 when coupled (not before). option=0x800
- NEW: Suppress IR sensor fault with option=0x01000000
- NEW: Logfile with option=0x1000
- CHG: enlarge output range of PLL from +-30ppm to +-100ppm
- CHG: Reduce Ecat PLL I-Component from 0.005 to 0.002
- NEW: Single Axis URI for TSP710
- FIX: TSD80: motorTemperature Configuration lost during STO
- NEW: Axis error UnspecifiedPositionUnit
- NEW: Second ramDisk for logfile http://triamec-305/1:/log.txt (option = 1)
- CHG: Min EtherCAT cycle time is now 100us instead of 200us
- NEW: Improve robustness against EtherCAT jitter and use dcDeviation as PdiMissingCnt
 

--------------------------------------------------------------------------------
CpuFirmware:  Build  1.1.0 (4.4.0-beta)
Release Date: Date: 2019-02-11 14:58:03 +0100 (Mo, 11 Feb 2019) 
SVN Revision: Revision: 29935 
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build:
- FIX: Clearing a hidden STO safe fault was blocked in some cases
- NEW: Encoder: Tamagawa, Analog-Biss-B and Biss-B error reaction
                commutation angle diagnostics: Calculate at activation of encoder:
                    digitalEncoder.position * polePairs should be close to zero
                missing DataFormat string causes an error, allow String 36-0 too (linear encoders)
                no absoluteCommutation so far
- FIX: DigitalEndat: modulo wrap and use new scale (1.0 per turn)(ROT) or (1.0 per count)(LIN)
- NEW: EtherCAT: Support Explicit Device Id with Trialink1.4.xml
                 add error LinkConfiguration on booting with unspecified scaling factor
- CHG: Factory support


--------------------------------------------------------------------------------
CpuFirmware:  Build 1.0.8 (TSD-4.3.4)
Release Date: Date: 2019-01-18 13:54:17 +0100 (Fr, 18 Jan 2019) 
SVN Revision: Revision: 29556
Remarks:      Use TAM SDK >= 7.8.0 to support new product naming

Changes since last Build:
- FIX: Option module axis1 wrong amplitudeState
- FIX: bridge monitor temperature limit was T3 instead of T2
- FIX: USB-PcBoot problem with ModeSense10


--------------------------------------------------------------------------------
CpuFirmware:  Build 1.0.6 (TSD-4.3.2)
Release Date: Date: 2019-01-15 10:31:18 +0100 (Di, 15 Jan 2019)
SVN Revision: Revision: 29309
Remarks:      Use TAM SDK >= 7.6.0 to support Ethernet connections

Changes since last Build:
- CHG: Products: Changed strings, support orthogonal scheme and remove obsolete products
- FIX: USB: Delayed BIOS boot of attached PCs, Support USB3 plugs (Windows USB Stack 3)
- CHG: Adjust bridge temperature limits depending on the product type
- CHG: Adjust continuous current i2t time from 2s to 20s
- CHG: GetIdentification no legacy product revisions anymore 
- CHG: Encoder: Allow new amplitudeState bits, change analogEndat mode readposition mode for endat 2.2 encs
- FIX: HighPass1 and differentiator calculation error introduced in 4.3.0-beta
- FIX: FW Update on keyword-page-crossing. And replace error -9 by -12
- FIX: monitor driverLevelError enforced
- FIX: Erase feature tag 
- FIX: Session handler number of sessions


--------------------------------------------------------------------------------
CpuFirmware:  Build 2561 (TSD-4.3.0-beta)
Release Date: Date: 2018-12-19 14:55:34 +0100 (Mi, 19 Dez 2018)
SVN Revision: Revision: 29034
Remarks:      Use TAM SDK >= 7.6.0 to support Ethernet connections

Changes since last Build:
- BREAKING: SerialEncoder Persistency (Position-Offset) requires parameters.homing.method = AbsoluteEncoderN for activation !
- NEW: Ethernet: AUTO-IP hard-coded to 0x169.254.222.222 (#596, AN123)
- FIX: Ethernet: improve plug disconnect behavior during publish
- FIX: USB Massstorage during PC boot
- NEW: resetDiagnosticCounters 
- NEW: DigitalBissB encoder (pitch is in units per turn, encoderCountsPerMotorRevolution is 1)
- NEW: Latching of (slow) digital inputs with 100us resolution
- NEW: Support analog sensor input of encoder 
- CHG: enable uri-double check according to redmine #200
- FIX: show empty firmware string if firmware does not exist
- CHG: Filter coefficients are now calculated with double precision where appropriate
- NEW: Axes[]/Signals/PathPlanner/StreamGapCount counts missing stream pakets
       use TwinCAT CAxis2::simulateStreamError to force a missing paket 
- FIX: limit600 if encoderCountsPerMotorRevolution is 0
- FIX: TSD350: wrong units of Axis[1] motorTemperature 
- FIX: Erase feature tag requires unprotect flash


--------------------------------------------------------------------------------
CpuFirmware:  Build 2329 (TSD-4.2.0)
Release Date: Date: 2018-11-13 16:35:26 +0100 (Di, 13 Nov 2018) 
SVN Revision: Revision: 28761 
Remarks:      Use TAM SDK >= 7.6.0 to support Ethernet connections

Changes since last Build:
- FIX: MotorPeakCurrent > DrivePeakCurrent can cause hardware damage
- FIX: FW update of an Option module in backup-mode
- FIX: New FW update version: Correct error feedback and prohibit other flash accesses
- CHG: Remove obsolete Fpga Release register
- CHG: etherCAT object 0x6092 (feed) is not writable in OP, recalculate on unit change
- NEW: units mm and degree, #554
- NEW: add objects 0x1623 and 0x1a23
- NEW: digital endat: Set position zero if no persistency data
- CHG: Ecat Homing does not stop anymore if cmd 0x10 disappears, use Option 0x200 for legacy behavior
- CHG: Ignore TimeUpdate without warnings
 

--------------------------------------------------------------------------------
CpuFirmware:  Build 2327 (TSD-4.1.2)
Release Date: Date: 2018-11-06 08:05:47 +0100 (Di, 06 Nov 2018) 
SVN Revision: Revision: 28696 
Remarks:      Use TAM SDK >= 7.6.0 to support Ethernet connections

Changes since last Build:
- FIX: Ethernet Ungraceful Disconnection handled
- FIX: Ethercat eeprom station alias not persistent
- FIX: Option Module FW download solve retries
- NEW: Show Factory FW Release number and TSD130 string
KNOWN ISSUE: FW update of an Option Module that is running in backup-mode


--------------------------------------------------------------------------------
CpuFirmware:  Build 2324 (TSD-4.1.1-beta)
Release Date: Date: 2018-10-24 12:29:00 +0200 (Mi, 24 Okt 2018) 
SVN Revision: Revision: 28675 
Remarks:      Use TAM SDK >= 7.6.0 to support Ethernet connections

Changes since last Build:
- FIX: EtherCAT did not lock in DcSlave situations (FPGA)
- CHG: BacklashDuration rails to 0.05s, due to floatingpoint limitations
- CHG: Reset error Axis/Standstill/SynchronizationLost without disable 
- CHG: DigitalEndat is now downsampled in the position controller SVN28250
- CHG: Default number of EtherCAT axes is 2
- FIX: AngleSearch gain is multiplied after positionErrorLimit check
- FIX: New Ethernet connections failed if next connection was not available
- CHG: Immediate send of Ethernet publishers towards the ASY port (state changes)
- CHG: CServiceCmdBasis::executeStartupControlCmd do not turn off tama flags during delete
- CHG: PLL not locked is now a combined warning/error same as STO-active #541 and is independent of USB
- FIX: USB asy IN: problem with callback: Send/ISO-Interrupt/callback=true caused a callback-miss, avoid double copies
- NEW: backlash compensation based on PT2, see #545
- NEW: pathplanner injected X,V,A
- FIX: Phasing problem #538
- FIX: Handle EncoderDataBusError
- CHG: New blink code for STO-LED
- FIX: EtherCAT sync between globalTime and TriaLinkTimestamp was using different units! #214
- NEW: Support Ethernet connections from Explorer and a small WEB server. Publishers sent to TCP port
- NEW: USB: mass storage for firmware update #525. Use serial number %08x (product) 0x07x (serial)
- FIX: USB: Wrong interface strings. Bug LFN in FatFs lib. Abo freeze problem.  
- NEW: FW Update Progress register and search for flash firmware tags #528
- FIX: Correct format for Product Revision


--------------------------------------------------------------------------------
CpuFirmware:  Build 2250 (TSD-4.0.8-alpha)
Release Date: Date: 2018-08-29 16:18:28 +0200 (Mi, 29 Aug 2018)
SVN Revision: Revision: 28250
Remarks:      Use TAM SDK >= 7.5.0

Changes since last Build:
- NEW: Diagnostic counters for the USB connection
- CHG: DigitalEndat is now downsampled in the position controller (positionError and differentiator)
- CHG: EtherCAT couple returns "no tracking" before coupling 
       This prevents target position versus actual position chasing
       
       
--------------------------------------------------------------------------------
CpuFirmware:  Build 2247 (TSD-4.0.7-alpha)
Release Date: Date: 2018-08-23 08:48:15 +0200 (Do, 23 Aug 2018) 
SVN Revision: Revision: 28190 
Remarks:      Use TAM SDK >= 7.5.0

Changes since last Build:
- FIX: Commutation and modulo errors for digital endat
- FIX: FPGA 1.0.11-alpha fix for digital endat
- CHG: No EMMC write test file for released FW
- CHG: EtherCAT: Do not enter operational state until EtherCAT is in OP state


--------------------------------------------------------------------------------
CpuFirmware:  Build 2244 (TSD-4.0.6-alpha)
Release Date: Date: 2018-08-07 13:26:05 +0200 (Di, 07 Aug 2018) 
SVN Revision: Revision: 28098 
Remarks:      Use TAM SDK >= 7.5.0

Changes since last Build:
- FIX: Option modul FW DL: Improve finish sequence 
- FIX: Option Module TOA1
- FIX: After STO Inconsistent, it takes 90ms for the 0x18 of the bridge monitor to clear
       Ignore these bits for 110ms
- NEW: Add error 0x80 of the safety monitor din-in, which are the fast Pbs0_PwrOk and Pbs1_PwrOk signals (Requires SafetyMonitor Update)
- FIX: Timeout of ASY Tama #481
       256 loops are sufficient for the asy tama
- FIX: AnalogEndat: Encoder now commits fast task directly (before we forgot to return true during waiting)
- FIX: EtherCAT: revert change from SVN 27686 (32 bit instead of 64bit)(64bit gives mailbox problem)


--------------------------------------------------------------------------------
CpuFirmware:  Build 2239 (TSD-4.0.4-alpha)
Release Date: Date: 2018-07-10 15:08:50 +0200 (Di, 10 Jul 2018)
SVN Revision: Revision: 27947 
Remarks:      This is the first release for TSD80 Revision 4 and TSD350 Revision 0. 
Remarks:      Use TAM SDK >= 7.5.0

Changes since last Build:
- FIX: Firmware download of option modules, timeouts for main DL
- FIX: PathPlanner did not work as expected for the case when a running stop 
       command was superseded by a move command
- FIX: AnalogEndat initial position
- NEW: Feature tag concept
- Known problems: constructor of asy task on manual start / factory FW DL
