Damn, it’s even worse than that. WaveShare has abandoned the idea of having a single it-8951 demo that works across all of their dislpays. Instead, they have a separate demo for each - down to differences in revision, screen size, etc… Each demo hard-codes screen size, VCOM, and various other settings. And of course, there’s no reference to documentation (they use raw hex commands with barely documented parameters).
The protocol for driving the e-Paper HAT has changed dramatically and the node-it8951 module basically needs to be rewritten. WaveShare seems to have diverged from the it-8951 datasheet quite a bit. e.g. they now have a DC pin for switching between Data mode and Command mode (instead of sending a 4-byte preamble).
Rather than try and update node-it8951 to work with all display, I’m going to fork node-it8951 as node-it8951-7in5V2 and only support the display I have. But I’ll keep it as close to the e-Paper demo as possible, so anyone else with programming skills can adapt it for another model by referencing the demo code.
thanks for your help, even if it was only as a rubber duck :-)