verifone

LOG_PRINTF(()) not working in VeriFone Vx570


This is a question specific to programming on VeriFone terminal platforms.

BACKGROUND:

I recently ported a program that had been written for VeriFone's VerixV (Vx) platform to the eVo platform. During the process, I installed the ARM compiler for eVo onto a new development machine (when the program was originally written, it was written on a machine that had the older ARM compiler for the Vx platform but no compiler for eVo). I have not installed the Vx packages on this new computer since the eVo compiler and libraries are supposed to be backward compatible (assuming you compile without -b).

PROBLEM:

From what I can tell, everything works great--I can compile for both Vx and eVo and everything seems to work fine EXCEPT I cannot get LOG_PRINTF(()) statements to write to the COM port on the Vx platform. Note that I CAN get LOG_PRINTF statements from my eVo terminal.

DETAILS:

I was always able to get LOG_PRINTF statements to write to the com port on my other computer, so I'm wondering if something changed between the old and new libraries (or compiler) that requires me to do something special to get LOG_PRINTF to work on Vx. Note that I'm not attempting to use the new LOG_SYS that was enhanced for eVo (LOGSYS_NEW_API_STYLE) because my understanding is that this only works on eVo.

I think I've done everything I'm supposed to:

  1. I'm compiling with -DLOGSYS_FLAG
  2. The group that hosts the program (let's call it TEST) has TESTLOG=P (I've also tried 'C' instead of 'P', but with no effect)
  3. Group 15 has #LOGPORT=COM1
  4. I've also tried adding LOGMODE=S and also tried LOGMODE=B in 15, but that didn't change anything, either
  5. I've downloaded the debug version of VMAC into group 1 and it writes to the com port just fine (I see the output using TeraTerm).

Are there any VeriFone programmers out there that have seen this sort of thing before and can help me out? I don't know what else to check for.


Solution

  • Make sure you are running a version of VMAC that is compatible with the eVo libraries. You may need to update the OS on your terminal in order to get the latest VMAC to run properly.