X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Mappings.pde;h=00e9b2c80f8a8175103f6e0dc22a6725b0be9bb4;hb=045b432d2b2bb8accd36080f3e501be60ff32782;hp=3959846ee2c8e16bf06cab9f8d04ef94f18357c7;hpb=45f43cc2debb7f90b01e7a5c7d355218ab9cdeed;p=SugarCubes.git diff --git a/_Mappings.pde b/_Mappings.pde index 3959846..00e9b2c 100644 --- a/_Mappings.pde +++ b/_Mappings.pde @@ -162,12 +162,23 @@ class SCMapping implements GLucose.Mapping { class PandaMapping { + // How many channels are on the panda board + public final static int CHANNELS_PER_BOARD = 8; + + // How many cubes per channel xc_PB is configured for + public final static int CUBES_PER_CHANNEL = 4; + final String ip; - final int[][] channelList; + final int[][] channelList = new int[CHANNELS_PER_BOARD][CUBES_PER_CHANNEL]; - PandaMapping(String ip, int[][] channelList) { + PandaMapping(String ip, int[][] rawChannelList) { this.ip = ip; - this.channelList = channelList; + for (int chi = 0; chi < CHANNELS_PER_BOARD; ++chi) { + int[] cubes = (chi < rawChannelList.length) ? rawChannelList[chi] : new int[]{}; + for (int cui = 0; cui < CUBES_PER_CHANNEL; ++cui) { + channelList[chi][cui] = (cui < cubes.length) ? cubes[cui] : 0; + } + } } }