The KL25Z has only one ADC but 6 "Analog In" pins?
Exactly right. It's one of those KL25Z modules (like the PWM, I2C, UART, etc) where a limited hardware resource can be multiplexed among multiple GPIO pins, but the underlying resource can only be used in one place at a time. Similar to how you can find about 25 pins marked as PWM-capable in the pin-out, but there are only 10 PWM channels (and only three distinct TPM modules underlying all of those channels). In the case of the ADC, there's only one converter, with 7 "channels", which can be multiplexed to about two GPIO pins apiece. The hardware that does the actual voltage sensing is called the "converter", and there's only one of those; you connect it to a channel through some internal ADC registers, and multiplex the channel to a GPIO pin via the multiplexer. Since there's just one converter, you can only take one sample at a time. Details about the physical hardware configuration can be found in the KL25Z Sub-Family Reference Manual:
https://www.nxp.com/docs/en/reference-manual/KL25P80M48SF0RM.pdf
When looking at the tables there, the chip that our FRDM-KL25Z dev boards use is the MKL25Z128VLK4. See in particular 3.7.1 (16-bit SAR ADC Configuration) and 28.1 et seq (Analog-to-Digital Converter [ADC]).
How do you read the PWM signal via an input of the WEMOS?
I don't what the WEMOS hardware looks like, so I couldn't tell you, but generally you'd want to using timing - measure the time of the ON period and the time of the overall cycle, and figure the proportion. One way would be to use an interrupt, which would work well if the WEMOS's interrupt latency and timer precision are a couple of orders of magnitude faster than the PWM period you're trying to time. If you're using the TLC5940 chips with the expansion board, the PWM frequency is 350kHz, so for good resolution (let's say 8 bits), you'd need to be able to measure time to about 10ns precision. That's probably a little too fast; I don't think I could get the KL25Z to do that, so assuming the WEMOS isn't a lot faster, it's probably not a reasonable thing to expect. So, indeed, this:
wouldn't it be better to connect a KL25Z digital output to a WEMOS
digital input and modify the software to send the 3 values to the
WEMOS through this connection?
...might be more workable. You could use a simple ad hoc two-wire (clock+data) protocol, and just add a call to the Pinscape main loop that sends out the three ports (R-G-B) of interest to your special data connection on each cycle.
I was mostly trying to suggest a way that wouldn't require modifying any of the Pinscape software, so that you wouldn't have to deal with a forked version.
It's probably doable. I take it that what you're talking about is combining the RGB colors from the DOF undercab signal with a brightness (PWM) level taken from the ADC monitoring an audio input signal? (If you ONLY want to monitor the audio input signal, and don't care about matching the DOF colors, you really don't need to integrate with the KL25Z. I'd just use separate hardware for that as you're already doing.)
One point of conflict I see is the ADC. The KL25Z only has one ADC, and that's needed at basically 100% duty cycle for some types of plunger sensors (e.g., pot, TSL1410R). So this might be better accomplished with an external hardware add-on. I'm thinking you could use something like a Trinket or Teensy LC. Wire the RGB undercab outputs from Pinscape as three GPIO inputs to the Trinket/Teensy, and wire a separate audio input to the Trinket/Teensy ADC. Wire three Trinket/Teensy GPIO outputs to the LED strips (R,G,B).