001package jmri.jmrix.can.cbus.simulator.moduletypes;
002
003import static jmri.jmrix.can.cbus.CbusConstants.MANU_MERG;
004
005import jmri.jmrix.can.cbus.node.CbusNode;
006import jmri.jmrix.can.cbus.simulator.CbusSimulatedModuleProvider;
007
008import org.openide.util.lookup.ServiceProvider;
009
010/**
011 * MERG CANPAN CBUS Simulation Module Provider.
012 * @author Steve Young Copyright (C) 2018
013 */
014@ServiceProvider(service = CbusSimulatedModuleProvider.class)
015public class MergCanpan extends CbusSimulatedModuleProvider {
016
017    @Override
018    public int getManufacturerId() {
019        return MANU_MERG;
020    }
021
022    @Override
023    public int getModuleId() {
024        return 29;
025    }
026
027    @Override
028    public void configureDummyNode(CbusNode node) {
029        int[] _params = new int[]{
030            20, /* 0 num parameters   */
031            MANU_MERG, /* 1 manufacturer ID   */
032            89, /* 2 Minor code version   */
033            29, /* 3 Manufacturer module identifier   */
034            128, /* 4 Number of supported events   */
035            13, /* 5 Number of Event Variables per event   */
036            1, /* 6 Number of Node Variables   */
037            1, /* 7 Major version   */
038            13, /* 8 Node flags   */
039            13, /* 9 Processor type   */
040            1, /* 10 Bus type   */
041            0, /* 11 load address, 1/4 bytes   */
042            8, /* 12 load address, 2/4 bytes   */
043            0, /* 13 load address, 3/4 bytes   */
044            0, /* 14 load address, 4/4 bytes   */
045            0, /* 15 CPU manufacturer's id 1/4  */
046            0, /* 16 CPU manufacturer's id 2/4  */
047            0, /* 17 CPU manufacturer's id 3/4  */
048            0, /* 18 CPU manufacturer's id 4/4  */
049            1, /* 19 CPU manufacturer code   */
050            1, /* 20 Beta revision   */
051        };
052        node.getNodeParamManager().setParameters(_params);
053        node.getNodeNvManager().setNVs( new int[]{ 1 , 0 } ); // 1 NV, NV1 set at 0
054        node.setNodeNameFromName("PAN");
055    }
056
057}