Yea, i managed to make it work, it's just i had to use pins 2 and 3 and they were already used by the controller, but the sxreen is working now (at least showing basic text).
Now i gotta figure out how to send/receive nrpn, i worked on it 3/4 hours yesterday and i still don't even know how to add them to my code (if i have to use "MIDI.sendControlChange" (i've read that nrpn is basically 4 CCs) and send the 4 CCs at the same time, or i gotta use MidiUSB.sendMIDI or send(SystemExclusive or what))
I know the theory, you gotta check what you want to send, and calculate MBR and LSB, it's just i have no clue how to implement it on my code, i can't find any code example or anything anywhere, no idea what functions i gotta add or anything, kinda weird i couldn't find any example of a proper code here in the forum.
I find explanations on what NRPNs are, but nothing on how to implement it or anything.
for the Kemper, just send four CC messages in your arduino (often easier than attempting to implement NRPN which i dont see much of in the arduino midi-libraries. You can find the values in the Kemper midi-spec without having to calculate the actual NRPN, (which if i recall from memory is MSB*128 + LSB.
I have an "older" list that covers most NRPN values, page 3, here https://greendog.co.uk/kemper/kemper-midi-data.pdf You can get the MSB and the LSB. Just need to work out the parameter value (which i cant comment on) other than the range is a 14-bit value (so 127 midi is 16383, and half-way midi 64 is
8192)
Apologies if i'm telling you stuff you already know!
little example of NRPN conttrol
Set rig-volume to +3dB
CC 99 = 4, CC 98 = 1, CC 6 = 80, CC 38 = 0
This equates as-
NRPN Parameter address: MSB = 4, LSB = 1 (the Rig volume parameter)
NRPN Parameter value: MSB = 80, LSB = 0 (a value of +3dB) this could also be a different value between -6dB to +6dB (or whatever the full-range of this parameter is
additionally, you may want this midi data too:
Reset rig-volume to +0dB
CC 99 = 4, CC 98 = 1, CC 6 = 64, CC 38 = 0