CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

QEI Compile issue - Undefined identifier

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
123bally



Joined: 20 Jan 2013
Posts: 21

View user's profile Send private message

QEI Compile issue - Undefined identifier
PostPosted: Mon Nov 17, 2014 7:41 am     Reply with quote

I have a new PC and since trying to compile existing projects I get output errors with undefined identifiers in ref only to QEI Functions. For example:

    Executing: "C:\Program Files (x86)\PICC\Ccsc.exe" +FH "TestRig2K VBComm 19.2MHz 0.015.c" +DF +LN +T +A +M +Z +Y=9 +EA #__18F4431=TRUE
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 449(11,12): Undefined identifier -- setup_QEI
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 490(14,15): Undefined identifier -- qei_set_count
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 492(24,25): Undefined identifier -- qei_get_count
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 513(11,12): Undefined identifier -- setup_QEI
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 686(14,15): Undefined identifier -- qei_set_count
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 694(24,25): Undefined identifier -- qei_get_count
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 838(11,12): Undefined identifier -- setup_QEI
    *** Error 12 "TestRig2K VBComm 19.2MHz 0.015.c" Line 1355(14,15): Undefined identifier -- qei_set_count
    8 Errors, 0 Warnings.


If I compile the same project on other PC's, with the same IDE and compiler versions it works fine. I thought at first it might be due to a lack of administrator privileges on the new PC but if I run as an administrator the issue remains.

MPLAB V8.90
compiler version 4.132
Windows 7

Any ideas?

Cheers Andy
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Mon Nov 17, 2014 11:32 am     Reply with quote

It seems unlikely that only one function would generate an error simply
by switching to a different O/S or PC. Post a very short test program
and I'll try it on an XP and a Win7 machine. A test program with the
#include, #fuses, #use delay(), main(), and only a setup_qei() statement.
Prove that it fails, then post it.
Ttelmah



Joined: 11 Mar 2010
Posts: 19513

View user's profile Send private message

PostPosted: Mon Nov 17, 2014 2:15 pm     Reply with quote

Though it should not give the problem listed, I do worry about the file name. There was a thread a while ago, where it turned out that some internal parts of the compiler used code that was limited in handling some characters. Having three full stops and multiple spaces in the file name might be breaking this. Try with a nice simple dos compatible file name and see if the problem changes.
123bally



Joined: 20 Jan 2013
Posts: 21

View user's profile Send private message

PostPosted: Tue Nov 18, 2014 7:46 am     Reply with quote

Thanks for replies,

Have changed the filename and simplified code as requested:

Output:

    Executing: "C:\Program Files (x86)\PICC\Ccsc.exe" +FH "ETVelocityMode.c" #__DEBUG=1 +ICD +DF +LN +T +A +M +Z +Y=9 +EA #__18F4431=TRUE
    *** Error 12 "ETVelocityMode.c" Line 32(11,12): Undefined identifier -- setup_QEI
    *** Error 12 "ETVelocityMode.c" Line 39(24,25): Undefined identifier -- qei_get_count
    *** Error 12 "ETVelocityMode.c" Line 40(21,22): Undefined identifier -- qei_get_count



Code:
Code:
#include <18F4431.H>
#fuses hs, NOWDT, NOBROWNOUT, PUT, NOLVP,NOMCLR
#use delay(clock = 4000000)

#USE rs232(bAUD=9600,XMIT=PIN_C6, RCV=pin_c7, BITS=8,errors)

#include "flex_lcd.c"

//*********************DEFINITIONS**************
#define Tare PIN_b0
#define Print PIN_B1
#define Alive PIN_B7


// note do note use PINS D0-D3 and Pins B4-B6 as they are reserved for ETAngleMeter-LCD driver

//*********************Variables************************************
unsigned long count,timer;

signed long position;
float angle;
INT DIRF,ext,test;
   
//=========================



void main()
{
   

   setup_QEI(QEI_MODE_X4_RESET_WITH_INDX|QEI_VELOCITY_MODE_ENABLED|QEI_VELOCITY_PULSE_DIV_64);




while(true)
   {
      Position=qei_get_count(QEI_GET_POSITION_COUNT);      //get position
      COUNT=qei_get_count(QEI_GET_VELOCITY_COUNT);      //get time between velocity events
      Angle=Position/(float)4;                     // convert x4 to degrees
      //count=2666666/count;                        //convert count to speed in rpm
      printf(lcd_putc,"\f Angle:  %5.2f\n",angle);      // print angle position
      printf(lcd_putc,"count: %lu",count);            // print value from get_velocity_count
      delay_ms(100);                              //allow LCD some responce time
   
   }//while loop
      
 
} // end main


Thanks for your help...

Andy
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Tue Nov 18, 2014 11:37 pm     Reply with quote

I copied your posted code from above into a file and named it PCH_Test.c.
I installed vs. 4.132 on my Windows 7 (64-bit) PC. I didn't install MPLAB.
Then I clicked on the CCS compiler icon on the desktop. It opened a box
and I typed in: g:\PCH_Test.c (because the file was on a thumb drive).
It gave an error for flex_lcd.c and the lcd_putc lines, because I didn't put
that file on the thumb drive. I commented out those lines and then it
compiled OK. There was no problem with setup_qei().

Try compiling your file as I did, without using MPLAB. If it still fails, then
re-install the compiler.
123bally



Joined: 20 Jan 2013
Posts: 21

View user's profile Send private message

QEI Compile issue- SOLVED
PostPosted: Wed Nov 19, 2014 5:02 am     Reply with quote

Hi PCM

I followed your instructions and the compiler complained about the device not being recognised, so I reinstalled the compiler as you suggested. It then compiled fine.

I also needed to run the mplab plugin utlility again and reset the language tool suite.

So its all sorted - thanks for your help...

Andy
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group