---------------------------------------------------------------------
File:      changelog.txt
Generated with Changelog Generator Version: 1.03r0
---------------------------------------------------------------------



Version: Current release                                                                  Revision: 12410     25.09.2012
========================================================================================================================
BUG:      Signal sending didn't work if a safe signal has been used as callback replacement (e.g. during xs_can_obj_init)
CHG:      Moved activation routine for non-interfering expansion board access to xs_eb module. Renamed xs_sys_enable_expboard_unprotected_access to xs_eb_enable_noninterfering_access 


Version: v2_00r0                                                                          Revision: 12357     21.09.2012
========================================================================================================================
BUG:      in function x_sys_set_relays: fixed error position value for C_NOACT error code
BUG:      in function x_sys_set_all_relays: fixed error position value according to user manual
BUG:      Updated EEPROM mapping to avoid KFX_set_defaults name conflicts with applications that use KEFEX RamView 
BUG:      Dataflow of xs_os_install_task_ext parameter **oppv_TaskHandle in the SLAPI API XML was mistakenly "in".
CHG:      function x_in_init: extended range check for parameter ou16_Type
CHG:      function x_out_init: extended range check for parameter os32_MaxValue when ou16_Type is X_OUT_TYPE_DIGITAL
CHG:      Splitted linker scripts into build target specific and standard part 
CHG:      stwerrors.h: Changed C++ types from stw_types::sintn to stw_types::sint16
          memtypes.h: Added LONGCALL to INTROM and EXTROM function attributes
          x_can_types.h: Added member T_x_can_obj_status.u8_MsgLostFlag to detect loss of messages in the hardware buffer
          Implemented detection of hardware buffer overflow (T_x_can_obj_status.u8_MsgLostFlag)
CHG:      Added self-test of CAN nodes during system initialization (required by CANopen safety) 
CHG:      Changed compiler optimization from -O1 to -Os 
CHG:      implemented access to mirrored EB address windows in USER0 mode
CHG:      EB FPGA register u16_ALT_FB renamed to u16_NALT_FB. It returns the inverted value of register u16_ALT_EN.
CHG:      in xbs_eb_set_eb_slot_unprotected_access: compare inverted value of XEB_FPGA->u16_NALT_FB against XEB_FPGA->u16_ALT_EN.
CHG:      added uint16 cast for X_OS_HEAP_ defines
CHG:      xb_eb: reworked some functions to be able to run in USER0 mode
CHG:      xb_eb: switch to USER1 mode in system time functions
NEW:      Added esx3xl_link_intflash.ld for linking runtime - critical code and read only data to the intern flash 
NEW:      Added esx3xl_link_intflash_only.ld for linking all code and read only data to the intern flash 
NEW:      Added security layer (xs API) to libesx3xl project. 
          Applications can now use either the standard SEPI layer and the security layer with advanced MPU protection mechanism. 
NEW:      Added x_out_relay module to handle relay status and relay related error callbacks
NEW:      added linker input section .ext_nonreactive.text for extern libraries that should run in a nonreactive context 
NEW:      added u16_ErrorFlags to relay status to report error states that haven't been reset by the application 
NEW:      Added new OS functions:
          - x_os_install_task_ext
          - x_os_check_task_stack_ext
          - x_os_set_task_timer_ext
          - x_os_suspend_task
          - x_os_resume_task
          - x_os_delete_task 
NEW:      Added function x_eep_get_status to retrieve information about the EEPROM cache 
NEW:      Added function x_os_get_status to retrieve status information 


Version: v1_04r7                                                                          Revision: 9868      31.08.2011
========================================================================================================================
BUG:      x_err_defines.h wasn't updated since v1.04r0 


Version: v1_04r5                                                                          Revision: 9783      17.08.2011
========================================================================================================================
CHG:      improved detection of expansion boards in x_sys_init.


Version: v1_04r4                                                                          Revision: 9632      26.07.2011
========================================================================================================================
BUG:      error handler: modules x_eep, x_os_mbox, x_os_mutex, x_os_sema and x_os_signal return correct error position value
BUG:      Fixed Bug that could cause new expansion board hardware not be correctly initialized 
          after a system (x_sys_reset()) or SSV reset (x_ssv_reset())
CHG:      Prefixed output sections of the libesx3xl.a library with "stw_bios" to be able to 
          distinguish between application and library code in the linker script
CHG:      Removed the libesx3xli.a library. If the library code shall be placed in internal flash, 
          the linker script esx3xl_link_bios_intflash.ld can be used instead
