2023-06-24 09:05:38 +03:00
|
|
|
let Common = system.getScript("/driverlib/Common.js");
|
|
|
|
|
|
|
|
|
|
var F28X7X_SERIES = [
|
|
|
|
|
"F2837xD",
|
|
|
|
|
"F2837xS",
|
|
|
|
|
"F2807x"
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
var ALL_DEVICES = [
|
|
|
|
|
"F28004x",
|
|
|
|
|
"F28003x",
|
|
|
|
|
"F28002x",
|
|
|
|
|
"F2838x",
|
|
|
|
|
"F280013x",
|
|
|
|
|
"F280015x",
|
|
|
|
|
"F2837xD",
|
|
|
|
|
"F2837xS",
|
2023-07-24 12:14:00 +03:00
|
|
|
"F2807x",
|
|
|
|
|
"F28P65x"
|
2023-06-24 09:05:38 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let ADDITIONAL_USECASES = {
|
|
|
|
|
EQEP : [
|
|
|
|
|
{
|
|
|
|
|
name: "NO STROBE",
|
|
|
|
|
interfaces: [
|
|
|
|
|
"EQEP#A",
|
|
|
|
|
"EQEP#B",
|
|
|
|
|
"EQEP#I",
|
|
|
|
|
],
|
|
|
|
|
devices: F28X7X_SERIES
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "NO STROBE",
|
|
|
|
|
interfaces: [
|
|
|
|
|
"EQEP#_A",
|
|
|
|
|
"EQEP#_B",
|
|
|
|
|
"EQEP#_INDEX",
|
|
|
|
|
],
|
|
|
|
|
devices: Common.removeArrayFromArray(ALL_DEVICES, F28X7X_SERIES)
|
|
|
|
|
}
|
2023-07-24 12:14:00 +03:00
|
|
|
],
|
|
|
|
|
ECAT : [
|
|
|
|
|
{
|
|
|
|
|
name: "EVM",
|
|
|
|
|
interfaces: [
|
|
|
|
|
"ESC_I2C_SDA",
|
|
|
|
|
"ESC_I2C_SCL",
|
|
|
|
|
"ESC_TX1_DATA0",
|
|
|
|
|
"ESC_TX1_DATA1",
|
|
|
|
|
"ESC_TX1_DATA2",
|
|
|
|
|
"ESC_TX1_DATA3",
|
|
|
|
|
"ESC_MDIO_CLK",
|
|
|
|
|
"ESC_MDIO_DATA",
|
|
|
|
|
"ESC_PHY_CLK",
|
|
|
|
|
"ESC_RX1_CLK",
|
|
|
|
|
"ESC_RX1_DV",
|
|
|
|
|
"ESC_RX1_ERR",
|
|
|
|
|
"ESC_RX1_DATA0",
|
|
|
|
|
"ESC_RX1_DATA1",
|
|
|
|
|
"ESC_RX1_DATA2",
|
|
|
|
|
"ESC_RX1_DATA3",
|
|
|
|
|
"ESC_PHY_RESETn",
|
|
|
|
|
"ESC_LED_RUN",
|
|
|
|
|
"ESC_LED_ERR",
|
|
|
|
|
"ESC_LED_LINK0_ACTIVE",
|
|
|
|
|
"ESC_LED_LINK1_ACTIVE",
|
|
|
|
|
"ESC_RX0_CLK",
|
|
|
|
|
"ESC_RX0_DV",
|
|
|
|
|
"ESC_RX0_ERR",
|
|
|
|
|
"ESC_RX0_DATA0",
|
|
|
|
|
"ESC_RX0_DATA1",
|
|
|
|
|
"ESC_RX0_DATA2",
|
|
|
|
|
"ESC_RX0_DATA3",
|
|
|
|
|
"ESC_TX0_ENA",
|
|
|
|
|
"ESC_TX0_CLK",
|
|
|
|
|
"ESC_TX0_DATA0",
|
|
|
|
|
"ESC_TX0_DATA1",
|
|
|
|
|
"ESC_TX0_DATA2",
|
|
|
|
|
"ESC_TX0_DATA3",
|
|
|
|
|
"ESC_TX1_ENA",
|
|
|
|
|
"ESC_TX1_CLK",
|
|
|
|
|
"ESC_PHY0_LINKSTATUS",
|
|
|
|
|
"ESC_PHY1_LINKSTATUS",
|
|
|
|
|
],
|
|
|
|
|
devices: ["F28P65x","F2838x"]
|
|
|
|
|
}
|
2023-06-24 09:05:38 +03:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getAdditionalUseCase(periph)
|
|
|
|
|
{
|
|
|
|
|
if (ADDITIONAL_USECASES[periph]){
|
|
|
|
|
return ADDITIONAL_USECASES[periph].filter(useCase => useCase.devices.includes(Common.getDeviceName()))
|
|
|
|
|
}
|
|
|
|
|
return null
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getAdditionalUseCaseNames(periph)
|
|
|
|
|
{
|
|
|
|
|
if (ADDITIONAL_USECASES[periph]){
|
|
|
|
|
return ADDITIONAL_USECASES[periph].filter(useCase => useCase.devices.includes(Common.getDeviceName())).map(useCase => useCase.name)
|
|
|
|
|
}
|
|
|
|
|
return null
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getAdditionalUseCaseInterfaces(periph, useCase)
|
|
|
|
|
{
|
|
|
|
|
var additionalUseCases = getAdditionalUseCase(periph)
|
|
|
|
|
if (additionalUseCases){
|
|
|
|
|
var selectedAddUseCase = additionalUseCases.filter(addUseCase => (addUseCase.name == useCase));
|
|
|
|
|
if (selectedAddUseCase && selectedAddUseCase[0])
|
|
|
|
|
{
|
|
|
|
|
return selectedAddUseCase[0].interfaces
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return null
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exports = {
|
|
|
|
|
getAdditionalUseCase : getAdditionalUseCase,
|
|
|
|
|
getAdditionalUseCaseInterfaces : getAdditionalUseCaseInterfaces,
|
|
|
|
|
getAdditionalUseCaseNames : getAdditionalUseCaseNames
|
|
|
|
|
}
|