Dilbert66/esphome-vistaECP

vistaECP MQTT Example: 'kpaddr' was not declared in this scope

Closed this issue · 6 comments

Hello all. I'm trying to compile the vistaECP example from the MQTT folder. I copied the vistaECP.ino into a folder with everything from src/ECPSoftwareSerial/. Leaving everything as-is, it throws the following error. Am I missing a file? Thanks in advance

W:\vistaECP\vistaECP.ino: In function 'void loop()':
vistaECP:526:30: error: 'kpaddr' was not declared in this scope
       int kpaddrbit=0x01 << (kpaddr - 16);
                              ^
exit status 1
'kpaddr' was not declared in this scope

ah yes, I reconfigured the main code but did not retest the mqtt example. Change kpaddr to kpAddr and see if that works.

Same result

W:\vistaECP\vistaECP.ino: In function 'void loop()':
vistaECP:526:30: error: 'kpAddr' was not declared in this scope
       int kpaddrbit=0x01 << (kpAddr - 16);
                              ^
exit status 1
'kpAddr' was not declared in this scope

You do have vista.cpp and vista.h in your program directory correct?

I believe so. I copied the vistaECP.ino from the mqtt directory, and the others from src/ECPSoftwareSerial/

image

ah, that code was in transition.
Delete these two lines from vistaecp.ino: (lines 526,527)

      int kpaddrbit=0x01 << (vista.kpAddr - 16);
      if (!(vista.cbuf[3] & kpaddrbit)) return; // not addressed to this keypad  

You might want to try the dev branch. That code has better multi partition support.

That got rid of the error. I'll give the dev branch a try. Thank you for your help!