CHG:      Removed result library for GCC 3.3.7.1 compiler because the support for this version is discontinued
NEW:      in x_out: added define to set controlled outputs to 100% state with control loop disabled
NEW:      Added ramping output function to x_out module: x_out_set_value_ramping(..)
NEW:      Added overcurrent and overvoltage protection for UB1, UB2 and UB3 supply. 
          The corresponding main relay X_SYS_RELAY_01 - X_SYS_RELAY_03 will be shut off in case of 
          an overcurrent or overvoltage event. This error state is permanent and can be reset with 
          the function x_out_reset_error() and the channel X_OUT_RESET_ERROR_UB_01 - X_OUT_RESET_ERROR_UB_03. 
          In case of an overcurrent, the error can only be reset if a certain recovery time has passed.
NEW:      Added *.hpp headers to result folder. 
          These headers contain STW type and function declarations with namespaced STW SEPI functions and data types. 
          This change will only affect C++ projects.
NEW:      Added x_mpu module to implement memory protection mechanisms for main stack and x_os task stack protection


Version: v1_03r3                                                                          Revision: 7702      07.10.2010
========================================================================================================================
CHG:      moved reserved RAM area in debug linker script from Address Range 0xA4200000 -- 0xA420FFFF to Address Range 0xA4000000 -- 0xA400FFFF 
NEW:      Added new SEPI functions to read ECU component versions: x_sys_get_component_info() 
NEW:      Added new SEPI functions to read ECU component versions: x_sys_get_component_info() 


Version: v1_03r0                                                                          Revision: 7481      20.08.2010
========================================================================================================================
BUG:      x_out_set_control_parameters: s16_OutputLimitMax and s16_OutputLimitMin are not being checked for sane values 
CHG:      new function x_ssv_set_trigger() for setting the trigger line state manually
NEW:      added max. channel defines for X_SYS_RELAY_, X_SYS_SENSOR_SUPPLY_, X_SYS_LED_ and X_SYS_TEMP_


Version: v1_01r0                                                                          Revision: 6358      13.04.2010
========================================================================================================================
BUG:      fixed problem with x_fl_set_interface_parameters for serial interfaces 
BUG:      fixed scale value for 1.25V system voltage on C- and C2-step hardware
BUG:      x_can_obj_get_status now works also on gateway message objects
BUG:      x_in: optimized frequency measurement to prevent overflow for signals <20kHz
CHG:      moved reserved RAM section (for Lauterbach debugger) to the start address of the external RAM.
CHG:      Added support for C2 Hardware 
CHG:      stdtypes.h: removed NULL define and added <stddef.h> include
CHG:      x_in_init: return C_CONFIG when trying to configure an output of type X_IN_TYPE_VOLTAGE_5V or X_IN_TYPE_VOLTAGE_10V 
          when one ore more inputs of the same group are configured as digital type (fixed 40V gain)
CHG:      after x_sys_init all ADC values are settled to stable values
NEW:      x_sys.h: added defines for mainboard hardware version information
NEW:      added function x_in_get_counter_direction (SEPI draft)
NEW:      added functions x_sys_enter_critical and x_sys_leave_critical


Version: v1_00r0                                                                          Revision: 4978      06.11.2009
========================================================================================================================
BUG:      xb_os: fixed bug with task priorities > 31 (emerged in V0.99r1)
BUG:      digital inputs configured with filter disabled will always return the raw input value
CHG:      don't allow subsequent calls of x_sys_init, return C_NOACT
CHG:      x_can.h: removed deprecated defines
CHG:      removed fifo.h and memclass.h from API result folder
CHG:      removed deprecated defines from all API header files
NEW:      implemented incremental input functionality on 3XL main board
NEW:      added support for C2-step hardware


