Show HEX data on an LCD display

Hi,
I have an RFID reader (PN5180) and LCD (16x2) connected. I can print tag (iso 15693) on serial monitor like the UID. Result on screen: E0 04 01 50 D4 7E A0 CC. However I want to capture this data so I can use comparing it and displaying it on the LCD. The error I get on line: lcd1.print(uid[7 - i], HEX); is:
no matching function for call to ‘LCDIC2::print(uint8_t&, int)’. Something to do with the HEX. Please advice. Thank you!!!

#include “LCDIC2.h”
#include <Wire.h>
#include <PN5180.h>
#include <PN5180ISO15693.h>

#define PN5180_NSS 10
#define PN5180_BUSY 9
#define PN5180_RST 8

LCDIC2 lcd1(0x27, 16, 2);
PN5180ISO15693 nfc(PN5180_NSS, PN5180_BUSY, PN5180_RST);

void setup() {
Serial.begin(9600);
nfc.begin();

lcd1.begin(); // Init with pin 0-SLA and 1-SDA
lcd1.setBacklight(HIGH); // turn on
lcd1.setCursor(0, 0);
lcd1.print(“Start test”);
}

void loop() {
nfc.reset();
nfc.setupRF();
uint8_t uid[8];
byte a = 0;

ISO15693ErrorCode rc = nfc.getInventory(uid);// Try to read a tag ID
if (rc == ISO15693_EC_OK) { // If the result code was that a card had been read
lcd1.home();
lcd1.print(F("UID = "));

if (rc >= 0) {
  Serial.print(F("UID = "));
  for (byte i = 0; i < 8; i++) {
    Serial.print(uid[7 - i], HEX); // LSB is first
    Serial.print(" ");
    a = (uid);
    lcd1.setCursor(i, 1);
   lcd1.print(uid[7 - i], HEX);
  }
  Serial.println();
}

}
delay(700);
}

That is Arduino code and the error is on a call to a member of the LCDIC2 library. Nothing to do with Fritzing. Even though Fritzing allows you to store code in the sketch. You could try going to the issues page for the library on github There is nothing there currently, and no activity for the project in the past 6 months. But maybe someone is monitoring it.

I just had a quick look at the library code. There is no class member that handles 2 parameters for the print method. Use variations of sprintf to do the hex conversion, then hand the resulting string to lcd1.print instead. Keyword highlighting in the IDE says the Arduino language supports sprintf, but if not, you will need to write your own binary to ASCII hex conversion. It is not that difficult. An array of 16 hex digit characters, plus a shift/mask loop would do it.

This type of issue will likely find more people with the right background to help on one of the Arduino forums. I overlap, but that will not always be the case.

Thanks! Issue resolved!