Guys, you're reading too much into the question about the uSM; it was just a suggestion / option for those who DO want to work for it and want the extra channels. If it doesn't work for the plug'n'play ... (brain blanks on ideal word), not a problem.
Back to what I was actually tirading about, the inputs are already fairly hard set (IO Box MAP = Remote ADC0 = gpioadc0; IO Box FLEX = CANIN1 = gpioadc5 AND 256). How hard would it be to make the outputs work the same? eg RProgO1 = Remote Port1 Bit 0 = CANOUT1 = IO Box INJ1. This way the various MS2 'internal' outputs could use the IO Box outputs fairly seamlessly - for example, Nitrous1 and Nitrous 2 are already set up to use Remote Port1 Bit2 & Bit3; these would then come out on the IO Box's FIdle and FP pins.
For an interface, I think all that's really needed is one more setting on the [CAN bus / Testmodes] [CAN Parameters] [Enable Ports Polling] drop-down box - you'd have <Disabled>, <Enabled>, and <IO-Box>. With the latter option selected, everything that <Enabled> would activate is greyed out, and the specified settings are inserted. The same could be done for the CAN ADCs.
That's the outputs. The inputs so far are limited to triggering ProgOuts - the Table Switching box has no option to AND anything. Would it be possible to add a few lines of code (or could it be in the .ini?) to the effect of
Code: Select all
if (iobox)
port3bit0 = gpioadc5 && 256
port3bit1 = gpioadc5 && 512
port3bit2 = gpioadc5 && 1024
endif
This way Table Switching could be set to Port 3 Bit 2, and activated by a wire on the IO Box's IGN2.
Thoughts, comments, rude suggestions?