Version: v0_99r3                                                                          Revision: 4383      29.07.2009
========================================================================================================================
BUG:      fixed offset value for scaling of summation current measurement
BUG:      fixed unsolved CPU_TC.48 errata in module x_in
BUG:      fixed bug in calculation of u32_RomSize in T_x_sys_system_information
BUG:      x_out: fixed bug in PWM duty cycle calculation with MaxValue > 10000
BUG:      fixed bug in min. time window calculation for X_SSV_TRIGGER_AUTO after call of x_ssv_init()
BUG:      fixed bug in module x_can: TX RTR objects receive now the identifier from the RTR object
BUG:      in module x_in: fixed overflow error after first 65536 pulse edges
BUG:      fixed bug in function install_int_handler: argument low part should be treated as sint16
BUG:      fixed bug in x_can: default mask for 29bit ID set to "must match"
BUG:      eliminated spurious glitches on current controlled PWM outputs
CHG:      x_in: improved frequency measurement detect missing input signal immediately
CHG:      removed lower case defines "true" and "false", now only upper case defines "TRUE" and "FALSE" are available
CHG:      renamed T_x_sys_expboard_info element u16_HwRev into u16_ArticleVersion
CHG:      renamed T_x_sys_expboard_info element u32_ExpBoardVersion into u32_ArticleNumber
CHG:      changed channel defines to two digit numbering scheme (e.g. CAN_BUS_01, X_SYS_RELAY_01, ...)
CHG:      moved system supervisor functions from x_sys to x_ssv
CHG:      created defines in x_sys.h for ssv compatibility
CHG:      x_os data type U_Events changed into U_x_os_events according to STW naming conventions
CHG:      linker scripts: added prefix gu32_ to memory symbols
CHG:      change function name x_get_lib_version() into x_lib_get_version()
CHG:      x_os_wait_period() and x_os_sleep() do not return on global events
CHG:      functions x_in_get_counter() & x_in_set_counter() use signed counter values
CHG:      renamed STW standard error header from xll_stderror.h to stwerrors.h
CHG:      module x_os_mbox: changed function names according to STW SEPI specification
CHG:      module x_os_mutex: changed function names according to STW SEPI specification
CHG:      module x_os_sema: changed function names according to STW SEPI specification
CHG:      module x_os_signal: changed function names according to STW SEPI specification
CHG:      x_out_get_status() added status bit X_OUT_STATE_DIGITAL_FB - it returns the digital feedback signal
CHG:      changed API modules x_uti, x_sys, x_ssv, x_ser to STW SEPI specification
CHG:      changed API modules x_out, x_os, x_lib, x_in, x_eep to STW SEPI specification
CHG:      renamed module x_lib_version into x_lib
CHG:      x_out_init: limit MaxValue < 0x80000000
CHG:      changed API module x_can to STW SEPI specification
CHG:      T_x_out: changed member uint32 u32_OutValue into sint32 s32_OutValue (STW SEPI specification)
CHG:      adapt automatically the memory timing for flash ROM access during system startup
CHG:      changed API modules x_in, x_ser and x_sys API functions to meet the STW SEPI specification
CHG:      changed module x_tim according to SEPI proposal
CHG:      moved definition of T_x_lib_info and T_x_application_info from x_sys.h to x_lib.h 
CHG:      changed uint64 time value in T_x_can_msg into uint32 value
CHG:      changed uint64 time value in T_x_can_bus_status into uint32 value
CHG:      changed uint64 time value in T_x_can_obj_status into uint32 value
CHG:      changed uint64 time value in T_x_out_status into uint32 value
CHG:      new header x_eb.h replaces x_mod.h for expansion board defines
CHG:      moved and renamed defines for library information from x_sys.h into x_lib.h
CHG:      renamed x_stdtype.h into x_stdtypes.h
CHG:      x_out: Added setpoint value into PID parameter structure
CHG:      x_out: define for output type X_OUT_TYPE_CURRENT_CTRL changed into X_OUT_TYPE_CONTROL_CURRENT
CHG:      x_os: exchanged union U_x_os_events by simple uint32 type (MISRA conformity)
CHG:      x_lib: modified some defines according to STW SEPI standard
CHG:      x_lib.h: added example for application info struct
CHG:      modified linker scripts to access CPU internal flash memory
CHG:      x_lib: modified data types for compiler version information in struct T_x_lib_version 
CHG:      reduced clock rate for SPI EEPROM Microchip 25LC256
CHG:      added voltage control loop for higher precision sensor supply output voltage
NEW:      x_in: functions to set and read signal edge counter: x_in_set_counter(), x_in_get_counter()
NEW:      added new function x_os_sleep()
NEW:      current control function for mainboard outputs
NEW:      new function x_os_get_event_mask()
NEW:      Added flashloader SEPI functions:
          - x_fl_get_version
          - x_fl_get_num_interfaces
          - x_fl_get_interface_parameters
          - x_fl_set_interface_parameters
          - x_fl_get_num_checksum_blocks
          - x_fl_get_checksum_block_addresses
          - x_fl_set_checksum_block_addresses 
