Trouble using Kevin Watson's Serial Code with Vex user API

Hi,
I am trying to link the user API supplied with the Vex programming kit to a project using Kevin Watson’s serial drivers. In particular, I want the program to receive data through the serial port and then move a servo. I have code that receives data through the serial port but when I tried to add a SetServo() call from the user API, I got a linking error. I linked user_api.o to the project and the error message I received was:

MPLINK 3.90, Linker
Copyright © 2004 Microchip Technology Inc.
Error - could not find definition of symbol ‘EnableInterrupt’ in file ‘./user_api.o’.
Errors : 1

So then I linked interrupts.o (also supplied by Vex) to the project and I received this error message:

MPLINK 3.90, Linker
Copyright © 2004 Microchip Technology Inc.
Error - could not find definition of symbol ‘Old_Port_B’ in file ‘./interrupts.o’.
Errors : 1

Then I tried linking the only other .o file supplied by Vex that didn’t correspond to any of Kevin’s serial port code - Start.o. But once again I received an error:

MPLINK 3.90, Linker
Copyright © 2004 Microchip Technology Inc.
Error - symbol ‘txdata’ has multiple definitions.
Errors : 1

I have no idea how these files supplied by Vex are implemented since I only have the ‘.o’ files (in the case of user_api.o, I also have a header file but this only contains function protoypes). Has anyone else tried to use the vex user API in this way? Any help would be greatly appreciated.

Thanks.

I don’t use MPLAB, but your issues don’t look specific to that. It seems like you’re on the right track to look at the objects and the link order. The easyC compiler actually lists its link commands in the GUI if you want something to follow. You might also be able to make use of HobbyVex Not-So-easyC. The makefiles on that page have all the info needed to link properly.

You may have additional issues introduced by the serial code you’re using. I have never seen it so someone else will have to tackle that part of it.

Yah we are useing the same serial port. The program its self isnt building.

Okay fixed that we are haveing troubles with the

serial_port_one_byte_count

Function does not exist.