I know uTasker has optimized FreeMASTER support built into it, but I wanted to see if I could integrate the latest FreeMASTER driver that NXP supplies and use that with uTasker instead. I was going to first start with a known working FreeMASTER communication driver (version 2.0) I have used in the past with FreeRTOS with uTasker, then move onto the latest 3.0 driver.
Installation
In order to use the FreeMASTER 2.0 driver, the present Freemaster.c file must be excluded from the build and definition FREEMASTER_UART must be defined.
Proceed with the following steps:
1. Add the FreeMASTER 2.0 driver source code to the project.
a. Include the necessary source code files and exclude the others.
2. Add the include directories to the project.
3. Modify the freemaster_cfg.h file as appropriate.
4. Modify freemaster_serial.c
a. Change FMSTR_Poll(void) to FMSTR_Poll(QUEUE_HANDLE FreemasterPortID, unsigned char ucInputMessage[])
b. Change FMSTR_ProcessSCI(void) to FMSTR_ProcessSCI(QUEUE_HANDLE FreemasterPortID, usngined char ucInputMessage[])
i. Disable direct serial register reads and writes in this function, use uTasker fnWrite() and fnRead() instead.
5. Modify application.c
a. Add an include to freemaster.h
b. Comment out the while loop for fnHandleFreeMaster() and replace with FMSTR_Poll(FreemasterPortID,ucInputMessage) call.
Result
The uTasker application runs, but the FreeMASTER communication fails. When FreeMASTER PC application version 2.5.13.0 is set for COM port and baud rate of uTasker FreeMASTER port, the communcation fails.
Any suggestions on what might be causing the board to not detect the PC connection?