NEW:      added Magic Key (0x900dc0de) for flashloader decision whether to to start the application from intern or extern flash 
NEW:      added user timer callback functions (module x_tim)
NEW:      header x_esx3xl.h includes all headers from the ESX-3XL API
NEW:      added some error defines for the error handler
NEW:      in x_sys: new function x_sys_get_system_information()
NEW:      in x_sys: added T_x_sys_logistic_data in T_x_sys_system_information
NEW:      in x_sys: added last trap information in T_x_sys_system_information
NEW:      in x_os: new functions x_os_enter_critical() and x_os_leave_critical()
NEW:      new sepi functions: 
          - x_fl_get_checksum_block_check 
          - x_fl_set_checksum_block_check
          to read and activate / deactivate the block checksum check before application start.
          Note:
          This feature will be only available with a flashloader version > v2_02r0! 
NEW:      new function x_tim_close()
NEW:      x_out: New function x_out_get_control_parameters() to read back the current control parameters and the last setpoint value
NEW:      added libraries using CPU internal flash
NEW:      memtypes.h: added memory types using internal ROM (cpu onchip flash)


Version: v098r4                                                                           Revision: 2927      24.07.2008
========================================================================================================================
BUG:      fixed bug in expansion board interrupt edge selection (EB06)
BUG:      fixed bug in mcan interrupt handler: clear pending flags with a single write access
CHG:      x_sys_init initialize MSC0 interface for expansion boards (EB06)
NEW:      new function x_get_lib_version() in module x_lib_version


Version: v098r2                                                                           Revision: 2672      09.05.2008
========================================================================================================================
BUG:      can error interrupt handler changed to jump and link mechanism
BUG:      fixed: inputs (5..8, 13..16, 21..24) configured as frequency input lead to a endless loop
          note: bug occurred first in version 0.98r0
CHG:      function x_sys_close() performs a reset if ignition signal is still set
NEW:      automatic hardware detection: support for C-step hardware


Version: v098r0                                                                           Revision: 2400      17.03.2008
========================================================================================================================
CHG:      removed typedef float80, because GNU TriCore GCC treats long double like double
CHG:      Updated link to TriCore v098r7: flash driver xll_flash_M58BWxxx.c: modified detect function because of wrong CFI information on device with date code 742
CHG:      in order to make file and function prefixes consistent:
          - renamed x_err.c -> xll_err.c
          - renamed x_err.h -> xll_err.h
          - renamed xmb_err.c -> x_err.c
          - renamed xmb_err.h -> x_err.h
          
          trimmed all DEFINES and functions to match this.
NEW:      updated link to TriCore pool v098r5 with new features:
          added support for non-blocking flash operations
NEW:      all intrinsic assembly functions are collected in new TriCore pool header xll_intrinsics.h
NEW:      added information about current interrupt level into the error message
          in xmb_err.c.
NEW:      added changelog.txt file


Version: v097r0                                                                           Revision: 2116      08.02.2008
========================================================================================================================
CHG:      internal module esx3xl_extmod renamed into esx3xl_expboard
CHG:      module x_can does not use any resources if not initialized
CHG:      defines for expansion board base addresses removed, expansion board libraries have to use the global address table instead
NEW:      new TriCore pool functions: get_int_handler(), bios_timer_install_os_tick()
NEW:      new define X_SYS_SSV_CPURST_HDRST


Version: v096r4                                                                           Revision: 2054      29.01.2008
========================================================================================================================
BUG:      eeprom_spi: fixed bug in DMA based SPI transfer (DMA address translation for dummy variable)
CHG:      startup code modified: enable TC1796 SBRAM before variable initialization
CHG:      linker scripts modified: all sections start at 32bit address boundary, CSA use all unused LDRAM.
          TriCore pool function TRANSLATE_CXADR() also modified for that reason
NEW:      linker script provide global constant gu32_EndOfUsedRom with endaddress of used rom 


Version: v096r3                                                                           Revision: 1956      14.01.2008
========================================================================================================================
BUG:      BIOS quali: fixed bugs in module x_os.c
CHG:      system eeprom removed from cached area
CHG:      x_sys_stay_alive: check D+ signal and halt system if D+ is off.
          x_sys_close: removed D+ check from 
CHG:      esx3xl_adc_set_filter: init filtered ADC value with last raw ADC value for fast signal settling
CHG:      changed union type T_Events into U_Events
NEW:      added functions to get errorhandler libname and libversion
NEW:      module x_os: new defines X_OS_HEAP_DEFAULT and X_OS_HEAP_FAST for task heap memory types


