This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Graphs not Updating in CCSv4

Other Parts Discussed in Thread: CONTROLSUITE

Hello,

I am using CCSv4.1.0.02005 with the HV motor control and PFC kit from TI.  

Up until a few days ago everything was working fine, but then the graphs stopped updating.  Meaning, when I hit the update button, the sample numbers on the bottom of the graph change, but the data stays exactly the same.  So I have the same waveform in the graph window as I did before.  My watch window works just fine, its just the graphs that are giving me problems.  Everything is setup as per the instructions that came with the kit.

I tried using a new workspace, cleaning the workspace and deleting a few config files that the wiki said can become corrupt.  None of this helped.  I also tried upgrading to the newest version of CCSv4 but that did nothing.  I uninstalled everything and changed the location of the installation because I read that windows 7 can have strange permission issues in the programs folder.  It is now installed in C\TI\CCSv4, but the same problem persists. 

Thanks for any help,

Jim

  • Here are some screen shots of what it is doing.  The motor is spinning at this point.

    The first shot shows the setup screen for the graphs:

    The next shot is just after clicking refresh for the first time:

    And the last shot is after hitting refresh again later.  Note the sample time numbers change, but the graph doesn't.

    Any help would be greatly appreciated.

    Jim

  • Jim,

    Sorry, graph 2 and 3 look identical to me... Can you highlight where the changes are exactly?

    I used the graph tool extensively in v4, and I recall that issues were usually solved by the methods you described above (new workspace, clearing cache files, etc.) and several bugs were fixed in the latest releases - make sure you are using the latest available.

    Because of that I am not 100% sure why the graph decided to stop working after these methods (even restarting the PC?). Therefore, if you could send any additional information that could be loosely relevant that could help. Are you using the embedded emulator of the kit or an external one? Does that happen with one of the demo projects? Do you know if this happens if other control cards are used? Can you try to use smaller acquisition buffer and/or display data size and see if the issue improves? Also, are you using the continuous refresh or updating the view at a breakpoint?

    Regards,

    Rafael

  • Sorry, I accidentally posted the same picture twice. Here is the correct second picture:

    I have restarted many times, I am using the embedded emulator of the kit.  I guess I will try one of the demo projects and see what happens.  I have not tried another control card, I am using the Piccolo that was supplied with the kit, but I also have a Delfino I could try.

    Ill try your recomendations and get back to you,

    Thanks,

    Jim

  • Continuous refresh has always given me trouble.  The graphs don't update and my computer slows to the point where it is almost unusable.  It works fine in the watch window though.  So I just click the refresh button to update the graphs.

    Here are my computer specs:

    Macbook Pro with Windows 7 64bit (bootcamp, no virtualization) Corei7 2.67GHz, 4GB RAM

    Jim

  • I just loaded up a demo project, it did not have dlog support to start with, so I added it.  But I am getting the same results.

    The program is pretty simple, it is the Example_2803xLEDBlinking project.  I modified it to include an internal variable 'ledstatus' which follows the LED outputs.  I can watch 'ledstatus' in the watch window, but it will not update the dlog graphs.

    Maybe there is something wrong with the way I am setting up dlog?

    Here is what I am doing:

    Global:

    int16 DlogCh1 = 0;
    int16 DlogCh2 = 0;
    int16 DlogCh3 = 0;
    int16 DlogCh4 = 0;
    // Create an instance of DATALOG Module
    DLOG_4CH dlog = DLOG_4CH_DEFAULTS;
    inside main():
        dlog.iptr1 = &DlogCh1;
    dlog.iptr2 = &DlogCh2;
    dlog.iptr3 = &DlogCh3;
    dlog.iptr4 = &DlogCh4;
    dlog.trig_value = 0x1;
    dlog.size = 0x00c8;
    dlog.prescalar = 5;
    dlog.init(&dlog);
    (main then loops forever)
    
    
    inside ISR
    interrupt void cpu_timer0_isr(void)
    {
    CpuTimer0.InterruptCount++;
    GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;
    GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1; // Toggle GPIO34 once per 500 milliseconds
    // Acknowledge this interrupt to receive more interrupts from group 1
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

    if (ledstatus == 1) ledstatus = 0;
    else ledstatus = 1;

    DlogCh1 = (int16)ledstatus;

    dlog.update(&dlog);
    }
    
    
    Ill also attach that whole file as that might be easier to read.
    Thanks,
    Jim
    
    
    Here is the file: http://dl.dropbox.com/u/20887362/Example_2803xLEDBlink.c
  • I was reading up on the dlog module and discovered the variables for it need to be in IQ to work.  I made this modification to my LED project and still nothing.  My other project is based on (at this point 99% of it is identical to) the HVPM_Sensorless project, so all of the variables there are already in IQ format (I double checked).

    So my blinking led project is now running on IQ numbers, but still does not update the graph window.

    Jim

  • I loaded up HVPM_Sensored, I project that I have no interest in and have never used, set the build level to 1 so that it is only doing a test of SVGEN and outputting that to the dlog module.  This worked perfectly, even when I hit the continuous refresh button.  

    Could the dlog files in HVPM_Sensorless become corrupt?  

    Jim

  • I deleted the entire controlSUITE folder, reinstalled controlSUITE, tweaked the code back to where it was, created another new workspace and everything seems to be working fine again.

    Not sure what happened here, but its good now.

    Jim

  • Jim,

    Sorry for "disappearing", but I was out of the office Friday and Monday (as well as my colleague whom I asked for help) and the solution presented itself before any further interactions. Anyways, I am glad you have a working system again but let's keep an eye if the issue shows up again.

    Regards,

    Rafael

  • Well the issue is back, may never have really been solved, and seems to have more to do with which variables I try to display.

    As far as I know, the only limitation for variables to be displayed is that they must be in global Q format (defined with _iq).  All variables are defined this way.  

    I am working with the High Voltage Sensorless program on the piccolo, leaving the dlog variables "stock" works fine:

    // ------------------------------------------------------------------------------
    // Connect inputs of the DATALOG module
    // ------------------------------------------------------------------------------
    DlogCh1 = (int16)_IQtoIQ15(clarke1.As);
    DlogCh2 = (int16)_IQtoIQ15(smo1.Theta);
    DlogCh3 = (int16)_IQtoIQ15(speed3.EstimatedSpeed);
    DlogCh4 = (int16)_IQtoIQ15(rg1.Out);
    
    
    However, if I try to output variables defined in my own macro, they refuse to update.  All of these variables are defined exactly the same way as they are in most other macros, such as the CLARKE_MACRO which outputs just fine.
    Are there other requirements for what kind of numbers can be sent out dlog?
    
    
    Thanks,
    Jim
  • Hi James

    CCSv4.2.5.00005

    C6472

    I have the same problem when I have a variable pointing to a valid address in L2 of one C7472 core but not valid in another core. Here are my steps

    1) set breakpoint in valid addr core.

    2) run to breakpoint

    3) open graph and view results

    4) make other core active and stop it. Graph updates to zero values. Then run.

    5) return to previous core.

    6) run to breakpoint

    Now the Single Time graph is hung. I see the data in the DSP memory changing (using the same variable name as in the plot), but no update on the graph.

    If I close the graph and start a new one, the data is there!

    Very frustrating. TI really dropped the ball with their graphing tool - a definite step back from CCSv3. I'd love to change to CCSv5 but I've read forum posts where its got graphing problems too (can't change now because we're to late in the product cycle). Arg.

    I like the idea of not using auto refresh. I'll try that to see if I can skirt this problem (or my version of it)

    Cheers

  • So much for turning off the "Refresh on Halt". It needs a "do not refresh when selecting another core". The graph does not update when I go back to the original core.

    Darn, rats, boo hoo.

    Cheers