Forum Replies Created

Viewing 15 posts - 1 through 15 (of 42 total)
  • Author
    Posts
  • ConnorConnor
    Keymaster
    Post count: 42
    in reply to: S32DS Version #21518

    S32DS for Arm 2.2 is only recommended for older hardware models (FCS/FlexBench)
    – For FlexCase G, the recommended software is S32DS for S32 Platform 3.6.x

    Please let me know if you found a reference to using 2.2 for the FlexCase G on the website, and we will update the page to make it more clear.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Tom,

    Just double checking the previous advice:

    – Did you start with the FreeMaster_over_CAN_k3.slx template from v2.2 to paste your functions into? The templates inherit the recommended build optimizations from NXP
    – Did you convert any moving averages to a RAM-friendly version?

    If you confirm these aren’t the issue, I can continue digging

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Tom, v2.2 is now available at the downloads page

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Tom,

    I was not able to replicate your build errors in either 2022a or 2025b. If your model is based on the FreeMaster sample, you should be able to move that model anywhere in your file system and have it automatically generate the config and build files. Some extra troubleshooting things to try:
    – Make sure your MATLAB addons path does not have spaces (occasionally causes stability problems)
    – Make sure the Embedded Coder Support Package for ARM Cortex-M Processors addon is installed
    – Review the installation steps in https://www.audesseinc.com/resources/flexcase-e/simulink-basics/ to make sure nothing got missed

    If you are planning to migrate MATLAB versions soon, I recommend 2025b instead of 2025a since “b” versions tend to be more stable, and we are currently testing our models in 2025b (along with 2022a for compatibility)

    Also, we will likely release Audesse blocks v2.2 this week to make the templates more portable, I will post here when released.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Tom,

    We will attempt to replicate the path bug you’re seeing and get back to you ASAP.

    In the meantime, for your RAM overflow:
    – Check the generated code for any moving average blocks, generally these eat up RAM and there are other ways to achieve filtering.
    – Let us know which specific sample model from audesse_blocks-2.1 that you pasted your application code into.
    – Confirm that you’re on NXP MBDT 1.7 and that previous versions are uninstalled
    – Let us know which MATLAB version you’re running

    • This reply was modified 3 months, 1 week ago by ConnorConnor.
    ConnorConnor
    Keymaster
    Post count: 42

    Hi Craig, please let me know about my above comments. In addition, here are a few extra troubleshooting for the K1 processors (FlexBench and FlexCase S):

    Make sure the System Start block in your MCU init has the reset sensitivity turned down and the SPI buffers tri-stated (see the latest Simulink empty project sample for reference).

    Try using data integrity checks to filter out bad data using the latest Audesse Simulink blocks (see the FlexConnect sample model)

    To help isolate the problem, try temporarily changing the operation of the MPU-side to a simplified model or a python script so you can observe printouts of individual transfers.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Craig,

    How does the MCU interact with the motors through software? Is it providing direct outputs, sending serial commands? If sending serial, do the commands start/stop in sync with the power up? I want to rule out timing problems in software.

    ConnorConnor
    Keymaster
    Post count: 42
    in reply to: GPIO Numbering #19681

    Hi Mathew,

    The attached script has basic examples for reading/writing GPIO pins using the .pyc driver files. The only functions you’ll likely need are setup(pin, mode) , input(pin) , and output(pin, level), since the other setup functions are dummy functions for compatibility with raspi libraries.

    Please follow up if you have questions about specific functions, or if the script isn’t downloading correctly.

    • This reply was modified 10 months, 4 weeks ago by ConnorConnor.
    Attachments:
    You must be logged in to view attached files.
    ConnorConnor
    Keymaster
    Post count: 42

    The init should not be on CAN0, this indicates a problem with the peripherals config.

    Please make sure you have installed the Audesse simulink blocks correctly (make sure you see the pop-up after running the install script) before opening any .slx file to ensure that the config gets set up. You do not need to put an extra config file in the folder with the sample you are working on, just put the .slx in a new folder by itself and open it.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Rushikesh,

    The NVM_k3 sample model is configured for CAN2, not CAN0. The error in your screenshot indicates no response from the VCU, which would make sense if you’re connected to CAN0.

    ConnorConnor
    Keymaster
    Post count: 42
    in reply to: GPIO Numbering #19645

    Hi Mathew,

    You are likely using a Radxa MPU rather than a Raspberry Pi, and the pins you mention are for Raspberry Pi. I will update the FlexCase G datasheet to be more clear on that distinction.

    There is a script “/usr/local/FLXdevice.py” included on your MPU that indicates your pin mappings, and also includes a driver that uses the popular python GPIO syntax so you don’t have to directly import/export from the filesystem. This driver is also used by the modem control scripts so it shouldn’t be moved from the default location.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Justin,

    If you flashed the default binary from the sample, the application software likely will not show anything on CAN2. To make sure your flashing bootloader is still intact, try initiating a new flash within 1-3s of powering up the device.

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Kantesh,

    It does look like there is some forbidden operation happening in the CAN interrupt logic.

    – Is the CAN traffic when you are in this specific state of DC charging?
    – Are all of your CAN reads handled by interrupt or do you have a mix of polling and interrupt?
    – While in this specific state of DC charging, are you running an operation that blocks for a long time, creates it’s own interrupts, or disables other interrupts?

    ConnorConnor
    Keymaster
    Post count: 42

    Hi Mathew,

    Did you flash your application software over CAN or over JTAG?

    ConnorConnor
    Keymaster
    Post count: 42
    in reply to: JTAG #19320

    JTAG flashing and debugging is not officially supported without a proprietary adapter, which requires an additional “developer” agreement between your company and Audesse. If you require this feature, please reach out to the team directly to start the process.

Viewing 15 posts - 1 through 15 (of 42 total)