Version: v096r2                                                                           Revision: 1838      06.12.2007
========================================================================================================================
CHG:      link to TriCore pool v098r2 updated


Version: v096r1                                                                           Revision: 1833      05.12.2007
========================================================================================================================
CHG:      renamed xll_stwtypes.h into stwtypes.h
CHG:      changed errorhandler to use library-specific set_error_function insead of area-specific set_error_functions.
CHG:      new linker scripts provide load address for default trap vector table in global constant gpv_default_trap_vect
NEW:      linker scripts: added section for external library version information
NEW:      Added x_err.h and xmb_err.h for errorhandler
NEW:      Added u32_HeapSize and u32_HeapSizeInternal to T_x_sys_system_information structure, 
          so that x_sys_init returns size of external and internal heap.
NEW:      defines for new ADC channels for hardware step C


Version: v096r0                                                                           Revision: 1579      16.10.2007
========================================================================================================================
CHG:      changed extension module identifiers into expansion board (EXPBOARD)


Version: v095r0                                                                           Revision: 1474      27.09.2007
========================================================================================================================
BUG:      fixed bug in x_sys_close: halt CPU if D+ signal is not active
BUG:      fixed bug in eeprom_cache memory handler installation
CHG:      x_can: produce C_CONFIG error when gateway RTR mode is not valid
CHG:      x_ser_write: write only if enough FIFO buffer available
CHG:      implementation of renamed TriCore pool functions (header starting with xll_)
NEW:      added eeprom cache
NEW:      module x_eep.c: new function x_eep_flush
NEW:      xll_system.h: software reset configurable with or without external reset signal


Version: v094r7                                                                           Revision: 1304      02.08.2007
========================================================================================================================
BUG:      x_can: fixed bug with TX hardware FIFO: TX hardware FIFO replaced by software FIFO
CHG:      use new TriCore pool library (multican module checked against all known erratas)


Version: v094r6                                                                           Revision: 1291      27.07.2007
========================================================================================================================
CHG:      changed compiler switch for debug information from -g3 to -g2 (no macro definitions in output files, files are much smaller!)


Version: v094r5                                                                           Revision: 1266      19.07.2007
========================================================================================================================
BUG:      fixed bug in x_sys_config_supervisor(): no C_RD_WR error on successful write
CHG:      reduced timeout value for expansion board eeprom check, speeds up system initialization
CHG:      range check for x_sys_config_supervisor() changed: WDmin <= (WDmax - 25%)
          [older versions: WDmin < (WDmax - 25%)]
CHG:      define for X_SYS_SSV_TRIGGER_AUTO changed from 2 to 1


Version: v094r4                                                                           Revision: 1193      05.07.2007
========================================================================================================================
BUG:      current offset for B-step hardware corrected


Version: v094r3                                                                           Revision: 1073      29.06.2007
========================================================================================================================
BUG:      esx3xl_extmod: bug fixed in extension board interrupt generation
CHG:      callback function pointer types renamed: prefix PR_


Version: v094r2_A_Step                                                                    Revision: 989       25.06.2007
========================================================================================================================
BUG:      A-Step hardware needs different FPGA address space bustiming


Version: v094r1                                                                           Revision: 926       22.06.2007
========================================================================================================================
CHG:      timing for FPGA address space modified


Version: v094r0_A_Step                                                                    Revision: 923       22.06.2007
========================================================================================================================
BUG:      fixed bug in over current ISR: set error flag, changed interrupt priorities
BUG:      bug fixed in expansion board interrupt generation
CHG:      x_out_init() error callback possible
CHG:      x_sys_init: auto detect RAM and ROM size (from ADDRSEL registers)
CHG:      bus timing for extension board address range modified
NEW:      x_out: overcurrent diagnostic functions implemented
NEW:      library version includes now compiler version
NEW:      new header x_mod.h
NEW:      new ssv functions set/restore error reset reaction


Version: v093r0                                                                           Revision: 850       08.06.2007
========================================================================================================================
CHG:      linker scripts modified for ESX-3XL B-Step Hardware
NEW:      created ESX-3XL library, separated low level TriCore pool functions in own library, TriCore pool tagged to v0.96r0
NEW:      updated TriCore pool: added support for Spansion flash device S29CD0xxG/J and S29CL0xxJ
NEW:      added header for new flash driver module flash_S29CDxxx


