This installation of MotoHawk should contain the following: --MotoHawk | +--Bin Executable utilities used by MotoHawk | +--Blocks Blockset library. Everything in this directory is added to the MATLAB path. | +--Controllers Contains the archives and header files for Component Control Core | +--Documentation README (this file) and other installed documentation | +--GlobalDefinitions Contains common header files | +--MotoCoder The collection of code generation tools used to interface with Component Control Core | +--ControlCoreClassic Archives and header files for Control Core Classic (5xx-based modules) | +--Toolchains Archives for interfacing with the RTW API. After opening MATLAB, you should see something like: ------------------------------------------- Initializing MotoHawk... For: MATLAB 7.9 to 7.14 Version: 2012a_SP0 Installed in: C:\Program Files\Woodward\MotoHawk\2012a_SP0 Ready. ------------------------------------------- >> - Type "motohawk_project('NewProject')" at the MATLAB command prompt to create a new template project, containing an example application. - Simply press CTRL-B to build the project. - Two files will be generated, an .SRZ and a .DLL file, which will be installed into your C:\ECUFiles\Programs and C:\ECUFiles\TDBDLL directories, respectively. - Type "help motohawk" to get more help on command-line scripts. Please visit our website at http://mcs.woodward.com for more information about the product, hardware documentation, known bugs, feature requests, and more! Version History: ******************************************************************************************************************************** 2012a_SP1 Type: External Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.5 (svn tag MotoCoder_0_14_5_SP1) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf11556 2012a: Add CAM passive pull strength control to PCM09 module artf11618 2012a: Add MC33810 config block support to ECM70 artf11749 2012a: Add Flexible Encoder support to PCM09's SPD2 and SPD3 inputs artf11391 2012a: Add Flexible Encoder support to PCM09's SPD1 input MotoHawk Bug Fixes: artf11484 2012a : Ignore "Busy" bit during FLEXCAN transmit artf11640 2012a : Change the "Test Failing" state to have Volatile storage artf11273 2012a SP1: Update buffered EEPROM memory allocation strategy ******************************************************************************************************************************** 2012a_SP0 Type: External Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.4 (svn tag MotoCoder_0_14_4_SP0) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf10976 2012a SP0 - ECM-0563-154-054-1100 - Add detailed injector fault reports MotoHawk Bug Fixes: artf10735 Increase stack for Ethernet:FEC_ISRHandler task. artf10743 Fix the incorrect resource name for LECM LSO12. artf10824 LECM-5566-210-041 Invert logic for En5VdcXdcr digital output. artf10941 2012a: Cast Buffered NonVolatile Age before comparing artf10957 2012a : Amend MotoHawk HTML Stack Help artf10978 2012a SP0: Buffered EE does not appear to function on ECM-OH artf10983 2012a SP0 - ECM-0563-154-054-1100 (Motocoder) - Ensure weak pull up/down remains PDMCR.PRDS=0 artf11025 2012a SP0 - MPC5xx (MotoCoder) - KeySuite to populate CRC32 functions artf11034 2012a : Add .cals->.flashcals alias for MotoConvert in MPC5xx + GCC builds with MotoCoder artf11050 2012a : Set TCR2 to -1 on stall for all eTPU Encoders artf11058 2012a SP0 - AppMonitor - Repeatedly shut off IO on Application Stop artf11060 2012a SP0 - ECM-0563-154-054-1100 - Correct Detail Injector fault help path artf11069 2012a SP0: Add Non Fixed Non Volatile Open function call to Buffered EEPROM artf11100 2012a : Correct delayed PSP timing update by altering PSP Primitive update logic artf11124 2012a SP0: Remove CRC from buffered EEPROM array artf11129 2012a SP0 - S12 - Add entry for pfnGetMode in S_PrimaryEncoderMethods_CPU_CONSTRUCTOR ******************************************************************************************************************************** 2012a_beta4 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.3 (svn tag MotoCoder_0_14_3) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf10046 Flexible Encoder: Add Variable Cam Support to MotoHawk artf10050 Flexible Encoder: Add Companion Phase reporting artf10314 Add output resolution option to Cycle RPM accessor block in Flexible Encoder artf10315 Add a high resolution Cycle RPM API in 5xxx Component Control Core artf10380 Update EID gateware images to rel3460 artf10460 Add Method to Override Default KeySuite CAN Identifiers via Extensions mechanism artf10477 Add support for MC25LC640 EEPROM chip artf10531 MPC55xx Processor : Enable reset on loss of clock and loss of lock artf10540 Flexible Encoder: Add estimated phase position block to MotoHawk artf10593 MPC55xx: Reserve 128 bytes of nonvolatile for exclusive use of the bootloader artf10597 ECM-0563-154-054-1100 - Remove DualPSP support artf10635 Produce a standard SR file with every type of MotoHawk build artf10655 Update TemplateHarnessTester test to copy build directory artf10677 Remove the XSL code paths which implement a default memory map suitable for MPC55xx processors artf3777 Instrument sbrk in GCC based processor implementations artf6170 Add check for __FREESTORE_POINTER_MODIFIER in S12 FreeScale_API.c artf8078 Complete support for MC33394 PowerOak power supply artf9965 Add support for reading version number from FPGA FROM MotoHawk Bug Fixes: artf10734 2012a: Have idle task watchdog reset if g_u8CriticalSectionCnt non-zero while executing idle artf10747 2012a : Add "motohawk_tex" call to initialization mask logic for the source strings in Flexible Encoder System artf10732 Flexible Encoder: 2012a: Correct default mask values artf10076 Update NANT binaries to 0.86.13 artf10091 Fix MotoHawk.build to work correctly when using an x64 host OS to run the build artf10286 ECM-0563-154-054-1100: Add FaultStatus behavior to expose MC33394 PowerOak fault bits artf10293 DCSM: Move INPUT2 digital input to CPU artf10312 Classic - Support motohawk_psp_end artf10383 Add support forr MATLAB R2010b SP2 artf10393 ECMOH DV3: Correct SW3 Object name artf10413 DCR_PKTM - Access DIAG_MAX_P_DELAY via macro reference artf10415 Add "Enable by deafult" parameter for RTC library. artf10455 Change names for LSOxDIN/DOUT resources to simple LSOx in LECM-5566-210-041 descriptor. artf10461 Add link time optimization to all GHS build scripts. artf10467 ECM-OH Quizzer: Memory Map incorrect artf10473 Flexible Encoder: Correct pattern name display artf10494 FlexibleEncoder: Create a TDC offset block that will work with all sources and add necessary cross checks. artf10496 Flexible Encoder: Saturate ZeroSpeedTimeout against ETPU_UNIENC_SPEEDZERO_PERIOD artf10514 Remove motohawk_set_descriptions and associated files. artf10524 Remove 2X_nocam from EncoderDefinition.html artf10525 Add true to DGIn_CNK artf10526 ECM-0563-154-054-1100 - TPU ignore MaxPeriod check during turn off artf10535 FlexibleEncoder: Add Checks bettween source defn and system defn for revolutions per cycle artf10549 Prevent the ...Write_Execute() function in each Serial EE Device Driver inlining in GCC artf10568 Alter tasking kernel stack metric calculation such that it will stall all execution on stack overflow artf10569 Remove MAXI Shutdown on SPK1..SPK6 from ECMOH artf10571 Add mirror version of g_bAppOpen to MotoCoder artf10626 Alter MPC5xx interrupt handler so that PreTaskHook always executes artf10659 Remove references to MINIMUM_TASK_STACK_SIZE from CCC Sources artf10686 LECM PizzaBox : Add support for reading version number from FPGA FROM artf3060 Change S12 PWM Clock selection logic artf7038 Flexible Encoder: Handle Many to One Loss Relationship ******************************************************************************************************************************** 2012a_beta3 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.2 (svn tag MotoCoder_0_14_2) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf10006 Add MATLAB 2012a Support to MotoHawk artf10028 Simplify the RTW source code interface artf10047 Flexible Encoder: Add ExtraCompanion sensor support artf10204 Add optional command write/read methods to eQADCModule device driver artf10221 ECMOH DV3 MPC5644 module variant to have minor version of 4 artf7587 Support Custom Code options in RTW artf9496 ECMOH: Add DV3 MPC5644 module variant to MotoHawk artf9689 Add Method to Write eQADC Registers artf9989 eTPU Flexible Encoder primitive: Assign bit fields to defines MotoHawk Bug Fixes: artf10004 Update EID gateware images to rel3408 artf10025 Delete the motohawk_restore_one_nvmem and restore_nonvolatile_display_variable block artf10063 Fix build error caused by the current directory being different than the model directory artf10081 HCM-563-48-0801: Remove CAN3 artf10095 Convert all calibrations into MotoHawk to use "REMOTE" update rate artf10190 Knock By Decimation: Clear MXSR::SDF on FINTVAL read to prevent integral overrun being flagged artf10196 FlexibleEncoder: Add block reference checks artf10223 Add "flatten" attribute to the NANT archive copy task when building Classic targets artf10224 Classic - Remove compiler option to allow symbolic debugging with GHSProbe artf10242 GCM-5644A-080-055-1200: fix SPI Slave declaration in module descriptor artf10295 Remove extra ".c" from the "Knock_VistaKnock_Callbacks" file artf10318 Change IOLock driver in LECM-5566-210-041,GCM-5644A-080-055-12x and ECM-5644A-086-056-12x to IOLockRoot artf10327 motohawk_encoder_num_cylinders: Update so it will fuction with FlexibleEncoder artf10328 FlexibleEncoder: Update motohawk_sfun_flexenc_system_defn.tlc artf10335 Add proper buffers declaration for Ethernet lwIP stack while compiling using GHS. artf9570 Correct motohawk_encoder_fault_enum text artf9638 S12X: Update XGATE support artf9715 Change initialization of 'globalEnable' in order to allow multiple OBD Global enable definition and prevent MATLAB crash. artf9971 Reserve Flash for FPGA programming, and fix EEPROM size in ECM-5644A-086-056-1201 artf9985 Flexible Encoder: Handle Source 1 being disabled artf9990 Flexible Encoder: Only set the current tooth value when inside the halfcycle window ******************************************************************************************************************************** 2012a_beta2 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.1 (svn tag MotoCoder_0_14_1) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf7157 Port Flexible Encoder Bolt-On Blocks to MotoHawk artf8625 ECM-0563-154-054-1100 Enforce warning if Peak not defined artf8830 Add MPC5642A core to Component Control Core artf8831 Add MPC5642A Security Archives to MotoHawk artf8881 Remove Data logger block from Motohawk trunk artf8924 ECM-0563-154-054-1100 Support Pseudo encoder artf8990 Update buffered eeprom help information and documentation artf9169 Peiker: Add Hardware Module Descriptor to MotoCoder artf9237 Replace "error" with "motohawk_block_error" in motohawk_data_reference block artf9248 Replace "error" with "motohawk_block_error" in motohawk_subsystem_trigger block artf9273 Update motohawk_shutdown_power block help artf9278 Add PGA280 transform to MotoCoder, update LECM-5566-210-041 module descriptor artf9394 Replace "error" by "motohawk_block_error" in SmartCraft Transmit Page Counter block artf9399 LECM Aux board: update Knock objects artf9460 Update Module Descriptor ECM-5644A-086-056 - updated pin assignment artf9463 Add support for MPC5642A security builds in MotoHawk artf9475 Update EID FPGA GAteware to match doc6795 V3 artf9478 PGA280 Analog Gain: add support for HW circuit gain compensation artf9482 Expose MC33810 MAXI shutdown driver configuration artf9483 Install MC33810 Chip Select calibration feature on ECMOH modules artf9484 Expose MC33810 GPGD Fault Configuration to runtime modification artf9485 Add Boost Power Supply and Profile resources to ECM-5644A-086-056 artf9510 LECM SLRU Main: Update module descriptor for new FPGA Analog Configuration artf9572 ECMOH: Add PWM support to SPK8 artf9573 Add rel3319 Gateware image for ECM-5644A-086-056-120x artf9582 KnockDSP: change handling of filter delay artf9587 Add additional profile valid flag for FPGA_CurrentControlledDriver artf9604 Enable internal watchdog for GCM-5644A-080-055 artf9605 GCM-5644A-080-055: enable jump to boot through reset artf9610 Enable reset and internal watchdog for ECM-5644A-086-056 artf9629 LECM Aux/EID: Add Module ID digital inputs artf9637 Update S12 RTI configuration to support decimal RTI divisor on S12X artf9639 Create Kongsberg Module Descriptor. artf9642 Add S12X builds to release artf9691 Add additional defines for ignition triggers for LECM-5566-210-041 Gateware artf9692 KnockDSP: optimize FFT memory usage artf9710 Add new header file for CustomDriveMode bolt-on blockset driver. artf9711 Add discrete output resource for LSO output on LECM-5566-210-041 platform. artf9783 Elevate LECM modules release status to StandardModules artf9912 LECM AUX: decrease the RAM_CALIBRATION size MotoHawk Bug Fixes: artf3835 Spelling error and block mask parameter name mismatch on motohawk_serial_def block Help. artf3916 GenericDualInputHBridge: generate [[Name]]_Stop unconditionally artf3956 Add Woodward copyright to some blocks artf8678 Remove IWork and DWork allocation on Wide band O2 and Tach Blocks artf9139 Change the unit of angle offset in Injector driver block and its corresponding help description artf9443 Fix corrupt image file mh.jpg artf9450 ECMOH: Apply HTML fixes to Open While asserted configuration block artf9461 Knock DSP: Update filter delay handling artf9464 Add AOUT1/AOUT2 resources to LECM5566-210-041-12xx descriptor artf9465 Rename CANInteprocessor name to CAN_4_Inteprocessor for all LECM modules artf9471 LECM SLRU main board: update objects for AnalogConfig blockset artf9474 Motohawk_Faults truncates fault list for names longer than 63 characters artf9486 Update Gateware on LECM-5566-210-041-1200/1 to rel3191 artf9501 Change QADC multiplexer addressing in LECM SLRU module descriptor artf9503 motohawk_abs_time: Add a way to select the timer width artf9530 Add AIN1-AIN5 and TC_RTD_CS resources to LECM5566-210-041-12xx descriptor artf9557 Add new header files for FPGA Current Controlled Driver artf9559 Add missing MAINFPGA_ANGLECLOCK_A_MUX_REG define to GCM-5644A-080-055-1200 Gateware artf9569 QADC_MUX: configure NULL pointer for PGA280 channels if AnalogGain is missing artf9576 Implement method to update copyright information automatically artf9580 ECM-0563-154-054-1100 - PSP AngleAngle rectify stop dependence on start for short pulses artf9583 Change the ssSetInputPortDirectFeedThrough setting to true for PHWOT, reactmodule, and react_offtime artf9586 Add DIN and ADC angle element behavior for LECM-5566-210-04 senses.Fix LSO pins. artf9599 Fix the issue with not working LSO1-4 outputs while current output is not set in PWM output block. artf9619 MPC56xx : Configure SIU:ISEL8 for eTPU channels 24:29 artf9626 Make naming of speed inputs across LECM-5566-210-041-120x, GCM-5644A-080-055-120x, and ECM-5644A-086-056-120x consistent artf9631 S12X: Update ComponentControlCore build file to use EPAGE in RAM location artf9632 S12X: Update analog input to handle continuous scan correctly artf9634 S12X: Update EEPROM access to support near pointers artf9636 Update S12 Timer setup to support S12X artf9640 Remove incorrect assert in DiscOut6,11,12 artf9643 Update motohawk_obdfault_get_faults artf9647 Correct PCR restore in GPIO_DigitalOut_Destroy and optimize artf9657 Update LECM-5566-210-041-120x gateware to rel3212 artf9668 Display Fault Action Route Defaults block columns more intuitively artf9693 Add Ignition trigger and analog mode resources for LECM-5566-210-041 module. artf9704 Change motohawk_update_library to close sub systems. artf9743 Rename MuxGroup/Channel for InjectorSignal[1:20] in ECM-5644A-086-056-12xx_Objects artf9778 Update SLRUMainFPGA Version to 1.007 for LECM-5566-210-041-12xx artf9919 Flexible Encoder : Increase max cylinders to 20 artf9933 Fix incorrect for EidSpeed2Mux in ECM5644A-086-056-12xx_Objects.xml ******************************************************************************************************************************** 2012a_beta1 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.14.0 (svn tag MotoCoder_0_14_0) Migration Notes: -The OBD Fault Manager calibration tool format had a large change in this version (artf9053). In summary, the "grid view" that was present in past versions was separated into separate VarDecs for each individual fault/calibration combination. The benefits of this change: 1. This change will make it possible to retain the calibration values after a transfer/upgrade of the OBD Fault calibrations when a fault is added or subtracted from the application. 2. The user has control of the location of these VarDecs with the new group string parameter in the OBD Fault Definition block. 3. The user has control over the read/write permissions of the VarDecs for individual faults. 4. It prevents the name modifications that are required when generating an ASAP2 file which will make it easer to interface with CCP and XCP-based tools such as INCA, ATI Vision, Toolkit, or CANape. There are some detractors as well: 1. Users of the OBD Fault Manager should verify that the settings of this group string is valid. By default, all faults will be grouped by the value in the library block when the block is upgraded. It is set to "Faults | Fault1" currently. 2. There will be an increase in the amount of code space (FLASH) allocated due to the increased number of VarDecs in the application. -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf5061 Updated VDO library and create HTML help artf6176 Install Prime Pulse Capability on eTPU capable modules artf7838 Update MotoElfParser binaries to correct bug in calculating array sizes artf8003 Add KeyOffTimer support to the main core of ECM OH artf8055 Non-Volatile Memory Management artf8557 ECMOH DV: Configure modules to run at 120MHz artf8749 ECMOH: Expose MC33810 Open while asserted diagnostic enable artf8750 ECMOH: Expose MC33810 Spark Controls to runtime modification artf8838 MC33810 PWM0-PWM3 Freq . & DC Command implementation artf8849 Add custom memcpy for lwIP stack artf8895 Add decimation filter support for MPC564x cores artf8907 Install MotoHawk 2012a licensing artf8909 Support user tasks in all MotoCoder targets artf8931 LECM SuperLRU : Create Aux board hardware Maj/Min artf8932 LECM SuperLRU : Create Aux board module descriptor artf8940 Add MPC5644A as gcc and ghs target to PagedCompression and LZMA modules artf8966 Add GCM-5644A Gateware artf8968 Add GCM-5644A Module Support artf8995 ECMOH: Add passive pull-strength resource to AN21 artf8996 ECMOH: Set eMIOS frequency for 120MHz operation at 12MHz artf9000 Add new naming convention for GCM-5644A ModuleSupport artf9007 Allow DisableOnStop to be overridden by an extensions file artf9010 ECMOH: Add LSO16 through LSO19 to ECM-5644A-112-048-1201-xD artf9011 ECMOH: Add EST1 through EST8 to ECM-5644A-112-048-1201-xD artf9013 eQADC: add runtime tunable queues artf9037 Add MPC56xx Knock by Decimation eQADC supports artf9045 Allow the PIT Timer template to gracefully handle a non-integer Timeout_us artf9067 Knock DSP: add additional functionality artf9068 Add different pin setup configurations for the GCM-5644A artf9117 Add LECM-5566-210-041 module support artf9125 Add Knock by Decimation MotoCoder Support Shell artf9134 Modify Building GHS scripts to change order - first compile then copy FPGA dat file artf9136 Add initialization of ETRIG inputs to ModuleSupport artf9162 Use LibCallModelInitialize and LibCallModelStep instead of hardcoding the name of the initialize and step functions artf9166 Add MATLAB 2012a Toolchain content artf9167 Add Flexible Encoder 151X Pattern artf9170 Add KnockSystem objects to LECM Aux board descriptor artf9172 Replacing "error" with "motohawk_block_error" for motohawk_encoder_def block. artf9194 Replace "error" with "motohawk_block_error" in motohawk_read_canmsg block. artf9224 Nightly builds: Retain unsupported MATLAB version toolchains artf9225 Update HTML help for web access artf9231 Replace "error" with "motohawk_block_error" in motohawk_component_instance and motohawk_outport block artf9240 Replace "error" with "motohawk_block_error" in motohawk_encoder_angle_extrapolation block block artf9242 eTPU - Convert makefile to nant build file artf9247 Replace "error" with "motohawk_block_error" in motohawk_print_string block artf9333 Create Module Descriptor for Eid Board (ECM-5644A-086-056) artf9342 MotoCoder: add new trigger type artf9388 Replacing "error" with "motohawk_block_error" in OBD Fault Blocks artf9396 Display error using 'motohawk_block_error' in MotoHawk Version Requirement block artf9427 Add runtime tunable selection to passivepull strength block MotoHawk Bug Fixes: artf5048 remove dead code "motocoder_check_xml" in motocoder_query.m artf5539 Switch component sfunction builds to use the GCC compiler artf8551 Build displays a warning during the TLC generation of the motohawk_sfun_spark_sequence block (regexprep) artf8644 Add LSO output open/short faults de-asserting artf8721 Add Component Support to OBD Fault Manager artf8800 Add mxFree to the Deprecated S-Functions artf8801 Add mxFree to the Diagnostics S-Functions artf8802 Add mxFree to the Encoder S-functions artf8803 Add mxFree to the Knock S-functions artf8804 Add MxFree to the Main S-functions artf8805 Add MxFree to the Module Configuration S-functions artf8877 MC33810 CS Clock calibration command implementation artf8899 Add decimation filter eDMA requests artf8902 ECM3: Rename module to ECM-0565-218-052-0600 artf8919 Fix eQADC external triggering setup for MPC5644-208 artf8944 Fix CAN callback and ordering with CAN.xsl and MSCAN artf8958 QADC64 - Correct scanrate syntax - mantain compatibility artf8964 Cross Check for width of ADC Angle Vector must happen in both Update and RTW modes artf8976 CAN.xsl code generation of CAN_Queued_Transmit() has race condition artf9004 PWM Synchronized Child block must consider the changes to the normal PWM block artf9022 ECM-0563-154-054-1100 - Support up to 5 pulses per cycle with MultiplePSP block artf9023 ECMOH DV: Correct INJ claim logic so that the high-side is only claimed when used artf9026 Correct [[EncoderName]]_Encoder_IsAngleBetween artf9034 ECMOH DV: Populate AN26 on V8 ECMOH Variant artf9036 Convert relative paths to full paths in MotoHawk.build artf9042 Fix CJ125 UEGO Diagnostic output port block assignments artf9046 ECM-0563-154-054-1100 - Detect DIAG low error prior to turn on artf9048 PagedCompression : Fix calculation for compressed bytes available before call to LzmaEncode artf9049 Update PagedCompression.exe with fixes from artf9048 artf9053 Change the OBD Fault Manager calibration format artf9057 Repair Data Read simulation capability artf9066 Correct CPUWake Deassert state artf9071 Fix Matrix Expression Compliance in Calibration block artf9076 Correct Classic 60M4 encoder TPU so that it detects zero speed artf9089 Prevent the calibration, data def, and custom field def blocks from using invalid data types when "Inherit from Default" is selected artf9096 MultiplePSP - fix searching for next pulse artf9106 Add new caches registers to MC33810 low power recovery artf9108 Flexible Encoder: Correct pointer access to the ToothPeriod artf9109 LECM-5566:Change incorrect pin claim for LSO artf9116 Modify GHS build scripts to decrease heap increment step artf9122 S12: Fix regression in CAN transmit logic artf9147 Add SubQueueName to DigitalInput_QADC Class artf9156 LECM Knock AUX: Correct EidSpeed1 DigitalInput GPIO Channel artf9182 Fix global reference setting in utilDeclareSingleton function artf9213 ECMOH: Forcibly write MC33810 OnOff Command Register artf9234 S12XE - Remove race condition when handling PORTJ interrupts artf9235 Gracefully handle a full CAN receive dispatcher queue artf9252 Install Encoder Mux on GCM-5644A-80-055-1201 artf9277 Update SingleChanFlexHold qADC queue to support callbacks artf9282 Allow real number to define in Flexible Encoder Pattern Definition artf9283 Add missing MAINFPGA_ANGLECLOCK_A_MUX_REG define to LECM-5566-210-041 Gateware artf9284 Fix EMIOS channels for LED discrite outputs in LECM5566-210-041 target. artf9286 Fix EEPROM size in GCM5644A-080-055 descriptor and change mux for SPD2 sensor type to SPD2Mux artf9301 LECM SLRU Main Module: Correct extra RootDepends and AIN37 artf9319 Amend Reaction Module MotoHawk Help to clarify the operation of the switching parameters artf9368 fix ECM-5644A-086-056-10200-xS.xml - Leftover from GCM artf9398 Repair the X/Y data type configuration in the OBD Fault Manager artf9400 Fix Block Mask icon text alignment. artf9401 Create a gcc static library for motohawk_obdfault_mex_util_lib.c and motohawk_mex_util_lib.c ******************************************************************************************************************************** 2011b_SP0 Type: External NOTE: Testing of new features for ECM-0563-154-054-1100 target reveals that when DualPulse injections used then pulses experience inaccurate SOI and extra pulse on INJ2 happens intermittwntly. There is an issue in diagnostic of injectors, no faults are indicated when they are expected. Following trackers are to be investigated more: artf7979, artf8335, artf8607, artf8863, artf9047 and new 2011b_SP1 will rectify any further issues. Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.13.4 (svn tag MotoCoder_0_13_4) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf7979 Support DCR PSP function on Delphi DCM 3.2 ECU artf8607 ECM-0563-154-054-1100 Update Ashware TPU PSP code to TPU Library artf8915 2011b SP0 - ECM-0563-154-054-1100 Update Ashware TPU PSP code to DCR_PSP_V4 MotoHawk Bug Fixes: artf8900 Flexible Encoder: Add HIRES on tooth event support artf8935 Enhance MC33810 MotoCoder device driver to be low power fault tolerant artf8973 2011b : Cross Check for width of ADC Angle Vector must happen in both Update and RTW modes artf8981 2011b: CAN.xsl code generation of CAN_Queued_Transmit() has race condition artf8987 2011b: PWM Synchronized Child block must consider the changes to the normal PWM block artf9016 2011b SP0 - Fix CAN callback and ordering with CAN.xsl and MSCAN artf9019 2011b: Allow DisableOnStop to be overridden by an extensions file artf9043 2011b: Fix CJ125 UEGO Diagnostic output port block assignments artf9047 2011b SP0 - ECM-0563-154-054-1100 - Update PSP TPU code to DCR_PSP_v4 plus DIAG fix artf9056 2011b : Repair Data Read simulation capability artf9077 2011b: Correct Classic 60M4 encoder TPU so that it detects zero speed artf9123 MotoHawk 2011b: S12: Fix regression in CAN transmit logic ******************************************************************************************************************************** 2011b_beta4 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.13.3 (svn tag MotoCoder_0_13_3) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf7602 Add MPC56x Flash programming to DeviceDrivers artf7845 Create component control core device drivers for TLE6220, TLE6236, TLE6240 arranged in daisy chain artf7980 Support P128L1001 Motocoder TPU Encoder artf8079 Support TLE7209 H-Bridge on ECM-0563-154-054-1100 hardware artf8295 Modify Building scripts to include FPGA code into applcation .srz artf8329 Update MPC5xxx DSP sources to support Knock sensor requirements artf8356 Support ECM-0563-154-054-1100 Input Capture artf8520 MotoCoder support for TLE6220, TLE6236, TLE6240 arranged in daisy chain artf8527 ECM-0563-154-054-1100 Motocoder support for PSP artf8595 Add xsl:choose to the CustomMemoryMap section of the module descriptors artf8645 ECM-0563-154-054-1100: Add TPU based PWM Output artf8647 ECM-0563-154-054-1100: Provide CurrentMeasurement behavior on IMVCURRFB artf8714 ECMOH DV: Remove RISE state from PHWOT reaction channel control artf8724 ECM-0563-154-054-1100 Add auto join of Crank channels for Encoder Mirror artf8730 MPC5xx ComponentControlCore: Enable internal watchdog artf8731 Change the debug VarDecs exposed with MotoCoderCodeGenOptions/GenerateDebugCANCode to track maximum depth artf8734 ECMOH: Add a Fast Continuous Scan eQADC queue artf8737 ECM-0563-154-054-1100: Change module release status to Released artf8748 ECMOH DV: Add PWM support to LSO7 and LSO12 artf8783 Expose Free eTPU PRAM Bytes artf8808 ECM-0563-154-054-1100: support input capture on MDA channels artf8809 ECM-0563-154-054-1100: Support OneShot or HiResOneShot Behavior artf8817 ECMOH DV: Add Knock channels as traditional time sampled ADCs artf8818 Modify GHS and GCC build scripts to decrease heap increment step artf8837 QSPI: Allow for a new enumeration which does not operate any chip select artf8844 GCC-Add linker garbage collect option for final application. artf8853 ECMOH DV: Have main core's S12 reset request driven to not request reset artf8857 ECMOH DV S12: Drive main reset request to non-reset state when unused artf8870 Flexible Encoder: Align CurrentToothInRev with ToothPeriod artf8957 2011b: ECM3 : Support User Tasking MotoHawk Bug Fixes: artf7188 Prevent the IDLE task from terminating when the application has no defined work for IDLE artf7189 Improve documentation for Control Core maximum achieved stack depth metric artf8526 ECM-0563-154-054-1100 Add TPUHost interface for InjDCRMux artf8608 TPUuCode - Add Conversion to and from Ticks artf8629 DaisyChain driver doesn't pass parameters to INSTANTIATE_CPU_SPI_DC_DEVICE_DEFN correctly artf8630 INSERT_QSPI_DT(in_uDivisor) not correct for MPC563 artf8639 ECM-0563-154-054-1100 Remove unused depends in module descriptor artf8641 ECM-0563-154-054-1100 Fix warnings and object linking problem in gcc build artf8643 ECM-0563-154-054-1100 Support EncoderMirror and Injectors 4,5,6 artf8650 Add mxFree to the IO S-Functions artf8656 Rename existing EncoderMirror to EncoderClone artf8659 S-Functions that use "utilGetMxClassIDFromDTypeId" need to return better errors when non standard data types are used artf8667 Add support for SPI_TX_ONLY in MPC5xx SPI device driver artf8668 Fix MailBox_PostTo function from TaskKernel_MailBox.c artf8670 Flexible Encoder: Zero pseudo encoder PWM duty on zero speed request artf8694 Changes for lwIp Ethernet stack which increase bandwidth artf8710 Remove static allocation of error string from motohawk_sfun_find_first artf8711 Remove static allocation of DYNAMIC_OPTIONS from motohawk_sfun_delta_time artf8716 MPC5xx MotoCoder: Correct ModuleSupport_SPI_Close for multiple SPI busses artf8719 MPC5xx ComponentControlCore: Add timeout to TOUCAN_Module_Close artf8720 MotoCoder KeySuite: Ensure PV0 boot object has a reasonable bit rate artf8727 Correct warnings in MotoCoder_Service_OBDFaultManager.xsl artf8729 Support partnumber for V2 Module Config artf8735 ECM-0563-154-054-1100 Fix diagnostics artf8736 ECM-0563-154-054-1100 Fix calibration injection params artf8752 Flexible Encoder: Zero TeethSinceLasyKey counter on Loss artf8777 ECMOH DV: Add support for Legacy Encoder to MotoHawk scripts artf8781 Flexible Encoder: Alter encoder pattern selection to only select files with an XML extension artf8782 Flexible Encoder: Allow AverageRPM to work with a single sample point artf8786 ECM-0563-154-054-1100: move classes to ComponentControlCore_Objects.xml artf8787 Update TemplateHarnessTester test and improve MPC5xx module descriptors artf8793 Supress warning for default interface polarity when no driving resource is present artf8793 Supress warning for default interface polarity when no driving resource is present artf8797 Classic Sequence: Initialize peak on creation artf8798 Add mxFree to the CAN S-Functions artf8799 Add mxFree to the Component S-Functions artf8806 Add MxFree to the VDO Gauge S-functions artf8810 Flexible Encoder: Apply Halfcycle state on each tooth using a window artf8820 Flexible Encoder: Only allow entry into Full Sync on halfcycle valid and not in fault artf8826 ComponentControlCore_CAN.xsl: honor the application's requested size in buffered messages, rather than physical size artf8841 Correct MultiplePSP TLC to remove warning artf8843 ECMOH DV: Invert on MC33810_1_nomi artf8863 EncoderMirror - Ensure OnTooth function is called when no Angle triggers are populated artf8869 EncoderMirror - Always service TPU on every tooth artf8873 TPU InPulseII PSP : Convert degBTDC from the GenAPI to degATDC for pulse generation artf8874 Make eTPUC Frequency Input primitive meet REQ artf8871 artf8891 Component Control Core for MPC55xx: complete the dynamic SPI scratch pad support artf8901 2011b: ECM3: Rename module to ECM-0565-218-052-0600 ******************************************************************************************************************************** 2011b_beta3 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.13.2(svn tag MotoCoder_0_13_2) Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6201 Add a feature to the MotoCoder dependency tree generation to conditionally enforce a dependency artf6543 Support Slave SPI Device on S12 that understands intra processor comms artf7478 Add support for multiple faults to the OBD Fault Status block artf8061 Add ECM-0563-154-054-1100 module descriptor artf8123 Deprecate GCC 4.4 support as GCC 4.6 shall supersede this version artf8124 Allocate Hardware Minor for PCM0904 Knock Development module artf8225 MPC5xx ModuleSupport: Allow Write-enable/byte-select to be configured from module descriptor artf8324 Add MotoHawk block to report time to achieve Nominal Ignition Coil Current for the MC33810 artf8355 Support ECM-0563-154-054-1100 Motocoder TPU Encoder artf8357 ECMOH: Add DV Module Images to MotoHawk artf8385 LECM: add a new parameter to IntercontrollerSPI object artf8386 Support P128L1001 Input Capture artf8454 DSP: add support for GCC 4.6.0 and GH 4.2.4 artf8456 The output probe for the MotoHawk interpolation tables should inherit the min/max settings from the block mask artf8457 Allow additional On Tooth Encoder callbacks artf8477 Add MATLAB 2011b Toolchain content artf8482 ECM-0563-154-054-1100 - Add 60-2 Motohawk Defn artf8517 Optimize S12 Performance Timers artf8528 Expose content of INIT1 and INIT2 UEGO registers by reading the device during debug artf8544 ECMOH: Add User Task Bolt-On block Enablers artf8545 Add hook within motohawk_events for custom tasks and triggers artf8570 MPC563 CCC: Enable enhanced and manual SPI chip selects artf8582 Allow xsl statements anywhere in the module descriptor artf8594 ECMOH DV: Configure modules to run at 120MHz artf8640 ECMOH: Expose S12G Quizzer core to MotoHawk release artf8571 Improve execution and memory performance of the calibration, probe, target definition, trigger, and analog input blocks MotoHawk Bug Fixes: artf2716 motohawk_sfun_delta_time.tlc should optimize out stack usage when the sample time is > 0 artf4414 GCC Compiler warnings produced when compiling CCP protocol artf5489 Port deprecation of code_resource, val_resource, and resource_enum_str block parameters to motohawk_pwm artf7442 ECM-OH Quizzer: CVT_PWM resource should use 16-bit counter for PWM artf8125 Allow all 0904 module builds to run on 0904 Knock Development module artf8191 TPUGeneric - Add encoder support artf8341 FPGA Reset Pulse width shall be extended artf8348 OBD Fault Manager customfield defaults script outputs a warning artf8354 MPC5xx CCC: Support TOUCAN_C Routing artf8360 Correct ECMOH S12 MPRD Disable assertion state artf8382 ECMOH DV: Swap functions of GPIO212 and GPIO211 artf8384 ECMOH DV: Configure ADC1 to run external multiplexing artf8453 Amend PHWOT help to clearly define what peak time is artf8458 Prevent unused variable with motohawk_sfun_prelookup block artf8462 ECMOH DV: Correct LSO5 and LSO6 ModuleDescriptor info artf8467 S12 : Correct use of in encoder processing artf8484 Change MPC5644A pad RCH_0_A definition to Alternate 3 artf8485 ECMOH DV: Alter PHWOT behavior to handle fewer modulation words in MPC5644A than expected artf8490 ECMOH: Define NCV751x CacheDelay as 500us artf8491 Correct NCV751x cache operation artf8492 InterCPU build script - change GCC optimization artf8496 Fix Processor 5xxx archive to function correctly with GCC -O0 artf8502 Remove Short Path from MotoHawk artf8503 S12: Error on message L1823: External object in created by default artf8511 Update XGATE_Utilties PSP end of pulse callback logic to match MC33810 artf8525 ECM-0563-154-054-1100 Add Ashware TPU PSP code to TPU Library artf8529 ECMOH: Correct H2 polarity artf8533 Remove 4th output argument in fileparts call artf8538 Update Fixed Point Probe to be consistent with motohawk_sfun_probe artf8540 The Fixed Point conversion blocks should use 'OutputDataTypeStr' instead of 'DataType' artf8548 Add Stop Function for Dual PSP, Discrete Output, Hi Res One Shot and Oneshot on Classic Modules artf8559 Update eMIOS configuration for 147MHz clock artf8567 Adjust the Periodic rate of the FaultManagerPeriodicTick function artf8572 S12G: ensure RTI clock uses external oscillator artf8583 Call mc:io-typed-object() on the objects in the module descriptor with instantiate=true artf8587 Correctly free resources in motohawk_sfun_wide_o2.c artf8631 ECMOH DV: Disable REACT_CHAN_FLT_STATUS_SHORT_CCT_WINDOW artf8633 ECMOH DV: Correct DG6 S12G micro resource and disable pull-device artf8653 ECMOH: Disable UEGO PWM resources on Stop artf8682 Flexible Encoder: Collate OnAngle events correctly artf8613 Add mxFree to OBD Fault Manager S-Functions artf8618 Add mxFree to Fault Manager S-Functions artf8627 Add mxFree to Table Lookup S-Functions artf8648 CCP Slave : Stack variables out of order causes compilation error artf8649 Add mxFree to Data Storage S-Functions artf8662 Change Digital Output, Discrete Peak Hold and Timed Peak Hold to use Outputs TLC function instead of Update ******************************************************************************************************************************** 2011b_beta2 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.13.1(tag MotoCoder_0_13_1) Migration Notes: -This version is introducing new target ECM-565-222-052-0600 for hardware already used in old applications but had been made beyond MotoHawk. Features of that hardware have been associated with Motohawk's blocks but be noted that there are some differences in use and some functions have not been implemented, ie. Angle-based triggers don't fire subsystems related to them, injection operations are performed by composite blocks 'MotoHawk Multiple PSP'(1 Pulse) and 'MotoHawk Bolt-on ECM3 Segmented PWM Drive' instead of 'MotoHawk Injector Sequence'. MotoHawk New Features: artf7219 Add CJ125 Wideband O2 driver to LECM-5566-180-041 artf7617 ECM OH: Add Low Power operation to S12 artf7622 Add support for S12X security builds in MotoHawk artf7638 ECM OH: Add DV Hardware Module Descriptor to MotoCoder artf7639 Add Peak/Hold with Off Time Reaction Module Support to MPC56xx artf7665 Support Serial EEPROM calibration for ECM-0565-222-052-0600 artf7666 Add SPI GenAPI support to the MPC5xx Component Processor Archive artf7706 MPC56xx: Add eQADC PSI and Enhanced Triggering Support artf7850 Add TPIC46Lxx Device Driver artf7853 Add GPIO support for SPGIO/MDA/MPWM pins, and PWM support for MPWM pins in MPC5xx component archive artf7858 Add PowerSupply and Watchdog capability to MPC5xx ModuleSupport artf7859 Remove 7.5.0 RTW toolchain sources artf7909 Add S12X RTW archives to MotoHawk artf7916 Create major and minor version for Kongsberg DCSM modules artf7935 Add VR/DG + Polarity Interface controls to ECM-0565-222-052-0600 artf7936 Add attribute to standard outputs artf7937 Support P128L1001 Motocoder ADCs artf7962 EVB-5644A-208-051: increase clock to 147MHz and change EEPROM size artf7973 Add TPU based GPIO support to ECM-0565-222-052 artf7974 Add DigitalInpuit behavior to AnX in ECM-0565-222-052-0600 artf7981 Add Peak/Hold with Off Time Reaction Module Support to MotoHawk artf7984 Add Frequency Input behavior to ECM-0565-222-052-0600 artf7990 Update MotoCoder make_release.js to properly release 5xx TPU archives artf7992 TPU Archive - Provide interface to TPU Encoder primitive artf7993 MPC5xx Processor - Create Encoder_GenAPI interface to suit TPUGeneric archive artf7997 MPC5xx Processor : Implement FPAssist ISR handler artf7998 Update CCM Module Descriptor artf8004 Add IOEnable Behavior to MotoCoder artf8005 Make MC3388x Disable pin optional artf8085 Create ECM OH Module Support archives for the various variants of DV artf8086 ECM3 : Add support for InPulseII Encoder and PSP artf8087 ECM3 : InPulseII Encoder - Add 36-1 Crank+Cam GenAPI stubs artf8089 Add LSO FPGA driver to LECM-5566. artf8103 Add Wire-OR Nomi support to the MC33810 driver artf8114 Create major and minor version for Delphi DCM modules artf8117 Support SPI DiscreteOutput Control of the MC33810 LowSide drivers artf8120 Add MPC563 builds to release artf8126 ComponentControlCore MPC5xx: Support Wire or'ed CAN artf8147 Add Discrete Input Drain Monitor Fault Status Behavior to MotoHawk artf8159 Change CustomMemoryMap ModuleMemoryRegion name from "FLASH" to "FLASH_APPLICATION" for consistency artf8160 ECM3: Add InPulseII PSP Behavior artf8162 ECM3 : Add TPU ISR dispatch support artf8163 ECM3 : Add frequency input count and trigger support artf8170 P128L1001 Motocoder - Add TPU Frequency in with interrupt support artf8176 Add saturated driver via Reaction Module Support to MotoHawk artf8192 Add NumCylinders as a create attribute to EncoderGenAPI artf8193 MPC56xx: update flash driver to rev 047 artf8199 Add InPulseII periodic callback capability artf8204 Add PJ3 to S12G and S12XE artf8232 Add Minimum and Maximum parameter to Probe block artf8243 CCC - Zero TPU parameter ram on Init artf8247 ECM OH: Add pull up/down device support to S12 artf8249 ECM3 : Add misfire resources and stubs in TPU InPulseII artf8251 ECM3 : Add FaultStatus support for PSP resources artf8257 ECM3 : Add CurrentMeasurement support for PSP resources artf8259 ECM3 : Add a DiscreteOut used as a Injection Group fault reset artf8260 XCP: Support address 0 in XcpApp_ConvertAddress artf8290 ECM3 : Elevate release status to Release + StandardModules artf8291 Add SPI Flush method to SPI Device Driver and enhanced for S12G/S12X artf8293 ECM3 : Add CVN/AppCRC/CalCRC Capability artf8296 Optimize S12 Set Event and Wait On Sync Object handling artf8311 Add Native Byte type to GlobalDefinition\ProcessorDefinitions MotoHawk Bug Fixes: artf8468 2011b Beta2 : S12 : Correct use of in encoder processing artf7637 Triggers should use SS_NOT_REUSABLE_AND_GLOBAL and not SS_REUSABLE_AND_LOCAL artf7851 Fix Processor 5xx Time functions artf7857 Fix warnings when building mex files with GCC under MATLAB 7.9 artf7861 Fix engineering clock for MPC56xx artf7862 XCP Slave protocol archive should use NativeVar_U rather than uint artf7901 Fix MPC5xx ModuleSupport QSPI.xsl template to match on module support only artf7911 Fix support for serial EEPROM on EVB-5644A-208-051 artf7963 MPC56xx: disable loss-of-clock and loss-of-lock before rewriting PLL artf7985 Fix prescaler in PWM_MPWM driver in 5xx Processor artf7995 MPC56xx: Fix the default value of BIUCR register artf7996 MPC5xx SPI : Limit SPI_SendMessage to available queue length artf8046 TPUGeneric - Create build system artf8049 ECM OH: Correct UEGO Channel assignments on PreDV module artf8060 Fix warnings thrown by GCC 4.6 in XCP libraries artf8062 Fix warnings thrown by GCC 4.6 in lwIP libraries artf8071 Correct MPC5644A P324 AA16 Pad Definition artf8077 QADC: fix the slow flexible hold queue definition artf8088 Remove warnings for BTEA archive artf8100 Add Proper Check for Fault Existence in Custom Field Default block artf8104 TPU - Remove duplicate enumeration artf8106 Alter sign of duration in eTPU Set OneShot Duration method artf8127 Make MotoCoder and ComponentControlCore MPC5xx CAN buffer configurations compatible artf8128 ComponentControlCore MPC5xx: Correct ExternalISRHandlers location for TPU_ISR artf8177 Fix PageCompression - decompress different size page issue artf8185 Update TPUxxx.build to use motocoder::get-directory() artf8194 Missing Pin Definitions GPIO74, GPIO81, GPIO82 artf8196 Module Support - add Addr line 12, make address line 31 as an output. artf8206 Don't warn on RTI priority for S12G and S12 artf8207 MPC5xx CCC: Ensure CAN ID contains only numeric ID data artf8210 MPC5xx CCC: Adjust Standard mask to physical bit location artf8211 Alter S12 FLASH methods that use AddrWrite to accept a constant pointer artf8223 MPC5xx TPU: Remove error when CPU is not MPC565 artf8224 Fix TPU operating environment for InPulseII artf8228 Update KeySuite packet timeout handling artf8237 MotoHawk Version Requirements block does not properly display an error status on its mask artf8242 ECM3 : Invert polarity for DiscIn2 to DiscIn16 artf8258 ECM3 InPulseII Microcode : Fix PWM initial pin state artf8266 MPC5xx Processor : Enable nested FPU support artf8278 MPC5xx QADC/TPU : Fix warnings when building with GCC artf8287 Expose Application Monitor execution control on the Trigger Function Block artf8289 ECM3: Ensure CNK/Speed2/CAM signal polarity is always instantiated artf8292 Enhance/Correct InterCPU SPI Protocol and driver for S12 Functionality artf8312 CustomMemoryMap : Allow control over CC_Stack_bss section name artf8330 KeySuite: Default to Key timeout for unsupported protocol artf8331 Remove special characters that do not satisfy US-ASCII encoding from motohawk_obdfault_lib.mdl artf8338 LwIP header paths have to be added to LECM-5533-180 module descitpor ******************************************************************************************************************************** 2011b_beta1 Type: Custorer Specific Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.13.0 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6561 Add PCM128L702 to MH Module Help artf7281 MPC5644A: Support in Flash Driver artf7350 Add LECM analog gain and offset resources artf7368 ControlCoreClassic - Add new PCM128 models to help artf7392 Add EVB-5644A-324-050-1100 Module Descriptor artf7393 Create EVB-5644A-324-050-1100 Module Support component artf7394 Create major and minor versions for the PEMicro EVB artf7395 Create major and minor versions for the Woodward 901-1433 5644 EVB artf7396 Create EVB-5644A-208-051-1100 Module Support component artf7397 Add EVB-5644A-208-051-1100 Module Descriptor artf7399 Add MPC5644A 208BGA pin map to Processor_Pin_5644A.h artf7408 Add MATLAB R2009bsp1 support artf7414 Add support for QADC software triggered queues artf7420 Install MPC5644A vector support artf7423 Add MPC5644A/MPC5642A RTW archives to MotoHawk artf7449 Add MotoCoder support for the MPC56xx family artf7501 Add Installers for powerpc-eabi/spe for GCC 4.6 artf7503 Add GCC 4.6.0 toolchain support into security CPU descriptors artf7504 Fix warnings thrown by GCC 4.6 in all 5xx and 5xxx archives artf7507 Add GCC 4.6.0 builds for 5xx(x) into Boot and DefaultSecurity Archives artf7510 S12XE - Add DualPSP support artf7513 Remove unsupported RTW archives from MotoHawk/Toolchains artf7514 Rebuild RTW archives to include GCC 4.6.0 in 5xx(x) targets artf7563 Add GCC 4.6.0 support to 5xxx MotoCoder Module Descriptors artf7568 Port ETAS XCP ECU software to shared protocols artf7582 MPC56xx Processor : Enable reset on loss of clock and loss of lock artf7616 Add MPC565 and MPC5644A build targets to build.bat artf7632 ECMOH: Add DV Hardware ModuleSupport to MotoHawk artf7650 Flexible Encoder: Error on malformed Pattern artf7655 Remove "no slash" compiler option from GHS builds artf7664 Add suport for IEEE Ethernet statistics artf7667 SPI_GenAPI : Retask unused macro argument in_uSPIDeviceDataBufferSize to in_pCustomUserObject artf7702 MPC56xx: Add PIT Support artf7709 Update lwIP Ethernet stack to newest version. artf7722 Update MotoHawk.build script to use MATLAB 7.9 as the minimum Library Version artf7723 Update motohawk_mex.build script to use MATLAB 7.9 as the minimum Library Version artf7724 Add new libreries to use MATLAB 7.9 as the minimum Library Version artf7726 Update Motohawk_lib.mdl to use MATLAB 7.9 as the minimum Library Version artf7744 Add all standard CAN baud rates in MPC5xx MotoCoder targets MotoHawk Bug Fixes: artf7330 ECM OH/LECM: Move Pseudo Encoder to eTPU A0 and apply Freescale SR# 1-736437941 outcome artf7336 Install MotoHawk 2011b licensing artf7348 ECMOH: Configure VR zero crossing as rising edge artf7357 2011b : MATLAB 2011a : Change ::DataTypes to DataTypes in motohawk_sfun_obdfault_mgr.tlc artf7364 Motohawk_lib.mdl fix warning by running prepare_release artf7365 S12XE - For late OC matches, force appropriate timer interrupt artf7371 Add MainFPGA Gateware interface for LECM-5553-180-042 artf7386 Fix Serial.xsl to use constant data for Transmit functions artf7387 Fix FPGA_Bus.xsl to order INSTANTIATE_SPI_SCRATCH_PAD after all variable declarations artf7403 FlexCAN_D MPC5566: correct the PAD conifg and interrupt vector table artf7418 S12: Make SYNR, REFDV, and MODE register definitions consistent artf7425 Add MPC5644A Cache Invalidate and Enable methods to processor archive artf7444 Fix mc:interpret-binary-prefix's handling of 'M' parameters and enhance artf7456 Add EfiFPGA Gateware support for module LECM-5566-180-041 artf7457 DocumentationBuilder - Remove check for duplicate part numbers artf7459 Classic - Revert PCM128 CS timings to pre artf4116 artf7464 Rename TpuSpdChx to SPDx resources in LECM-5566-180-041 artf7475 Rename LECM 5566 Analog Input resources artf7476 Data definition by reference port does not produce the right code for matrices and ClassicControlCore modules artf7481 Classic - Amend GCC linker file generator to expose __ghsbegin_tpubpararam artf7492 Correct MPC56xx L1 Cache setup artf7505 Change QADC multiplexer addressing in LECM module descriptor artf7506 MPC56xx: eMIOS only supports a subset of the Modes artf7512 Add ModuleSupport_Watchdog_Refresh stub in LECM-5553-180-042 and LECM-5566-180-041 Module Support Bootstrap builds artf7518 ControlCoreClassic: Cast ee_size to Number in LinkerDefinition.xml generation artf7532 NCV751x - Buffer faults and only clear when read artf7552 Correct MPC56xx PLL setup artf7562 MPC56xx: eMIOS PWM setup fixes artf7601 Upgrade Component 5xx MotoCoder targets and add ECM3 Module Descriptor artf7604 Flexible Encoder: legality check to allow zero artf7649 Flexible Encoder: Error instead of warn on bad artf7682 Correct compile error in MotoHawk Injector Sequence when vector peak durtion used artf7686 Change the method for retaining selections in dynamic dropdowns artf7694 Number of Lwip buffers has to be changed for MPC55553 artf7707 Change memory settings for LwIP Ethernet stack and LECM module descriptors. artf7739 Use PWM_LF with CJ125 UEGO Heater PWM artf7749 Update PagedCompressor to version 1.0.0.2 artf7822 Support P128L1001 as Motocoder Target artf7824 Flexible Encoder: Allow sensing offset changes to be detected by the application artf7840 Fix Processor 5xx archive to function correctly with GCC -O0 ******************************************************************************************************************************** 2011a_SP0 Type: External Dependencies: -MotoTune version 8.13.7.145 or greater -MotoServer Runtime version 8.13.7.145 or greater -MotoCoder 0.12.4 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf7409 : 2011a: Add MATLAB R2009bsp1 support MotoHawk Bug Fixes: artf7349 : 2011a, ECMOH: Configure VR zero crossing as rising edge artf7366 : 2011a SP0 - S12XE - For late OC matches, force appropriate timer interrupt artf7460 : 2011a SP0 - Classic - Revert PCM128 CS timings to pre artf4116 artf7485 : 2011a SP0 - Classic - Amend GCC linker file generator to expose __ghsbegin_tpubpararam artf7486 : 2011a: Data definition by reference port does not produce the right code for matrices and ClassicControlCore modules 2011a_beta4 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.144 or greater -MotoServer Runtime version 8.13.7.144 or greater -MotoCoder 0.12.3 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6693 : MATLAB 2011a : Create MCC files and enable ML 2011a in MotoHawk artf7048 : Add InterCPU support to LECM-5566 and LECM-5553 module descriptors artf7136 : Add MPC5644A core to Component Control Core artf7144 : Define MPC5644A registers artf7199 : Add Flexible Encoder to LECM-5566-180-041-1100-xS artf7217 : Add EfiFPGA and MainFPGA objects to LECM 5566/5553 module descriptor artf7223 : Add 36 Minus 2 encoder Pattern to MotoCoder artf7238 : ECM OH: Add Thermistor Analog to Main Core artf7280 : Add Security archives for MPC5644A to MotoHawk artf7282 : eTPU: Add 14k variants of Universal and Basic Masks artf7283 : Move ethernet include paths from LECM-5553/6 descriptor to the FEC xls file artf7287 : Add support for MPC5644A security builds in MotoHawk artf7297 : Update NANT binaries to 0.86.12 and Add PagedCompressor.exe artf7309 : ECMOH: Add support for legacy encoder block artf7318 : Notify an S12 user that FreqIn notification does not work artf7319 : Prevent VR warning on S12X FreqIn VR Input artf7320 : Add Nomi based diagnostic support to the OneShot behavior artf7321 : Decouple Open Load Detection via Nomi artf7328 : Move ECM-S12X-070 FrequencyInput DGIn channels on PortJ to XGATE core artf7329 : ECM-S12X-070: MotoCoder_Services_CRC.c does not calculate CRC correctly over all paged memory areas MotoHawk Bug Fixes: artf5870 : Add GCC support for external RAM linkage of some variables in ADCAngleVector artf7210 : Remove "motohawk_why.m" and "thaxton.m" artf7211 : ECM OH: Correct encoder multiplexer setup artf7215 : ECM OH: Move Pseudo Encoder to eTPU A1 artf7218 : Add watchdog enable functionality in LECM Watchdog_Reset function. artf7222 : ECM OH: Add VCAL Analog Resource to Main Core artf7235 : S12XE - Prevent setting of PSP_CPU_CAM_OCCURRED once transition to Sequential has occured artf7242 : MC33810 - Remove processor family test for MC33810_OnNomiEvent artf7246 : MotoHawk Encoder Angle Extrapolation - Correct error artf7247 : Update motohawk_fault_lib.tlc to consider no fault definitions and at least one fault action artf7256 : 2011a : Add initialization for Block Pointer to OBD Fault Manager Definition block artf7310 : S12 - Remove MotoCoder_Services_CRC.c: WARNING C1860: Pointer conversion: possible loss of data artf7311 : S12 - Ensure IsCalMemDifferent reads flash correctly. artf7314 : Use PWork instead of DWork for pointer values in previous fault blocks artf7317 : Classic - HBridge on ECM48_0701 rectify enable and disable functions 2011a_beta3 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.144 or greater -MotoServer Runtime version 8.13.7.144 or greater -MotoCoder 0.12.2 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6963 : Allow a "Reset" option during jump to programming in KeySuite/ToolInterface artf7010 : Update LECM-5553 module support for SPI slave instances artf7047 : Add PGA280 support to LECM-5566 module descriptor artf7094 : Move MPC5xxx Interrupt Vector Table to ModuleSupport artf7098 : Add FPGA watchdog and power supply driver for LECM modules artf7112 : Add support for MPC55xx Multiplexed QADC inputs artf7125 : Add Major Versions to account for ECM OH MPC564x core variants artf7128 : Move eQADC MUX pins initialization to Module support artf7150 : Optimize the InterProcessor SPI communication artf7152 : 2011a: Add MATLAB 2010bSP1 support artf7165 : Define MPC56xx family processor defn artf7175 : Move Signal Interface Config from Flexible Encoder Bolt-On to MotoHawk artf7181 : Add PCA8565 RTC driver for LECM artf7203 : ECM OH: Set NCV751x short circuit thresholds to 50% MotoHawk Bug Fixes: artf6638 : Create an eTPU function for IIC two wire bus artf6960 : Add lwIP/API to the release distribution in MotoCoder make_release.js artf6980 : Add Single Master IIC to GenAPI and support on LECM artf7052 : Increase the Scratch pad size for PGA280 Read command artf7073 : Correct utilDeleteIODefinition warning when mexing artf7087 : MCServiceBankedESTLastEncoderStateArr length needs to be the size of EST outputs not INJ outputs artf7092 : Clarify Min Duration operation on all PSP blocks artf7146 : eQADCQueue class: remove CPUName from dependency to the eQADCmodule artf7159 : ECM OH: Correct SPKDUR 2 eTPU channel in PreDV artf7166 : Don't abort MC33810 device setup on error artf7174 : Flexible Encoder: Correct Long/Short Pulse Interface artf7200 : Flexible Encoder: Correct GCC Warnings artf7205 : Clear Overflow byte on PW capture in eTPU Input Capture 2011a_beta2 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.141 or greater -MotoServer Runtime version 8.13.7.141 or greater -MotoCoder 0.12.1 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6077 : Add MotoHawk OBD Fault Manager to the MotoHawk Installation artf6429 : Add interprocessor SPI Master support to SharedComponents artf6430 : Add interprocessor SPI Slave support to SharedComponents artf6541 : Add Module Descriptor for the S12 quizzer target in ECM OH module artf6562 : Add ECM OH Switched Mode Driver Diagnostics artf6596 : Add eTPU Input Capture Support artf6708 : Add elements to ECM5554-112-090x ORDC resource artf6825 : Add Online Calibration capability to ECM-5566-112-043 family artf6837 : Add support for SPI Slave in ControlCore MPC55xx artf6843 : Add InputCapture PulseWidth recover method to MotoCoder artf6878 : LECM MemoryMap - move heap to external RAM artf6899 : Add possibility to create Worker tasks in board descriptors artf6916 : Modify LECM module descriptors to include MPC55xxObjects artf6924 : Add KeySwitch/KeepAlive resources to LECM-5566-180-041-11xx_Objects.xml artf6926 : Add comments to generated code in KeySuite_Manager_OnModuleSupportClose artf6947 : Add UEGO CJ125 Support to ComponentControlCore artf6948 : Add CJ125 SPI Device Support to Component ControlCore artf6992 : Install 6MHz eMIOS frequency for those MPC5xxx cores running at 126MHz artf6995 : Flexible Encoder: Detect half cycle error artf6997 : LECM-SNTP protocol separate template artf7001 : Add MC33810 Maxi and Spark Duration signals as Input Capture roots to ECM-55xx-112-04x Hardware artf7008 : Add support for S12G processor based archives in SharedComponents artf7009 : MotoCoder: Add support for S12G builds artf7025 : Add module support archive for GCM-5566-068-047 artf7045 : Release the ECM-55xx-112-04x Hardware to MotoHawk artf7126 : Add ECM OH OneShot support to INJ and SPK/EST Outputs MotoHawk Bug Fixes: artf6566 : Increase stack reserve in MotoCoderTransform.exe due to increased stack demand on Win64 platform artf6664 : ECSM - Alter to support chip errata 1793 artf6691 : MATLAB 2011a : Change ::DataTypes to DataTypes in RTW TLC artf6849 : Change ControlCoreClassic and TPU Classic to use SaxonicaTransform.exe artf6861 : ECSM - Implement errata #1651 for MPC5554 artf6880 : MPC55xx: Execute Timer_Watchdog_Refresh callback during flash erase and program artf6904 : Fix address calculation and comparison in ModuleSupport artf6908 : Remove duplicate root for LoadShareOut in LECM-5566-180-041-1100-xS artf6909 : Remove trailing ")" in ECM 1200 linker file artf6944 : LECM-5566-180-041-1100-xS Module Support : Ensure ModuleSupport_PowerSupply_Create is called during application startup artf6967 : Flexible Encoder: Correct Phase End of Window calibration definition artf6969 : S12 Processor Archive: Add S12G support artf6982 : Flexible Encoder: Remove reliance of channel switch to detect phase artf6984 : Flexible Encoder: Source to flag fault on detection of an absent key artf6988 : Flexible Encoder: Ensure that a Loss Companion creates artf6994 : SIU - Add SIU_PadFunction_ApplyAsBidirectionalOpenDrain() artf6999 : Change the ISR merge of eTPU channels from "add" to "unique" artf7004 : Escape quotes in LongIdentifier field of ASAP2 file artf7022 : S12: Correct Port-T Frequency Input, Inputcapture mask logic artf7027 : Add module descriptor and image for GCM-5566-068-047 artf7033 : Code generation of S_FlexCAN2RuntimeConfig array incorrect if not all modules supported artf7074 : 2011a: Use mxDestroyArray() instead of mxFree when destorying mxArray artf7115 : 2011a : OBD Fault Manager : Fault Actions need to update properly 2011a_beta1 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.141 or greater -MotoServer Runtime version 8.13.7.141 or greater -MotoCoder 0.12.0 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6040 : Create eTPU Mask based upon Universal Encoder artf6041 : Create Universal Encoder eTPU Primitive artf6139 : Add (ThreadSafe)calloc to the FreeStore API artf6192 : Create ModuleConfig Version 5 struct which adds Ethernet artf6195 : Update MotoCoder tool interface to understand V5 module definition structure artf6250 : Integrate NAnt version 0.86.10 into MotoCoder artf6254 : Add MotoCoder support for the Universal Encoder artf6278 : Modify MPC55xx crank synchronous behaviors to be Universal Encoder compatible artf6279 : Add Freescale libdsp2 resource to board descriptors artf6280 : MPC55xx - Add symbols in liker file to expose application and calibration regions artf6284 : Install MotoHawk 2011a licensing artf6291 : Add MailBox_Destroy() API to MPC55xx Processor artf6294 : Modify motohawk_sfun_sec_encoder_offset.tlc to be MotoCoder compatible artf6297 : Add Security archive generation for MPC5553 CPU artf6300 : Add MPC5553 RTW archives to MotoHawk artf6368 : Alter MotoHawk blocks so that they may be used with the Universal Encoder artf6378 : ControlCoreClassic - Add MY10 P128L704 support artf6380 : Expose 14 Volt ADC to MotoHawk artf6387 : Add method to deduce the TCRCLK pin associated with an eTPU Channel artf6401 : MPC55xx - ControlCore add ECC error reporting support artf6408 : Add Axiom-0365-Rev-E (MPC5553) Module support archive artf6409 : Add MPC5xxx FEC ethernet link driver for lwIP artf6410 : Add MotoCoder Code Template for lwIP and MPC5xxx ethernet MAC artf6414 : MemoryFault - Add Motocoder support artf6428 : Add Axiom 0365 Rev E (MPC5553EVB) MotoCoder Module artf6432 : Add CRC16 to Utilities artf6433 : Add Major Versions to account for ECM OH Hardware artf6435 : Add ECM OH Module Support Archives to Component ControlCore artf6439 : Add support for NCV7517 to Generic Device Driver artf6440 : Expose MC33810 to MPC55xx Targets artf6526 : Install a software triggered single conversion of an eQADC channel artf6538 : Add ECM-55xx-112-04x-1200-xS Module Descriptors artf6539 : Add major versions to account for ECM OH Monitor CPU artf6563 : 2011a: Add support for MATLAB 2010b artf6607 : Add LZMA compression library artf6610 : Remove lwIP EERNO redefinitions artf6635 : Add LECM-5566-180-041 "Pizza box" ModuleSupport artf6636 : Add support for PGA280 (SPI Programmable Gain Control) in Generic Device Driver artf6645 : Add support for the TLE6282 for an MPC5xxx core artf6692 : MATLAB 2011a : Add new toolboxes to the motohawk_check_rtw function artf6695 : Relax tolerance on location of shifted tooth in TPU X Shift 1 primitive artf6696 : Add device driver for MC25LC512 Serial EEPROM artf6702 : Remove MOTOTRON_APPLICATION_BLOCK_BYTESIZE from Global Definitions artf6724 : Install Frequency Input Behavior Support on ECM-55xx-112-04x Cam artf6731 : ECM-55xx-112-04x: Disable Micro's Pull Devices on input pads with external pull devices and enable hysteresis artf6732 : ECM-55xx-112-04x: Add H-Bridge Support artf6744 : Add Module support for LECM knock processor LECM-5553-180-042 artf6747 : Add MemoryWalk roots to MotoCoder artf6748 : MotoCoder bolt-on transforms artf6761 : Add support for S12G security builds in MotoHawk artf6763 : Add updated security archives to MotoHawk for S12G artf6781 : Add S12G RTW archives to MotoHawk artf6786 : ECM-55xx-112-04x: Add eTPU Module Configuration artf6824 : Add LECM SDU Module Descriptors artf6830 : ECM-55xx-112-04x: Install serial EEPROM in Module Descriptor artf6832 : Add Output Enable control to MemoryMappedGPIO MotoHawk Bug Fixes: artf4437 : Several Vista Blocks do not link to their Help HTML files properly artf6281 : PCM09 - ModuleDescriptor define CRC resource artf6287 : Add filtered VR option to CCM1001 artf6292 : Fix external address bus pad selection for Axiom 0404 Module Support artf6299 : Add Interlocked_Get(dest,src) to Interrupt_GenAPI.h artf6305 : MotoCoder - Add CRCCalc support and optimise existing CRC service artf6308 : motohawk_clean_repository_files must remove _svn directory and .patch files artf6309 : Make PCM09 Crank Multiplexer Select Digital Outputs dependant upon the VISTA artf6323 : motohawk_component_lib.tlc should use sSetOutputPortOptimOpts, not ssSetOutputPortReusable artf6383 : Correct eTPU_ParameterFrame_Ofs_Get() artf6393 : Account for MPC5566's larger eTPU parameter RAM artf6413 : Add implementation for Task_Activate Task Kernel Gen API artf6419 : MemoryFault - Problems with GCC Compiler artf6426 : Correct IODefinition string handling in motohawk_mex_util_lib artf6437 : Fix MotoCoder make_release.js to correctly release lwIP sources artf6462 : Have TLC error when batch setup encounters odd number of cylinders artf6464 : MPC55xx - ControlCore ECC rectify incorrect address return artf6499 : Expose DG7 and DG8 as FrequencyIn for GCM_0563_048_0801.m artf6500 : Correct eTPU PSP Simulation Files for changes to PSP Primitive artf6502 : Correct eTPU PSP Link operation artf6511 : Expose alternate eMIOS FreqIn Create that will result in less code artf6516 : MotoHawkTokenGUID and MotoHawkBuildGUID should report different value in MotoTune artf6527 : Freescale libdsp2 resource needs to be renamed artf6529 : Rename MPC5xxx FEC register field names to avoid collision with ERI #defines artf6536 : ControlCoreClassic - Remove 8bit Write verify in Prosak artf6552 : Fix MPC55xx EBI initialisation macro inconsistiency artf6593 : Allow MIOS VarCam Handler to support 4 equidistant teeth per cycle artf6595 : S12XE - Get universal timestamp in Pseudo rather than calculate artf6598 : S12 - Initialise encoder to zero speed on Create artf6606 : MotoCoder - Ensure all PSP xsl matches are = rather than eq artf6651 : Correct X+1 cam primitive's memory overlap with PSP state artf6663 : Move External SRAM from 0x3ff8xxxx to 0x3F00xxxx in Axiom0404 artf6681 : ECM-55xx-112-04x Corrections: LSO7, SPK2, SPK6 artf6686 : Parameterize RAM_CALIBRATION_START_ADDRESS and RAM_CALIBRATION_END_ADDRESS in ComponentControlCore_Application.xsl artf6698 : ECM-55xx-112-04x: Add control of ODRC to enable functionality on ASIC outputs artf6700 : ECM-55xx-112-04x: Correct Pseudo Encoder Square Wave Resource artf6704 : UniversalEncoder: Correct pseudo encoder interrupt handling for non shared architecture artf6706 : Resolve-uri is not passed a vaild uri in GenerateMasks.xsl artf6712 : Replace fixed MPC5xxx eMIOS Tick Timer setup with data driven system artf6754 : Inline the ADC bit resolution shifting logic in the VISTA codetemplate artf6760 : Update NANT binaries to 0.86.11 artf6768 : Fix the PGA280 read with checksum command artf6780 : Set ECM-5566-112-043-1200-xS ReleaseStatus to NightlyBuild artf6783 : Update GetSwRevisionTxt to 9.0.0.3 artf6797 : Add missing IO pad definitions to MPC5566 pin descriptor artf6798 : LECM-5566-180-041 ModuleSupport : Add initialisation of unused IO and CoCPU Reset line artf6800 : MPC55xx: Have eTPU links account for the eTPU engine artf6811 : Universal Encoder: Correct PCM09 scheduler resource artf6816 : MPC55xx: Enable CANTX pull-up pad configuration artf6823 : LECM ModuleSupport - Support Serial EEPROM artf6863 : Add missing xsl:next-match from mc-bolt-on-transforms 2010b_sp0_1 Type: Customer Specific Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.5.1 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6077 : Add MotoHawk OBD Fault Manager to the MotoHawk Installation artf6307 : Add New States to OBD Fault Manager that allows UDS Service $19 to function artf6312 : Add "Set" block to OBD Fault Manager artf6318 : Quantum Branch - Install CPU Family Specific Interlocked Methods into ControlCore artf6319 : Quantum Branch - MPC55xx - Add symbols in liker file to expose application and calibration regions artf6320 : Quantum Branch - PCM09 - ModuleDescriptor define CRC resource artf6321 : Quantum Branch - MotoCoder - Add CRCCalc support and optimise existing CRC service artf6351 : Add "Failed Last Drive Cycle" State to OBD Fault Manager artf6358 : OBD Fault Manager : Add option for selecting Suspected X/Y Count Data Type artf6364 : MotoCoder bolt-on transforms artf6416 : Quantum Branch - MPC55xx - ControlCore add ECC error reporting support artf6417 : Quantum Branch - MemoryFault - Add Motocoder support artf6565 : Port changes from Quantum Branch (2010b Beta 4 base) to be in a branch based on 2010b SP0 artf6597 : 2010b Quantum: Add MemoryWalk roots to MotoCoder MotoHawk Bug Fixes: artf6080 : motohawk_gen_pcode.m must handle spaces artf6260 : Change $hex-local-max-pid-number to use the $local-max-pid-number artf6314 : Global Enable should allow the "Fault Clear" operation to proceed artf6316 : MotoHawk OBD Fault blocks and ISO15765 bolt-on blocks should use sSetOutputPortOptimOpts, not ssSetOutputPortReusable artf6325 : New States in OBD Fault Manager need to be added as fault action conditions artf6463 : Quantun Branch - MPC55xx - ControlCore ECC rectify incorrect address return artf6509 : Quantum Branch - MemoryFault - Problems with GCC compiler 2010b_sp0 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.5 Migration Notes: -See previous migration notes if upgrading from older versions. MotoHawk New Features: artf6381 : 2010b: Expose 14 Volt ADC to MotoHawk MotoHawk Bug Fixes: artf6549 : 2010b : Add popup message to NSIS installation to show required dependencies artf6384 : 2010b: Correct eTPU_ParameterFrame_Ofs_Get() artf6503 : 2010b: Correct eTPU PSP Link operation artf6551 : 2010b - ControlCoreClassic - Add MY10 P128L704 support artf6550 : 2010b - ControlCoreClassic - Remove 8bit Write verify in Prosak artf6289 : 2010b: Add filtered VR option to CCM1001 artf6555 : 2010b: Increase stack reserve in MotoCoderTransform.exe due to increased stack demand on Win64 platform artf6350 : 2010b: motohawk_component_lib.tlc should use sSetOutputPortOptimOpts, not ssSetOutputPortReusable 2010b_beta5 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.4 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. -Starting with this release, MotoHawk requires Microsoft .NET Framework v2.0 sp1 and v3.0. To obtain both, install v3.5 sp1 available at http://www.microsoft.com/downloads/en/details.aspx?FamilyId=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en MotoHawk New Features: artf5775 : Add Freescale MPC5xxx DSP library support to ComponentControlCore artf5961 : Support eTPU on MPC5566 platforms running at a System Frequency of 126MHz artf6100 : Add pulse inhibit feature to the eTPU PSP primitive artf6177 : Install PSP module descriptor attribute that will skip pad creation on MPC5xxx cores artf6203 : eTPU PSP primitive to support more than 16 pulses artf6212 : MPC55xx : Add newlib stubs to support the use of printf with GCC artf6236 : Add alignment includes in GlobalDefinitions artf6239 : Support 60M2 crank, X+1 cam encoder on MPC5xx targets MotoHawk Bug Fixes: artf6080 : motohawk_gen_pcode.m must handle spaces artf6118 : MC33810 - Implement support for MaxDwell artf6178 : Add Angle Trigger Dispatcher based upon PSP to MotoCoder artf6185 : MPC55xx - Support CAN Error diagnostics artf6197 : Correct MotoCoder Mid TDC Operation artf6210 : Change AN32 and AN33 to have 0-5 V reference on Visteon 112 pin modules artf6211 : Tasking Kernel : Fix initialisation of sync objects artf6257 : Reserve Universal Encoder Primitive in eTPU Mask Definition artf6271 : Add Encoder Interface support to the DE-ECU-5534-046-1002 artf6275 : TargetDef - PCM128 MY10 has no H2 and H3 2010b_beta4 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.3 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: artf5652 : Remove debug symbols for 'release' builds artf5892 : Update Security archives for BootSecurity and DefaultSecurity to include MPC5566 Support artf5936 : Add Global Enable State to the OBD Fault Manager in MotoCoder artf5942 : Add RTW libraries for MPC5566 CPU target artf5954 : Add ModuleSupport archive for Axiom0404 MPC5566 EVB artf5955 : Create eTPU BasicEngine mask for 20k eTPU code space artf5959 : Support Axiom-0404 MPC5566EVB as a MotoCoder target artf6063 : TPU - Replace duplicate code in MaskConfiguration.xml with macros artf6098 : Upgrade version of Saxon bundled with MotoHawk MotoHawk Bug Fixes: artf5607 : Update rtwoption callback methods to use R14 names artf5703 : Remove motohawk_gen_datasheet from MotoHawk artf5776 : Fix Axiom MPC5554 Dev Board Target artf5830 : Rename all references to ShiftDD to ShiftSS and vice-versa artf5857 : Change Access Method used in OBD Fault Manager artf5865 : Correct Simulation operation with the Fault Iterator block artf5887 : Add support for MPC5566 processor based archives in SharedComponents artf5901 : Fix warning for CCPMaster Builds on i386-gcc artf5941 : Set Optimisation to -Os (Optimise for Size) for Processor MPC55xx using GCC artf6010 : Code Generation Error in BasicOut.xsl MotoCoder_DiscreteOutput_UpdateOnChange_Set() artf6013 : MotoCoder - Fix the size of the M1 Flash sector in various MPC555x CPU descriptors artf6020 : S12XE: Remove PinForce on late start match artf6049 : Verify calibration in NV emulated flash has changed before writing artf6050 : Make component GUID in gcc-win64-pe unique artf6053 : Remove improper calls to DataStoreReference for the CCP Slave Seed/Key blocks artf6099 : Create a version of Transform.exe which is tied to MotoHawk license artf6105 : Ensure that the exception vectors (IVORx) do not cross a 16 bit address boundary when using GCC artf6130 : Enhance MPC5xxx EMIOS PWM driver to handle Freescale errata artf6153 : Suppress CodeWarrior warning on missing DWARF debug info in archives artf6230 : Support MotoZip path that includes spaces in Component_Build.xsl 2010b_beta3 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.2 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: artf3727 : Implement 24 with 1 tooth retarded crankencoder on ControlCoreClassic artf5479 : Classic - Encoder 60-2 crank and a X+1 CAM artf5528 : Add motohawk_mexcleanhere function artf5538 : Add GCC win64 cross compiler to MotoHawk Installer artf5544 : Adjust EasyLink timing parameters for new revision of 112 pin hardware artf5571 : Add Timed Peak/Hold Behavior to MPC55xx artf5572 : Create MotoCoder templates to support TimedPeakHold and DiscretePeakHold that work with an MPC55xx core artf5582 : Add support of P Code and Help M file generation in Bolt On blocksets artf5595 : "motohawk_template_model.mdl" upgrade to MATLAB 7.5/R2007b artf5666 : Classic - Encoder 8+1 artf5668 : Add In Use Performance General Counter and Monitor Counters to MotoCoder MotoHawk Bug Fixes: artf4540 : Fix Injector Current Select mask and html help artf5118 : TargetDef - Add PCM128 MY10 details to help artf5465 : Classic - s4HardStopAngularDuration should be 0 when Start==Stop artf5476 : Ensure MATLAB integration is removed on uninstallation of MotoHawk artf5483 : Encoder interface in ECU555-48-0708 for 36-2 XPlus1 should be CNK_DG_CAM_DG artf5491 : Update X+1 CAM MPC5xx specific information artf5492 : Implement AR_1158 workaround to ClassicControlCore artf5493 : Correct the PSP pulse mode used in Transient Injection artf5498 : Describe what the minimum duration signal on Injector Sequence Block does artf5510 : Alter Enable Logic on Make-up pulse re-enable to protect against a missing pulse artf5519 : Have VISTA Knock Error if unique TDC Angles are not provided artf5532 : Fix storage class for 64 bit compatibility in motohawk_sfun_data_def and motohawk_sfun_data_reference artf5547 : Implement Output Compare eTPU Primitive artf5548 : Support the Peak/Hold behavior in MotoHawk artf5552 : Extend Help to describe Transient Injection artf5553 : Fix warning in motohawk_mex_util_lib.c during 64 bit debug builds with GCC artf5560 : Classic - N34 encoder can be treated as having no missing teeth artf5564 : Remove duplicate (but harmless) code in motohawk_dout_lib.tlc artf5570 : Classic - Create Mask TPU_N12_T_MUX and Remove RPMVector from all TPU masks artf5576 : TPU - Use macros to alias CalcPeriodRatio and CheckToothMtch artf5577 : Support Independant Peak Timing Accessors in ControlCoreClassic artf5578 : Ensure ERI tables are always linked to the final image artf5581 : MPC5xx modules when compiled by GCC links ERI Request tables in the wrong section artf5606 : Correct MuxPSP TLC generated prototypes to use const pointers artf5610 : Correct injector sequence's assumptions that MC resource is 'INJ' artf5623 : S12XE: Reschedule Start pulse when it occurs in same tooth as Stop artf5649 : MATLAB-specific #defines need to be moved to MotoHawk from the S12 MotoCoder build template artf5656 : Transient - Clip max duration to primary pulse hardstops artf5661 : Remove Quadrature PhaseZ support from eTPU capable modules artf5669 : Remove motohawk_reg_struct from MotoHawk artf5689 : Current Output block - Improve help artf5691 : ECM128: Make GCC memory map consisent with GHS artf5714 : Transient - Set transient timing to zero when full primary duration is being delivered artf5715 : S12XE: Transient - On back to back pulses, update timings before proximity test artf5738 : Zero TPU Parameter RAM in GCC artf5758 : Mark the MPC55xx GCC linker section BootMailBox_bss as NOLOAD to supress initialised data artf5759 : Cancel all pending interrupts as part of Reboot artf5789 : Make TLE7368 re-entrant to prevent possible false watchdog artf5810 : Remove polled watchdog refresh calls from MPC55xx flash erase/write artf5819 : Remove incorrect packing around S_DiagnosticsCreateAttributes in DeviceDrivers/Diagnostics_Behavior_API.h artf5826 : Change Access Method used in Fault Manager 2010b_beta2 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.1 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf1516 : Change Digital Output block to use Name interface -artf4165 : CC - EncoderEmulator - Remove support -artf4797 : TargetDef - Place link in TargetDef help that points to module crossreference -artf4887 : Update MH module images -artf5071 : Classic - Allow scheduling of PSP close to stop if long pulse -artf5107 : Install back-to-back pulse scheduling capability into the eTPU -artf5127 : Convert motohawk_mexall/one/here to use Microsoft SDK compiler/cross compiler rather than MATLAB7/LCC -artf5132 : TargetDef - Add DocumentationBuild to MH release process -artf5150 : Make motohawk_ert_rtw_wrap_make_cmd_hook use a new M script motohawk_matlab_platform() to determine correct path to gmake -artf5152 : Update motohawk_gcc_XXX_directory to check in wow6432 node on 64 bit OS hosts -artf5157 : Make motohawk_version_selector enumerate MATLAB 64 bit editions separately -artf5189 : Apply work-around for encoder definition block crashing MATLAB R2010a -artf5216 : Remove J1850 blocks and supporting code -artf5224 : Allow the extensions file mechanism to use xpath expressions which are not limited by deep-equal comparisons -artf5239 : PCM128 MY10 - Set eDriverMode for EST9-12 to be LowSide -artf5334 : OBD Fault Manger : Add Permanent State -artf5356 : Encoder - 12Shift1 Advanced 720Deg on Classic Targets -artf5425 : Add Function to Plot the Distribution of Blocks within a Model -artf5435 : Optimise motohawkrc/motohawk_directory.m to use motohawk_hklm_Software_value.m -artf5436 : Update NANT binaries 0.86.9.woodward. Update matching MotoParser.exe/MotoParserXML.exe -artf5463 : DE-ECU DV: Add Module support for DV PROD and DEV modules -artf5482 : DE-ECU DV: Add module descriptor -artf5504 : Add Custom Field updates to the MotoCoder OBD Fault Manager Service MotoHawk Bug Fixes: -artf4569 : TPU - Improve library build speed by only including necessary files -artf4945 : OBD Fault Manager : Increment Pending X and Y counts when Drive Cycle Ends -artf5029 : Fix MotoCoder MultiplePSP to to work with "PSP End Trigger" and "Injector Pulse Complete Trigger" MH Blocks -artf5070 : MH - 2010b - Remove Encoder Emulator blocks -artf5142 : Update motohawkrc/motohawk_directory.m to check in wow6432 node on 64 bit OS hosts -artf5159 : TargetDef - Fix incorrect module data -artf5186 : Correct versions of MATLAB supported in installer -artf5193 : Add update lockout to eTPU PSP's predictive start on update -artf5197 : OBD Fault Manager : Drive Cycle should be a trigger -artf5199 : Always issue "link" event in CDPeak eTPU code -artf5200 : TargetDef - Filter input files to Documentation.build and add ReleaseStatus to valid ModuleDescriptors -artf5201 : Fix IVOR0, IVOR1 and IVOR2 for the MPC55xx cores -artf5209 : Add "ERROR" to terminating messages in PSPOutput_Common.xsl -artf5210 : Fix enable race condition in motohawk_sfun_injector_sequence.tlc -artf5220 : OBDFaultManager and FaultManager need to have different Data Store Names -artf5233 : Sign installer and version selector with the Woodward publisher key -artf5257 : Don't run version selector interactively in autobuild -artf5358 : Correct motohawk_sfun_injector_sequence.tlc to handle a single cylinder -artf5410 : TargetDef - Set title of CrossReference to 'Module Cross Reference' -artf5411 : MotoCoder Classic Builds - Prevent EstConvert from running if it does not exist -artf5426 : Set MPC5534's FLASH_BIUCR register correctly -artf5427 : Correct the application of the MPC5534's MMU settings -artf5432 : Alter MotoHawk.build to use the new task attribute "successcode" -artf5437 : Sign PowerPC GCC installers with the Woodward Digital Certificate -artf5447 : Update installer to use win32-pe SP1 -artf5448 : Ensure that win32-pe uninstallation cleans up registry when done. -artf5453 : Configure the XBAR for MPC55xx Cores -artf5454 : Classic - Move woodward.css as it gets deleted by Doxygen -artf5466 : Expand AddCustomPostBuildScriptCode TLC to allow fully formed extensions -artf5485 : DocumentationBuilder - ensure target xhtml is produced for all modules when showall=true -artf5486 : Correct TCR2Comp value used by eTPU PSP -artf5487 : Clean up eTPU Global Usage -artf5503 : Add a "Get All Valid Values" option for the motohawk_enum class in MotoHawk -artf5516 : Fix warning "PRJ0052 : Referenced assembly ..." when building MEX dll's with Microsoft compiler -artf5563 : Update Database.build to use gcc -shared instead of dlltool -artf5598 : Modify GCC start-up code to handle sections that are not word sized -artf5624 : Add 64bit licensing proxy stub to MotoHawk installer -artf5625 : Move MotoHawk Version Selector registry cleanup to the correct uninstallation section 2010b_beta1 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.11.0 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf4567 : Update ClickwrapLicense.txt to reflect Woodward -artf4786 : TargetDef - Create base module descriptors for Classic targets -artf4788 : TargetDef - Create build system to create help for target selection -artf4789 : TargetDef - Add Alias information to all Module Descriptors -artf5120 : Amend "ratio" treatment of frequency based closure detect on the MPC55xx MotoHawk Bug Fixes: -artf4151 : Alter Chip Select Timings for Parallel EEPROM on PCM128 ControlCoreClassic -artf4618 : Remove unnecessary eTPU mask builds from the build scripts -artf4889 : Quadrature - eTPU - LastDirn_Z needs to be initialised -artf4914 : Amend RefreshUnusedChanInterface() to consider if channel is capable -artf4977 : S12 Family: MemoryAccess APIs to support FAR addressing Read and Write -artf5119 : MusPSP - Remove reference in help to motohawk_cc_documentation -artf5144 : PIM-5554-060-0801-xD set ReleaseStatus to Nightly -artf5146 : Update NANT to nant-0.86.8.woodward -artf5160 : Restore removal of licensing mex source files regression from SVN14659 to SVN14994 motohawk_release.m -artf5163 : Install MotoHawk 2010b licensing -artf5167 : Correct DualPSP trigger code to correct the occurence of build errors -artf5172 : DGInWithOverride_API.h: extern S_DGInOverride_Defn_Encoder before it is referenced 2010a_beta6 Type: External Dependencies: -MotoTune version 8.13.7.120 or greater -MotoServer Runtime version 8.13.7.120 or greater -MotoCoder 0.10.5 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf4709 : Make motohawkrc aware of Side By Side Install Locations -artf4759 : Add DIN1 through DIN11 MPC5534 pad configurations to DE-ECU -artf4767 : Help - XPlus1 CAM, clarify phase and exclusion zone -artf4778 : Implement re-try function in Switch Mode Driver -artf4810 : Add acceptance bounds to the CDPeak eTPU primitive -artf4829 : Ensure .NET assemblies can exist side-by-side -artf4831 : Use MATLAB R2007b for prepare_release -artf4852 : Simplify Archive destination in motohawk_release -artf4907 : Add Alternate Closure Detection Method using Switching Period to MPC55xx -artf4952 : Create the MotoHawk Active Version Selector tool -artf4965 : Create the Legacy (re)Integration Tool -artf4967 : 2010a: Add support for MATLAB 2010a -artf4979 : Add DualPSP Support to MotoCoder -artf4993 : Implement "Apply" and "Quit" buttons in MotoHawk Version Selector -artf5007 : Release the DE-ECU-5534-046-1001 module as ReleaseRestricted -artf5018 : Update motohawk_version_selector.exe due to motohawkrc being altered for MATLAB 2010a support -artf5027 : Upgrade licensing to 8.13.7.100 MotoHawk Bug Fixes: -artf4708 : Motocoder\TDB\Database.build needs default handler -artf4745 : Install the eTPU Filter Configuration used by the DE-ECU into the Module Descriptor -artf4753 : Install digital filter functionality into DE-ECU frequency inputs -artf4768 : MotoCoder should error if application requested module resources are not present in the module descriptor -artf4776 : Install "do nothing" Output Fault Status support on the DE-ECU -artf4780 : Add new BootInterface.h enumerations and protocol enumeration -artf4795 : ModuleDescriptor - Ensure S12 Targets Manufacturer = Continental -artf4796 : Extend MH_Help1.css -artf4801 : CC - EncoderSynthesizer, set DG4 TPU channel to C_TPUCH10 - PCM128 -artf4808 : Declare Component NonVolatileDefault and Component NonVolatileWork structures in unique sections -artf4811 : Delete BasicOut FaultStatus template -artf4814 : CCP Slave structure declarations multiply defined -artf4830 : Prevent build failure if MotoTune is not installed -artf4837 : Quadrature - Rectify incorrect Posn and RevCount error report -artf4838 : 2010a - Quadrature Decoder eTPU Primitive - Initialize all HiRate flags -artf4908 : H2 Status Line Incorrect for ECM-5554-112--0902 modules -artf4916 : MPC5xx GCC: use ALIGN(4) directive rather than ". + ALIGN(4)" at section start -artf4917 : MPC55xx GCC linker file: refactor ramcals/romcals output sections -artf4924 : S12 NonVolatile data stores in components do not properly restore to factory defaults -artf4933 : motohawk_license_verification.vcproj has wrong dependency -artf4935 : Add task to NANT -artf4948 : CC - Set Encoder MinRatio = 0 for Plus1 encoders with <= 6 teeth per rev -artf4949 : Remove hardcoded current transform from ActiveCompByInflectDetectWithPeak.xsl -artf4953 : MotoHawk Active Version Selector Tool needs online help -artf4958 : Update the MotoHawk Mux PSP Help -artf4976 : S12XE: NV FormatID to be sourced from NEAR address -artf4989 : Ensure MotoHawk Version Selector validates MATLAB installs -artf4990 : Change to Woodward branding in TDB template files -artf4996 : motohawk_sfun_data_fixednv_mgr_gui does not assign result -artf5002 : Update MotoParser/MotoParserXML to use Woodward Branding in generated files -artf5003 : Complete HELP documentation content for MotoHawk Version Selector -artf5004 : Fix MotoHawk_lib.mdl to be compatible with MATLAB R2010a -artf5005 : Integrate updated binary for MotoConvert which fixes GCC section parsing issue -artf5008 : Update motohawk_internet_enable.m to use new registry locations -artf5021 : Fix DualPSP to work with "PSP End Trigger" and "Injector Pulse Complete Trigger" MH Blocks -artf5025 : motoHawk_version_requirements block needs to call motohawk_mlstr2vector with a different format -artf5028 : Remove unused InstallShield related assets -artf5031 : Add exit(x) to MATLAB script in MotoHawk.build -artf5037 : motohawkrc: Allow motohawk_compare_matlab_versions to exist as m-script or p-code -artf5038 : NSIS MotoHawk Installer misses XtremeToolkitPro.msm dependency -artf5040 : Cannot detect Component version number incompatibility -artf5041 : Change DE-ECU ReleaseStatus to ReleasedRestricted -artf5044 : Clean files left in the location given by motohawk_persistent_directory upon uninstallation -artf5052 : Ensure MATLAB integration is removed when motohawk_version_selector is uninstalled -artf5062 : S12XE: Move CC_STACK to coincide with HB's requested boot object location -artf5068 : Make naming of MotoHawk Version Selector consistent -artf5072 : Amend MotoHawk Help to indicate CAM input not usable by other behaviors when an Encoder Block exists -artf5083 : Make MATLAB versions list in ascending release order in motohawk_version_selector -artf5141 : Avoid close/open system calls from dialog callbacks which crash MATLAB R2010a -artf5149 : Correct DualPSP trigger code to correct the occurrence of build errors -artf5122 : DGInWithOverride_API.h: extern S_DGInOverride_Defn_Encoder before it is referenced -artf5161 : Internal 2010a_beta5 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.10.4 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf4529 : Add 48-2 Encoder range to DE-Pump module -artf4554 : Add SD1 DE-ECU Module Descriptor to MotoHawk -artf4555 : Create ModuleSupport Archives for DE-ECU -artf4560 : Update copyright notice in MotoHawk_Lib.mdl -artf4596 : Aesthetic Clean-up eTPU Machine Control Masks -artf4600 : Add support for the 25LC320 Serial EE in Device Drivers -artf4616 : Add MPC5534 to RTW archives -artf4617 : Add MPC5534 builds to hardware independent archives -artf4620 : MPC55xxFlash: Add MPC5534 support -artf4628 : Reduce the usage of xsl:import as this creates a performance bottleneck -artf4635 : Remove identity transform from VarDecs_Common.xsl -artf4652 : Add NSIS based MotoHawk Installation build scripts -artf4677 : CC - Add Encoder 36-2 with X+1CAM -artf4680 : Add MPC5534 builds to Nightly build MotoHawk Bug Fixes: -artf4017 : Remove references to MotoTron in other customer visible files -artf4028 : Classic into MotoCoder Step 3 : Move Build -artf4551 : Use of 'ISO_C' option causes generation error -artf4556 : Reserve Major HW version number for the DE-ECU family -artf4572 : Alter enum text for PCM0902 HWMaj as this also includes 0904 and CCM10xx -artf4573 : WIN32HOST_HWMAJ missing from E_MotoTronModuleHwMaj -artf4581 : Allow any non-programming CAN channels to be closed before KeySuite programming initiation -artf4582 : S12(X): Allow transmission buffers to empty before closing MSCAN modules in MSCAN_Close() -artf4585 : Remove Simulation memory leak in motohawk_sfun_fault_action.c -artf4589 : Correct "times" reported by Switch Mode Driver -artf4591 : Add MPC5534 Support to MPC55xx Family -artf4599 : Create Discrete Hold Power Supply -artf4605 : S12X: Make Default RPAGE dependent on RAM mapping -artf4609 : Add DE Pump (PWM12) of the S1 DE-ECU to the Module Descriptor -artf4612 : S12(X): All Wire-Or'd MSCAN channels not included in uAllowConnectOnCANMask -artf4629 : OBD Fault Manager Phase 2 - New content - Fault Actions, Fault Activity -artf4636 : S12(X): Close all open MSCAN modules at user application open -artf4648 : Fix Custom Security related issues after Control Core Classic build moved to MotoCoder -artf4650 : S12(X): Requested transient pulses shall update immediately -artf4678 : MH - Add Encoder 36-2 with X+1CAM -artf4683 : S12(X): Timer_FreeRunningCounter_Get32Bits() called after Timer is closed -artf4688 : 2010a: Remove "static" keyword from Frequency Input Notification function in Classic -artf4690 : motohawk_check_build_licenses needs new entries for "never_licensed_modules" -artf4694 : Add Happy Light as Discrete Output to DE-ECU S1 Module Descriptor -artf4698 : FUELP should be disabled in hardware when ESTOP is asserted on the Visteon 112 pin modules -artf4726 : MOTOCODER_DIR must be defined in the .bat file for Classic Builds. -artf4739 : Set eTPU Digital Filter Register field ETPU_TBCR::TCRCF to reset value -artf4740 : CC - Enable additional MototronProtocol Libs & remove build warning -artf4748 : GHS paths are too long in Classic Control Core builds -artf4750 : TPU - Add missing TPU_N12_XPLUS1CAM source files -artf4762 : Formatting of Tpu archive needed for MPC5xx builds can be improved -artf4869 : revert artf4582 : S12(X): Allow transmission buffers to empty before closing MSCAN modules in MSCAN_Close() 2010a_beta4 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.10.3 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf4161 : Rebuild RTW libraries to version 1.17 -artf4398 : Relocate the PPCLib directory to MotoCoder -artf4400 : Implement MC Interface for Active Compensation of PSP via Inflection Detection -artf4420 : Delete the motohawk_ppc_lib.m script -artf4421 : Move and rename the test compilation file -artf4446 : Add 48-2 Encoder range to ECM5554 (ECM112) Modules -artf4448 : Clear MC33810 Open Primary Fault when both non-faulty and previously observed -artf4462 : Install noise rejection algorithm into eTPU Closure Detect with Peak primitive -artf4475 : ControlCoreClassic changed locations, so Release scripts need to change -artf4480 : Allow transient behavior on banked injection sequences -artf4523 : ECM70-1002: Accurately describe delivered SPI clock frequencies -artf4536 : Implement Switch Mode Driver eTPU Primitive -artf4557 : Don't copy builds to aasharedrive MotoHawk Bug Fixes: -artf3331 : MPC5554 builds with GCC need to specify -mfloat-gprs -artf4163 : TPU - Replace NMAKE build -artf4335 : MotoCoder DataStore transform can create a VarDec with an unsupported Type -artf4407 : MC33810: Implement channel fault status buffering -artf4417 : TPU - Retify incorrect function code entries in TPUuCode.c -artf4418 : TPU - Rectify mask version information -artf4430 : Correct VarDec access level which can be generated incorrectly in some cases -artf4438 : Add the Target Definition block to the MATLAB/MotoHawk integrated help -artf4441 : S12(X): Set Phase Block implementation inconsistent with help text -artf4442 : S12(X): Prevent PSP time-duration stop event update during CAM sync -artf4466 : MC33810: Unnecessary rounding of SPI settings yield undesired SPI performance -artf4468 : OBD Fault Manager Phase 2 - MotoCoder changes - Update existing blocks with MIL Request, Previously Active and Emission-Related -artf4471 : TPU - Add relative path for motocoder.dir -artf4472 : TPU - Prevent TPUMasks.build being called by ControlCoreClassic.build -artf4477 : 2010a b4: Sort analog periodic elements based on node -artf4479 : NCV7513: Unnecessary rounding of SPI settings yield undesired SPI performance -artf4497 : S12(X) - FM25CL64: Unnecessary rounding of SPI settings yield undesired SPI performance -artf4513 : TPU - EncSynthesizer - Initialise Synthesized tooth to 2x TCR2 in DoubleRate mode -artf4514 : CC - EncSynth - OutputInvert should consider inversions due to hardware -artf4535 : Rectify relative paths in build files following PPCLib move (artf4398) -artf4539 : Install support in MC for the Switched Mode Driver that will be used by the DECU -artf4545 : Prevent XML message in build output 2010a_beta3 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.10.2 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf4013 : Upgrade MotoHawk installer to use win32-pe 4.4.0 -artf4075 : Bedrock: Allow Drive EST outputs as MC33810 PSP's -artf4114 : S12(X): Utilize nomi InputCapture to detect open load conditions on MC33810 ESTOutputs -artf4115 : Add Start-of-Event Function Pointer to PSP GenAPI Object -artf4128 : S12(X): Enable frequency inputs on PORTJ -artf4129 : ECM70: Enable FrequencyIn on CAM module pin -artf4158 : CC - Hostcode interface for EncoderSynthesizer -artf4162 : MH - Add EncoderSynthesizer (artf3998) support -artf4164 : TPU - Support EncoderSyntheSizer on 60-2 Dual NoCAM encoder -artf4202 : ECM70: Enable FrequencyIn on CNK module pin -artf4203 : ECM70: Allow Peridioc Vector Sampling on AN6 -artf4205 : ECM70: Change CPUType of EST OneShot's to 'CPU' -artf4207 : ECM70: Increase CPU FreqIn HandlerPriority to minimize latency -artf4215 : S12(X): Use OuputCompare to generate pseudo RPM events -artf4243 : S12(X): Enable S_InputCaptureMethods_CPU::pfnSetCondition -artf4247 : SmartFire: Enable AN2 and AN6 as Periodic Analog Vector Elements -artf4257 : Release ECM70-1002 as 'StandardModule' -artf4259 : Reintegrate BootSecurity project into SVN trunk -artf4260 : Ensure BootSecurity archives are excluded from MotoHawk release -artf4274 : ECM70: Enable FrequencyIn on CNKDG module pin -artf4301 : Add Minimum expected Frequency attribute to FreqIn Defn Mask -artf4326 : Change the CCP Slave protocol handler to default to IDLE triggered -artf4332 : Add Inflection Detect Behavior with Peak Control to the MPC55xx API -artf4387 : MH - Add Support for 36+1 with 12+1 cam on MPC5xx targets -artf4390 : Add installer support for 2010a to support ML 2007b -artf4396 : S12(X): Disable MC33810 Open Primary Load Diagnostics by Default MotoHawk Bug Fixes: -artf4021 : S12(X): Allow 720 fueling on primary injection pulse when fully synchonized -artf4039 : Amend Synchronized PWM Child Help to allude to some limitations -artf4065 : Implement EncoderSynthesizer TPU Primitive (-artf3998) on MPC5xx, Hyundai60 Mask -artf4069 : Add Phase 1 OBD Fault Manager to MotoCoder -artf4100 : S12(X): PORTT-based tachometer outputs do not work. -artf4118 : XML vardecs in ClassicControlCore top level build file should not be built on a "clean" target -artf4152 : motohawk_send_data script should not report statistics in MATLAB 6.5.1 -artf4160 : Upgrade WindowsPC and Component-i386 to use win32-pe 4.4.0 -artf4172 : Fix WindowsPC PROD target build error -artf4183 : Column Vector Data Stores should be initialized properly -artf4191 : Fix PCM128 Var Cam operation on DG4M -artf4192 : Add Closure Detect with Peak Control eTPU primitives to ControlCore -artf4195 : motohawk_data_lib.tlc references functions which no longer exist -artf4197 : Unexpected ModuleCapability reported in MotoTune. -artf4236 : Code generation of CCP on S12X modules is incorrect. -artf4237 : Zero initialized volatile structures are not placed in Volatile_BSS_T -artf4245 : XGATE: Utilities file does not handle multiple OneShot nodes -artf4246 : XGATE: Freq Inputs may not take custom Name -artf4267 : Nissan Kohki - Rectify incorrect constants -artf4268 : Fix operation of calibrated number of cylinders in ProSAK -artf4269 : Prevent WatchDog with the While Iterator Simulink block in conjunction with the Fault Iterator -artf4270 : Eliminate update time memory leaks in utilDeleteFault and motohawk_sfun_fault_mgr S-Function -artf4276 : Add vardec help message to ControlCoreClassic.build -artf4285 : CCP Block fails to build when the instance name is not "CCP1" -artf4293 : motohawk_sfun_nv_status.tlc needs to use the proper Data Store to report the NV status -artf4313 : Correct MotoHawk MPC5xx Frequency Input N trigger TLC to remove build error -artf4333 : OBD FM Phase 1 Changes - Drive Cycle, Add Fault Properties -artf4352 : S12(X): Pseudo Encoder does not fully desynchronize -artf4386 : CC - Add Support for 36+1 with 12+1 cam on MPC5xx targets -artf4392 : CC - Fix TPUuCode Build file for GCC builds -artf4393 : CCP Slave: Support new option for "Command Processor Busy" response when writing to slow memory -artf4394 : CCP Slave: Simplify the complexity of calculating CRCs over memory by ensuring operation within IDLE -artf4397 : CC - Fix static declaration in Resource_Encoder.c -artf4402 : CC - Initialize MPWM CNTR register on powerup -artf4406 : TPU - Add FreqAvg.uc to TPU_MASK_N34_P1 -artf4419 : CCP Slave: Bug in checksum calculation for MotoCoder builds 2010a_beta2 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.10.0 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf3836 : Bedrock: Allow XGATE to use calibration RAM -artf3914 : ECM70-1002: Only save calibrations for DEV MotoHawk builds -artf3932 : Classic into MotoCoder Step 1 : Move Data Stores -artf3937 : Classic into MotoCoder Step 2 : Move Vardecs -artf3981 : Allow module descriptor to override selected module capability -artf3982 : S12XE: Enable MPU to protect calibration RAM for PROD units -artf3983 : Optimize eTPU Encoder Wait For High Rate Complete -artf3985 : ECM70: Create common include files for module descriptors -artf3990 : S12(X): Uitilize missing teeth to schedule PSP events -artf3991 : Reserve PCM128 MY10 Hardware Minors -artf4023 : Make sectioning macros common accross module families -artf4031 : Enhance MotoCoder Data Vardecs to handle Bit Fields -artf4063 : Classic into MotoCoder : Move Time-Tracking functions -artf4120 : Alter eTPU PSP Primitive and associated host code to allow subsequent extension -artf4124 : Move atomic types into separate target/compiler specific header files -artf4139 : Extend eTPU PSP Primitive to allow it to signal other eTPU channels on pulse events MotoHawk Bug Fixes: -artf2320 : CCC MPC55xx - Add comment that S_CPU_SPISendMessage is redundant and could be removed -artf3815 : Fix typo in motohawk_dotnet_object error message -artf3950 : CC - ECM48_0703 Add to MH missing supported behaviours -artf3968 : Expose MotoParserXML access in Nant -artf3971 : Encoder Generic: Support PatternSpecific Parameter. -artf3995 : Optimize Detect Tooth Interrupt with eTPU Encoder Primitives -artf4001 : Upgrade win32-pe to 4_4_0 -artf4034 : Inline shifting logic in Analog Input driver on 5xx modules -artf4038 : Prevent Child PWM recreation in Classic ControlCore targeted TLC -artf4040 : FixedNonVolatile can be in an inconsistent order -artf4168 : Timer_FreeRunningCounter_GetDeltaUpdateReference_us function in Classic Module Family has incorrect reference -artf4169 : make_release.js script needs to include new Classic Module Families -artf4170 : MH 2010a B2 should support ML76-79 -artf4175 : Knock definition block build error -artf4177 : Fixed NonVolatile has a couple bugs in 2010a Beta 2 RC-B -artf4208 : Upgrade MH installer to handle GCC 4.4.0 merge module -artf4223 : Rebuild GCC 4.4.0 MSM w/o SVN folders 2010a_beta1 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.10.0 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf3742 : Add 12-bit Resolution and Scaling for DPF -artf3752 : Implement delay before attempt encoder Synchronization in MotoCoder and on MPC555x Targets -artf3853 : Alter N12 eTPU primitive to handle 60M4 and 3x20M2 style encoders -artf3919 : Remove References to MotoTron in TLC and Matlab scripts -artf3957 : Switch MotoHawk to use 2010a license MotoHawk Bug Fixes: -artf3899 : Integrate common license merge module with MotoHawk -artf3929 : Add fno-strict-aliasing to KeySuiteServer and BootMailBox builds for 55xx -artf3930 : CC - Fix erroneous Short diagnostic -artf3933 : Remove duplicate vardec for OSStatus in Classic ControlCore -artf3936 : Remove extra "end" from motohawk_assert -artf3940 : CC - Rectify scheduler table for 6P1 and EVO9 2X encoders -artf3947 : HCS12: "No Action" ECT channel action caused pin state change -artf3958 : Remove #warnings from KeySuiteServer -artf3961 : Some ClassicControlCore Vardecs are unusable -artf3963 : CC - EST Short - Rectify race condition in status capture -artf3969 : Correct 60 Minus 4 / 6+1 Cam MotoHawk Help -artf3978 : Alter FillDestinationFPRegisterWithDoubleValue() to correct exception on GHS4.2.1 build -artf3980 : Remove divide by zero in MotoHawk sample project 2009b_beta4 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.9.3 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf3349 : S12(X): Allow AppCompatabilityArr data to be specified by the module descriptor -artf3350 : S12(X): EE divisor relevant only for S12 modules -artf3677 : Add 36-1 CAM only pattern for KvT to S12 Modules -artf3728 : Implement 60M4 crank encoder in ControlCoreClassic -artf3729 : Implement 6+1 retarded cam encoder in ControlCoreClassic -artf3775 : Implement PMM_N34 TPU Primitive defined by doc3261 -artf3809 : S12X: Allow module descriptor to specify XGATE routine memory type -artf3810 : Create EP100-only module descriptor -artf3818 : S12X: Implement XGATE Execution Performance Metrics -artf3822 : S12: support 720 degree encoder patterns -artf3827 : support crank_dg as encoder input -artf3902 : S12(X): TimerISR node shall be included via ComponentControlCore_Objects MotoHawk Bug Fixes: -artf2808 : Order of [[Component]]_ConstantWork sections is inconsistent for GCC -artf2930 : Add 36x - 4-Stroke - Single-Tooth CAM to MotoCoder/PCM09 -artf3633 : Add 36-1 CAM only pattern for KvT to 55xx Modules -artf3715 : Move CC Classic build into MH scripts -artf3740 : Prevent MC33800 faults from being cleared and cached in the "clear" state -artf3772 : ControlCoreClassic: Update CAN baud rates -artf3776 : Fix warning for MPC5554 builds that include GenericEncoderInput_NMinusX_API.h -artf3780 : S12(X) - Prevent TCTL12 corruption -artf3782 : Fault Manager bit packing needs to change from 32 bit to 8 bit -artf3786 : CC - GCC Rebuild iif the target in the dep (.d) file doesn't match -artf3788 : Update motohawk_check_can to reference maximum correctly in warning message -artf3790 : S12(X)-Update tooth shall be serviced before edge delivery -artf3797 : CC - Reduce minimum rpm threshold of 6+1 encoder to below 76rpm -artf3799 : Add help for HBridge block -artf3804 : MotoCoder Encoder transform produces incorrect code when tooth angles are non-integral -artf3806 : Fix GCC inline assembly for timer access on ControlCoreClassic -artf3812 : Update 0902/0904 module image -artf3814 : TPU - Rectify, some encoders use unsafe comparison of OverFlow count -artf3817 : Fix Motohawk Application Monitor Help -artf3823 : Generic_Encoder: support odd number of missing teeth -artf3824 : Remove RevsPerCycle from module descriptors -artf3825 : S12: Ensure crank interface options are valid -artf3826 : Encoder_Generic: claim cpupin -artf3829 : Ccp Master: Support MTA Number in SET_MTA CCP command -artf3830 : Add Internal RAM Write Access to the MemWriteSynch handler of ControlCoreClassic -artf3831 : CC - EVO9 rectify incorrect calls to TPU SelfModifyToothRatio -artf3838 : Fix PROSAK QSPI by altering the order of PORTQS SPI idle states writes -artf3845 : S12X: Fix Spurious clear of pending XGATE-sourced CPU interrupt -artf3848 : Add help for OneShot Pulse Complete Trigger -artf3854 : Create help for MotoHawk PSP End Trigger -artf3855 : Create help file for MotoHawk Analog Output -artf3856 : Create help for fixed point conversion blocks -artf3885 : MotoHawk help should list Banked as an option for Injector Sequence block -artf3892 : S12X: Non-IOMerge ISR Nodes Shall Contribute to XGATE Stack Sizing -artf3893 : S12(X): Timer ISR shall include desired handler priority -artf3897 : Remove MotoTron references and replace with Woodward in Simulink model files -artf3898 : Tri-state 0904 half bridges when disabled via PWM block -artf3900 : Correct Multiple PSP Block Graphic to display correct units -artf3901 : Fault downsample does not simulate correctly. -artf3904 : Create help for Vista Knock Blocks -artf3905 : Vista Encoder On State Trigger is not properly passed the status parameter -artf3906 : Level shift Encoder OnError trigger for MPC55xx targets -artf3909 : Handle "Crank Teeth from CAM Edge to Crank Tooth 0" MotoHawk Encoder Attribute in Encoder.xsl -artf3910 : MotoHawk installation location should reflect Woodward -artf3913 : Get Last Encoder error indeterminate for MotoCoder targets -artf3915 : Update help to new template -artf3928 : GCC build warning tidy up for Component Control Core 5xx and S12 2009b_beta3 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.9.2 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. -When using GCC on 5554 targets, use at least 4136 bytes of heap. -If using GCC, this MotoHawk version requires GCC PowerPC EABI Version 4.4.0 SP1 and GCC PowerPC EABI SPE Version 4.4.0 SP1, available on the customer download site under Optional Files. Uninstall the old versions of this software before installing the new versions. MotoHawk New Features: -artf3639 : S12(X): Enable NX Crank Encoder, No CAM with full PSP support -artf3703 : S12(X): romcals should be located in paged FLASH -artf3717 : Add CCP Master support for the CCP MOVE command -artf3722 : Implement delay before attempt encoder Synchronization on ClassicControlCore -artf3739 : Support CodeWarrior for S12(x) > V4.6 in NANT -artf3753 : CC - Add HiRes OneShot on LSDs of HBridge on GCM-563-048-0801/0802 MotoHawk Bug Fixes: -artf1689 : MH Calibration Block generates code even if resulting signal is terminated -artf3218 : FixedNonVolatileEEStatus missing GCC section macro -artf3298 : MH - Update pseudo encoder help text -artf3612 : MotoHawk generated ASAP2 file for CCP enabled targets does not indicate all optional commands -artf3629 : add protection in motohawk_can2xml script for the Moto Experssion evaluator -artf3669 : Enhance MotoHawk Encoder Help - part #2 -artf3671 : CC - Add TPU_MASK_N12_WINSYNC_VCAM to list in RefreshEncoderConst() -artf3672 : Make CrankEncoder_Generic data model more concise -artf3673 : ECM-0S12-024-0503 CrankEncoder behavior not exposed properly in MotoHawk -artf3684 : Allow S12 SerialEE BSS parameters to be not initialized by the SRZ -artf3686 : Remove camless 6X and 12X encoders from MotoHawk -artf3687 : Remove [[Application]].ini generation during S12 Builds -artf3689 : Add links in motohawk_blocks.html -artf3690 : ADCAngleVectorStoppedTrigger.html has wrong title -artf3693 : S12 targets should pass an InitializedRAM parameter to MotoConvert for FactoryDefaults of NonVolatile parameters -artf3694 : Level shift Encoder State trigger for MPC55xx targets -artf3696 : Fix NANT to correctly enumerate toolchains on x64 platforms -artf3698 : ComponentControlCore_Services_CCPMaster.xsl only partially supports the DNLOAD_6 command in Pass Through interface -artf3700 : ClassicControlCore - Handle Floating Point Zero Div Zero -artf3701 : MH - Not all VarCAM patterns appear on CAL enum -artf3702 : Add resource parameters to Serial blocks help files -artf3704 : Update target definition block help with margins etc. -artf3705 : Fault manager help points to wrong image. -artf3708 : 555 modules do not report the correct maximum available flash in the GreenHills build statistics -artf3714 : Make CC Classic build conditional -artf3716 : Fix Application runtime crash on GCM-0565-024-0602-Fxx with GCC 4.4.0 build. -artf3718 : Allocate uninitialized EE in ControlCoreClassic to the correct section -artf3720 : Fix heap pointer calc in sbrk.c for GCC builds of ComponentControlCore Processor -artf3725 : CC - Fix FreqAvg TPU primitive ID for TPU_C (select masks) -artf3726 : CC - Restore debug info in archives for non release builds -artf3731 : Capture ControlCoreClassic optimization options discovered in artf3699 -artf3732 : Modify the heap size validation for classic targets in the toolchain sfun -artf3738 : VarCam creation on CAM to error when VarCam not selected in Encoder Definition -artf3743 : Update MotoConvert Binary to 9.0.0.7 -artf3751 : MH - Remove HBridge resources from HCM48_0563-801 -artf3764 : Fix MotoConvert symbol parsing for GCC toolchains -artf3768 : ControlCoreClassic: ensure SPI_MSMethods is defined for ECM build -artf3784 : Uninstaller deletes mnfeature.exe 2009b_beta2 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.9.1 Migration Notes: -This version and newer of MotoHawk will require version 1.0.4 (or newer) of the MotoHawk Custom Security block. MotoHawk New Features: -artf3276 : Fault Definition block uses an extra stack variable -artf3346 : Add prototype module descriptor for M120 -artf3368 : MH - ProEFI - SCIONTC 36-2 4M1 CAM VVT -artf3407 : Enable MotoHawk classic 5xx targets to build from GCC -artf3423 : S12(X): Implement vardec to view micro censorship state -artf3425 : Update Default Security Archives for "powerpc-eabispe" -artf3426 : Update RTW archives for "powerpc-eabispe" -artf3432 : Deprecate the use of motohawk_copy_ppc_lib -artf3446 : Add RTW archives for MATLAB R2009b (7.9) -artf3447 : Add version 7.9 as option for motohawk_prepare_rtw_archives -artf3452 : CC - Extend FreeStore.c to use macros or function for GCC support -artf3476 : CC - Set packing to byte explicitly in MototronProtocol -artf3485 : Install PWM and Halfmoon Variable Cam Phaser support on MPC5xx MIOS inputs -artf3487 : Remove ancient warning from AngleEvent.c in ControlCoreClassic -artf3488 : Update MotoHawk Build script for 2009b Beta 2 -artf3501 : Move ControlCoreClassic TPU archives into it's own Archives folder -artf3502 : XGATE - Allow interrupt disable -artf3525 : Make build.bat location agnostic for MotoHawk Classic builds -artf3531 : CC - Deprecate the use of the "protected" serial eeprom area -artf3539 : CC - Deprecate AIM module from build -artf3567 : MH - Deprecate motohawk_cc_documentation -artf3577 : Add support for Fixed Non-Volatile (EEPROM) variables for GCC in 5xx Classic targets -artf3598 : S12: allow class 1 interrupts to switch stacks, block nesting -artf3610 : Install Encoder Emulator Functionality on PCM128 -artf3628 : Add 36-1 CAM only pattern for KvT to 5xx Modules -artf3630 : Enable N-Minus-X Encoder on HCS12 -artf3634 : Enable High Res One Shot on INJ outputs for PCM128 -artf3646 : CC - Remove GCC symbols on release mode MotoHawk Bug Fixes: -artf1801 : Create version 1.0.4 of MotoHawk Custom Security block -artf3367 : CC - ProEFI - SCIONTC 36-2 4M1 CAM VVT -artf3384 : S12(X): Improve the performance of PWM_SetFreqDC() -artf3408 : Use powerpc-eabispe for GCC Toolchain on MPC555x MotoCoder targets -artf3431 : Deprecate the use of the EEProm variable g_u2CAMDelay by ClassicControlCore targets -artf3442 : Fix max duration handling of Dual PSP Start/Stop Control on Classic ControlCore targets -artf3444 : Output needs to be initialized in all cases in motohawk_sfun_fixedpoint_mult.c -artf3450 : MC: Make "Assert" overloaded io:invert-macro function backward compatible -artf3451 : CC - Rectify packing in FrameworkError.h -artf3454 : CC - GetFileLengthWithHandleFFS should return 0xFFFFFFFF if IS_FILE_SYSTEM_POSSIBLE == FALSE -artf3455 : CC - Set default error within functions -artf3456 : CC - Rectify use of asignment instead of compare in CreateResourceBEHAVIOUR_ANALOG_TRIGGER() -artf3457 : CC - ADC Tables should be declared a const -artf3458 : CC - BgndTask remove GCC warning - missing sint4 return -artf3459 : CC - Fix mismatch prototype for DestroyStandardEncoderHW() -artf3460 : CC - FIHW_TPUISR, bNotifyIssued should be explicitly set -artf3461 : CC - Declare g_u1ECM48ESTDisablePinArr as const -artf3462 : CC - List in VersionControlCoreSDK.c all artf related to BASSO_VALIDATION_REMOVE -artf3464 : CC - TransCount declare tables in flash instead of RAM -artf3465 : CC - GCC requires access registers using volatile -artf3466 : CC - Allow GHS 4.2.1 builds in ControlCoreClassic -artf3467 : CC - Make QueryAllocationSize back into a function -artf3468 : CC - Update GCC crt0.s to clear extended sections -artf3469 : CC - g_TaskSyncObjArr in TaskKernel_Sync needs proper section attribute -artf3470 : CC - Boot interface needs pragma pack(1) -artf3473 : Fix typo in motohawk_check_gcc_armce_pe.m -artf3477 : CC - Fire48 Set pfSetDirectionPin to PWM_Dridge_NoSetDirectionPin -artf3478 : CC - Ensure SeqStdOS_BuzzProtect can cope with pulses in any order -artf3484 : MotoCoder NANT builds should specify buildfile on command line -artf3486 : Fix build warning in UnhandledISR.c in ControlCoreClassic using GreenHills 4.2.1 -artf3489 : Fix warning in seqnc_os.c introduced in artf3343 for GCC builds of ControlCoreClassic -artf3492 : CC - FgndTimeTask and FgndAngle task remove ggc warning - missing sint4 return -artf3493 : CC - Declare g_ECM48SwPullupInfoArr as const -artf3494 : CC - TaskKernel_CPU.c externs are in wrong section -artf3495 : Fix GHS Warning for unused static prototype SetH3DirectionPin on non PCM128 builds -artf3497 : Automate ControlCoreClassic VersionControlCoreSDK release version text -artf3504 : S12X PSP - Allow angle edge to schedule regardless of edge interrupt state -artf3506 : Selection of the default toolchain should factor in GCC and the "None" selection in the toolchain block -artf3507 : Make Core Coherency Threadsafe on the XGATE -artf3509 : Generic Encoder runtime data shall be core coherent -artf3511 : S12X - PSP edge scheduling may not be nested -artf3516 : Fix build warnings with GCC on ucFS sources in ControlCoreClassic -artf3517 : CC- Fix warning for pointless comparison -artf3518 : CC - Update Nant build files to look for motoparser in MOTOCODER_DIR/Bin by default -artf3520 : CC - Rectify footers in TPU_N12_WinSyncCAM....ftr -artf3522 : Fix link warning on ControlCoreClassic GCC build: cannot find entry symbol Entry -artf3526 : Fix documentation build (with Doxygen) for ControlCoreClassic -artf3527 : CC - Rectify packing in TPUuCodeError.h and usbSpecification.h -artf3528 : CC - Update use of __SECTION_ -artf3529 : CC - Add return to main() -artf3533 : CC - Fix unused variable warning for certain build configurations in MixedOutDriver.c -artf3537 : Delete \Documentation\ControlCoreSDK Release X.0 report_files -artf3540 : MH - Deprecate AIM Module -artf3546 : Fix errors in the MotoHawk Injector Sequence block -artf3552 : Automatically change the CAM pattern parameter '3 teeth - half wide' to '6 teeth - half wide' -artf3566 : MH - Update MuxPSP help -artf3572 : Repair the FormatID calculation when MotoCoder components are not present -artf3578 : Remove unintentional zeroing out of non-initialised variables for Fixed NonVolatile objects with GCC on MotoCoder MPC5554 based targets -artf3580 : Fix Control Core Classic Serial EE MemReadSync endless recursion with GCC -artf3592 : FormatID vardec needs to always initialize at startup (non-MotoCoder targets only) -artf3601 : Avoid using the CAST operation in the CAN Send Messages block -artf3602 : Add help text for the Queue Name parameter in the ADC Periodic Vector block -artf3603 : Remove stack unwind information from GCC PowerPC builds -artf3604 : MH - Encoder list [ECM-0563-048-0806] missing encoders -artf3606 : CC - Remove "BASSO_VALIDATION_REMOVE" from all remaining ControlCoreClassic build files -artf3614 : TPU - WinSyncVarCAM Rectify TimeBetweenEdges reading -artf3619 : DataStoreVardec Enumeration XML need to use the proper format -artf3623 : MH - Make VarCAM resources save in model -artf3625 : Clear Fault block does not adjust for the "Fault Source" option -artf3635 : CC - Add pragma pack(1) to tpu parameter ram struct layouts -artf3636 : MH - motohawk_encoder_types.txt is missing encoders -artf3638 : LinkerDefinition_(DEV/PROD).xml is generated incorrect -artf3641 : MH - Enhanced OneShot PCM128 EST9-16 remove -artf3659 : Enhance MotoHawk Encoder Help - part #1 2009b_beta1 Type: External Dependencies: -MotoTune version 8.13.7.87 or greater -MotoServer Runtime version 8.13.7.87 or greater -MotoCoder 0.9.0 Migration Notes: -ControlCore 52_0 MotoHawk New Features: -artf2708 : Add Update-time Error Checking to the ADC Periodic Vector blocks -artf3189 : Create MotoHawk 2009b Licensing -artf3210 : Move Component-S12 and Component-S12XE To Released -artf3222 : Add GHS build.exe task to NANT -artf3280 : Round up MC33810 max duration to nearest integer -artf3308 : TPU - Create WinSyncVarCAM primitive -artf3343 : Install PSP support on ECM48 LSO10 and LSO11 -artf3364 : Make ClassicControlCore sources buildable by GHS and GCC -artf3365 : CC - ProEFI - Toyota/IS300 36-2 3X CAM VVT -artf3369 : CC - Build ControlCoreSDK_52_0 -artf3383 : Implement InputCapture Get Block for MotoCoder targets -artf3387 : Re-Enable the fixed/adaptive arming configuration for PCM128 Encoders -artf3388 : Expose the Fixed/Adaptive arming threshold configuration for VR encoders -artf3390 : MC: Implement Assertion state for DigIn behaviors -artf3404 : Remove all customer security archives from SVN -artf3411 : Modify the Module Descriptor(MD) for TrueClean -artf3415 : CC - ProEFI Create "12X – 2 Stroke – Single Tooth CAM Sync" MotoHawk Bug Fixes: -artf3015 : MotoCoder Components on S12 CAL modules: Calibrations -artf3027 : Update to version 1.0.10 of the .NET license libraries -artf3145 : TPU - NissanZ allow selectable edge for cam pulse width measurement -artf3146 : Create the MotoHawk_Deprecated_lib and add legacy Quadrature -artf3147 : S12(X): Apply MSCAN errata patch only for S12 in ControlCore -artf3175 : TPU - Remove pspstrik.uc from Mask builds -artf3176 : TPU - FreqAvg.uc - Ensure write of LAST_T_MSB/LSB is coherent -artf3183 : TPU - Save one instruction in VarCAM.uc -artf3184 : TPU - NissanZ delay pseudo halfmoon -artf3190 : motohawk_clean_builds does not do anything unless "use_prompt" is set -artf3195 : CAN Read Message Block has unexpected Data Type assignments -artf3198 : Install "Ignore X Edges on Start-up" in TPU N12 Encoder Primitive -artf3201 : CAN Send Messages block outputs a build warning with GCC and S12 when payload mask is 255 -artf3208 : Compiler option missing during S12 Component build -artf3212 : CC - MotoQDEC.c rectify operator precedence -artf3215 : Optimize Pseudo Encoder Primitive in MPC5xx TPU Mask -artf3216 : TPU - Correct Primitive list for TPU_MASK_NX_CAM2X on TPU_C -artf3220 : TPU - Add FreqIn.uc to EVO9 VarCam TPU Mask -artf3225 : S12: Support user defined CAN settings -artf3241 : Expose "Ignore X Teeth Before Attempting Synchronization" attribute to MotoHawk -artf3254 : MC: Input capture block unable to trigger on both edges -artf3257 : DataStoreExists does not give the correct answer for MotoCoder targets -artf3258 : Add ADC Periodic Vector Documentation -artf3261 : Set ECT new timer before new action -artf3266 : Install Injector Complete Trigger support when the motohawk_sfun_injector block is used -artf3288 : Install Injector Complete Trigger support when the motohawk_sfun_dual_psp block is used -artf3289 : ESTs created as Injector style sequence outputs shall use Push Pull Driver mode -artf3311 : Default ToolChain selection should be more intelligent -artf3328 : Analog Input and Digital Input Creation Status needs to return the GetErrorCode() macro rather than raw NativeError_S type -artf3332 : Correct Cam Edge Polarity in ControlCore Classic -artf3333 : Utilize the Cam Edge Polarity Supplied by Host in Hyundai60 Cam TPU Primitive -artf3336 : Force the Component unpack operation to check for MH/ML version differences -artf3344 : Add ClassicControlCore sources to MotoHawk Tree -artf3345 : Add a "Ref" macro in the Component Data Store build for matrix references -artf3354 : Fix Dual PSP Start/Stop Control on Classic ControlCore targets -artf3361 : S12: Configure PEAR for GPIO -artf3366 : MH - ProEFI - Toyota/IS300 36-2 3X CAM VVT -artf3374 : Allow LSO1_IMON to be polled as a traditonal analog on Bedrock ECU -artf3376 : Add Nissan-Kohki Encoder to ControlCoreClassic -artf3378 : Add ADC Angle Vector Stopped Trigger Block Help -artf3380 : S12(X): Allow CPU InputCapture on PORTT -artf3381 : Add mechanism to get custom application descriptor Application level elements -artf3382 : S12(X): Implement InputCapture GetState method -artf3393 : ProEFI - NissanZ add crank links to non-sync VarCAM channels -artf3397 : Remove stateflow seed&key example from MotoHawk CCP Slave -artf3399 : VarDecs_MotoTuneDLL.xsl file needs to transform "char" into "TXTCHAR" -artf3403 : motohawk_vardec_lib assumes incorrect default offset value -artf3405 : Fix NANT task warning behavior -artf3409 : Fix TPU build file from commit in Artifact artf3376 : Add Nissan-Kohki Encoder to ControlCoreClassic -artf3410 : Fix ControlCoreClassic Framework.build on CCNet -artf3429 : Update readme boilerplate -artf3433 : CC - Remove vardec for CamDelay from PPCLib\ControlCore\API\Framework_MultiTask_Vardecs.c -artf3453 : Make "Assert" overloaded io:invert-macro function backward compatible -artf3472 : Create new version of motohawk_gettokendata, which is a dependency on .NET Licensing 2009a sp0.1 MotoHawk Bug Fixes: -artf3398 : VarDecs_MotoTuneDLL.xsl file needs to transform "char" into "TXTCHAR" 2009a Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.8.4 Migration Notes: -ControlCore 50_0 Known Issues: -artf3353 : Dual PSP on Classic ControlCore targets does not work in Start/Stop mode MotoHawk New Features: -artf2509 : Add - Verify Help files for New MotoHawk blocks (ADC Vector) -artf3279 : 2009a SP0: Round up MC33810 max duration to nearest integer MotoHawk Bug Fixes: -artf2200 : Change docs to reflect resource name types are strings -artf3047 : Implement dataless frequency input triggerin MotoCoder -artf3120 : XGATE: Analog Periodic Vector interrupts CPU without MH trigger present -artf3138 : Documentation - Update TDCOffset to indicate module differences -artf3226 : S12: Support user defined CAN settings -artf3260 : Set ECT new timer before new action -artf3267 : Install Injector Complete Trigger support when the motohawk_sfun_injector block is used -artf3316 : S12: Configure PEAR for GPIO -artf3322 : Analog Input and Digital Input Creation Status need to return the GetErrorCode() macro rather than raw NativeError_S type 2009a_beta4 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.8.3 Migration Notes: -ControlCore 50_0 MotoHawk New Features: -artf2643 : S12(X): Add PIT-based OutputCompare -artf2762 : Bedrock: Change GPIO tacho to PIT-based -artf3071 : Allow external property to set MOTOCODER_DIR used in build for TPU on 5xx -artf3077 : Suppress warning when creating a new GCC archive -artf3078 : Add Quadrature Decoder support to EngineBasic eTPU Mask -artf3149 : Add mechanism to get custom io definitions from motohawk_io MotoHawk Bug Fixes: -artf2217 : MPC5554 applications built by GCC do not update PeakHeapBytesUsed -artf2546 : Allow aliasing of initialised RAM for Merging/Programming on S12 -artf2722 : Create an auto-build helper script for checking the MotoHawk license -artf2927 : SECM0502 Hbridge: Pass Maximum Frequency to each PWM Resource -artf2934 : TLE6209: Fix chopper-off-time enumerations -artf3061 : Default TLE6209 and NCV7513 settings match requested from Conti -artf3079 : S12(X): Install ECT Input Capture Interrupt Nesting Support -artf3080 : Modify FreqIn_Common.xsl to optionally execute without a level shift -artf3087 : Implement support for overrun status in the Frequency input notification -artf3090 : Add motohawk_tex to the Fixed Point Prelookup block to fix name formatting -artf3093 : S12X: Minimize unused XGATE stack footprint -artf3095 : S12XE: Minimize heap required for FLASH routines -artf3099 : Remove SS_OPTION_WORKS_WITH_CODE_REUSE from Probes -artf3100 : S12(X): Encoder error not thrown upon false zero speed event -artf3102 : Correct Frequency Definition operation when some outputs are connected to Terminators -artf3107 : S12: Extremely large calibration corrupts 'DEV' user application -artf3109 : Remove Task_StackMetrics_Refresh from application idle loop on MotoCoder targets -artf3110 : Remove Timer_Watchdog_Refresh from common Task Execute function on MotoCoder targets -artf3111 : Data Store definition must create column vectors properly in MotoCoder -artf3118 : Accessing Structure Data Stores with Matrix fields by Reference causes build errors in Legacy CC -artf3135 : S12X: CPU copy of 32-bit free running counter subject to race condition -artf3138 : Documentation - Update TDCOffset to indicate module differences -artf3140 : Bedrock: Make encoder interrupts top XGATE interrupts -artf3144 : DataInitializer function must use the parameter dimensions and not the output signal dimensions -artf3158 : Integrate fix for ASAP2 generator failing on Measurement Bitfields -artf3159 : Discrepancy in Quadrature Encoder Ready Interface -artf3161 : "Fault Action Assigned To Fault" does not report the correct value if more than 5 fault actions are present -artf3165 : Enable Watchdog -artf3166 : Documentation updates 2009a_beta3 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.8.2 Migration Notes: -ControlCore 50_0 MotoHawk New Features: -artf2859 : Install MotoCoder Support for the "Trigger After N Pulses" Frequency Input Mode -artf2891 : Install Interrupt Support on MPC555x Frequency Inputs -artf2954 : Install Input Capture support on S12 ECT Inputs -artf2969 : Implement Frequency version of the FF_74HC74 DeviceDriver via in Input Capture -artf2983 : Add the Generation of Data-Driven Text Files to MotoCoder -artf3011 : S12(X): Allow app extension to disable MC33810 ON Open Load Fault Detection MotoHawk Bug Fixes: -artf2707 : Remove duplicate copy of calibrations from FLASH -artf2843 : Update KeySuiteCommon.h to reflect legacy enum claims -artf2870 : Create Freq In "Trigger After N Pulse" Set block in MotoHawk -artf2873 : Variable X-Tooth PWM CAM Help is incorrect -artf2885 : Handcoded MotoCoder: Several XML build-related files are generated into the calling directory -artf2886 : Handcoded MotoCoder: Application descriptor is required to be in the build directory for S12 targets -artf2890 : Support GetKWPVersion from hardboot -artf2955 : Integrate new ASAP2 binaries and transform -artf2960 : 2009a Handcoded MotoCoder: Build statistic parsed files use Application/Build/Directory in their path -artf2972 : Updated MotoConvert Executable -artf2975 : Add Selectable App Pointer versions for S12 Code Generation -artf2981 : S12(X): ECT_PSP_Create uses CPU object as processor indicator -artf2986 : Updated NANT binaries -artf3005 : Repair fixed point math blocks for S12 MotoCoder -artf3008 : 2009a : References to Matrix data causes module reset with ECM 090x modules -artf3018 : Correct template match scope on Fixed point Math Service -artf3019 : Update MotoConvert Binary -artf3031 : Make FF_74HC74D period recovery thread safe -artf3036 : Have "Provide Trigger after N Pulses" emulate Classic implementation -artf3037 : Correct race condition in FF_74HC74 device driver's zero frequency detection -artf3040 : Reverse changes in artf3005 -artf3049 : 2009a b3 - S12: ControlCore Flash routines fail due to invalid PPAGE value -artf3054 : S12X: ADCPeriodicVector enable state must be coherent -artf3083 : Add Virtual Probe data stores to the global MotoHawk data store list in MotoCode 2009a_beta2 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.7.5 Migration Notes: -ControlCore 48_0 MotoHawk New Features: -artf2629 : S12(X):Add ECT OutputCompare -artf2630 : S12(X): Add SW_TRIG_SINGLE_SCAN analog queue mode -artf2632 : CCC: Add ADCPeriodicVector DD -artf2633 : Add MH support for ADCPeriodicVector -artf2634 : Enable ADCPeriodic Vector for DPF SmartFire module -artf2635 : CCC: Add VolatileWork pragma -artf2649 : Support WindowsPC target -artf2650 : Add i386 component target and include in RTW libraries -artf2653 : Add i386 to the security archive builds -artf2685 : Update NANT binaries -artf2691 : Create NANT build file for Rijndael Encryption library -artf2692 : Create NANT build files for S12 HardBoot code -artf2711 : S12 (X): Add HiResOneShot behavior -artf2743 : Add new capability value for use with ETK -artf2749 : Create SECM0502 module descriptor. -artf2754 : S12(X): Add batch building for Hardboot MotoHawk Bug Fixes: -artf1700 : 2008b: ECM-0S12-024-0503/0804 modules not properly configured for FrequencyInput DG on CNK -artf1911 : Frequency Input Causes build error on S12 targets -artf2473 : Fix GCC/PowerPC toolchain installer for x64 platforms -artf2498 : On S12(X) make PWM use TIM module -artf2617 : Add CacheDelay node for MC33810 and NCV7513 in module config xml file -artf2622 : Add support for custom rt_nonfinite.c file generation -artf2637 : Unexpected nightly build module descriptor in release -artf2638 : Add Custom security for OH4.0 -artf2647 : Correct and Enhance DualPSP Block Help -artf2654 : NANT binaries Update -artf2674 : Assure motohawk_prepare_release is performed with sfunction DLLs -artf2681 : Remove K_OHMS limitation of Max Volts needing to be larger than max current -artf2706 : Create MPC5554-ghs and MPC5554-gcc targets in PIM module support build files -artf2709 : Remove MOTOGCC_WIN32PE_INSTALLDIR from the win32-pe msm/exe Installer -artf2728 : Change motohawk_check_gcc_armce to use correct directory -artf2730 : NCV7513: Shorted load causes all faults to be triggered -artf2731 : Move H-Bridge block code to tlc function update. -artf2745 : ECM5554-112 DEV modules are lacking Calibrations when compiled by GCC -artf2750 : 2009a: Add check for valid byte in pack/unpack blocks -artf2751 : 2009a: DSP message rx buffer max size should be 50 -artf2761 : S12(X): Allow AD00 to be used in analog bootstrap criteria -artf2776 : S12 (X): Support "short" OutputCompare durations -artf2827 : Correct Failure of Disable to stick in Child PWMs on the eTPU -artf2831 : Bedrock: Set MC33810 maximum dwell current to 12A -artf2833 : S12 (X): Correct handling of negative PWM duty cycle to spec -artf2841 : Make processor compiler defn tolerant of _CRT_SECURE_NO_DEPRECATE -artf2842 : Update vcproj build files for selected libraries -artf2850 : DFREQ2 and HiResOneShot on LSO4 use same resource -artf2860 : Create a new motohawk_gettokendata which does not use MotoServer COM interface -artf2861 : Remove TIM from S12/S12X builds -artf2863 : Add CC00 data flash section to all S12X builds -artf2864 : S12(X): ADCVector enable port acts as rising edge trigger port -artf2866 : S12X: Use HW Semaphores for coherency protection -artf2867 : S12X: Pend the XGATE only on HW semaphore wait -artf2868 : S12X: Applicaiton PSP timings shall be ensured coherent -artf2881 : Remove FakeCAN.xsl from ComponentControlCore CodeTemplates -artf2888 : S12(X): Allow for ADCVector queues greater than 256 in length 2009a_beta1 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.7.5 Migration Notes: -ControlCore 48_0 - Power Inverter Module (PIM60). The PIM-5554-060-0801-xD target does not build correctly due to a missing archive file in the installer. To use the PIM60 target, please contact Woodward MCS Support (mcssupport@woodward.com) for additional information. MotoHawk New Features: -artf1661 : S12X: Enable Transient Injection -artf2047 : Create Common Module Descriptor for PIM Hardware PIM-5554-060-0801-xD / xD-1 -artf2049 : Create DeviceDriver for MAX6753 with D-Latch Enable -artf2061 : Create AU6803 Resolver IC DeviceDriver -artf2066 : Integrate .NET licensing library V1.0.6 -artf2071 : Make all register access on 555x targets volatile -artf2083 : S12(X): Enable input capture application triggers on MC33810 diagnostic outputs -artf2087 : Migrate build scripts to utilize latest generation of MotoConvert -artf2091 : GCC linker script not properly aligning .CC_IRQ_vectors -artf2092 : Make List File Generation Optional with MotoCoder Targets built with NANT -artf2102 : MotoCoder Components - Step 4: NonVolatile Data Stores -artf2111 : Add 32 bit fixed point blocks -artf2129 : Create support for CCM 1001 -artf2133 : Create new hardware majors for CCM1001 -artf2141 : Separate AC Machine Parameters into base and error term -artf2142 : Separate PMSM Machine Parameters into Base and Error and Split LLs into Lq and Ld -artf2145 : Get ToothPeriodInNativeTimer accessor for EncoderGenAPI -artf2154 : PIM Current Regulator Gains to be function tunable -artf2165 : Fault Status/Action Blocks create extra global RAM -artf2176 : Frequency Input Trigger block still present in deprecated location, Trigger Blocks subsystem -artf2184 : Install mechanism to allow MPC55xx Registers to be read by MotoTune -artf2186 : Add method that polls for overrun in an analogue queue -artf2191 : GCC: MPC555x link file generation for Calibration and NonVolatile operation -artf2195 : motohawk_send_data does not report the toolchain used during the build -artf2225 : NANT support for determining library paths in GCC build files -artf2230 : Change MotoHawk dependency on MotoDevelopmentTools to reference MotoCoder/Bin -artf2232 : Build and integrate ControlCore_49_0 into MotoHawk -artf2236 : Add MotoParser.exe to MotoCoder/Bin directory -artf2252 : Security Archive Generation for GCC 4.3.2 -artf2253 : Integrate new ASAP2 Generator executable -artf2256 : RTW Archive Generation for GCC 4.3.2 -artf2269 : motohawk_gcc_[win32_pe/m6812]_directory should be refactored -artf2287 : Add the Maximum Frequency Parameter to the PWM block -artf2316 : Change MotoHawk Component Builds to use Nant -artf2336 : Install MPC55xx ModuleSupport function to configure the Engineering Clock -artf2357 : Expose the Resolver Position Feedback to MotoHawk -artf2378 : Add Quadrature Encoder Ready Interface -artf2379 : Install method to recover the state that has been assigned to a digital output -artf2385 : Add G_FLT_PIN to PIM-5554-060-0801-xD-1 -artf2390 : Change ShortFaultTimer to 120 usec on MC33800 Discrete Outputs - 2009a -artf2400 : Change win32-pe to a merge module -artf2402 : MATLAB 2009a requires RTW archives -artf2406 : Installer must enable the MATLAB 2009a check box -artf2418 : Add GCC Toolchain node to 112 pin module descriptors -artf2421 : Remove unnecessary files from IO and DataStorage -artf2427 : Alter Machine Control sources to account for new inductance scaling -artf2429 : S12(X): Allow HSHS Duration to update after update tooth -artf2435 : S12(X): Add Oneshot complete triggers -artf2489 : Create a new module descriptor for TrueClean Module S12(X) -artf2490 : Oscillator Clock Frequency 20Mhz TrueClean S12(X) -artf2492 : HWMajor, HWMinor for TrueClean S12(X) -artf2521 : Security Archive Generation for GCC 4.3.3 -artf2524 : RTW Archive Generation for GCC 4.3.3 -artf2526 : Compensate Resolver originated Speed and Position values for Resolver Poles -artf2544 : Utilize resolver ready status to initialize the quadrature on start-up -artf2551 : Implement eTPU PWM Primitive that supports the Parent/Child relationship -artf2553 : Update the module name of the W8237-1299 to 8237-1299 -artf2569 : Remove MPC5553-112-0901 module descriptors -artf2582 : Deprecate GCC 4.3.2 -artf2583 : Modify Device Driver of PCM0904/CCM H-Bridge to perform synchronized braking -artf2592 : Expose the VISTA.DAC2 output on 1751-6456/1751-6457 modules -artf2593 : Create new HBridgeOutput behavior/block in MotoHawk -artf2613 : Implement "StandardModules" feature of licensing -artf2641 : Release the TrueClean S12X module as ReleaseRestricted MotoHawk Bug Fixes: -artf1428 : Legacy 5xx builds fail with floating point type set to disabled -artf1937 : MH - Use DURATION_CTRL_HARDSTOP for all modes in the DualPSP block -artf1946 : MC - Error if GHS 3.6 build selected as unsupported -artf1947 : PCM128 CCC - Code has no CRC block so Hardboot fails to jump to it -artf2054 : Add other CAN baud rates for 55xx modules -artf2058 : Add TLC list "setup_script" entries to application descriptor in MotoCoder builds -artf2063 : remove motohawk_sfun_custom_security.dll from SVN -artf2067 : GCC RTW generation broken -artf2069 : Ensure NCV7513 Fault Status Get method has a return value -artf2072 : 55xx eQADC infinite loop -artf2073 : eMIOS RTC not operating at correct frequency -artf2074 : 64 bit Timebase access not correct under GCC -artf2075 : Compiler data alignment on 55xx with GCC -artf2076 : Linker error on eTPUuCode_TimeBase_OpenAsEncoderAt10MHz with GCC -artf2077 : NonVolatileWork.MotoHawkModelSecondsInUse bad with GCC -artf2080 : 2009a: Current Measurement block not generating a valid C name -artf2084 : GCC asm macros clobber registers -artf2097 : S12(X): ControlCore unable to discern PWM bank -artf2100 : 2009a: Component Directories need to be initialized better -artf2101 : S12(X): PSP start edge overwritten by stop edge during encoder acceleration -artf2107 : MotoCoder Components - Enumerations aren't created properly -artf2109 : MotoCoder Components - Data Store References do not Build -artf2114 : Int32 prelookup not working when a breakpoint has a large step -artf2116 : Application model with component fails to build -artf2119 : PCM128 - Remove 0702 MinVersion -artf2130 : 2009a: PCM128 - (MH) Undo PCM128_0702 ExtRam new archive -artf2131 : 2009a: Build and Integrate Legacy ControlCore_49_0 -artf2138 : Utilize static page buffer on Serial EE Writes -artf2140 : MPC5xx CCC - Module fails to boot into app unless started by debugger -artf2144 : MATLAB 7.7 build error -artf2147 : Build error when generating RTW archives -artf2150 : motohawk_sfun_quad_encoder causes a build error when built for MotoCoder Targets -artf2159 : Build warning in CRC calculation (S12 only) -artf2161 : Correct PIM Current Regulator Kp Gain conversion -artf2162 : S12(X): Tooth Period incorrect on first tooth after crank sync -artf2173 : 2009a: DataInitializer needs to handle column vector -artf2174 : S12(X): Encoder degree members have implied gain of 16 -artf2177 : Documentation typo motohawk_abs_time mask help -artf2185 : ADCAngleVector must gracefully handle ADC Overrun -artf2194 : 2009a beta 1: Add pfnEncoderStateChangeHandler member to S_TachoMethods_CPU in 55xx stream -artf2202 : Change GCC build options for MPC55xx targets -artf2203 : Check in updated MotoElfParser -artf2204 : Move EST Diagnostics to ADC1 -artf2205 : Correct ADCAngleVector conversion time attribute -artf2208 : Correct PIM ADC conversion time attribute -artf2218 : Support fixed nonvolatile operation on GCC builds -artf2228 : Remove rounding in Encoder Degrees Per Teeth Setting -artf2231 : CC - Correct VarCAM initialisation for PX and HalfMoon -artf2233 : motohawk_check_gcc_powerpc-eabi fails with gcc 4.3.2 -artf2238 : ComponentControlCore_Services_CRC.xsl declares sError, but doesn't use it -artf2243 : MotoCoder_CAN.c returns several warnings during GCC builds -artf2245 : MotoCoder_Datastore.c creates a warning when building with GCC -artf2247 : Build error with addition of the ParameterInitializer function -artf2249 : motohawk_gcc_powerpc_eabi_directory returns the wrong directory after upgrading to 4.3.2 -artf2250 : motohawk_sfun_read_can_raw assigns msg_valid even when it isn't used -artf2254 : Add __GNUC__ support to all pragma section header files -artf2258 : CNK_Encoder_LastTooth not used anymore -artf2259 : Initialize two stack variables in Encoder.xsl to prevent GCC warnings -artf2260 : QADC_Create function has an unused local variable -artf2261 : Correct GCC warnings issued when using the INSTANTIATE_MuxVRDGInOverride_Encoder macro -artf2262 : Correct GCC warnings in VISTA.xls generated source code -artf2264 : Application Monitor creates an unused variable -artf2265 : MC3388x.xsl calls the wrong constructor -artf2268 : Implement ADCAngleVector stopped notification -artf2270 : Correct GCC warning related to the prototype of the CNK_EncoderOnPeriodicTooth function -artf2273 : Nant build of MotoHawk Application doesn't select correct compiler -artf2278 : Calling MotoTune DLL NANT build file escapes quote with backslash on path -artf2282 : Enable GCC within ModuleSupport_ExternalSRAM.c (MCM/MCM_CV paths) -artf2291 : Add Build Statistics to GCC builds -artf2294 : S12(X): Programming Failure may cause module to permanently remain in hardboot code -artf2295 : Component Builds fail with 1D Prelookup and Tables in some cases -artf2297 : Surpress freescale-chc12 message about new dependency file during a Nant build -artf2300 : Integrate updated version of Frescale compiler Nant Task -artf2303 : Make MotoParserXML.exe statically linked -artf2305 : Define S_SPI_SendMessage in MPC5xx\API -artf2306 : MPC5xx CCC - OS changes for PCM128 to allow reboot and programming -artf2307 : Build and integrate ControlCore_50_0 into MotoHawk -artf2310 : NANT for GHS does not calculate deps for inf files correctly -artf2312 : Add Fixed NonVolatile Vardec Support in MotoCoder -artf2346 : Account for left truncated data return in the AU6802N1 Resolver IC -artf2348 : Components - Vector Input and Output ports return a build error in MATLAB 7.5 -artf2353 : Remove variable name from Fixed NonVolatile section names -artf2368 : NANT ignores return code -artf2369 : MotoConvert does not populate all InitRAM sections on GCC builds -artf2370 : motohawk_injector: Warning displayed when Transient and Min Duration Port set to "Static" -artf2375 : Checkin new MotoTron.Elf.Parser.dll with GCC elf correction -artf2376 : Illegal S-Record generated by MotoConvert for S12 -artf2383 : Add KEY REV 14 for all S12 variant target builds -artf2384 : Update motocoder to select KEY REV 14 for custom timeout in all S12 target variants -artf2386 : CCPMaster fails for target Win32Host-gcc -artf2387 : KeySuiteServer.build contains a freescale compile in a gcc build target -artf2391 : Dual PSP Min Duration not set to Zero -artf2397 : MotoHawk FaultManager : If uint16 is selected for the data type, warnings are displayed -artf2398 : MATLAB 2009a uses a different assembly for XPath parsing -artf2403 : S12(X): Reduce GPIO Refresh Execution Time -artf2404 : Remove the "obsolete rtw_info_hook file" message at the beginning of the build in MotoHawk Installers that do not support 6.5.1 -artf2405 : Add documenation for the UNLICENSED option in motohawk_mex_template.c -artf2408 : S12(X): HB v4.5 Sets PORT_PT6 low -artf2409 : motohawk_sfun_convert_fault_T does not output the proper expression when passing a function call boundary -artf2411 : Fault Manager with fewer than 32 faults displays a warning when built with GCC -artf2415 : motohawk_sfun_ain and motohawk_sfun_pwm returns a build warning when building with GCC in some cases -artf2433 : S12(X): Allow MC33810 max dwell rounding to be configurable -artf2438 : 2009a Correct motohawk_encoder_types.txt Settings for 24-1 Encoder -artf2461 : S12(X): Newly added DigitalOut pfGetState() macro param missing for XGATE build -artf2472 : Correct BasicOut Build Warning identified by artf2458 -artf2476 : Fault Actions specified in the Fault Definition block cause build failures when using MotoCoder targets -artf2479 : RTW archives do not extract if user does not have write permissions in Toolchains directory -artf2482 : 2009a MH Clear bootmailbox for 5xx targets -artf2493 : Implement log and ln functions in MotoCoder -artf2495 : Add MotoHawk End of Pulse Trigger blocks -artf2496 : MotoCoder changes to implement generic PWM for S12(X) -artf2499 : MotoHawk Support for numeric Module Descriptors -artf2511 : Discard MSBit in Resolver AU6802N1 SPI Data Read -artf2513 : Correct setting of the high rate step for Quadrature Decoders operating in HighRate mode -artf2515 : _TXBuffer_IsFree should check for existence of Tx Queue -artf2516 : CCC 5xx builds fail with multiple CAN KeySuite Connections -artf2520 : MotoHawk Help Update - Template for new Woodward Logo (MH2009a) -artf2525 : RTW build script does not halt on build failure -artf2527 : MotoHawk is generating invalid uNumEventsInArray in Legacy Scheduler when repeat triggers are present -artf2530 : S12X: Ensure access to ECT registers are core coherent -artf2535 : Enable Watchdog on Peiker Modules -artf2539 : S12(X): CRC Services does not handle far addresses properly -artf2543 : Update CAN.xsl to ensure that there is only one CAN transmitter when WIRE_OR is selected -artf2545 : Provide default setting for the rate of execution of the High Rate QD Speed Calculation -artf2548 : Build Fails when multiple CAN resources exist but no TX queue -artf2558 : Build error occurs when specifying a boolean vector/matrix as a field in a structure -artf2564 : Dead Code Elimination in GCC -artf2571 : Unsupported resource behavior error messages return structure fields and not the module names -artf2574 : Component Descriptor needs to have the correct location for the RTW archives -artf2581 : NANT and Motoconvert Fixes -artf2588 : Correct GCC uninstallation -artf2589 : Correct Theta_m DAC Operation -artf2594 : motohawk_gcc_win32_pe_directory selects inccorect default -artf2596 : Order of FixedNonVolatile and NonVolatile sections is inconsistent for GCC -artf2598 : Digital Output block generates a build error during the first build of a model -artf2599 : Warning in rtwtypes.h when building for MATLAB 2009a -artf2601 : Prevent Voltage Saturation on PIM Controller when Current Regulator Gains are zero -artf2612 : Change the release build procedure to only build archives for released modules 2008b_beta5 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.7.5 Migration Notes: -ControlCore 48_0 MotoHawk New Features: -artf1676 : Make List File Generation Optional with MotoCoder Targets -artf1771 : MotoCoder Components - Step 3: Faults and Fault Actions -artf1840 : S12(X): Move COP Creation into ControlCore -artf1841 : S12(X): Allow COP to purposely timeout upon failed powerdown -artf1842 : Bedrock: Enable Watchdog -artf1882 : S12(X) CCC: Deprecate MotoFuse build file support -artf1892 : Release Legacy ControlCore_48_0 -artf1901 : Support Fault Details for TLE6209 -artf1935 : S12(X): IRQ_ISRVector_Exectute() uses inefficient data access -artf1943 : Add 32-2 - 2 stroke Encoder to 090x modules -artf1985 : PCM128 - ExtRAM (CC) adjust AppCompatibilityArr -artf1968 : (MPC55xx) Expose Interrupt CPU Performance Metrics -artf1974 : Report only Actual Idle CPU = (Actual Idle CPU = ControlCoreIdleCPU + IdleTaskCPU.) -artf1993 : MotoCoder Components - Enable Build Password -artf2037 : Add Half Moon and Single Tooth CAM on 112 36-2 -artf2051 : Add H bridge support to PIM-5554-0801-xD -artf2064 : Integrate .NET licensing library V1.0.6 MotoHawk Bug Fixes: -artf1580 : Integrate MATLAB 2008b into the MotoHawk Installer -artf1800 : Correct GCC warnings on MPC55xx processor archive -artf1837 : S12(X): Sequence outputs may stall asserted during zero speed timeout duration -artf1838 : S12(X): Physical Tooth Detection Observed Before Encoder Creation -artf1870 : ADCAngleVector targeting a PROD module references nonexistent memory -artf1887 : Allow MotoCoder to generate code without compiler present -artf1891 : PCM128 requires ControlCore changes to properly support External RAM -artf1905 : Fault Details on NCV7513 chip -artf1910 : CC - Size SPI EE correctly -artf1925 : S12(X): PSP's fail to properly handle immeadate power-up CAM sync -artf1927 : CCP Master Passthrough can send GET_DAQ_SIZE incorrectly -artf1929 : S12(X): Close XGATE upon IO_Close() -artf1936 : CC - EVO8/9 Encoder requires larger SchedGap -artf1939 : User-task based application code shall not execute post module shutdown -artf1942 : GCC asm macros clobber registers -artf1953 : motohawk_sfun_fault_action_assigned Block creates a TLC code gen error when input port is unconnected -artf1958 : MotoCoder Quadrature Encoder Build Error -artf1960 : In cylinder pressure sampling task shall use internal RAM for its stack -artf1962 : ADCAngleVector should use mc:trigger, when possible -artf1963 : motohawk_crc_directory returns an error in MATLAB 7.0 when p-coded. -artf1965 : Legacy S12: .\.\MotoCoder_ModuleSupport_Reset.c(41): INFORMATION C3604: Static 'ModuleSupport_Reset_CallEntryVector' was not referenced -artf1966 : Add ADC Angle Vector support to AN24-AN29 on PCM0902 Modules -artf1967 : Dual PSP - Has no MinDuration setting, defaults 1.5ms -artf1969 : Apply correct PCM090x External RAM wait state setting -artf1980 : ProEFI - NissanZ VarCAM triggerblock does not trigger -artf1984 : PCM128 - (MH) Adjust/Create linker files to cope with ExtRam -artf1995 : S12(X): Memory Access Function Fail on last section address -artf1996 : motohawk_sfun_fault_action_assigned Block disconnects its input port on first update -artf1998 : Apply correct PIM External RAM wait state setting -artf2041 : Correct PIM's Module Support Archive build files to include external RAM -artf2042 : VarCAM Trigger does not work -artf2053 : Behavior Naming for Current Measurement and/or Fault Status not unique -artf2132 : MATLAB 7.7 Build Error 2008b_beta4 Type: External Dependencies: -MotoTune version 8.13.6.73 or greater -MotoServer Runtime version 8.13.6.73 or greater -MotoCoder 0.7.4 Migration Notes: -ControlCore 47_0 New MotoHawk Features: -artf1687 Add block to disable DSP on HFM module -artf1447 Peiker custom bootloader support for HFM -artf1778 Toolchain Specification Change for DefaultSecurity -artf1784 Security Archive Generation -artf1788 2008b CC Changes to include 36-2 no CAM Encoder -artf1787 2008b MH Changes to include 36-2 no CAM Encoder -artf1671 MotoCoder Components - Step 1: MPC5554 + Build + Periodic Triggers -artf1688 MotoCoder Components - Step 2: Basic Data Stores -artf1783 NANT support in Component Control Core -artf1677 2008b: Remove "motohawk_latest_version" -artf1823 Allow diary in motohawk_make_rtw to be disabled -artf1749 Add a flush method to the Queue ADC processor behavior -artf1782 Add method to recover Theta from a Quadrature Decoder -artf1672 Add support for Trigger Definition Block on S12's -artf1766 Add Theta_m encoder offset -artf1747 Allow MC Task definition to specify an external RAM stack location -artf1714 Build Stats for Metrowerks builds -artf1757 Create MotoHawk blocks for the ADCAngleVector behavior -artf1713 Develop MC syntax that will allow MotoHawk to specify the creation of a private user task -artf1727 Implement IEEG triggered ADC (ADCAngleVector) device driver -artf1728 Implement MC Interface for Handcoded ADCAngleVector -artf1719 Insert "priority" space between the available pre-defined MotoHawk Tasks -artf1712 Install method to recover multiple ADC results from a single function execution -artf1721 NANT build file for 55xx Device Drivers -artf1723 NANT build files for 55xx Processor archive -artf1733 S12(X): Enable End Of Injection Triggers -artf1648 Support callbacks within the IEEG MC template MotoHawk Bug Fixes: -artf1802 Move Component-MPC5554 To Released -artf1861 Remove Build directories in MotoCoder release script -artf1792 S12(X): Provide core data coherency for tooth period -artf1791 S12(X): Remove gap reporting in tooth period. -artf1658 2008b: Build Time warning generated by CAN Send Messages block when out of range constant blocks used -artf1659 2008b: Error found when creating Calibrations in MotoCoder with Non standard gains and offsets -artf1796 Change PWM block so multiple NONE resource can be selected -artf1738 GCC support in 55xx Processor Archive -artf1630 KeySuite Error when CAN interface present, but no MotoTune selected in MotoHawk -artf1774 PCM0904 ModuleSupport Build Files -artf1726 Port Tasking kernel fixes related to waiting while Idle -artf1669 SerialLink Rx Queue uses incorrect size -artf1755 Tenneco(S12X) EE Switch to Internal EE from Serial -artf1786 Add 36-2 - 4 stroke - No CAM Encoder to 090x modules -artf1785 Add 60-2 - 2 stroke - No Cam Encoder to 090x modules -artf1739 Correct eQADC_Queue_Conversion_Result_WithTimestamp_Get warnings -artf1694 Module definition block confuses Legacy and MotoCoder targets -artf1776 MotoCoderComponents Step 1 and 2 break RTW builds -artf1781 motohawk_check_gcc_win32_pe uses incorrect argument for gcc_dir -artf1632 Serial Issues w/ 11 EZLink blocks that are contained in a 100ms trigger -artf1751 Type/const change in eTPU function eTPUProc_TPUMaskDefn_GetPtrWithTPUChannel -artf1674 "Release" 0904 module -artf1793 Build and integrate ControlCore_47_0 into MotoHawk -artf1779 Build fails when Angle/Duration PSP sequences are used -artf1770 Build warning when SwIDTxt is 13 characters long -artf1775 CCPMaster - Review None Steve Basso Integrated -artf1819 GCC 55xx builds fail with an error in Motocoder_IO.c -artf1822 Improve alignment for build Metroworks stats -artf1767 MotoCoder generation of Database.c does not handle quotes in help text -artf1795 MotoHawk Trigger Definition Help needs updating -artf1326 PowerPC NativeSizes should be moved into the processor XML file -artf1750 Remove .build files in MotoCoder release script -artf1660 S12(X): SCI callbacks should execute outside of a critical section -artf1777 S12 CPU_Vectors.xsl fails when more than 1 toolchain is listed in the module descriptor -artf1720 Warnings detected by GCC in DeviceDrivers build on 555x targets 2008b_beta3 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.7.3 Migration Notes: -ControlCore 46_0 New MotoHawk Features -artf1625 ProEFI MH Encoders for EVO9/NissanZ -artf1607 Build Legacy ControlCore_44 -artf1599 Add IO support for BTN7930-based h-bridges -artf1651 Release ECM-S12X-070-1001 module -artf1174 ProEFI TPU Encoders for EVO9/NissanZ - Orbital -artf1558 Quadrature Support from CCM on PCM09 -artf1553 Create ControlCore interface for External Encoder Generator -artf1554 Create MC to interface to the External Encoder Generator behavior -artf1552 Encoder Signal Generation eTPU Primitive -artf1566 Remove reference to tool related includes for eTPU source code builds MotoHawk Bug Fixes: -artf1613 2008b: FixedNonVolatileRestoreOnFirstStartup Calibration does not restore defaults (5xx) -artf1602 ProEFI - NissanZ encoder improve robustness -artf1582 Prevent access to eTPU by QD if QD fails create -artf1603 Add additional Discrete Outputs -artf1639 Optimize S12 SCI ISR for speed -artf1606 SCI idles incorrectly on S12 -artf1605 SCI queue sizes calculated incorrectly -artf1604 Decrease SPI receive response time. -artf1641 S12(X): GPIO-based Tachometer pulses are based off of electrical reference -artf1631 S12(X): Apply sensory offset to angular events -artf1617 2008b: Frequency Input on CNK doesn't work -artf1644 Correct channel assigned to DG7 in PIM module descriptor -artf1597 Correct eTPU math handling of the Zerotime filter constant -artf1646 Install H-Bridge support for PIM 2008b_beta2 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.7.2 Migration Notes: -ControlCore 43_0 New MotoHawk Features: -artf1394 Add optimization to motohawk_sfun_unpack block with terminated signals -artf1439 MATLAB 2008b S-Function warnings -artf1485 Add support for DV PCM0904 hardware -artf1572 2008b: Update to .NET 1.0.5 licensing libraries -artf1296 S12(X) does not support encoder fault MotoHawk blocks -artf1196 S12(X): Remove DOS Command Line Length Restriction From Batch Files -artf1422 S12(X): Remove software protection against using incorrect encoder -artf1538 Create MH Blocks for basic IEEG functionality -artf1496 Interpolative Encoder Edge Generator (Host CPU) -artf1471 MC interface for IEEG behavior -artf1470 Interpolative Encoder Edge Generator (eTPU) MotoHawk Bug Fixes: -artf1571 Allow MotoCoder the ability to validate protocol based on communication resource -artf1561 S12X: EEPROM_Close() stalls if g_u32StarvationTimer_us is linked into emulated EEPROM -artf1408 Correct Frequency Gitter -artf1576 PIM Slip calculation must correctly handle a negative commanded Iqse -artf1568 Keysuite server fails to report "Protocol Unavailable" -artf1564 Allow a Zoom Region to be specified for a PWM DAC -artf1563 Multiply the Phase PWMs of PIM's PWM generation by a further 2 -artf1541 AVL Change Request - fix EST polarity flipping -artf1512 55xx PWM eTPU primitive does not immeadately apply a non-zero frequency -artf1501 S12X:Deadlock occurs during simultaneous timer overflow and Coherency pend -artf1548 2008b: IO Fault Status prints out messages when using 5xx targets -artf1522 Swap the order of PSP Timing update versus condition update -artf1547 2008b: CAN Block Pace Interval can be specified as a negative number -artf1490 2008b: PROSAK Knock Definition block requires the presence of a Knock Results Block -artf1542 2008b: Correct ASAP2 file CAN Baudrate indication -artf1500 2008b: Fault Actions fail update when declared in another component -artf1511 Prelookup Reference block code generation prevents new calibration from a programming file -artf1491 Allow MOTOHAWK_EXTRA_DIR to contain multiple paths -artf1478 MotoZip operates incorrectly on Windows 64 Bit OS -artf1472 ECM70 Module Descriptor - CAN2 -artf1575 Omega_m not refreshed if Lam_dre falls below Lam_dre_min 2008b_beta1 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.7.1 Migration Notes: -This is the first official release of the 2008b branch. It also uses some terminology that is related to our new bug/feature tracking software. Each "artf" is an artifact that is used to track a bug/feature. -artf1440 Add support for Serial on MotoCoder targets -This also includes an interface change to the Serial I/O blocks -ControlCore 42_0 New MotoHawk Features: -artf1394 Add optimization to motohawk_sfun_unpack block with terminated signals -artf1368 MotoHawk support for Maintenance Free dongles -artf1264 Add Fault Accessor to Detemine if Action is Assigned. -artf1355 ProEFI TPU Encoders for Viper (MH) -artf1270 Add Encoder to MH - 36M1_CoyoteCAM for AVL -artf1420 Adjust PIM IGBT TurnON and TurnOff values -artf1389 Optimize RAM usage in S12 Flash Routines -artf1455 Install PWMOutput Behavior on PIM IGBTs -artf1291 Changes to Injector Diagnostics - Add DualPSP Block -artf1352 Create Current Measurement MotoHawk block -artf1195 S12(X): Enable Manual CAM Phasing MotoHawk Bug Fixes: -artf1341 2008b: Builds fail for 5xx modules if only 3.6 compiler is installed -artf1294 Enforce limit of 8 MuxPSP channels in MH - 2008b -artf1350 MuxPSP ESTs permanently high at zero eng speed (MH) -artf1189 SECM async EEPROM writes not being serviced. -artf1330 2008b: O2 Sensor Vista Driver does not handle all possible values -artf1358 2008b: Label for PWM Peak Time is incorrect -artf1374 2008b: Zero values entered in Prosak Knock Results block results in build error -artf1395 2008b : Glitch with Current Feedback (MH) -artf1321 makerelease.js does not release Controllers/SharedComponents/Utilities/CRC -There was a missing archive that was caused by an error in the release script -artf1348 2008b: Make motohawk_setup_rtw use set_param appropriately -artf1412 Module descriptors need a field to optionally denote license feature(s) -artf1428 Legacy 5xx builds fail with floating point type set to disabled -artf1386 motohawk_add_dir doesn't create multiple directories properly 2008a_beta6 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.6.5 Migration Notes: -This release is the first release that contains licensed content. A dongle will be required when performing builds from this release forward. -This will be the final release before 2008a Service Pack 0 will be released. -ControlCore 39 -New Targets available: ECM-0563-048-0704 ECM-0563-048-0705 ECM-0563-048-0806 -Target Name changes: GCU563-48-CCM -> GCM-0563-048-0801 GCU563-48-SIM -> GCM-0563-048-0802 GCU563-48-TVM -> HCM-0563-048-0801 -The GCM-0S12-024-0401 and ECM-0S12-024-0503 modules now use the advanced build engine. This upgrade requires Metrowerks 4.6+. If there are questions, contact MotoTron support at support@mototron.com -CCP Slave blockset is now integrated with the release New MotoHawk Features: -MotoHawk installer - Prompt that warns the user that previous installed version will be removed -Added the ability for the motohawk_sfun_prelookup_reference block to export an ordarr which allows the prelookup reference instance to be properly viewed in MotoTune. -Optimization - Only process the signal in a CAN Receive Message block if it is connected to a real signal. If the signal is terminated, remove all processing of the data. -Optimization - Remove the range check on an input signal value if the physical limits are within the message definition's minimum and maximum for that signal. -MotoHawk installer - Show the user how much space is on their hard drive during the install process. -Add STOP as a Frequency Input and Digital Input to the 555 48 modules -Remove PWMADC from the HCM modules. It is only present on the GCM 563 modules. -Improve the ability to detect if a specific compiler is installed with the compilers such as Metrowerks 4.6 and GreenHills 4.2.1 -Change OneShot interface: Add a "cancel" port that will terminate a pulse before it's scheduled completion when the value is "true". -OneShot and HiResOneShot behaviors added to ECM-555x-112-090x and the ECM-0S12-024-0804 targets -Employ a zero sample time on the digital input block when interfacing to the legacy ControlCore to remove a lag between a digital input's state changing and that state being reported. MotoHawk Bug Fixes: -MotoHawk installer - Due to file format differences, fix a bug that corrupted the matlabrc file during installation with newer versions of MATLAB. -PROSAK Knock fixes to the cylinder enumeration and alter the sensor select to be based upon the firing order array. -Fixed a bug with the calibration "inherit data type" when using the advanced build engine -Allow lookup tables to have a boolean data type -Fix a bug where the index ports on the data storage read and write blocks were not defaulting to a proper data type. Now they default to 'uint32' if not specified otherwise. -Fix a bug where the component version check was not factoring in whether motocoder_directory had spaces in it. -Fix a bug with the Multiple PSP API that was causing an error when a calibration was connected directly to the input port -Fix default value of the injector diagnostics. The previous default value caused false positived during startup under some conditions. -Fix some build bugs with the 5xx modules and MATLAB 2008a -Bug 468 -Bug 432 -Bug 467 2008a_beta5 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.6.4 Migration Notes: -The name of the ECM-0S12-024-0703-C module is now the ECM-0S12-024-0804. The 0703 name was used during development, but 0804 part number will be used for production so the name change was necessary. New MotoHawk Features: -Fixed Non Volatile Data Stores now work with 5xx modules. -Included the 3.6 GHS compiler toolchain with the MotoHawk Build Engine which is used to generate the RTW archives. This reduces the size of the installation, allows easier integration of newer versions of MATLAB, and will fix some build errors that some users have experienced with newer versions of MATLAB MotoHawk Bug Fixes: -Fixed a bug when using calibrateable IO on the 5xx modules (Digital Outputs and PWMs only) where each resource selected had to be unique. Now, the same resource can be selected when using calibrateable IO. This was introduced in Beta 4. -Fixed a bug where the mapping of the resource name in the vardec did not match properly. This was introduced during the recent optimization of the resources (Beta 3). -Bug 463 -VISTA Knock IIR Coefficient Block was not handling negative numbers properly. 2008a_beta4 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.6.3 Migration Notes: -Rx Queue size is now specified in the CAN Definition block -Target Definition block now contains all of the correct stacks for modules using the MotoHawk build engine. The additional stacks include: ApplicationInterruptTask and ShutDownTask. It also removes the ForeGround Angle which is no longer required. New MotoHawk Features: -MATLAB 2008a (7.6) is now supported -Initial release of MotoHawk Input Capture Behavior. -Reduced the amount of global memory allocated for module I/O blocks when the module is built utilzing the MotoHawk build engine. -MotoHawk CAN slots are now sorted to a best fit of the hardware on S12 based modules which are built utilizing the MotoHawk build engine. -Added support for communication with DSP via SPI Slave device -Add Quadrature Resources to HCM-0563-048-0801 (TVM), HCM-0563-048-0802, HCM-0563-048-0803 -Application Monitor is now supported with modules that use the MotoHawk build engine. Note that due to some interface differences, a new block is now required for these modules. An update error will occur if the incorrect application monitor is chosen. -Starvation Timer block is now available. The starvation timer sets the amount of time between executions of the idle trigger before the module will reset. This is a safety device designed to protect against infinite loops in the application. MotoHawk Bug Fixes: -Fixed a bug in 5xx components which required at least one NonVolatile variable to exist in the model before compiling successfully. -Bug 457 -Bug 460 -Fixed descending unsigned integer interpolation tables. The interpolation code generation was incorrect. -Fixed a warning that occurred when syncing a cal on modules not using the MotoHawk Build Engine. This was due to a missing space in a vardec definition. 2008a_beta3 Type: External Dependencies: -MotoTune version 8.13.3.565 or greater -MotoServer Runtime version 8.13.3.565 or greater -MotoCoder 0.6.1 Migration Notes: -dT now has a fixed point representation. uint32 data type with units of micro seconds. -Removed legacy modules: SMUX, HFM. The HFM uses the new MotoHawk Build Engine now instead of the classic. -Security Block upgraded to v1.03. This is necessary if using the new Motohawk Build Engine and S12(X) modules. For non-S12 modules, previous versions of the block function properly. -R14 (MATLAB 7.0+) configuration set management was changed. This will allow users to add their own settings and MotoHawk build scripts will not overwrite them. It also creates a separate configuration set per processor type, so user custom build settings will need to be applied to the S12 and PPC configuration settings separately. -"motohawk_allow_motocoder" is no longer required when using the new Motohawk Build Engine. All users will be able to see an expanded list of modules that were not previously available. Note that users must have the proper compilers installed to build an SRZ/DLL for these modules. -Documentation updates New MotoHawk Features: -Async NonVolatile writes are now supported. This allows modules without controlled shutdown to write their data and explicitly control when certain areas of the NonVolatile are written. This behavior is only supported on a few modules. -Exposed heap metric to the new MotoHawk Build Engine users via the block in the System Debug category in the MotoHawk Library -Added CAN Bus Error Status block support for S12 modules that use the new MotoHawk Build Engine (SECM0703 and HFM modules) -Angle-Duration mode on Sequential Spark Sequences now supported with new MotoHawk Build Engine modules (090x) -Dramatic decrease in the amount of memory used by MATLAB and the new MotoHawk Build Engine. This will result in faster initial updates plus less system RAM consumed. -Added a "ToolChain Definition" block that allows the user to customize the toolchain used to build their application. This is an optional block. If it isn't added to a model, the application will build with the default toolchain. -Added the "Multiple PSP" block that allows a user to customize a configurable number of pulses that are synchronous to the specified encoder. This block is useful for Diesel Engine control applications, but other uses are possible. Currently, it is only supported on 090x modules, but more will be added in the future. MotoHawk Bug Fixes: -Relative Overrides offset now inherits it's data type from the input signal. -The Index variable is now set to read-only when using the new Motohawk Build Engine. -Fixed a memory leak in the MotoHawk resource blocks. This would only occur when a block was set to be non-calibrateable. There should be an improvement in performance now, especially over the course of an entire day of updating and building. -uCHI stack can now be set to 512 bytes. The limit used to be 1024. -Fixed a build error when selecting the optional "creation status" output on Analog Input and Digital Input blocks -Fixed a build error when creating data stores (and when probing some Simulink signals) that were 1 x X. This was only applicable when using the new MotoHawk Build Engine -New modules using the MotoHawk build engine can now specify an encoder with a single cylinder -Fixed a bug in component builds introduced in 2008a Beta 1. The failure prevented the dll from being created. -Fixed a size issue with the resource creation vardecs -Bug 455 -Bug 451 -Bug 452 -Bug 444 -Bug 349 2008a_beta2 Type: External This release is identical to 2008a_beta1 except that Control Core 36 is bundled with this release. Control Core 36 fixes an issue with LSOx or HSOx channels on the GCM-0563-048-080x and HCM-0563-048-080x modules which were configured for PWM Output with a frequence less than 123 Hz. Previously, between 35% and 65% duty cycle, the waveform was inverted from the expected waveform. This issue has been present in the Control Core version bundled with MotoHawk since MotoHawk 0.8.4 Beta 9 was released on July 18, 2007. 2008a_beta1 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater -MotoCoder 0.5.0 Migration Notes: -New Data Type: Until the last version, the "reference" data type could have names for both structure instances and normal data stores. However, this created a potential name conflict. To rectify this, a new data type was created called "struct_reference", so now struct instances have to be referenced by a "struct_reference" type. Due to this new type, all existing "reference" types must upgrade to use "struct_reference" in their respective models. Applications that do not use structures can ignore this new enhancement. -The Foreground Stack setting in the Target Definition is now applicable on the HCS12 modules -Data Store code generation was moved to the new MotoHawk Build Engine (only for applicable targets such as 090x modules) -Control 34 -MotoDevelopmentTools : Some bugs were found with the previous Development Tools related to the new MotoHawk build engine and users with many vardecs in their model. New MotoHawk Features: -New Encoders : 6plus1, 12plus1 -Default data type for Digital Out block set to boolean. This removes the update error when block is disconnected. MotoHawk Bug Fixes: -CAN slots were not generating properly for HCS12 modules. This is now working correctly. -Bug 428 -Bug 435 -Bug 438 -Bug 402 0.8.4_beta13 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater -MotoCoder 0.4.1 Migration Notes: -This is a minor update to add an encoder pattern New MotoHawk Features: -Bug 413: 3 * 12 minus 2 Variable 6 tooth Cam pattern added MotoHawk Bug Fixes: -Updated the installer to include the proper motohawkrc.m. This will enable the "My Documents" feature in Beta 12. 0.8.4_beta12 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater -MotoCoder 0.4.1 Migration Notes: -Add name parameter to the Digital Input blocks -ControlCore 32 New MotoHawk Features: -MATLAB 2007b (7.5) is now supported -MotoHawk now has an optional My Documents folder that can be used to include user libraries and scripts(My Documents/MotoHawk). Optionally, the MOTOHAWK_EXTRA_DIR environmental variable can be used to specify a different directory. -The fixed point divide, multiply, and scale blocks are now S-Functions. This enhances the efficiency of the code generation. -24 minus 2 encoder added for MotoCoder targets -Added a Frequency Input Read Raw block (16 and 32 bit versions) -Added CNK to the frequency input dropdown list for ECM555-80 MotoHawk Bug Fixes: -Quadrature Block responds to the "Use Modulus Counts" checkbox -HCM 0803 has a list of resources for Quadrature -Bug 411 -Fixed a bug in the motohawk_can2xml.m script that was introduced during 084 Beta 9 -Fixed a build bug in the 5XX Injector Sequence block when output diagnostics enabled -5XX Transient Injection issue -Bug 417: Frequency Inputs on the PCM128 returning non-zero if no frequency is present on the pin New MotoCoder Features: -Allow more than one application configuration file. -Add the attribute to digital inputs that are implemented via VISTA ADC resources Modify the Digital Input code generation so that it handles a missing or bad attribute -Removed definition of PasswordTxt, as this needs to be managed at the application level. -Add support for the FrequencyInput behavior on the CNK and CAM inputs of PCM112(PCM09). -Correct digital input operation on the CNK resource of the PCM112(PCM09) modules. MotoCoder Bug Fixes: -Changed the CAN_Create call from startup to IOCreate(). This allows the Application's startup trigger to be capable of transmitting a CAN message 0.8.4_beta11 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater Migration Notes: -This is a minor revision with a single fix. New Features: Bug Fixes: -12x Single Tooth Encoder name was fixed such that it appears in the encoder definition drop down list 0.8.4_beta10 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater Migration Notes: -There are many significant changes in this release of MotoHawk. -MotoCoder is now bundled with MotoHawk. This new software set, in conjuction with MotoHawk, supports the PCM090X module family. The PCM090X modules are available for beta testers. -New attributes added to the following blocks: -Analog Input : This block now has a Name attribute that is used to uniquely identify that resource. The name can apply to the sensor or the actuator that is controlled. The only rule is that it must be unique. -Analog Input Read/Reference : This block now references the Analog Input block by using the name attribute -Hi Resolution Modulated One Shot Definition/Set: This block was given a Name attribute similar to the Analog Input -Hi Resolution Modulated One Shot Status : This block was added to report the status of the One Shot block and have it execute independent of the definition/set block. The underlying functionality of this block changed as well. A cancel port was added and the behavior of the trigger port changed as well. See the block help text for details. -Injector Current Select : This block was given a resource list and a name attribute. Currently, only the PCM128 has a valid resource for this behavior. -Frequency Input : This block now contains a Name attribute -Frequency Input Read : This block now references the frequency input block by using the name attribute -Frequency Input Trigger : This block is different from the old frequency input trigger block. It now contains a Name attribute that links the trigger to the original frequency input -Structure functionality has been reworked for better update and build times. To enable this improvement, each structure block must be more independent which means that more explicit information must be specified per block. -Structure read/write blocks now require complete specification of the original structure name. This new feature will force some effort on the part of application developers as they upgrade their structure applications. The following command will find all structure reads and writes in a model. >> blks = find_system(model, 'LookUnderMasks', 'all', 'RegExp', 'on', 'FollowLinks', 'on', 'source', '^Lookup By Name in Structure') The application designer can open the blocks and edit the structure name by hand with the "open_system" command. >> open_system(blks{1}) >> open_system(blks{2}) >> ... -The notion of a container is now explicitly specified with the data definition block, previously the container was specified with the structure vardec block indirectly. Now that the container is explicit, it allows explicit ordering in the enumeration array via the container's data field. This field must be a cell array of strings where each string is an instance name. The instance name must exist in a structure instance for the update to complete. -The container also specifies the type of storage. The structure instances, when linked to a given container, are then placed into that type of storage. -Structure instances behave the same as in previous versions. There is improved error checking on the data types and sizes. -Module name change : ECU555-48 is now ECU555-48-0403 -Control Core 28 New Features: -RTC : This block was located in the ISDL library, but is now supported in the MotoHawk library. They can be found in the Extra Development Blocks. -J1850 : A new blockset is available, but no released modules currently support this behavior. There is a module in development that supports J1850. Bug Fixes: -Bug 360 Pack/Unpack blocks -Zero Duration applied when mechanical duration is input to the injector sequence block -Bug 401 Data type on Spark Sequence block -Bug 399 Evaluate format string in print string block -Bug 312 Print string block ports are dynamically sized -motohawk_getcals works with ERI15 now -Bug 396 - Add Minimum Duration on all PSP blocks -Bug 373 - New 5XX modules : ECU555-48-0706, ECU555-48-0707, ECU555-48-0708, ECU555-48-0709 -Bug 405 - MotoTune .dll does not build on VISTA 0.8.4_beta9 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater Migration Notes: -In 084 Beta 8 and before, the CAN resource list was the same when switching between modules despite differing resource availability. The CAN blocks have been updated to have a dynamic resource dropdown list that adapts to the module that is selected, similar to the other resource blocks (AnalogInput, DigitalInput, etc.). The CAN bus now has a name that is used throughout the application. There is automatic upgrade logic to make the transition seamless when moving to Beta 9. -GCU565-24 is now GCM-0565-024-0602-Fxx -Control Core 27 New Features: -MotoCoder: Pullup strength for Cam and Crank are now published in the Application Descriptor -MotoCoder: Custom CAN baud rate settings are now available -MotoCoder: Removed unnecessary file processing in the .tmf file for MotoCoder -MotoCoder: Fixed NonVolatile supports vectors -Quadrature Blocks are now in the Advanced Digital I/O Category These new blocks have several new features: 1. Multiple decoders on a single module 2. Modulus count rollovers for high speed motor control 3. Synchronization input 4. Resynchronization of counts from the model Currently, this is only supported on the PCM128 In upcoming versions, the resource dropdown lists for other modules will be populated. -Improved MotoHawk documentation -6X with No CAM added to Encoder Definition -6X with Halfmoon CAM added to Encoder Definition -6X with Single Tooth CAM added to Encoder Definition -12X with No CAM added to Encoder Definition -12X with Halfmoon CAM added to Encoder Definition -12X with Single Tooth CAM added to Encoder Definition Bug Fixes: -Bug 392 - Add BKUP_BATT to GCM-0565-024-0602-Fxx resource list 0.8.4_beta8 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater -MotoServer Runtime version 8.13.2.296 or greater Migration Notes: -This is a minor version update. New Features: -60 minus 2 with Duramax CAM added to Encoder Definition -32 minus 2 with Variable PWM CAM added to Encoder Definition Bug Fixes: -None 0.8.4_beta7 Type: External Dependencies: -MotoTune version 8.13.2.296 or greater is required for this release -MotoServer Runtime version 8.13.2.296 or greater is required for this release Migration Notes: -Control Core 24 -Security Blocks have changed. All current models with a security block must be upgraded to the new version. This applies to both MotoCoder and 5XX modules. -motohawk_vardecs.m is now motohawk_vardecs_legacy.m. This change was made for migration to MotoCoder. New Features: -MotoCoder: VISTA Knock blocks are available -MotoCoder: Pushed the logic for determining whether a pulse is possible into MotoCoder. MotoHawk now calls the function -MotoCoder: Added KeyOffTimer block -MotoCoder: Added Push Pull Feedback blocks -MotoCoder: Added Fixed NonVolatile Logical Storage to Data Definition blocks. This is NOT supported in 5XX or S12. -MotoCoder: Added a new parameter called "Crank Aligned with Cam" to the Encoder Definition block. This is not valid for 5XX. -Added a new port for enabling/disabling just the transient pulse when performing transient injection. Note: The primary pulse must be enabled for the transient pulse to be active. -Force Module Reset block added -3X with Hyundai 4X Cam added -"Capability" property added to the ModuleConfig block -Improved automatic migration from PWM Frequency Mode to Minimum Frequency Bug Fixes: -MotoCoder: Fixed code generation bug with the spark and fuel sequences. This does NOT affect 5XX and S12. -MotoCoder: Fixed Constant Current block such that code does not generate when "None" is selected -MotoCoder: The fuel and spark blocks update NumCylinder number of resources instead of MaxCylinder during a block execution -MotoCoder: Improved the efficiency of the Send CAN Messages block -Injection Complete trigger code generation error was fixed. -Bug 311 -Bug 365 -Bug 378 -Bug 379 0.8.4_beta6 Type: External Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -PWM blocks now use minimum frequency instead of frequency mode. An automatic upgrade path was installed to insure that current models do not break because of this upgrade. Essentially, "Low" frequency mode is equal to 2 Hz, "Medium" is equal to 7 Hz, and "High" is equal to 31 Hz. -Due to the simulation bug fixed below, background triggers that exist in other subsystems must have the "This trigger is inside another triggered subsystem" checkbox checked New Features: -VDO Gauge Library added : The library will appear in the Simulink browser -Random Number Block : Generates a 32 bit random number generated by Control Core -MotoCoder: Fuel and spark enabling algorithm improved for smoother starts -MotoCoder: Build statistics Bug Fixes: -Fixed a simulation bug with the Background triggers. These blocks were always inheriting their trigger rate from their parent block. -The 24 minus 1 with No Cam encoder pointed to the incorrect archive. This bug was only present on the PCM128 module. 0.8.4_beta5 Type: Internal Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -This is a second internal release to further the development of MotoCoder. New Features: -MotoCoder: Tachometer and VDOGauge behaviors can be used on the same pin -MotoCoder: Transient Fueling and EOI triggers added -MotoCoder: City IDs are now adjustable at runtime -MotoCoder: Added image for PCM0901-DV Bug Fixes: -Bug 364 0.8.4_beta4 Type: Internal Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -(None) New Features: - MotoCoder: VISTA Knock, VDO Gauge Service, and Fault Status are now supported. - The resource cache was updated to consume less RAM in MATLAB Bug Fixes: -Fixed a simulation bug in the PreLookup block. -Fixed a code generation bug in the Injector Pulse block when a "None" resource was selected 0.8.4_beta3 Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -There is a new option on the Injector Driver and Injector Sequence blocks. It optionally enables the Make-up EOI port when using the transient fueling behavior. In previous versions, this port was not enabled in the code generation for the block. The default behavior still uses the static Min EOI parameter in the block. New Features: -PWMADC resource is now available on the PWM block (specific to CCM modules) -MuxPSP block : This block produces a parameterized number of Position Synchronous Pulses which can be used for diesel injection. It is located in the Advanced Digital I/O category in MotoHawk_lib. Bug Fixes: -Bug 346, 357, 359 0.8.4_beta2 Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -!!!!IMPORTANT!!!!: Once a module is programmed with the MotoTools required for this beta release, then that module can no longer be programmed with previous versions of MotoTools (8.11.x.x). This is due to increased security content in the latest version of MotoTools. -beta1 was an internal release for testing purposes. beta2 fixes some problems that were encountered in beta1. New Features: -Added support for installation of MATLAB R2007a (#354) Bug Fixes: -motohawk_dumpdll.exe was upgraded to work with the new dll format in ERI15 0.8.4_beta1 Dependencies: -MotoTune version 8.12.1.227 or greater is required for this release -MotoServer Runtime version 8.12.1.227 or greater is required for this release Migration Notes: -!!!!IMPORTANT!!!!: Once a module is programmed with the MotoTools required for this beta release, then that module can no longer be programmed with previous versions of MotoTools (8.11.x.x). This is due to increased security content in the latest version of MotoTools. -PCM128 stack allocation was changed to on-chip RAM, so run time performance will be improved -The CAN blocks marked as deprecated in 082 and 083 have been removed from the library. New Features: -More MotoCoder support -Improved Module Config support - See Extra Development blocks for the new options -Improved structure update and build times -CC 23 which includes increasing the vardec limit beyond 1785 -Optional port on Adapt table block that exposes the actual adapted value -32 minus 2 - Variable CAM encoder added to the Encoder block -Fault Action Status block which allows for distributed fault action handling -Fuel Injector diagnostics on Injector Driver block -Muxed spark on EST 14 now supported Bug Fixes: -All 083_spX bugs -Bug 351, 341, 345 0.8.3 Migration Notes: -None New Features: -None Bug Fixes: -Bug 324 & 326 0.8.3_beta18 Migration Notes: -Quick release to fix corrupted archive in beta 17 -This release is the first release candidate for 0.8.3. New Features: - None Bug Fixes: -Bug 323 & 321 0.8.3_beta17 Migration Notes: -Quick release to fix encoder bug New Features: - None Bug Fixes: -Bug 318 & 319 0.8.3_beta16 Migration Notes: -The drop down list on the Variable CAM block changed. Verify that the setting in the block matches your application. -Update times were improved by increasing the efficiency of several scripts -Upgraded to CC20 Status of known issues from beta15: -Fuel injector diagnostics are working intermittently at this time. There is an investigation regarding the cause. This fix will be available in b16. -This is a module specific behavior. This was detected on the PCM128 0501 and 0503 modules. -Fuel injectors miss pulses when driven with a fuel injection time greater than 97% of the encoder revolution time -Until a proper fix can be made in Control Core, the application designer must be aware and prevent commanding fuel pulses that are longer than the revolution time. New Features: - New TPU Mask (36 plus 1) Bug Fixes: -This version contains a few bug fixes (see mcs.woodward.com for details). -The "Hardware Implementation" parameter is updated properly now. 0.8.3_beta15 Migration Notes: -This version contains several bug fixes (see mcs.woodward.com for details). This release will be the final intermediate release before non-beta 0.8.3. There are a few issues that are not resolved: -IMPORTANT: See bug fixes below before upgrading Known issues: -Fuel injector diagnostics are working intermittently at this time. There is an investigation regarding the cause. This fix will be available in b16. -Fuel injectors miss pulses when driven with a fuel injection time greater than 97% of the encoder revolution time New Features: - S12 modules (SECM 0502, 0503, Peiker) were added. - Upgraded to ControlCore_19_0 Bug Fixes: - Spark resynchronization occurs after a crank synchronization fault. This prevents missed pulses. - Proper enable order for spark to avoid missing pulses at startup for wasted and muxed spark output - The raw value of the Crank Sync and Cam Sync Polarity enumeration was changed to match the actual behavior. In previous versions, a Rising Edge selection in the mask actually meant Falling Edge and vice versa. This has been fixed, but it will affect existing calibrations. 0.8.3_beta14 Migration Notes: -This is a minor version change. New Features: Bug Fixes: - A bug was fixed with the inherited sample time setting on the dT block and more recent versions of MATLAB (7.1+) - Some minor changes to the S12 build files. 0.8.3_beta13 Migration Notes: -This is a minor version change. The ISDL bug fix and the ChallengeX training is the reason for this release. New Features: Bug Fixes: - A bug was fixed when using the ISDL module (GCU565-24) - A minor bug was fixed with the build directory setting in motohawk_build_info when a blank blank target directory was specified in the target definition block 0.8.3_beta12 Migration Notes: - MotoHawk is currently being extended to handle new targets using MotoCoder New Features: Bug Fixes: - A few bugs were fixed when using ECU563-48-0701, due to its introduction and name change in 0.8.3_beta11. 0.8.3_beta11 Migration Notes: - ECU563-48-0701 is now supported as a module target - ECU563-48i has been changed to ECU563-48-0703 - ECU563-48m has been changed to ECU563-48-0702 - Upgraded to ControlCore_16_0 New Features: - It is now possible to read the fault names as a vector. A table of fault names is stored in the module FLASH if the Fault Name block is used, but is optimized away if never used. - A Fault Iterator block allows loops through sets of faults, such as All Faults, only the Active Faults, only Suspected, and so on. Using this block and the new Fault Name block, it is possible to create subsystems that transmit the names of active faults onto the CAN bus, for example. Bug Fixes: - Fixed a bug in the CAN blocks that would cause integer scaling to produce inappropriately rounded fixed-point values. - ControlCore_16_0 fixes an issue related to late enabling of spark sequences. 0.8.3_beta10 Migration Notes: - Fixed an issue with using CAN in ControlCore_14_0. The CAN fault trigger occurs much too quickly, and overflows the interrupt queue in the OS. This will be fixed in the next OS release, but a fix in MotoHawk prevents this callback from being generated unless you use the CAN Fault Trigger block. We recommend avoiding this new block until the next ControlCore release. New Features: - NonVolatile data storage now works in components - The NonVolatileFormatID is now brought back into the model after a build, and is printed at the end. It can also be queried by using motohawk_build_stats or motohawk_print_stats. Note that the message next to the NonVolatileFormatID is a user-friendly sentence that is unique for each ID. - Added a separate Foreground Angle Stack margin to the Application Monitor, which is only used if the Foreground Angle Stack size is non-zero. Bug Fixes: - Fixed the Prelookup Reference and Interpolation Reference blocks when used in component builds. - Fixed a bug in motohawk_latest_version that would occasionally print garbage. It now checks the version for validity before returning a value. - Removed a name clash that would occur between some VarDec names, Data Store names, and Simulink block names. The namespace has been cleaned up so that identifiers generated by RTW will never clash with MotoHawk or ControlCore built-in names. 0.8.3_beta9 Migration Notes: - Moved to ControlCore_14_0 - Moved to ERI table 0 revision 9, for enhanced MotoTune capability. New Features: - Batch mode for Spark Sequences is now supported. This mode maps the pulses onto half as many resources as the Standard mode. The first n/2 cylinders get the first pulse, and the second n/2 cylinders go with the next n/2 cylinders. This still allows independent control of each pulse timing and enable. This is only available when an even number of cylinders is used in the Encoder Definition block. - A new CAN Fault Status block is available in the CAN blocks. This can be used to determine whether the CAN channel is currently on bus and functioning properly. An error will be reported if the bus is disconnected, shorted, improperly terminated, the baud rate is incorrect, or if bit error rates are causing failures. (It is equivalent to the little yellow LED in CANKing). - MotoTune will now produce an error if the wrong type of .SRZ file is programmed into a module. This error is produced before any programming is started, so there is no need to use a boot key to continue. Bug Fixes: - Using the Trigger Definition block would cause the module to crash after programming in 0.8.3_beta8. This is now fixed. - LSD5 and LSD6 on the GCU563-TVM module were crossed internally, causing errors on startup. These are now fixed. 0.8.3_beta8 Migration Notes: - motohawk_project now creates an m-script instead of an m-function for MODEL_setup.m The name is the same, and most migration will be seamless, however this now allows the creation of workspace variables by simply using assignment statements in the file, or by calling other m-scripts. Using a function did not allow this, because functions get their own unique workspace. - DataStores and VarDecs that start with '_' are no longer legal. These would not interplay with MATLAB, because MATLAB struct field names cannot start with '_'. Since MotoHawk uses MATLAB structs to represent VarDecs and DataStores, this error checking is now done in the blocks before the damage can occur. - Components now display their image using a proper aspect ratio, which may change the look of some component instances. (Hopefully for the better). New Features: - It is now possible to declare and use structures using the Data Definition block and Data Read / Data Write accessors. References to structures are also allowed, which opens up several new options for structure-based programming in Simulink. VarDecs are not yet fully supported for these, but are coming soon. - There is a new Encoder Set Phase block, which allows the half-cycle of the engine state to be explicitly set on a system with no CAM. When the crank encoder synchronizes, the state remains in "Crank Sync - CAM Unknown", until this block is used to explicitly set the phase. The phase may be left with the current correct synchronization, or flipped by 360 degrees. - There is a new Encoder State Trigger block, which will allow changes in encoder synchronization to call into the model. Using the Encoder State block in the triggered subsystem will allow the new state to be determined. - A new method for defining and using enumerations is available in MotoHawk, via the motohawk_enum class. This allows statements to be placed into a model setup file such as: >> EngineState = motohawk_enum('Stall=1,Crank=2,Run=3'); Using the value for Stall is as easy as putting "EngineState.Stall" into a constant or calibration. The enumeration field of all Calibration, Probes, Overrides, and Data Stores can accept a motohawk_enum, by simply typing "EngineState" into the field. Type "help motohawk_enum" for more information. - The name of the underlying component S-Function has changed, and a component version has been added. Bug Fixes: - Components have been much more thoroughly tested, and several bug fixes have been found and fixed. These include: CAN slots, VarDec enums, filenames with spaces, pathnames to .mhc files using ../file notation, and several other minor issues. - MPRD is now available as a discrete output on the GCU563-48-HLA/MII/TVM modules. - The Encoder Fault Trigger had a code-generation order dependency, which is now fixed. - Component builds had an include-file order dependency that is now fixed. - motohawk_mex_template.c was fixed for function triggers. 0.8.3_beta7 New Features: - Customized security has been added. Please contact MotoTron for more information about how to use custom security dongles in production. Bug Fixes: - Fixed a problem in the CAN message descriptor, when using non-double values for start_bit and bit_length. The behavior for certain math operations was different between MATLAB R13 and R14. - Fixed a bug in the PWM block, when using the Enable input. It would not update the status after creation. - Using the HSD outputs as digital outputs in the FIRE48 modules would not work. They have been removed from the digital output list until their operation has been confirmed. - The MPRD output was missing from the HLA, MII, and TVM modules. They are now available as digital outputs. 0.8.3_beta6 Migration Notes: - Moved to ControlCore_13_0. This fixes a few bugs, including some related to the TPU, and adds support for the new FIRE48 modules. - Upgraded the installation of MotoDevelopment included with MotoHawk. (MotoDevToolsCommon.msm) This new version no longer shares any components with MotoServerRuntime or MotoTune, so that the two can vary more independently. Installing this version of MotoHawk may break an older version of MotoDevelopment that is also installed on a user machine. It is recommended that users either completely uninstall MotoDevelopment or upgrade to the latest version. Most MotoHawk users do not use MotoDevelopment, and so will not be affected by this at all. - To program the latest modules, the newest version of MotoTune and MotoServerRuntime are required. They are available for download on the mcs.woodward.com website. New Features: - There are 5 new modules available in the Target Definition block. They are all 48-pin modules based around the MPC563, with no engine-encoder support. - GCU563-48-CCM - GCU563-48-SIM - GCU563-48-HLA - GCU563-48-MII - GCU563-48-TVM 0.8.3_beta5 Bug Fixes: - Despite the claim for 0.8.3_beta4, 0.8.3_beta5 fixes a few bugs releated to R2006a, and now it is supported by the installer. - The PWM block had a bug in 0.8.3_beta4, and this is now fixed. 0.8.3_beta4 Migration Notes: - Moved to ControlCore_12_0. This fixes a few bugs related to I/O ports on various modules. - NonVolatile memory now defaults to being restored from factory defaults on first startup after reprogramming, unless a NonVolatile Definition block is included to specify otherwise. New Features: - MATLAB 7.2 (R2006a) is now supported by the installer. - A new NonVolatile Definition block is available in the Data Storage Blocks. This allows the behavior of NonVolatile data after reprogramming to be configured from the model. Data may either be maintained from the previous program, or it may be forced to use the values in the new .srz. If no such block is included in the program, it will load from factory defaults, using the values from the .srz after reprogramming, even if the NonVolatile structure is seen as identical. Bug Fixes: - The Send CAN Messages block did not use the correct data type and min/max values for multi-page messages. Instead, they used the values from the first page. This is now fixed. - The diagnostics for LSO10 and LSO11, when using a Parent/Child PWM behavior are now functional. - Digital inputs DG3 and DG4 are now functional on the ECU565-128 module. 0.8.3_beta3 Migration Notes: - The Send CAN Messages and Read CAN Message blocks now check the minimum and maximum values for fields, to determine whether they are valid for the size and data type of the field. They will clip these values into range, and provide warnings when a bad minimum or maximum value is seen. - Any source files in the MotoHawk release are now made read-only. New Features: - A new Extra Development block called motohawk_module_config provides the module serial number or module model number as an 8-byte string vector. Bug Fixes: - When using uploaded calibrations, the Encoder Definition block would gain the uploaded TDC angles by 16, making them out of range. The error message when this would occur was also incorrect, and would not display the correct out-of-range angle value. Both of these related issues have been fixed. - motohawk_expr2str has been upgraded to handle strings with newlines and ' characters. This would sometimes cause problems when building components. - The Transient behavior on the Injector Sequence block was not working correctly, after the addition of the injector complete trigger in 0.8.2_beta9. This is now fixed, and works with or without the injector complete trigger in a model. 0.8.3_beta2 Migration Notes: - The Prelookup Reference and Interpolation Reference blocks now require a full Data Store name, instead of the prelookup or interpolation name without the IdxArr, Tbl, or Map suffixes. For example, a Prelookup Reference that previously referenced "RPM10", should now reference "RPM10IdxArr". This was necessary in order to augment the blocks, so that they could reference any data, not just data defined by their own kind. - The fault mode enumeration has been changed to start from zero. This will not affect models, but will affect old MODEL_load_cals.m files in the project directory. Delete the load_cals file and clear the workspace to prevent bad modes from being "overlayed" onto fault blocks. Use motohawk_push_cals to modify the model before deleting the file, if desired. - The "Persistent" fault mode has been changed to "Sticky - Persistent", and some other new modes are now available. Any blocks that used "Persistent" will fall back to "Enabled", and will require remodification. New Features: - The Prelookup Reference and Interpolation Reference block may now operate on any data definition, as long as it is a 1-D vector or 2-D matrix as appropriate. - A new fault mode called "Enabled - Persistent" is available, which is identical to the existing Enabled mode, but keeps all data across a power cycle, including X/Y counts. - EST diagnostics now output the actual dwell time for each cylinder. Bug Fixes: - 0.8.3_beta1 moved to a new map file structure, and the parsing of this file was changed. Older models would produce errors on the Target Definition block if a _Build directory still existed. This has been fixed, and the speed of updates for the Target Definition block has been significantly improved, by caching the statistics in the model, rather than parsing the file every CTRL-D. - The Adapt Table block had a bug in its dimension sizes when adapting a 1-D vector. It would limit the adaption to the first two entries, because it used the number of rows, instead of the number of columns. - The Specification Reference annotation block no longer produces printouts to the command window. - The function motohawk_vardecs now works correctly across component boundaries. - The EST diagnostics have been fixed. The open and short outputs were internally mapped incorrectly. 0.8.3_beta1 Migration Notes: - The PWM and DigitalInput blocks have an option for Outputs Diagnostics. The numbering scheme for these outputs has changed from 0=Indeterminate, 1=Fault, 2=OK to the following: 0=OK, 1=Fault, 2=Indeterminate. This makes the output of these blocks compatible with the new 'indeterminate' setting of the fault blocks. - The Spark Sequence block now outputs diagnostics for open and short conditions, and these follow the new numbering scheme for indeterminate faults. - The PWM duty cycle and phase offset truly range from -4096 to 4096, not 4095 as previously documented. No behavior has changed. This is just a documentation note. - MotoHawk 0.8.3 uses ControlCore_10_0, which uses a new technique for handling stack and heap memory. Every attempt has been made to keep this hidden from users. - The memory summary at the end of each build now shows more information about the sections of memory used. - The Timer Config group in MotoTune, showing PITCBaseRate, FgndRTIBaseMultiple and other timer VarDecs, has been removed, and a new block is available called the Trigger Definition Block. This block allows these values to be set in the model itself, and allows calibration VarDecs for these values to be configured at the model level. This allows models to contain their own rate configuration, and will prevent users from needing to calibrate these rates after every build. New Features: = Faults: - The Fault Definition block now allows the suspected input status to be optional. The Fault Set block, combined with a Fault Definition block without the suspected input status, is identical to the Fault Definition with the Fault Set. This is analagous to a Probe being equivalent to a Data Definition and Data Write block. - The Fault Definition and Fault Set blocks allow optional X/Y updating. When checked, the block will advance the X/Y state machine every "Downsample Count" times the block executes. When unchecked, the suspected status will be set, but the X/Y states will not advance. The default is to have "Update X/Y" checked, with a "Downsample Count" of 1, which was the existing behavior. - A new Fault Update block is available, which allows manual triggering of the X/Y state machine update. This mechanism is equivalent to checking "Update X/Y" in either the Fault Definition or Fault Set blocks. - There is a new Fault Properties block, which allows the current value of Mode, X, Y, X-Limit, and Y-Limit to be accessed from Simulink. - There is a new Mode available in the Fault Definition, called "Save Occurred". This is equivalent to the Enabled mode, except that the Occurred status is maintained across a power-cycle. Any Active faults at the time of shutdown will become Occurred on restart. - The Fault Definition and Fault Set blocks now allow values other than true or false for the suspected status, whenever the option is checked on the block. This allows an 'indeterminate' value (any value other than 0 or 1) to be input. When such an indeterminate value is input for the suspected status, the suspected status is not modified, and when "Update X/Y" is checked, the X/Y state machine is not advanced. = VarDecs: - The name length limit has been relaxed from 28 characters to 255 characters. - The row and column headers of a vector or matrix may be explicitly set, using the same syntax as enumeration names. This allows custom display of the strings above and to the left of non-scalar values in MotoTune. - Vectors can now be displayed as either a Wide Row (the default) or a Tall Column. - Enumerations are now displayed as strings on the Calibration block, instead of their numeric value. = I/O: - The Spark Sequence block now outputs EST diagnostics, allowing Open and Short conditions to be caught. These outputs are often indeterminate, and the output values are 0,1,2, which allow direct connection to the fault blocks when the 'Indeterminate' option is selected. - The DigitalInput block now supports a selection for pullup/pulldown resistor. This option is only valid on modules that have hardware support for this. = CAN: - The CAN Definition block now natively supports all common CAN baud rates, up to 1000 kbps. The custom option is still available, but is no longer necessary for most users. = Workflow: - A new script 'motohawk_load_cals' is now available, which wraps the common sequence of motohawk_upload_cals, updating the model, motohawk_push_cals, and cleanup of the intermediate _load_cals.m file and _cals workspace struct. This is much more intuitive for training and keeps the process simple. - A new block in Extra Development Blocks called 'motohawk_version_requirements' allows models and libraries to specify which version(s) of MATLAB and MotoHawk they are designed to be used and saved in. If these requirements are not met, an error is produced at update-time and also just before a save. This will prevent the model file from even being saved in the wrong version. Bug Fixes: - The Send CAN Messages block now correctly handles integer math for Scale and Offset in the ID fields. - The Fault Action Conditions have been fixed. Combinations other than simply Active and Occurred did not work correctly in previous versions. - The Fault Clear block now works correctly. Faults with some modes selected did not operate correctly. - Bit VarDecs, such as the CodeCoverage indicators, no longer take up space in the VarDec table, which is still limited to 1785 user entries. 0.8.2 Migration Notes: - The PWM output block will emit several warnings, claiming that the parameters 'text_resource_slave' and 'use_slave'. These will only occur once at model load, and once saved, will not occur again. The PWM output slave mechanism has been superceded by the parent/child mechanism. - There is a new synchronized PWM child block that references a parent PWM output, and outputs a PWM with a phase offset relative to the parent, and an independent duty cycle. - The "Display Variable Event" blocks in the Extra Development Blocks have been changed to fire the event on the falling edge rather than the rising edge of the variable from MotoTune. This means that a user must set and then clear an enum, rather than simply set an enum. This affects the StoreNV and RestoreNVFactoryDefaults enumerations in the Main Power Relay block. The reason for the change is to avoid a MotoTune glitch that fires the event on reconnect after loss of connection. - The Application Monitor has been disabled by default, rather than enabled, if the Application Monitor definition block is not included in a model. The functionality is still inserted, and so can be enabled via calibration, but will not cause the application to stop if it is not expected. This requires an act of comission rather than omission in order to get the application monitor functionality. If this behavior is desired at build-time, simply include the Application Monitor block in the model, and select Enabled as the default behavior. - When upgrading MotoHawk, you will probably lose MotoServer ports. Open MotoServer (the little sattelite dish), and add CAN port PCM-1 at access level 4. - motohawk_get_param_ws has been improved to throw an error when the named parameter does not exist, instead of failing silently. This may affect scripts that use this function. - Using MPC5xx_Rel_8_0, a controlled release of ControlCore. The directory structure of ControlCore has changed, along with several archive filenames and directory names. MotoHawk has been modified to match the new changes. - There is a new set of CAN blocks. These are very powerful, and much effort has been made to make them general and reusable across projects for CAN device library development. These new blocks encapsulate the behavior of the old CAN Tx/Rx blocks, plus the pack/unpack specification, transmit rate scheduling including multi-page documents, and fault detection for loss of receipt of a periodic message. It also generates an optimized H/W and S/W receive dispatcher for the specific set of IDs and Masks that are needed by each receive "slot". The hardware buffers have been totally abstracted away, which is what makes these blocks highly recommended for future development, so that conflicts do no occur between individual library components at the H/W buffer level. - The old CAN blocks will continue to operate for several more versions of MotoHawk, and even interoperate to some degree with the new blocks. All new projects, however should use the new blocks, and interoperation between the two styles will remain an undocumented, unsupported feature. Older models should be unaffected unless any new blocks are used. - The GCU565-80 target (TVM) has been upgraded in ControlCore to use the current feedback and pullup/pulldown values for the latest modules from Motorola. - motohawk_upload_cals and motohawk_push_cals have been given an overhaul and are much more robust and complete. motohawk_upload_cals still creates an m-file called MODEL_load_cals.m, which creates a workspace struct called MODEL_cals, but it performs this using an m-function instead of an m-script. The generated workspace struct now contains much more information about what has been loaded, and not just the calibrated values. All of the blocks that contain calibrations now use this new struct instead of simply the raw values. The blocks maintain backward compatability to older MODEL_load_cals.m scripts, so this change will not affect current users, but newer MODEL_load_cals.m scripts will not be usable with older versions. The underlying executable behind motohawk_upload_cals has been changed from cal2m.exe to motohawk_getcals.m, which has been completely rewritten, and is much more robust. - motohawk_upload_cals and motohawk_push_cals now handle the fault blocks, like any other calibration. New Features: - There is a new Display System Debug Variables block in the System Debug Blocks, which allows the automatically-created VarDecs in the System | Debug section of a display to be hidden or included, as selected. - The Fault Manager block has a new parameter which allows the type of X/Y counts to be changed to data types larger than uint8. Note that this causes much more RAM and FLASH to be used when a large number of faults exist in the model. - The Fault Definition block has a new checkbox that allows the input for the suspected status to be optionally input. By default it is checked. When checked, the Fault Definition block is equivalent to having both a Fault Definition with the suspected input disabled, and using a Fault Set block to set the suspected status. This allows a single definition with several sets in enabled subsystems, for example. - There is a new Encoder Fault Trigger block that provides a hook into Simulink whenever an encoder synchronization fault occurs. Counters or timestamps may be executed in the subsystem attached to this trigger. The Encoder Fault Status block may also be used in the executed subsystem, to get the value of the fault that caused the trigger. - There is a new Variable CAM Trigger block that provides a hook into Simulink whenever a variable-cam edge occurs. Counters or timestamps may be executed in the subsystem attached to this trigger. - Some of the input blocks, such as Analog Inputs and DigitalInputs, now output an optional creation status value, which is equal to zero when the resource creates successfully. All other values have meaning which are available via an enumeration: motohawk_error_enum. More I/O blocks will be enhanced with this feature in future releases. - The Prelookup, Interpolation1D, Interpolation2D, Table1D, and Table2D blocks now support vectorization, which means that multiple lookups can be performed on the same piece of data. MotoTune will only use the first value of the vector when showing the red MotoBall and displaying information in the bottom-right corner of the interpolation or prelookup window. A future version of MotoTune may support multiple lookups to be displayed. - There are new Prelookup Reference, Interpolation1D Reference, and Interpolation2D Reference blocks, which allow the operation of a prelookup or interpolation to be performed on data defined in a separate block. Currently, the mechanism is limited to using data from an identically typed block, so a Prelookup Reference block can only reference data from a Prelookup block defined elsewhere, not any arbitrary data. The same is true for interpolations. This is due to the MotoTune VarDec mechanism, which cannot handle display of a table without an associated index array. A future version of MotoTune may relax this constraint, and MotoHawk will be updated to also allow such operations. These new reference operations also support vectorization, just as the original blocks have been upgraded. - The Prelookup, Interpolation1D, Interpolation2D, Table1D, and Table2D blocks have been modified to display the size of the underlying table instead of simply indicating (1-D) or (2-D). - The Frequency In block now has the ability to update after an adjustable number of pulses have been received. An array of frequency (and optionally duty cycle) data is kept for each pulse received, but the array is only updated after a certain number of pulses has been received. - motohawk.info stats now queue on the local machine if unconnected. All queued stats, including the current build, are sent at the end of each build. If successful, they are removed from the queue. - Added a fault clear block that will allow you to clear a single fault. This is especially important for persistent faults (see next entry). - Added a "Persistent" option to faults that will hold a fault's state across a power cycle. - Added Display Variables to the Fault group that will show which faults are currently causing a fault action to be active. The display variables will show up under the | Action Reasons group. - Added 4X Encoder at CAM speed as an option on the Encoder Definition Block. - Added a command line function, motohawk_gen_datasheet, that will create a PDF summary of your model in subdirectory of you project. The PDF will contain screenshots of all of the subsystems for which you have a title block and the the title block parameter 'Include in Pretty Print' is checked. The document will also contain lists of calibrations, probes, and displays. This is a very initial release of the datasheet generator so expect some bugs. - Added a Code Coverage Manager block to the Extra Development Blocks palete. This block allows you to globally control the generation of Code Coverage instrumentation code. You can disable all code coverage code, generate only for DEV builds, or generate all of the time. - Added a Code Coverage block to the Extra Development Blocks palette. This block can be dropped into any conditionally executed subsystem and will generate a MotoTune display variable that will display the model path of the block until the subsystem has been execute. This is a handy mechanism to do code coverage analysis during your V&V efforts. Basically, if a Code Coverage display variable is showing its path, then that subsystem has not been executed at anytime since power up. Good V&V practices will have you make sure that all paths have exectued without issue prior to release of a production application. - Added a block to read multiple fault statuses. - Added reports to the Documentation subdirecty detailing changes to Control Core, the underlying OS. These reports are generated from the Control Core issue tracking system and document the changes made to a particular revision of Control Core. - Added 24-2, 2 stroke, non-redundant encoder pattern. - Added additional help text describing the encoder states to the 'Encoder State' block. The new states are useful when using the 'redundant on cam' version of 24-2. - Added a new block to the annotations library to capture references to external documents. Also, a helper function, motohawk_get_spec_references, that will allow you to create a specification cross reference has been added. - Added an "Injector Pulse Complete Trigger" block to the Encoder palette. This block provides a trigger upon completion of a fuel injection sequence for the selected resource. An "EST pulse compete" block will be added in the future. - Installer has been updated to install MotoHawk in Matlab 7.1 (aka SP3). - Added a setting to the Encoder Definition block for the secondary encoder TDC electrical to mechanical offset angle. Also a block to access the offset during runtime has been added. - Added a reference voltage choice for analog inputs. This is only valid on 563 based modules (currently the 48i and the 48m). Choosing the 2.7V reference for other modules will result in a "Hardware Not Supported" error. The 2.7V reference is useful for increasing the accuracy of low voltage signals such as the O2 sensors. - Added a "Test" column to the Fault Manager screen in MotoTune to force a fault to be set even if its logic is not set. This allows testing of any attached actions without needing to force the conditions of the fault. There is no RAM cost with putting this test field in the calibration memory. - Added checkbox "Label Wires With Field Names" to CAN blocks "Read CAN Message" and "Send CAN Messages" which, when checked, propagates the CAN message's field names to the connected wires (and one block beyond, if the immediately upstream/downstream block has exactly one input and one output). - Encoder Changes: = Added a setting on the encoder definition block for the cam synchronization polarity. There is also a calibaration value for this polarity. = Added a setting to adjust the pull-up values for both the cam and crank sensor inputs. This only applies to the 48m and 48i modules and is ignored on all other modules. There is also a calibration value for these settings. = Added a setting to make allow a redundant channel to read the encoder position. If the pattern needs only one channel, then the other channel can read the position via a rednundant sensor. - The Frequency In block now allows you to read the duty cycle of the signal along with the frequency. - The PWM block now supports a new feature called a "Slave Resource with Phase Offset", which allows two output pins to driven using a single PWM block. The two outputs share the same duty cycle and frequency, but they have an adjustable phase between them. - The EST resources are now available as PWM outputs. - There is a new block called 'motohawk_vardec_report' in the MotoHawk Annotations library. This block displays all of the VarDecs below a given location in the model, defaulting to 'gcs', the current system. This is helpful for determining and documenting the look of the calibration and displays from MotoTune. - The Main Power Relay block now declares a boolean Data Store called MPRD_KeepAlive, which, when set continues to keep the MPRD output and the processor enabled. This is useful for extending the standard Main Power Relay algorithm, which simply follows the state of ECUP, so that key-dowm shutdown logic can be implemented without breaking the library link to the Main Power Relay block. The default value of MPRD_KeepAlive is false, so this change will not affect the behavior of older models. - Added the date and time to the top of the build log. Bug Fixes: - When the Test popup is used in the Fault Manager, this selection overrides all Fault Get/Set operations. Previous versions would allow a Fault Set block to clear the suspected status bit momentarily. - The scaling applied by the new CAN blocks has been modified to use a multiply operation instead of a divide when the absolute value of the scale factor is less than one. This allows integer signals to be used even when a unit scale of less than one is used (meaning fractional signal values). - H1, H2, H3 resources have been removed as options from the Discrete Out block for the ECU565-128, to match the underlying ControlCore functionality. - Improve the alphabetic sort algorithm for generation of MotoTune variables to reduce build times. - An issue was identified where an injector might fire prior to engine rotation occuring. Code is now generated to disable the injectors whenever the encoder instant RPM is below 10 RPM. - The Frequency In Trigger is now properly supported by Control Core. Control Core will manage the interrupt so that floating point is now possible within the trigger. - Fixed an issue with the Injector Pulse Complete block where a variable was not being found at link time. - Fixed an issue with the fault action reason mechanism that was improperly accessing an array. - Fixed an issue with the Fault Manager when the calibration was stored in EEPROM. The EEPROM image is being managed by the main NonVolatile system which will properly handle a change in the fault manager and load the values from flash after programming. - When multiple CAN messages are sent via the same block, if idinherit was set and idcontent was present on the first message, the port labels into the block would be wrong. Only one set of idcontent ports should be present in this case, and this is now fixed. - Fixed an issue with the new CAN transmit blocks that was failing to allocate a transmit buffer if the protocol was not installed. - Choosing "None" for multiple outputs caused a code generation time error incorrectly. The logic has been changed to allow multiple outputs to be assigned to the RES_NONE resource without error. - The PROD+DEV build option was not correctly relinking for the PROD version of the build. The build.bat script now deletes all of the linker files causing the relink to happen correctly. - The Instant RPM accessor block was incorrectly mapped to the average RPM function. This has been fixed. - In 0.8.2 Beta 9, the redundant encoder setting is invalid except for the 24-2 2 stroke pattern. The encoder definition block has been changed to only show the redundant variation as a seperate pattern in the encoder list. - Fixed bug where bus specified in mask of "Read CAN Message" was ignored and, if the ".channel" field of the message struct was undefined, caused block initialization to fail. (Note: terms/fields "bus" and "channel" will be clarified in the final 0.8.2 release: "bus" is the LOGICAL signal (e.g. CAN_P, CAN_H, CAN_S) and "channel" is the HARDWARE on which it travels (e.g. CAN_1, CAN_2).) - In 0.8.2, the PWM Injector behavior had a tlc bug that was preventing code generation. This has been fixed in 0.8.2, beta 7. - In 0.8.1, setting more than one I/O block to the (None) resource would produce an update-time error. This has been fixed, and better error reporting has been added between blocks when resource conflicts do occur. - motohawk_push_cals has been improved to prevent pushing empty values. This is a common occurrence when calling the script before the model has been updated. - motohawk_push_cals would not work under MATLAB 6.5 because it used a built-in m-function called strtrim that was only available in MATLAB 7.0 and up. This is fixed. - motohawk_push_cals did not upgrade Data Store Definitions which had their MotoTune window set to Calibration. This is fixed. - Unconnected index_T and reference_T signals would cause build-time errors because the "ground" or zero value could not be determined. This has been fixed by declaring the zero value to RTW before use. - The PWM block was separated into two executions in 0.8.1, using both mdlUpdate and mdlOutputs. A bug in the S-Function would cause the execution to be incorrectly ordered unless both the "Output Fault Status" and "Output Current" checkboxes were checked. This is fixed. - Fixed yet another bug related to the optimization of reusable automatic variables, which is apparent only in R14 versions, which caused certain blocks with separated mdlUpdate and mdlOutputs to be incorrectly ordered. Fixed this by adding a mdlUpdate function to the corresponding simulation S-Function, which is apparently used by RTW in R14 to determine if a variable should remain in scope for that bit of code, or if it can be overwritten by a new calculation. - Added more error checking to the new CAN blocks, and fixed several cosmetic display issues on the block, due to TeX syntax conflicting with message property names. - The MotoTune Min and Max settings were limited to the range -1000000.0 to 1000000.0. This limit has been increased to -99999999999999999.0 to 99999999999999999.0. - The FrequencyIn Trigger block has been modified to inhibit interrupts at startup until the first tick. This may resolve a problem seen which would cause the module to hang on startup if a high-frequency input was present during initialization. - A problem with the serial port was introduced in MotoHawk version 0.8.1_beta3, and was fixed in 0.8.2_beta6. 0.8.2_beta6 contains ControlCore_Rev_5_0. - A simulation memory leak was found in the the Probe block, which would cause MATLAB simulation times to bog down over time. This only affected simulation, and has now been fixed. 0.8.1 Migration Notes: - The name for the PWM 8X encoder type was changed to say "CAM Only", instead of "No CAM". This selection will need to be made again in older models that used this encoder type on opening the older model. - The name of the calibration created by the Encoder Definition block for TDC angles has been changed from "EncoderFiringAngles" to "EncoderTDCAngles", because future injector and spark sequences may define their own firing angles. The name was changed to help avoid confusion. - The data type of the Output Current for PWM blocks has changed to int16 from uint16. Most modules do not support this behavior anyway, so it may only affect a few users at present. - Several of the I/O blocks now display the data type and units on each port. The text in the I/O blocks has been left or right justified to account for this. Some blocks may still need resizing to display correctly. - A new MotoTune is now available and is required to use the GCU565-80 module. - New error checking has been added at build time to ensure that tables are driven by prelookups of the same size. Older models may need to be fixed in order to successfully build. This could cause very strange errors at runtime if not fixed. - Setting "(None)" as the resource for an I/O block is now considered legal. This basically allows models that are designed for one module but ported to another to be easily configured, without modifying blocks. This configuration can even be done programmatically in a parent mask or an m-file. An error was produced in previous versions, unless the pin was calibratable. - Some of the I/O blocks may give a warning on opening about an invalid mask parameter for 'code_resource'. This is expected and will only happen on first load. After saving the model, it should go away. New Features: - Added the ability to move the fault manager calibration to serial EEPROM. - The fault list calibration is now sorted, for better display in MotoTune. - Improved motohawk_block_image to adjust sizes of blocks with pictures to better snap to the Simulink drawing grid. - Added a Modulated, High-Resolution 1-Shot behavior block that will generate a one shot with two pulse periods each having different PWM values. This block can be used to create a software-based peak-and-hold feature. - Added MotoTron Special Products Library as a container for very specialized functions. - Added Data Logging block to the MotoTron Special Products Library. The logger will log data to serial EEPROM. This logger is not intended as a supported general-purpose feature, and is subject to change as this feature is improved. - A new setting is available in the Target Definition block for the floating-point behavior during code-generation. The native data type of Simulink is 'double', which was set to be a 32-bit float in previous versions. The Floating Point Type setting now allows a 'double' to be declared as a double-precision 64-bit value. The default value is still to be a 32-bit float (same as a single), because of the significant RAM savings. - A new 'Build Directory' parameter is available in the Target Definition block, which allows the location of a build to be explicitly set for the model. If empty (the default), the current directory will be used, which was the old behavior. - Added some IO support for HCS12 - The CAN Definition Block now checks for multiple instances for the same bus, and will produce an error at update time. - When the MotoTune Protocol is enabled on the CAN definition block, the mask for Buffer 15 is greyed out, and will be set to FFFFFFFF. - When the MotoTune Protocol is enabled, a calibration called CityID_CAN_x (where x is the bus number) is made available in the "System | System Config | Communication Config" group. This calibration is now setup under the hood to be a NonVolatile Data Store with data type uint8, which can be read and written at runtime, using the standard Data Store Read and Write blocks. The CityID will not actually change until the next key up. - The Encoder Definition block now adds EncoderSyncEdge as a calibration. - The Frequency In block now has calibratable parameters for the FrequencyIn setup. A separate group string is provided for these parameters, different from the group used for pin selection. - The CAN CityID is now available as NonVolatile data store, called CityID_CAN_x, where x is the bus number. - Added "custom" data structure to DataStore mechanism, enabling the addition of a custom structure to the NonVolatile section, and the shadowing mechanism. - Added initial support for the new GCU565-80 module, also known as the TVM. - Added initial support for the new GCU565-24 module, also known as the ISDL. - Added initial support for the new ECU563-48i and ECU563-48m modules. - Made significant improvements to the code-generation build time. This has a more noticeable effect on large models with many probes, calibrations, and other data stores. - Prelookup index arrays may now be either be monotonically increasing or decreasing. Previous versions required monotonically increasing values. Interpolations will be performed as always, but may now line up with prelookup values in the other direction, starting at the opposite end. - Prelookup block now exposes Min and Max values to limit calibration range in MotoTune. - Added the ability to merge NonVolatile calibrations with an .srz file. A new calibration is also available under "System | NonVolatile Storage | NonVolatile Storage Config" called NonVolatileRestoreOnStartup. By default this flag is set to "Load saved application values on next startup". However, when merging a calibration into a new .srz, this calibration may be set to "Load factory defaults on next startup". If this flag is not set, then the factory defaults of the .srz are indeed modified, but on startup, the module will perform its typical operation of checking the EEPROM contents for validity, and will use the EEPROM values over the stored factory defaults if the structure is legal and the CRC checksum matches. - Added a Restore NonVolatile Data Store from Factory Default, which can be used to restore a single named Data Store from the original factory default value stored in FLASH. This block resembles the Restore All NonVolatile Data from Factory Defaults block, but is selective by name, and does not change the NonVolatileStatus. - The Main Power Relay block now contains code to programmatically set the MPRD pin output to (None) if the target module does not support this output pin, such as the ISDL. The rest of the block behavior of the block is unchanged. - A new script called motohawk_push_cals is available, and traverses the model, pushing calibrations from the MODEL_load_cals.m file or any other workspace source into the calibration blocks that depend on the values. The script is smart enough to trace upwards through masked subsystems, if a simple expression is put into a reusable library block for the calibration value, such as "PGain" into the calibration called "IdleAir_PGain" inside of a PID block. The script will find that one of the parent masked subsystems actually owns the value, and will modify that mask parameter instead of modifying the value of the calibration contained inside of the library block. Bug Fixes: - LSO9 on the 128 module has been fixed. - The STARTUP_EVENT now works properly. A bug in the application monitor prevented it from running in version 0.8.0. Also, when used inside another triggered subsystem, the "Runs even when disabled" option is disabled for the STARTUP_EVENT, because it always runs on startup, as though the disabled checkbox were selected. In version 0.8.0, if the "Runs even when disabled" checkbox was not set, but it was used in another triggered subsystem, the event would never occur. This was due to a similar problem as the application monitor on startup issue. Subsystems do not become enabled until after the STARTUP_EVENT in the generated RTW code. The solution is to make the STARTUP_EVENT a special case, which always runs, regardless of the enable/disable status of its parent subsystem. - Fixed a condition where a trigger would cause a segmentation vilation during build if the "Use in an enabled subsystem" option was chosen. - Fixed a condition with Calibrations and Probes where names are unique only by capitilzation that caused a MATLAB crash. - Fixed errors given by Interpolations, Prelookups, Calibrations, Probes, and Data Stores, so that errors only in capitalization produce corresponding error messages. - Added the model include files to the IOCallbacks.c generated file so that access to the work variables is available. - Fixed the Application Monitor block, so that individual settings for the default Foreground, Background, Idle, and Interrupt stack margins are parameters, just like the calibrations. - Fixed the 24-minus-1, 2-Stroke pattern to be a 360-degree pattern instead of 720. It would not work in 0.8.0. - If (None) is selected for a resource in the pin-calibration, then the error in "System | Debug | Resources" will show "Resource not Created". No OS error or FrameworkGlueErrors will be reported. - Added the "Include In Pretty Print" checkbox in the Title Block GUI, which was available before the annotations GUI was added. - Fixed a problem in the fault manager due to sorting the fault and action names. The sort had been performed at the wrong time during the build and could cause very strange behavior because some blocks used a pre-sorted index, and some used a post-sorted index. Now all blocks use a post-sorted index. - Migrated to new Framework build, fixing some TPU problems behind the new Hi-Resolution One-Shot block. - Fixed the CAN_CityID calibration so that the max value is not 1, but 255. - The Target Definition block now requires that the stack sizes be multiples of 8 bytes instead of 4. This fixes some bugs that have been observed at link time. 0.8.0 Migration Notes: - The Framework has been upgraded to Phase3, which is a new ControlCore software release. - Several of the CPUTime probes under the System group have changed. Most notably, there is no more RTI display. Instead there are FgndTime and FgndAngle displays. The FgndTime display encompasses the old RTI counter. - The "Stack Size" parameter of the Target Definition Block has been replaced by "Foreground Stack Size", "Background Stack Size", "Idle Stack Size", and "Interrupt Stack Size". The Phase3 Framework uses different stacks for each independent thread, rather than a single stack. Each one of these needs to be managed independently, and display variables are available under "System | Status | OS" to show the usage of each. When migrating an older model, check the parameters in the Target Definition Block and resize the stacks as appropriate. - The "Debug" group has been moved to "System | Debug | Resources", and there are many other new features in the "System | Debug" group - There is a new Application Monitor calibration group under "System | Debug", which configures runtime monitoring of the stack size, heap size, CPU usage, and OS errors. When any of these margins are violated, the application is stopped, and several new display variables under the "System | Debug" group are now available to help debug the problem. This should improve debugging of watchdog resets and other hard to find problems without the aid of a debugger. It will also catch many of these problems before they reset the module, making it possible to connect with MotoTune to get visibility into the problem and reprogram without a boot key. - There is a new blockset called System Debug Blocks, currently containing an Application Monitor definition block to configure the Application Monitor described above. - As a build is started, the model name is sampled and then used throughout the build process, which should help avoid the DLL/SRZ build version mismatch problem. Also, the model is saved after a successful build, which will guarantee that the build version is saved for future use. - The CAMDelay calibration is now placed wherever the group string indicates in the Encoder Definition block. Even though this variable is owned by the Framework, because it must be available very early on startup for the TPU, the VarDec was deleted from the Framework and recreated in the block, so that the group can be adjusted from MotoHawk. - The Target Definition Block has had its look upgraded. You may need to make this block larger in an older model in order to get the full effect. Simulink will complain on opening an older model about a missing parameter 'usage_stats', but it should go away after saving the model. - The Adapt Table block now references the underlying table data instead of the block name, which is usually the name of the output probe. For example, the name in the adaptive volumetric efficiency blocks should change from 'VolEff' to 'VolEffMap'. An update-time error will occur if this is not fixed. - The motohawk_annotations_lib has been overhauled, and older annotations will be displayed in the text editor as pure LaTeX strings. The editor provides nice plain-text and newline capability, as well as the ability to parse eval strings, so older annotations could be easily improved. New Features: - There is a new set of blocks called MotoHawk Annotations which are now available from the library browser in Simulink. These block have a GUI text editor which allows easy documentation of models in a more attractive way. - Several new encoder types are available. Most notable is the 8X PWM 720-degree pattern, which uses just one pin (Cam or Crank) and rotates through its cycle once per 720 degrees of the engine cycle. The pattern has 8 teeth, with 1 tooth narrower than the rest, indicating TDC of cylinder 1. - The Trigger blocks now contain an extra checkbox when the "Use inside another triggered subsystem" checkbox is selected, called "Run even when containing subsystem is disabled." This allows embedded triggers to selectively either inherit the enable/disable status of the containing subsystem, or continue to run even while the parent is disabled. Note that this feature will not yet simulate, but makeup events will occur upon reenabling of the parent subsystem, so that the correct number of events will be correctly simulated. - The MotoHawk Trigger block has a new parameter called 'Priority Order', which lets the order of independently triggered subsystems on the same event be explicitly sorted. For priorities that are set the same for a given event, then the order is simply implementation-dependent, as it was before this feature was added. - Under the "System | Debug" group, there is an ApplicationStatus display variable that indicates the current runtime status of the application. If any of the new safety margins in the Application Monitor are violated, the application is put into the Stop mode, and certain blocks will execute special code to put the module into a safe state. A variable called ApplicationStopReason will display the reason for the stop. - The ApplicationStatus can be manually set to Run, Pause, or Stop. While in Stop or Pause, the application events do not run, but the connection to MotoTune will still be available to view the state of the module. The only difference between Stop and Pause is that special code is executed on the transition to Stop, which causes actuators to be put into a safe state (high-Z or off), and the Pseudo Encoder is stopped. Note that display variables will hold their state, so that the problem can be diagnosed as best as possible. This means that even though the RPM of the engine stops, for example, the RPM display variable will show the RPM at the time the application was stopped, and not zero. - New debug pause counters are available under the "System | Debug" group for each trigger event in the application. From MotoTune you can set the number of executions to perform before transitioning to the Pause state. This allows single-stepping or multi-stepping of the module to debug state problems online. Setting a counter to -1 means to run forever, which is the default. - A CRC is now created to check the NonVolatile memory when loading from EEPROM to RAM. If an error occurs, the factory defaults will be reloaded. A new block called "motohawk_nv_status" in the Data Storage section allows the model to act on the status of the NonVolatile read and write. Note that a Display variable called NonVolatileStatus is always available in MotoTune under "System | NonVolatile Storage" - The Magic Number used to identify the NonVolatile structure was a time-date stamp in previous versions of MotoHawk. Now it is generated by computing a CRC on the names, data types, data structures, and sizes of the entries in the NonVolatile memory. The order of Data Stores is sorted by name, type, and data structure, to preserve sequence across builds, and due to block reordering during code-generation. This means that loading an iterative build with adapted values already in the module will continue to use the adapted values from the previous software, as long as no changes have been made to the contents of the NonVolatile data. Factory defaults can be forced to be reloaded using the RestoreNVFactoryDefaults variable in MotoTune. - The underlying Data Storage mechanism and Probes and Calibration blocks have been simplified and merged into a single mechanism. This means that the Calibration block behaves identically to a Data Storage Definition block with a single Data Read block, and the Probe block behaves like a Data Storage Definition block with a single Data Write. It is illegal to write to the data definition created by a Probe, but writing to a volatile Display variable is legal. - A new option is available on the Calibration block, allowing calibrations to be stored in the Serial EEPROM memory, instead of the default Parallel EEPROM (which is FLASH on a PROD unit). This makes creating adjustable calibrations even on a PROD device more elegant in the Simulink diagram. These are labeled "Calibraton NV" and "Display NV". Note that variables marked as "Display NV" will not save in a .cal file and will not be uploaded using motohawk_upload_cals, like traditional Display variables, but they will keep their values across a power cycle (a sticky Display variable). - The Calibration, Probes, Data Read, and Data Write blocks have been upgraded, so that the generated TLC code for vectors and matrices is more efficient. A technique called loop rolling is now fully implemented in these blocks, reducing both RAM and CPU usage for large vectors. It also more gracefully handles the fact that MotoTune expects matrices in X/Y format, while Simulink expects data to be stored in Row/Column format. Accesses to calibrations are inlined, so that the ubiquitous extern followed by a move to an automatic variable is no longer used. All calibrations, displays, tables, maps, and data stores are now completely moved into structs, so that the global namespace is not corrupted. - A new block has been added to the Data Storage section which converts from a reference_T type to a uint32. This is generally not recommended in practice, but can be useful in debugging pointers to memory. - There is a new block in the motohawk_smartcraft_lib that allows the default ProjectID and ProductID to be set from the model, so that the values will be setup correctly by default. There is only one popup, which sets both ProjectID and ProductID, because they must be changed as a group anyway. - Added a function called motohawk_create_guid, which calls to motohawk_create_guid.exe in the MotoHawk Bin directory and returns a globally unique identifier as a string. This can be used to mark blocks or models for scripting and tracking. - Added a program into the MotoHawk\Bin directory called motohawk_dumpdll. This can read a MotoTune DLL and dump its contents as a text file, XML file, or m-script. - There are several new version and information strings that are placed into FLASH during a build. These include GUIDs for the model, build, and token, and version strings for MATLAB. - A time counter VarDec has been added to the NonVolatile struct, which keeps track of total uptime, called MotoHawkModelSecondsInUse. - A script called motohawk_latest_version is available, which queries the mcs.woodward.com website and returns the latest MotoHawk version in the same format as returned by motohawk_verison. Bug Fixes: - motohawkrc.m has been updated so that on startup any existing MotoHawk directories on the path are removed before adding MotoHawk to the path. This should avoid any inconsistencies if path2rc is used. - The STARTUP_EVENT in the trigger block would crash during simulation unless the checkbox for "Allow placement in triggered subsystem" was checked. This is now fixed and will simulate at any level. - The Spark Sequence and Injector Sequence blocks would not create the last pin resource if injector or coil per pin was selected. This is now fixed. - A project started with motohawk_project did not correctly eval uploaded calibrations at update time. This is now fixed, but older projects will not automatically be fixed, because motohawk_project is only a template used as a starting point. See the file MODEL_setup.m in a new project to see the difference. - When a large amount of NonVolatile was stored in previous versions, the watchdog would reset the processor because the EEPROM write took too long. The new framework version fixes this problem. Additionally, only modified values are now written back to EEPROM from RAM, so the time to write is significantly reduced on average. - RTW has a bug in R14 that doesn't always generate the elapsedTime information in an enabled subsystem. This is fixed in MATLAB R14 (SP2). The Delta Time block therefore uses the same strategy as R13 in R14, but uses the improved strategy in R14 (SP2). - The SmartCraft data request and control request callbacks are functional again. 0.7.5 Bug Fixes: - Several users have discovered a potential bug in RTW that was revealed in MotoHawk version 0.7.2. The result was empty generated code in an enabled subsystem. The issue appears to be resolved in MATLAB 7.0.4 (R14 SP2). When using a version of MATLAB older than this version, some optimization using the RTW asynchronous library has been turned off, so that MotoHawk models should never encounter this bug. 0.7.4 Migration Notes: - MotoHawk now installs MotoDevelopment version 8.9 as part of its installation (upgraded from 8.7 in previous versions). It is recommended that users upgrade to MotoServerRuntime_8_9_2_1 and MotoTune_8_9_3_7. MotoHawk_0_7_4 has been successfully tested alongside MotoServerRuntime_8_7_2_0 and MotoTune_8_7_3_6 as well, but to reduce the probability of errors, and to aid dianosis, it is best to keep all of the MotoSuite tools synchronized on a user machine. - The MotoServer ports have been changed on a MotoHawk install to include COM1 (Serial) and PCM-1 (CAN). This makes MotoHawk and MotoTune work together better out-of-the-box. This is done by including edits to the Windows registry in the MotoHawk installer. - The Min/Max settings for the ECUP_Threshold calibration, generated by the Main Power Relay block, have been set to 0 to 1023, which is the valid range for an Analog Input. - The ECU555-48 target now supports 8K of serial EEPROM. Most versions of this module have 8K, but there are some older versions (not included in MotoHawk kits) which still only have 4K of serial EEPROM. If your project uses one of these older modules, it is up to the developer to be aware and manage this resource. - Several blocks in the motohawk_annotations_lib have been upgraded with new parameters, notably the Title Block. On opening an older model, several warnings about "Warning: MotoHawk Title Block block (mask) does not have a parameter named 'im'." may appear, but they should only occur the first time the model is opened. - The outputs of the CAN Receive block now hold their values when no message is received, rather than being cleared. This gives probes that are directly attached a more expected behavior. Bug Fixes: - Fixed a bug that would cause the Startup Trigger to not occur in R14 in simulation. There was no impact to code-generation. The simulation behavior is now fixed. - When motohawk_upload_cals runs and creates a MODEL_load_cals.m file for the first time, an error was produced. The script now rehashes the MATLAB path after creating the file and before attempting to execute the script. - Fixed a bug that would cause pins FUEL 1-4 to not save in a PWM block in a Simulink model across a close and reopen. - MATLAB 7.0.4 (R14 SP2) installs in C:\Program Files\MATLAB704 by default, instead of C:\MATLAB704, like previous versions of MATLAB. The script that creates the build stats at the end of a build could not handle a MATLAB installation directory with a space in it. This is now fixed. - Depending on the design, a block with VarDecs will be optimized out at build time, such as when an enabled subsystem is controlled by a constant equal to false. If this happens, the surrounding code will be stripped from the generated code. The VarDecs should also be stripped from the build. This is now fixed and will prevent a build-time error during VarDec parsing. New Features: - There is a new m-function called motohawk_project, which creates a template project directory with an example model using a recommended architecture. Many of the common m-scripts that have been found to be helpful for most MotoHawk projects, such as MATLAB path setup and automatic calibration are included in this initial project. Type "help motohawk_project" for more information. - Added installation hooks for MATLAB R14 (SP2), which has not yet been thoroughly tested. This is provided for users to test MotoHawk with the latest version of MATLAB/Simulink. - If the current MATLAB directory is in the MotoHawk installation area, it will not allow the build to continue. - In the model_probe_eval block (new in 0.7.3), the default name was changed to be the name of the current subsystem. This demonstrates the power of the block, and is very often what is desired by such a probe. - There is a new trigger block called the Subsystem Trigger, which provides explicit function-call hooks for the built-in Initialize, Enable, and Disable subsystem functions, which are part of the underlying design of S-Functions and RTW code generation. These hooks allow explicit cleanup or startup code to be performed on state transitions, for example. 0.7.3 Migration Notes: - The Main Power Relay block now contains code for saving and restoring non-volatile memory. This was sometimes added to projects independently, and the Display variable names will clash with these older projects. Simply remove the save and restore logic from the main model, because the Main Power Relay block now handles this. - After pressing ^B, the model will be updated (like ^D) before building. This should eliminate some errors that are only checked at update time. Also, this should eliminate the occasional problem where the SRZ and DLL versions do not match (sometimes they are off by one). Models that previously built but did not update will now need to be fixed in order to update as well as build. - Removed the Custom TLC Code block from the Extra Development Blocks section. It did not work correctly, and nobody has been using it. The correct way to create custom TLC code is to write an S-Function with an associated TLC file, as per the MathWorks documentation. New Features: - The Main Power Relay block now creates a Display variable to cause a processor reboot. This allows a user to perform the same operation as a power-cycle entirely from MotoTune. - There is a new Encoder Fault Status block under the Encoder Blocks section. This block will provide information about encoder synchronization faults, if they occur. - The Injector Sequence block now supports open/short diagnostics, via Transition Count and Transition Time outputs. If the Transition Count is zero, there is an open circuit. If the Transition Count is non-zero, but the Transition Time is too short, there is likely a short circuit across the injector output pin. - A checkbox labeled "Overwrite Values from Uploaded Calibration" has been added to all blocks that take a Default Value for a calibration from MotoTune. When motohawk_upload_cals is called, it normally creates a workspace struct called MODEL_cals and an m-script called MODEL_load_cals, which cause all calibrations to be overwritten by the current values from the ECU. To prevent this behavior for certain blocks, uncheck the checkbox. This might, for example, be the case for data that is not simply a value, but is an expression, generated from an m-script. - The arguments to the motohawk_upload_cals function have been modified to allow multiple models and multiple modules on the bus. The old behavior can still be obtained, but will require extra arguments. Type 'help motohawk_upload_cals' for more information. - The Fixed-Point calibration blocks now also pick up data from the struct created by motohawk_upload_cals, which was added for non-fixed-point blocks in 0.7.2. - The Simulink model name used for a build is now stored in a VarDec called MotoHawkModelName, under "System | Version". - There is a new motohawk_model_probe_eval block in the Extra Development Blocks section. It is functionally equivalent to the older motohawk_model_probe block, but has an eval string for the probe name, and allows the MotoTune group to be parameterized. - There are new Display Variable Event blocks in the Extra Development Blocks section. These create popup Display variables that when set cause an event call. The variable automatically clears, and the blocks output either a function-call or a boolean signal which will be true for one tick. This is a similar idiom to the "Clear All Faults" MotoTune Display variable in the Fault Manager. - Added an Injector Current Select block that selects between 3A peak and 1A hold or 6A peak and 2A hold on the ECU565-128 module. Bug Fixes: - In 0.7.0, the name of the build directory changed to "model_Build", but the Target Definition Block was not updated with this change to be able to present the Build Stats. This is fixed, and the Build Stats display correctly again. - Turned off a compiler warning about a "poinless comparison with 0" for unsigned integers. There are some places where this cannot be avoided in code generation, and the compiler will optimize these conditions. There should be no warning to the MotoHawk user. - Fixed a bug in the PWM Injector output block, which prevented the duty cycle and frequency from updating after initialization when the output pin is calibratable. - Fixed an enumeration string bug in the Data Store Definition block, where using an enum starting with digits would cause a build-time RTW error. This was fixed by passing the enumeration string down to RTW using a different RTW S-Function call. 0.7.2 Migration Notes: - The script 'motohawk_upload_cals' has been changed to create a struct called MODEL_cals, where MODEL is the name of the current model. The struct contains a value for each calibration, table, map, prelookup, and pin calibration in the model. This is similar to the previous behavior, but does not clutter the workspace. Also, two such structs can coexist, using different names for different models. This allows more than one model to be open at the same time. - The calibration, table, interpolation, and prelookup blocks have been changed to automatically lookup a value from the struct defined above, using the name of the current model as the name of the struct, and the name of the calibration, table, or prelookup as the entry in the struct. Whatever values were placed into the block become default values in case the struct does not exist, but if the struct does exist, the struct wins. This makes creating calibrations that can be modified in MotoTune and put back into the model very simple. No rigorous naming conventions are necessary. Also, reusable library blocks such as a PID containing calibrations, do not need to have the values for every possible calibration accessible via the overlying mask. Nor do the expressions placed into such masks need to have strict naming conventions. - The upload calibration features have been added for the encoder definition as well, when selected to be calibratable. New Features: - Added an option to the EST block to input a Max Duration in microseconds. This will prevent coils from burning out if the RPM goes to zero and never reaches its stop angle. The input is an option, because there is some additional CPU overhead for this feature if it is unneeded. - Added DEV+PROD option on the Target Definition Block, to build two .srz files and one .dll. Each of these files will contain the same code and use the same .dll, but one will be built for a development module, and one for a production module. This would be the recommended way to build models that are going into production. It is still possible to select just one of these options, such as only DEV, which is still the default, so that the extra disk space and link time isn't spent during iterative development. - The Delta Time block now makes use of the elapsed time feature of R14, saving RAM, FLASH, and computation time. - Added LittleEngine example to the Examples directory. This example model illustrates how to construct a very simple controller for a 4-stroke, 4-cylinder EFI gasoline engine. It simply uses a MAF sensor to determine airflow, converts this to APC (air per cylinder), and uses APC and RPM as inputs to tables for Spark Advance, Spark Energy, End of Injection Angle, and Injection Duration. - Added new Fixed-Point blocks for communication with MotoTune. These blocks have a B-Scale parameter that is used to determine the Gain/Offset/Exponent so that the calibrator sees the values in engineering units, even though the Simulink signal physically contains fixed-point integer values. The B-Scale is displayed on every Fixed Point block, and there is a passive B-Scale label block, so that the B-Scaling operations are displayed clearly on the diagram. - A fixed_point_example.mdl file was added to the Examples directory, indicating similar operations using Fixed-Point and Floating-Point. The blocks simulate side by side and display similar results, and when built on a module, the same values are seen in MotoTune. Bug Fixes: - When using a trigger inside of a triggered subsystem, no code would be produced in R14. This is now fixed, and the triggers have been updated to use asynchronous timers for absolute and elapsed time, which is a new feature of R14. - Added a fix for a rare code-generation problem using prelookups and interpolations, where an error about a "MotoHawk interpolation block must be driven by a prelookup block" would be incorrectly produced. - The PWM and PWM Injector blocks caused errors during update time because of the name, if the Frequency Mode parameters was set to anything but Low. The S-function was reading the wrong parameter for VarDec name clash checking. This was fixed, and shouldn't affect the code-generation at all. - Fixed the Data Definition block when a reference type is selected for the data definition type. Previously, the display would show ??? - Fixed a bug in the Data Store Read/Write blocks, when reading an entire data structure at once, if the provided row/column or vector size was a bad parameter. An S-Function crash would occur, but will now produce a clean error message. - Fixed a code-generation error in the the Data Store Read and Write blocks, when using a dynamic reference to read or write an entire vector or matrix, without the null-reference check. Extra curly scope braces were required in this case, and would cause a compilation error. 0.7.1 Migration Notes: - The SmartCraft Data Request and Control Request blocks have been split into three blocks per callback, instead of just two. The first block is the trigger, the second is the data provided by the callback to the application, and the final is the result or return value of the callback. This is required due to an issue in R14, where blocks that provide asynchronous triggers cannot also output data. - All trigger blocks now contain the parameter 'Allow placement inisde of a triggered subsystem', not just the main MotoHawk Trigger block. This includes the CAN Rx Trigger block, the Frequency In Trigger, and the new SmartCraft callback triggers. Bug Fixes: - When MATLAB starts up, a warning was produced saying "MATLAB and MotoHawk are not installed on the same drive". This was caused if the drive letter differed by case, like 'C:' and 'c:', or if '/' was used instead of '\' as a directory separator. These cases are now fixed. - If a custom pin name is provided, the debug VarDec will use the custom name, and it could result in a name that is too long. This is now fixed by truncating the debug variable name, and providing a UID to uniquify the variable, when it results in a long name. - Because the Wide-O2 Sensor is also a PWM behavior, the resources for this behavior must be pre-allocated from the heap like a normal PWM. This was not taken into account in 0.7.0, and is now fixed. New Features: - The CAMDelay calibration is now available when the Encoder definition block is dragged into a model. Unfortunately, the group is not adjustable, because MotoHawk does not yet have direct access to modify calibrations in the Framework. A future release will allow this and other Framework calibrations to be more easily set from MotoHawk. 0.7.0 Migration Notes: - The Target Definition Block now provides a different default SRZ and DLL name. A build version is added to the end of the model filename, and this version autoincrements after every successful build. The build version can be explicitly set using the command 'motohawk_build_version'. If the old behavior is desired without the build version suffix, modify the explicit SRZ and DLL names to be the function 'bdroot'. - Error checking has been provided at update-time for I/O pin assignments. These errors may prevent older models from updating, but these errors are real and would have caused build-time or run-time errors. - In previous versions of MotoHawk, it was legal to use multiple input resources referencing the same resource, such as multiple Analog Input blocks to read ECUP. This functionality is no longer supported, but new I/O 'read reference' blocks are available, which allow reading from a resource without defining the resource. One of the input resource blocks must be a definition block, and the others simply access that block. This feature was added primarily because MotoHawk now supports calibratable pin assignments. Older models may not update correctly. Please make changes to the model as necessary. - The Fault Definition block now has eval text fields for the Fault Actions that it references, rather than popups. The popup technique had a bug which would prevent any selections from being valid when the model is closed and reopened. This has been an issue for quite some time, so it is expected that nobody has been using these fields directly in their models. As older models are opened using this version of MotoHawk, some errors may occur due to this change complaining about the parameter 'action1'. Simply update several times through these errors, and then save when the model updates successfully. - Better case checking has been added to avoid errors in the build or in MotoTune. Faults, VarDecs, and DataStores must have truly matching case names, or be truly unique. For example, it is not legal to define a DataStore as 'abc' and read it as 'ABC', because names must match exactly. It is also not legal to define one probe called 'def' and another called 'deF', since names must be truly unique, including case. This may break some eariler models, but they should be fixed anyway to avoid possible bugs in code generation or in MotoTune. - The Tachometer output block has been removed because it was never implemented. It will be readded when it is fully working. - Better error checking has been added to the Data Storage read and write blocks. When a dynamic reference is used to perform accesses, errors will stop a simulation if an index is out of bounds, or if an unexpected null reference is encountered. This may break older models that ignored these errors. New Features: - MotoHawk has been successfully tested under MATLAB 7.0.1 (R14.1) and the installer will now allow integration with this version of MATLAB. - New help is available for MotoHawk via the command: "help motohawk". This is a root help file for many of the available command-line functions and scripts to make development easier. Typing "help " will give more detailed help for many of the built-in scripts, and more of this will be added in future releases. - A new help system has been setup for blockset documentation and other documentation related to using MotoHawk. The help system is integrated with MATLAB, and should be available on the MATLAB help browser like all other built-in MATLAB toolboxes. Each block has a link to a corresponding HTML file in the MotoHawk Documentation directory. This help system will be expanded in the future. - All of the I/O blocks now support calibratable pin assignments, which allows setup of the pin resource via a calibration in MotoTune. Changing the pin in MotoTune takes effect at the next power cycle of the module. - One of the options for pin resource selection is now "(None)", which does not create the resource. This is useful if the design is capable of more features than there are pins available. Selecting a proper subset of resources would then be done at calibration time instead of build time. - A Wide-Range O2 Sensor block has been added to the Analog I/O blocks, which provides access to the ASIC onboard the ECU565-128 module. - The PWM and PWM Injector blocks now support for reading the module's current feedback circuits. Not all modules support this feature on all pins, and there is no support to prevent invalid settings (yet). In addition, these blocks can output a fault status, which can be used to diagnose disconnected drive circuits. Similar outputs will be coming to injector and spark blocks in a future release. Bug Fixes: - In 0.6.6, the .m files were converted to .p files, eliminating any help that was available for those functions. The help has been restored by including .m files containing only the help for the commands, while the actual code is encrypted in a .p file of the same name. - The SmartCraft DataRequest and ControlRequest blocks have been fixed. The outputs from these blocks did not correctly propagate to the triggered subsystem. - Fixed a code-generation order problem in RTW caused by triggers embedded inside other triggered subsystem which are triggered via Goto/From blocks. The RTW error was related to "CurrentTID". - Fixed the fault marquee, where "(None)" would show up in the list of faults. "(None)" should only be displayed if there truly are no faults. - Fixed a bug in the DataStorage blocks, where the 'reference' data type is used in a data definition. If a non-null default value for the reference was used, the pointer could be invalid. This is now fixed and tested. Notes: - The development environment for MotoHawk has been modified to have two separate copies of MotoHawk: a development version and a release version. The installer contains the release version. The development version is used for making changes to the source code. This does not affect users, but is inluded in the README to mark the major environment change. 0.6.6 Migration Notes: - The Main Power Relay block in MotoHawk_lib has been changed to contain a MotoHawk Trigger for the BACKGROUND_BASE_PERIODIC task. This allows the block to be placed anywhere in the model, like most other 'definition' blocks. - All .m files in the installation are now replaced with encrypted, precompiled .p files. This change should not change the behavior, but does mean that the source code for MotoHawk scripts will be hidden from users. - All .c files for S-Function MEX DLLs are also removed from the installation, for added security. New Features: - A new block under Analog I/O called PWM Injector allows driving of low-impedance injectors using a PWM, without defining an encoder. - The probes generated under the Debug group are now enumerated text strings, rather than large numbers, which should make debugging resource creation errors significantly easier. Bug Fixes: - The installer has been updated to more robustly handle uninstallation, and to handle installation over a previous version. 0.6.5 Migration Notes: - VarDec and Data Defintion names must now be unique including case. Now VarDecs with names 'calibration' and 'Calibration' will clash and give a uniqueness error. MotoTune does not allow names with only a difference in case, so this check prevents a runtime error in MotoTune. Older models may need to be upgraded in order to update. Bug Fixes: - The SmartCraft Control Request block would not build, and would give and error claiming that a Control Request block must exist in the model, even when one existed. This is fixed. - The WorkspaceVariable block in the annotations library has some extra logic to convert variable names to TeX, so variables with underscores won't display as subscript. - Instead of having multiple project_id entries in the TDB tables, unused tables use their revision number as the dummy VarDec. This prevents multiple project_id entries from appearing in the Engine Config calibration. - The Frequency In Trigger block would not update, complaining about a parameter 'resource_list'. This is fixed. - There was a bug using enumerations in the Data Definition Block. It is fixed. New Features: - A new "Fixed Point Blocks" group is added to the MotoHawk library. This library contains blocks to do arithmetic using B-scaling. There is no connection to the Simulink Fixed-Point Blockset. - A new block 'motohawk_replicate' is available in the Extra Development Blocks. This block copies its input to its output, replicating as necessary to fit the new size. This lets a scalar become a vector, or one vector to become another. - The Calibration, Probe, Absolute Override, and Data Definition blocks now support a View As Text popup option. This allows vectors or scalars of uint8 to be viewed in MotoTune as a string. 0.6.4 Migration Notes: - The Pretty-Printer is still being worked on, and was removed from the MotoHawk distribution. It will be added back when it is stable, documented, and its interface is more defined. Bug Fixes: - When no CAN definition blocks are in the model, extra code is generated so that the MotoTune protocol may accessed via both CAN interfaces. There was a bug in the generated code, which included adding code fot the HCS12, when the target is PPC. This bug is fixed. - ESTConvert and MotoConvert are now explicitly executed from the build.bat file instead of being called by a 'postexec' option to GHS. If any errors occur while these programs run, their output will appear on the screen and in the log. New Features: - The serial definition block now installs an error handler, which increments debug counters for each type of error. These are available under the Debug group in MotoTune. 0.6.3 Migration Notes: - The motohawk_event_call block has renamed its 'event' parameter to 'trigger', which may break an existing model that uses this block. Most models do not use this block, except for the Main Power Relay block in the Extra Development Blocks section of the MotoHawk library. The Main Power Relay block has already been updated. The renaming was necessary so that the motohawk_setup_triggers function would work on that block in addition to the motohawk_trigger block. This function sets up the list differently depending on the target, which is different for the HCS12 and MPC5xx. New Features: - Table and Interpolation blocks now have Min Value and Max Value parameters. - More HCS12 implementation. A successful build has been performed. - The Main Power Relay block now has a Data Storage Definition block inside, which exposes a variable called MPRD both as a VarDec probe and which can be read using a Data Storage Read block, to determine if the relay is being driven on. This is useful for disabling sensor range faults while the relay is off. - MotoParser has been upgraded and no longer pops up a progress bar during the build while parsing for VarDecs. - Added a 'Startup Calibration' option for the calibration block behavior. This is a calibration, which is output as a signal only at power up. Any blocks that are connected to it will only execute once. This prepares the way for some blocks to provide startup signals instead of parameters, so that MotoHawk blocks can configure themselves at startup, depending on a calculation or calibration at run-time, instead of only at build-time. Bug Fixes: - Cleared the default values for explicit links to other blocks in the Table 2D, to be like all of the other lookup table and interpolation blocks. - When uninitialized table variables are entered into the Table or Interpolation blocks, the display will now indicate '(Bad Table)' instead of generating a warning and showing ???. - cal2m.exe now releases its conection with MotoServer after running. motohawk_upload_cals uses this executable to create a calfile. - The 'rehash' command is now called after MATLAB starts up, which should update the path and make any new MotoHawk commands or libraries visible. This is now needed because MotoHawk is installed outside of the MATLAB toolbox. - In 0.6.0, the prelookup and interpolation code was placed into separate reusable functions, to reduce code space. The generated declaration and definition of the prelookup did not declare a return type, but the compiler defaulted to 'int'. This caused a compiler problem in CodeWarrior, and was fixed. - The Adapt Table block had its row/col indices reversed relative to the stored data. - The magic number for NonVolatile data was incorrectly generated, and was zero every time. 0.6.2 Migration Notes: - You may see a warning saying that the parameter 'proc' is undefined from the Target Definition block. This should only occur once as your model first updates. New Features: - Added support under the hood for MotoHawk HCS12 and compiler-independence. This work is still in progress, and will not be available for some time. Set 'motohawk_allow_hcs12 = 1' in the root workspace for developer access: .Put all #pragma statements into a separate TLC library. .Added target-dependent popups for the Trigger block, similar to the I/O resource blocks. .Setup global TLC variables identifying the processor and toolchain. .Added code in several I/O resource blocks to handle different processor libraries. .Broke up Lib directory into PPCLib and HCS12Lib, containing ControlCore libraries for each processor. .Added the notion of a processor family, which now contains "PPC" and "HCS12", which is different from the processor type, which may be "MPC555", "MPC565", and "HCS12". Bug Fixes: - In 0.6.1, the Target Definition block would not open when double-clicked. This is fixed. - The option on the Trigger block for 'Allow placement inside another triggered subsystem' would cause an infinite loop in simulation when checked on a non-periodic subsystem. The behavior when checked on a non-periodic subsystem is now correct, and should be checked even when the trigger is non-periodic, e.g. on TDC. - The CAN Rx trigger correctly handles being placed in a triggered subsystem in R14. - Data Store Read/Write blocks did not allow overwriting of their output ports, which would disallow connections to merge blocks. This is fixed. 0.6.1 Migration Notes: - The CAN Rx block previously had a parameter called 'mask', which was conflicting with the built-in parameter 'Mask', which identifies whether the block has a mask in Simulink. The parameter name has been changed to 'mask_type'. Almost all designs use the default mask_type anyway (Full-bit Comparison), so this shouldn't be a problem as designs are upgraded to 0.6.1. New Features: - This version of MotoHawk has successfully been used to build using R14. An engine application has been used to test this, and it runs as expected. Much effort was spent to make MotoHawk and models that depend on MotoHawk independent of the MATLAB version. Therefore, models built with R13 should work without modification under R14. - A new library motohawk_smartcraft_lib, which contains blocks to interface with the MotoTron protocol callbacks. These functions allow control and data request packets to be accessed in a transport-layer-independent manner. Only one of each of these blocks may exist in a given model. - Added a Fault Clear block, which when triggered, clears all faults, just as if the user had selected 'Clear All Faults' from MotoTune. - The CAN definition block is no longer required if it is only being used for a connection to MotoTune. This gives the user the expected behavior when no information about CAN is given in the model. It also reduces the canonical MotoHawk model to a single Target Definition block. If no CAN connection is actually desired, explicitly setup a CAN definition block with no buffers and the MotoTune Protocol disabled. - motohawk_setup_rtw now gracefully handles model configuration for MATLAB R14. A new mechanism called Configuration Sets are used to setup RTW and simulation parameters. - A high-resolution timer is now available from ControlCore and is exposed via the Absolute Time block, for use in models that respond to real-time events and require the current time. The time is available as a floating-point double in secnods, which always rises but loses precision as the value grows (it's floating point!). It's also available as a fixed-point uint32 in microseconds, but it will rollover to zero after about 71 minutes. - The Delta Time block makes use of the high-resolution timer, as well as the RTW notion of absolute time. Time is now accurate to one millisecond throughout the model. Prior to this release, it only had 5ms accuracy. - Each version of MATLAB now has a different RTW library in the MotoHawk release, one of which is copied to the build directory, depending on the version of MATLAB used to generate the code. Bug Fixes: - In MATLAB 6.5 and earlier versions, the documented external Windows .dll interface doesn't seem to work. Therefore, the 'motohawk_short_path' function, which calls a win32 dll fails. This was fixed by creating a command-line program called shortpth.exe in the \Bin directory, and calling it from 'motohawk_short_path'. - motohawkrc.m, motohawk_directory, and motohawk_short_path were all modified, so that the MotoHawk path is always derived using short path names, without spaces. This removed compatability problems with RTW in MATLAB 6.5 and earlier, which did not include custom .tlc files with quotes, and therefore failed when the .tlc files were located on a path with spaces in it. - If motohawkrc.m is called a second time, and MotoHawk is already installed, it simply reports the installation status, without reinitializing the path. - Fixed the installer, to be more robust to existing versions. However, it is always good practice to uninstall an old version of MotoHawk before installing a new one. - The Target Definition block no longer calls motohawk_setup_rtw at update time. Instead, motohawk_setup_rtw is called when the block is added to the model, when the model loads, and before the model is saved. This is needed because Configuration Sets in R14 cannot be changed at update time. - The include directories passed in via Simulink are now ignored in the template makefile. Instead, as changed in 0.6.0, the appropriate header files are copied into the build directory so that the build can be performed on another machine without MATLAB or MotoHawk installed. - In R14, RTW generates a file called rtwtypes.h, which contains typedefs for each native Simulink data type, such as uint8_T. Previous versions of RTW allowed the real_T and time_T types to be parameterized via a #define, but for some reason, this was removed in MATLAB 7. In order to preserve this very valuable feature, the generated file is deleted, and a known good copy is used from the MotoHawk R14 RTW library. - To support R14, the setup_build.bat file now adds rt_nonfinite.c to the .bld file if it exists in the current directory. RTW does not allow adding this file via the TLC function LibAddToModelSources. 0.6.0 Migration Notes: - The new MotoHawk installer will install any components that are needed, so there is no requirement that MotoDevelopment, MotoServerRuntime, or MotoTune be installed in addition to MotoHawk. However, this and future versions of MotoHawk will require MotoSuite components with version 8.7 or greater, which are now available on TestTrack as a Product Release. Therefore, if you currently have any older versions of these components installed on your machine, please uninstall them before installing MotoHawk, and reinstall only any new components that are needed. Normally for MotoHawk developers, this would only be MotoTune. MotoDevelopment is no longer explicitly needed as a separate install. Those parts of MotoDevelopment that are needed are installed along with MotoHawk. - The deprecated blocks have been removed from the library. These blocks will no longer be supported. - New features have been added for error checking to each I/O block. When opening an older diagram, several warnings may be printed, but these should only appear once. This is normal, and no data should be lost. - The Override blocks no longer provides a probe for the value on its incoming wire. This VarDec used to appear as "VarDecName_in" in MotoTune. If this behavior is still desired, you must explicitly add a probe to view the input value. New Features: - Moved to a new installation procedure, which uses a standard Windows InstallShield .exe and guides the user through the process. It automatically does the setup with MATLAB and handles versioning between different MATLAB / MotoHawk combinations. - Changed the build environment so that everything needed for a build is brought in the build directory prior to performing any processing. The processing, such as VarDec parsing, compiling, linking, and creating the executable .srz are performed by a script called "build.bat" which is created at code generation time. Invoking this batch file is the last action in the build process. This allows a developer without a MotoHawk or MATLAB installation to perform a rebuild of generated source code. This is an ongoing project and will improve over the next few versions. - If the Green Hills Compiler is not installed correctly or the license is not correct, MotoHawk builds will continue to generate code and build scripts, rather than stopping without generating at all. The generated build directory can then be moved to another machine with Green Hills installed, and the build can proceed there, by running "build.bat". - Added support for enumerated types to the Probe, Calibration, Override, and DataStorage blocks. A cell array or struct defining the enumerated type names and values can be entered into the block and provides textual names in MotoTune. - When the target is changed via the Target Definition block, if any I/O resources become invalid, an error will be generated by the corresponding I/O block, giving the user an opportunity to select a new resource. Setting the variable 'motohawk_allow_all_resources" to 1 will force the resource lists to contain all possible resources for all targets, even though runtime create errors may occur. - Added a checkbox in the Trigger Block, which will allow placement of periodic triggers inside of other triggered subsystems. The blocks will attempt to simulate as best as possible, but will be synchronized to their calling trigger, but will function as expected on the actual target. This was not allowed at all in previous versions, and Simulink would complain. - Some basic support for Matlab R14 has been added. More will be coming in future releases. Matlab R14 is not yet fully supported, but this work is in development. - Common table prelookup and interpolation code is now generated into reused functions, one per data type that is used in the model. This was done to save some code space. There was an improvement of about 5-10% in the generated code size. Bug Fixes: - Fixed the Encoder Definition block, which would occasionally show one value on its mask, but build with a different value. This is now fixed. - Attempting to build a model while the current directory is in the current MotoHawk installation directory will produce an error, even if MotoHawk is installed outside of the Matlab toolbox. - I/O blocks no longer depend on the MaskType field to setup the enumerated list of resources. This allows more user-friendly MaskType strings to be used at the top of masks. - The serial EEPROM size in the linker file is now modified depending on the target, even if they use the same processor. (ECU555-48 and ECU555-80 have different EPROM sizes). The report at the end of the build also shows available space depending on this value. - The Knock Definition block now checks for the recommended ModClkF setting, which is used to make ProSAK calibrations based on time and frequency identical between modules. - Because of the code-generation order, the Adapt Table block would sometimes fail to find the index variable for the associated table. This has been fixed by placing common code into a motohawk_table_lib.tlc file, and declaring all tables in a different order. 0.5.7 New Features: - Added a function motohawk_show_vardecs, which will provide a formatted list of VarDecs in a model or under a subsystem. The listing will be sorted the same way MotoTune sorts VarDecs, so that the user can quickly review the calibration interface from MotoTune without requiring a total rebuild. Bug Fixes: - Fixed the calibration of Constant data storage, including data defined using DataStorage Definition blocks, and Tables. Some of this data was incorrectly placed in the wrong memory section, and couldn't be calibrated on a DEV ECU. - Improved the performance of the Injector block, by only making API calls when values change. Typically, the enable input and the peak time change more rarely than 5ms, and these calls are expensive in CPU time, so this enhancement typically gains 4-5% of the CPU time, if the block is placed in the 5ms RTI task. - Fixed motohawk_build_version, which would autoincrement from 19 to 110, instead of to 20. - When non-finite values (inf or -inf) are used in a delta-time block for the initial value, if no other blocks use non-finite values, an error would be produced. (rtInf not defined) This is now fixed, by declaring to RTW that a non-finite value may be needed by this block. 0.5.6 New Features: - There is a new function 'motohawk_build_version' that can be called from the command line or inserted into evaluated block parameters. This version is autoincremented when a build is successfully completed, and it will be saved as a parameter of the root model. Typing 'help motohawk_build_version' will give more information on its usage. - The Title Block in the motohawk_annotations_lib now uses the motohawk_build_version as its version string. Bug Fixes: - The Adapt Table block was missing from the MotoHawk_lib.mdl file. Now it is there. There is also an adapt.mdl demonstration model in the Examples directory, which should give an idea of how to use the Adapt Table block. - After adding adaptive tables and the 'Constant' storage selection in Data Storage definition block, the location of constant tables and data was placed in the constant area, not the calibration area. MotoTune would give a message saying that the variable is not modifiable (similar to the message when trying to calibrate a PROD module). This is now fixed, by placing Constant storage in the calibration space. - In the Calibration block, selecting 'Inherit via backpropagation' for the data type would also inherit the dimensions of the signal. This is not the same behavior as the built-in Simulink Constant block. The block was fixed so that selecting this option will only set the data type and not the dimensions. The dimensions always follow the size of the 'Initial Value' data field. 0.5.5x Bug Fixes: - In 0.5.4, there was a claim that a Knock Gain block was added. The claim was a bug. This bug has now been fixed. 0.5.5x contains the Knock Gain block. 0.5.5 New Features: - Added motohawk_annotations_lib.mdl, and motohawk_pretty_print.m. These blocks and scripts are the initial versions of a set of attractive annotations to help document models. More will be added in later releases. The pretty printer will create a Microsoft Word document that contains most of the useful information about a model, including select pages of the graphical Simulink model, tables for the calibrations and variables, and management information such as to-do lists. - Added a new Fuel Injector block, that supercedes the old Injector Sequence Out block. This new block is capable of driving Peak & Hold Low-Impedance injectors, and can generated transient make-up pulses for each cylinder. 0.5.4 New Features: - Added an Adapt Table block, that takes a value to be added to a 1-D or 2-D table, and adds it 'around' the currently looked-up position. If the table is near a point, the entire value is added to that point, but if the table position is between two or four points, then the value is distributed to the neighboring points, by either adding half of the value to two points, or one quarter of the value to four points. - Added CityID and MotoTune Group String to the CAN definition block. The entered CityID is the default value at build time, but it is also available via a calibration, placed at the location defined by Group string. - Added the ability to attach a VarDec to DataStorage definitions. The DataStorage Definition block now has most of the parameters available to a Calibration block, and allows design patterns such as single-definition / multiple-use for calibratable constants used throughout the design, and the ability to use MotoTune to adjust large tables accessed using DataStorage blocks (such as a custom CAN protocol). It also allows MotoTune and the design to both write to a single value, such as allowing the user to set a variable to 1, and then letting the software clear it to zero when finished. - Reversed the ordering of DataStorage blocks under the hood, so that all data is stored in X/Y format, rather than Row/Col. Simulink natively uses Row/Col, but MotoTune and the table blocks use X/Y. This prepares the way for adaptive tables. - Added a parameter 'Storage and Accessibility' on the Tables and Interpolation blocks. This locates the table data in one of the DataStorage sections, and adaptive tables can now be implemented by using DataStorage Read and Write blocks to access the data by name or by reference. - Added a Knock Gain block, that allows dynamic selection of the gain in the ProSAK device to 1X or 2X. The Knock Definition block now has a default gain, that will be used until the gain is adjusted via the Knock Gain block. The calibration from MotoTune has been removed, but similar behavior can be obtained by connecting a Calibration block to the Knock Gain block. 0.5.3 Bug Fixes: - Fixed "???" on encoder definition blocks at model load - Displayed value on Calibration block uses the Gain, Offset, and Exponent values, so that the value on the block matches the value in MotoTune. The 'Initial Value' is still the raw value before Gain, Offset, and Exponent. New Features: - Explicitly counts the number resources used of each behavior, and pre-allocates heap space. This gives a significant overall gain in terms of memory usage. - Added 'DEV' or 'PROD' printout to beginning of build, and is included in the log. - Added new Encoder TDC Offset block to adjust mechanical vs. electrical TDC at runtime. - Interim Engineering release to test Knock Block functionallity. See example in in examples\knock1.mdl - Framework updated to allow automatic CANKING authentication with DTS systems. - Added PROSAK filter coefficient block for nice looking calibration, improved calibration look for knock cylinder firing order. - Added 36-1 with 1 tooth CAM option to encoder. - Added MotoTron Security Functions for smartcraft compatibility. To authenticate Smartcraft, after programming, set Product ID calibration to '9872 MC'. Product ID secret decoder ring: Mercury Outboard = 9871 MO Mercury Racing = 5320 MR MerCruiser = 9872 MC Kohler Genset = 6411 KG Whipple Industries = 7600 WI Hyundai Demo = 7601 HD EdelBrock = 3488 EB Buell Firebolt = 6477 BF - Corrected filter cofficient scaling for negative numbers. Corrected sensor select per PROSAK Errata. - Added 'Read Prosak registers' block. - Corrected MKIKS setting to fix compile error. Added MKIKSEnable and TDC1_Offset calibrations. - Added Calibrations to Knock Definition Block. Added Firing order to Knock Results Block. - Added annotations_lib.mdl and OS_Title.jpg to examples folder. (This is temporary). - annotations_lib.mdl in /Examples updated with new title block for models. 0.5.2 Bug Fixes: - Fixed an issue in the Framework with TPU_N masks. They are now enabled and do not report OS errors at runtime. - Fixed a memory leak in the Interpolation 1-D block. The VarDec for the output was not being properly deleted from the error-checking list. - Fixed a build issue that would cause dllwrap.exe to fail when generating the TDBDLL. The generated error indicated that 'ld' could not be found. Passing an extra flag to dllwrap.exe solved the problem. Builds have been tested both with and without MotoDevelopment installed, and both with and without an external gcc tool (like the compiler with Cygwin). MotoDevelopment is no longer required for MotoHawk installation. - Upgraded the demo and other example models to work correctly with 0.5.x. 0.5.1 Migration Notes: - The resolution of the PWM block has been changed. Rather than taking an int16 ranging from -100 to 100, the block now takes an int16 ranging from -4096 to 4095. This is the native resolution of the PWM peripheral, and allows finer control of the duty cycle. To migrate from an older design, multiply the duty cycle entering the block by 40.95. - The encoder definition block has been changed. Please reopen the block and reselect the appropriate settings. The block now dynamically filters invalid settings from the popup lists, and reduces the choices to only those valid for the selected target. Most of the options have disappeared, and are now selected from a single popup list. Bug Fixes: - PROD builds for PCM128 now link correctly. The calibration space for PROD builds was set to the wrong memory address. New Features: - Added a MotoTune Group option to the Main Power Relay block, which allows the generated VarDecs to be placed anywhere in the MotoTune group tree. - Added a Shutdown Power block, which turns off the internal power supply on the ECU565-128. On other targets, this block does nothing, since power is controlled with MPRD. - Added the Shutdown Power block to the Main Power Relay block, so that similar behavior will be obtained on the ECU565-128 target. This change does not affect other targets. 0.5.0 Migration Notes: - The new Framework uses more heap memory, and less global memory. This improves total memory usage by only using RAM for resources that are actually used. Check the PeakHeapBytesUsed variable in MotoTune, to make sure that enough RAM has been allocated to the heap, in the Target Definition block. - The options on the 'Storage Class' parameter of the 'Data Storage Definition' block have changed. Volatile and NonVolatile are now Volatile (Display) and NonVolatile (Display), to distinguish it from NonVolatile (Calibration) and other future types. - The naming conventions for the generated VarDecs for tables and prelookups have been changed. See the help under each block to see how they have changed. Functionally, there is no difference, but new 'Input Name' and 'Output Name' parameters are available, which allow user-defined VarDecs to be connected to the input or output of tables. The supplied names must be the name of a probe, calibration, or table block in the model. Leaving the name blank (which is the default), will result in similar behavior as before, using a generated name with a suffix. Currently there is no error checking at Simulink update time for ensuring that the 'Input Name' and 'Output Name' parameters are valid. These will be caught at build time. (Update time checking TBD). Bug Fixes: - Check for invalid S-Function parameters before use in Fault Definition block. - The Target Definition block checks that a multiple of 2048 has been entered into the Heap Size. - Calibration block now complains when an infinite value is used as the default value, and the output signal is an integer. - Fixed data type of read-index for Data Store Read bock. It is now dynamically typed, like the Data Store Write, rather than being forced to a double. - Fixed read/write entire data structure at once behavior for matrices. Previously, some additional bytes were read at the beginning of the matrix. - Sorts the order of Data Storage variables in the generated structs, so that memory is packed with as few holes as possible. This should also fix any alignment bugs that were related to NonVolatile variables. - When no raw ControlCore OS events are defined in the model, but user-defined events (specifically, STARTUP_EVENT and SHUTDOWN_EVENT) are present, a compiler error would be generated. This is now fixed. - When a Calibration block directly drives a Merge block, it is not legal to optimize the RAM usage for the calibration, to share any already-allocated space. Previously, connecting a Calibration to a Merge would cause the Merge block to output the value from MotoTune, even if the subsystem in which the Calibration resided wasn't enabled. This is now fixed by creating a copy of the variable which may be modified by MotoTune, and which is only used when the enabled subsystem runs. If only a Data-Conversion block is between the Calibration and the Merge block, this fix will not work. - Delta Time now correctly handles being placed into an enabled subsystem. When the states of the subsystem are to be reset (as indicated in the Enable block), the output falls back to its Initial Value. If the states are to be held, it will 'catch up' and output the time since the block last executed. - Fixed a bug in the display of hierarchical checkboxes, like in the Calibration block, where the 'Show Additional Parameters' checkbox controls the visibility of 'Show MotoTune Group', which in turns controls the visibility of 'MotoTune Group String'. - Calibration block can now handle bad data from the mask, and will defer error checking until update time. This lets you type in variables that don't yet exist. - Fixed motohawk_vardec_path to accept block names with '/' in them. Previously, a strange empty group name would appear in MotoTune if a block or subsystem name contained '/'. - When using Transfer Upgrade in MotoTune, an error would occur, saying that the DLL could not be found. The error was misleading, and was related to the building of the DLL. This is now fixed. - Moved size and data type checking of table interpolations and prelookups to update time, rather than when the dialog box is closed. This allows parameters to be placed into the fields that don't yet exist. They will be checked when the diagram updates. New Features: - Support for ECU565-128. The MPC565 target can now be built. - Upgraded to new version of the Framework, which supports 555 and 565, and changes some of the RAM allocation. See migration notes above. - Code is generated to declare to the Framework which resources are in use, so that it can optimize its RAM allocation. - motohawk_make_rtw now returns two values: [success, err]. err contains any error messages that were produced during the build. These messages are also displayed to the console. - Delta Time block now takes two parameters: Sample Time, and Initial Value. When a Sample Time of -1 is entered, the block behaves as before, which computes the delta time by storing the absolute time and returning the difference, taking care of large-number rollover. The Initial Value is output the first time, in this case. When a positive constant value is entered for the Sample Time, the block simply outputs that value, without adding any extra RAM or code to compute the difference. The data type of the output follows that of the Sample Time, when positive, and a double when dynamically computing. - A new "Same DT" block is added the the Extra Development Blocks. This performs a very similar action to the native Simulink block in the Fixed-Point blockset. However, this block runs with inherited sample time, and can be placed in function-call subsystems. It can also accept inputs of differing dimensions, and does better error checking on bad parameter values. It enforces the rule that every block connected to it must have the same data type. There is no code-gen or simulation overhead. - Memory summary report now supports memory maps for both MPC555 and MPC565. - RAM usage in summary report is now separated between OS and App. - A new "index_T to double" block is supplied under the Lookup Tables. - Explicit Input Name, and Output Name are now available for Tables. When supplied with an empty string, table blocks generate a VarDec with a generated name. When an explicit name is given, these blocks use another VarDec, usually another Probe, Calibration, Table, or DataStorage block. This allows user-defined names, groups, access levels, and so on, to be supplied for the inputs and outputs of a table or prelookup, but to still associate them together, so that MotoTune can provide its table calibration features. 0.4.5 Bug Fixes: - Fixed an S-function setting in the Fault Definition block that made the Suspected status occasionally point to bad memory. All blocks should use the ssSetInputPortRequiredContiguous setting to 1. - Fixed another include dependency, which caused build errors when generating to separate functions. - Allow inf and -inf in VarDec and DataStorage blocks. Previously, a compiler error would result because Simulink doesn't treat these as constants. All FLASH variables, such as those defined by VarDecs and DataStorage blocks, require const definitions. Added #defines for rtInf and rtMinusInf in the files generated by these blocks. 0.4.4 Bug Fixes: - Changed the include order of Application.h. Moved some application-wide typedefs up above some includes. This fixed a build error. - Fixed a memory leak problem, caused by Simulink S-Function callback order. Now gracefully handles multiple calls to mdlInitializeSizes, and avoids double-allocation of memory. Also gracefully handles deletion of duplicates, without crashing MATLAB. The FaultManagement and DataStorage blocks are both affected by this fix. It is strongly recommended to upgrade from 0.4.3 to 0.4.4, to obtain this fix. - In the CAN definition block, there was a warning that printed "errTxt", intstead of the contents of that variable. This warning occurs when the MotoTune protocol is enabled, and Buffer 0 is correctly set to Transmit, but the size is less than 16 messages. This is just a warning. - Fixed a bug in the build log. When an error occurred because of license issues, the log was not stopped. 0.4.3 Migration Notes: - The 'MotoHawk Controls Library' has been removed from the MotoHawk distribution, because this functionality will be part of a larger product known as the 'MotoHawk Engine Control Toolbox'. If any existing models used this library, the links will now be broken. Please copy the old 'motohawk_controls_lib.mdl' file from your old MotoHawk release (under toolbox/MotoHawk/Blocks/ControlLibrary) into your project directory or some other location outside of the MotoHawk toolbox directory. This library will not be supported in the future. Bug Fixes: - Added code to reshape the pack/unpack specification values, so that either a row vector or a column vector may be used in the specification file. Previously, only a column vector (;-separated) would work correctly. - A better check for the GreenHills license is performed at the beginning of the build. Users with node-locked licenses should not have any more problems. Also, if a dongle is inserted, but the license file is incorrectly setup, the new check will catch this. New Features: - A build log is generated, called .log, into the current directory. This is useful when sending bug reports or analyzing warnings and errors. - Added a Fault Management blockset, which allows the definition of Faults and Actions, with an interface in MotoTune. - A fault is a block with a single boolean input, and has three independent states: Suspected, Active, and Occurred. A fault is considered Suspected when the input to the fault block is true. A fault is Active once it has been Suspected for X out of Y counts, specified in the mask, or via calibration. It stops being Active, once it is not-Suspected for Y counts. A fault is Occurred once it stops being Active, and will remain Occurred until cleared from MotoTune. Note that faults are not NonVolatile, so they will always reset on power-up. In addition, a fault may be set as Sticky, which means that the fault will remain Active, even after Y counts of not-Suspected input. This implies that it will never become Occurred. The blockset has been designed with memory efficiency in mind, so each fault uses only three bits of RAM (one for each independent state), plus two bytes for the X and Y counts. - An action is a block with a single boolean output. Any fault may be routed to any action, as set via the fault mask, or via calibration. An action condition specifies whether the Suspected, Active, Occurred, or some combination of these states should activate the action. - As an example, consider the following application. A 'check engine' light should come on if the Manifold Pressure or Temperature sensor is out of range, and the engine power should be limited to 50% if the Manifold Pressure is out of range. This application has two actions: CheckEngineLight and LimitPower50, and two faults: ManifoldTempRange and ManifoldPressRange. The outputs of the action blocks should cause the described feature, such as turning on a digital output or limiting a power calculation. The inputs of the fault blocks should be the result of a comparison operation on a signal value. - In MotoTune, several new display VarDecs are defined when the Fault Manager block exists in the model, which show the current Suspected, Active, and Occurred faults, and which allow faults to be cleared. A list of faults also appears in the calibration, along with an interface to route faults to actions. 0.4.2 Bug Fixes: - Added error checking for VarDec names (probes, cals, tables) to ensure that they use valid C identifiers. The names entered into the mask are directly used in the code, so this check must be performed. This was prompted because of some subtle build-time errors. - An order dependency between the DataStorage definition block and the table prelookup/interpolation blocks could generate code that used index_T before its type definition. This is fixed, by placing all custom MotoHawk type definitions into Application.h, and then including this file from all other locations. This simplifies the generated code, and ensures correct ordering. - Whenever a boolean data type was used in a DataStorage read or write block, a message of "Invalid data type ID (-10)" would appear at update time. The same would also appear from the DataStorage definition block when building the model. This problem is fixed. 0.4.1 Migration Notes: - The NonVolatile and MemStore blocks are now deprecated, and will not function properly from this version forward. The functionality for these blocks is now superseded by the new DataStorage blocks. Replace each NonVolatile definition with a corresponding DataStorage definition block, and select the NonVolatile storage class. Then use the new read/write blocks to access the defined data. - The "strange" target names available in the Target Definition block are now replaced by the names that are available via our marketing literature. When updating an older model, you will get a warning from this block. Make sure to reselect the correct target name. The default is ECU555-80, which is appropriate for most users anyway. - The Target Definition block now allows full specification of the SRZ and DLL output filenames. The _0001 default suffix has been removed, so users may choose any naming scheme appropriate. The default is still to use the model name, but if a custom target name had been chosen, re-enter a user-specified SRZ and DLL name. Bug Fixes: - All create_error probes available under the Debug tag have been shortened, to avoid running into the maximum VarDec name limit of 29 characters. New Features: - A new DataStorage library is provided, which allows functionality similar to the built-in Simulink Data Store blocks. However, this blockset allows read/write by vector index, or matrix row/col indices, to facilitate data dictionaries. - A new data type: reference_T is provided, which may be output from the DataStorage definition block. This allows true dynamic pointer manipulation, so that read/write operations may be applied to a reference input signal. The DataStorage blocks may even be declared to contain reference types, so that composite data structures can be manipulated (e.g. an array of references to matrices of references to different-sized vectors). - The intention is that Lookup Tables will also be available via the new DataStorage mechanism, so that adaptive tables can be implemented. This is not yet supported. - The target definition block used to setup the solver to use fixed-step simulation, so that the model could be generated. This makes doing plant/controller simulation difficult, if the target definition block exists somewhere in the model. This 'feature' of the target definition block has been removed. Future designs will require the model to be manually set to 'FixedStepDiscrete' prior to building. The target definition block still sets up other RTW parameters, so only the simulation setting is manual. 0.4.0 Migration Notes: - New VarDec blocks have been provided, and the old ones are deprecated. A script has been provided to replace the old blocks with the new type. It is called 'motohawk_upgrade_vardecs', and takes a 'sys' parameter, which specifies the root of the model. Since this is a dangerous operation, it is recommended that you save a backup of the original model before performing this procedure. This script will parameterize library links in the model, so be sure to propagate changes back to your library when finished. Note that not some parameter settings require a manual replacement. The script displays which blocks are correctly replaced, and which ones need user attention. Bug Fixes: - The Data, Len, ID, and RTR outputs of the CAN Rx block are only intended to be valid when the Msg Received event is triggered. These fields are now zeroed out when unused. Also, any unused bytes in the Data output are set to zero, when the Len output is less than 8. - PWM pins driven by the TPU have been fixed. - The ESC pin is now correctly driven in the reverse direction. New Features: - The Calibration, Probe, Overrides, Tables, Prelookups, and Interpolation blocks have been redesigned. The old blocks in the VarDecs library are deprecated, meaning that users should not used them for new designs. They are still in the library so that existing designs can work without modification. - Several more parameters are provided, which allow customization of the calibration interface, such as Help Text, Units, Gain, Offset, Exponent, and Decimal Precision. All Gain, Offset, and Exponent computation is performed on the PC, and uses no module resources. This allows fixed-point math to be performed in the module, but to provide a clean interface to the calibrator. - The MotoTune Group may be explicitly set, by providing a path separated by the '|' (bar) character. If the group is not set (which is the default), the Simulink block path is used, which is the same as the old behavior. - All string parameters for the new blocks are evaluated Matlab expressions, meaning that literal strings must be surrounded in single-quotes, e.g. 'name'. - The new blocks are more attractive. The table and interpolation blocks now display a picture of the underlying table on the block, and the probes, calibrations, and overrides are trimmed down to show a minimum of text. 0.3.9 Bug Fixes: - VarDec Override blocks actually use the 'Specify Min/Max Values' mask checkbox parameter to parameterize the new value that can be overridden. Previously, this parameter was ignored, and the min/max values were always applied. - Framework modified to allow as many PWM initializations as the number of resources. Upgraded to Framework 0.09. - TDC1 event dispatch now works correctly. Previously, TDC1 events were dispatched to the TDC event, causing an extra TDC event, and no TDC1 events. - User events are now filtered from the call to create the application scheduler. This removes Framework errors on startup. No functionality is changed. - O2A and O2B AnalogInput resources now available in MPC555. - AINJ1-6 now save correctly. The bug occurred because these same resources are called FINJ7-12 in PCMRace. New Features: - Debug create messages available in MotoTune for all used Framework resources. Previously, some messages were available, but they were not entirely consistent. This should improve debugging. 0.3.8 Bug Fixes: - Long machine names caused a failed check for the GHS dongle at the start of a build. The output of the GHS dongle driver is different when the machine name is longer than 15 characters, and the check script considered this a dongle failure. - Default heap size increased to 4K. New users should not run into heap issues. New Features: - Main Power Relay block now posts a Shutdown event two ticks prior to shutting off the relay, and saves NV variables one tick prior. In recent versions, both of these operations were performed on the same tick, and in the opposite order. This prevented NV variables from being modified prior to the save in the Shutdown event. 0.3.7 Migration Notes: - Table lookup blocks may lose their parameter values when these blocks are updated. Double-check these fields. Bug Fixes: - Produce error and halt build when more than one CAN Rx block references a given bus and buffer. - Pack and Unpack blocks had an off-by-one width error for little- endian fields. Fixed and tested. - VarDecs using the Calibration EE section were not correctly placed into this memory section, and would not retain their values on a DEV target. Fixed and tested. - MotoHawk 2-D Table Lookup blocks used X/Y index ports, while native Simulink lookup blocks used Row/Column notation. This made the behavior backwards relative to the native blocks. This version changes all code in MotoHawk to use Row/Column notation and ports, and the behavior is tested to be identical to the native Simulink blocks. MotoTune displays Rows on the Y-axis and Columns on the X-axis, as expected. X/Y notation is now only used in MotoTune. - When the model name is longer than 13 characters, an error is produced. In this case, the user must either change the model name or enter a different Target Name into the Target Definition Block (see below). New Features: - Target Name and Target Version are now parameters on the Target Definition Block. Target Name allows the final target executable .srz and .dll name to be different from the model name. Target Version is appended to the .srz name, and is placed into a read-only text VarDec to read from MotoTune. By default, these parameters are blank, which means that the model name will still be used as the Target Name and 0001 will be used as the Target Version. - MotoHawkVersionTxt is available as a read-only VarDec from MotoTune, so that the version of MotoHawk used to build the application can be known at a glance. 0.3.6 Migration Notes: - Upgrade to MotoDevelopment_8_62_3_9.exe - Upgrade to MotoServerRuntime_8_62_1_4.exe - Upgrade to MotoTune_8_62_3_2.exe Bug Fixes: - Fixed the pack and unpack blocks. There were several bugs in the old ones. These new ones are much better tested, and they work under a wider variety of cases. Unpack used to simulate, but had an inconsistency with code-gen. Pack didn't simulate at all. Now they both simulate, and are consistent with the generated code. The pack and unpack are also tested to be consistent with each other, both in code-gen and simulation. - Fixed ESTOP resource bug New Features: - Implemented Serial Definition, TX, and RX blocks. Now you can read and write characters to the RS-485 port. - Added more CAN help, and added error checking to test for bad cases. There is now some error-checking code that should catch all of the problems that Nick ran into with the CAN blocks. It will give errors or warnings as appropriate at code-gen time. The Help button on the CAN Definition block brings up a page that describes the issues. 0.3.5 - Allow multiple instances of an input resource. - Checks that all input resources use the same behavior. - Do not allow multiple instances of an output resource. - Fixed pack block. 0.3.4 - Upgraded to newer Framework codebase. - Added model checking at build-time, to check for duplicate use of pin resources. - Added early check for Green Hills dongle, and gives meaningful error message if dongle is not present. - Fixed a bug in vectorized function triggers. Previously only the first trigger of a vector would be triggered in simulation. Code generation is unchanged. - Removed duplicate use of MPRD block in demo. This was found because of the model checking feature! 0.3.3 - VarDec Calibration blocks: - Show Additional Parameters checkbox - Output Data Type pulldown menu - Min/Max settings 0.3.2 - Fixed I/O settings for several blocks. Note that several settings have been renamed, so using this library with older models will require manually resetting the pin resource for I/O blocks. Many such problems were resolved in this release, and it is strongly recommended to upgrade models for this reason. - Added several new hooks for custom code integration, including the Read Global Expression block, which allows access to arbitrary inline expressions linked to custom code. - Fixed CAN transmit buffer issue. Previously, if no CAN Tx blocks existed in the model, the MotoTune protocol would not initialize properly. 0.3.0 - Lookup tables, 1-D and 2-D, direct and with prelookup - Added table support to demo, fixed some bugs - CAN programming now works - Fixed several BEC integration bugs 0.2.1 - Basic Engine Control functionality, in very basic form. However, an engine has been run using this code. - Modified demo application to use Talon form. - VarDec Calibration block changed to behave more like Simulink constant block. - Custom TLC library added, to include external source code, header files, libraries, and directories.