src/projectStructure.js
/*
   * This function adds an entry to the product lookup table
   * This entry does not represent a single device but a device family
   * It contains names and IDs of all devices belonging to this family (products[])
   * When performing a lookup, the products array will be removed + ID and name are to be set to the values of the single product
   */
This function adds an entry to the product lookup table
This entry does not represent a single device but a device family
It contains names and IDs of all devices belonging to this family (products[])
When performing a lookup, the products array will be removed + ID and name are to be set to the values of the single product
This function adds an entry to the product lookup table This entry does not represent a single device but a device family It contains names and IDs of all devices belonging to this family ( products [] ) When performing a lookup the products array will be removed + ID and name are to be set to the values of the single product
addEntryToProductLookupTable (ID, name, busCurrent, serialNumber, isAccessory, isPowerSupply, isChoke, isCoupler, isPowerLineRepeater,
    isPowerLineSignalFilter, isCable, isIPEnabled, hasApplicationProgram1, hasApplicationProblem2, hasIndividualAddress,
    originalManufacturer, manufacturer, noDownloadWithoutPlugin) {
    this.project.productLookupTable.push({
      ID: ID,
      name: name,
      busCurrent: busCurrent,
      serialNumber: serialNumber,
      products: [],
      flags: {
        isAccessory: isAccessory,
        isPowerSupply: isPowerSupply,
        isChoke: isChoke,
        isCoupler: isCoupler,
        isPowerLineRepeater: isPowerLineRepeater,
        isPowerLineSignalFilter: isPowerLineSignalFilter,
        isCable: isCable,
        isIPEnabled: isIPEnabled,
        hasApplicationProgram1: hasApplicationProgram1,
        hasApplicationProgram2: hasApplicationProblem2,
        hasIndividualAddress: hasIndividualAddress,
        noDownloadWithoutPlugin: noDownloadWithoutPlugin
      },
      __referenceIDs: {
        originalManufacturerRefID: originalManufacturer,
        manufacturerRefID: manufacturer,
        applicationProgramRefID: undefined
      }
    })
  }
addEntryToProductLookupTable ( ID , name , busCurrent , serialNumber , isAccessory , isPowerSupply , isChoke , isCoupler , isPowerLineRepeater , isPowerLineSignalFilter , isCable , isIPEnabled , hasApplicationProgram1 , hasApplicationProblem2 , hasIndividualAddress , originalManufacturer , manufacturer , noDownloadWithoutPlugin ) { this . project . productLookupTable . push ( { ID : ID , name : name , busCurrent : busCurrent , serialNumber : serialNumber , products : [ ] , flags : { isAccessory : isAccessory , isPowerSupply : isPowerSupply , isChoke : isChoke , isCoupler : isCoupler , isPowerLineRepeater : isPowerLineRepeater , isPowerLineSignalFilter : isPowerLineSignalFilter , isCable : isCable , isIPEnabled : isIPEnabled , hasApplicationProgram1 : hasApplicationProgram1 , hasApplicationProgram2 : hasApplicationProblem2 , hasIndividualAddress : hasIndividualAddress , noDownloadWithoutPlugin : noDownloadWithoutPlugin } , __referenceIDs : { originalManufacturerRefID : originalManufacturer , manufacturerRefID : manufacturer , applicationProgramRefID : undefined } } ) }
This function adds an entry to the product lookup table
 This entry does not represent a single device but a device family
 It contains names and IDs of all devices belonging to this family (products[])
 When performing a lookup, the products array will be removed + ID and name are to be set to the values of the single product
This function adds an entry to the product lookup table This entry does not represent a single device but a device family It contains names and IDs of all devices belonging to this family ( products [] ) When performing a lookup the products array will be removed + ID and name are to be set to the values of the single product
// All contained products share these attributes