Hi all,
So continuing to learn my way through all of this, I'm
encountering a problem with using the motor record to control a MAXv. The basic
setup: an MVME5500 running RTEMS 4.10 (with the bspExt code for the mvme5500), and
I've tried both 3.14.11 and 3.14.12 versions of EPICS using version 6-5-2 of
the motor record. Building and deploying the NoAsyn example app.
Here is my startup output:
-----------------------------------------
Welcome to rtems-4.10.0(PowerPC/Generic (classic
FPU)/mvme5500) on MVME5500-0163
-----------------------------------------
Now BSP_mem_size = 0x1FE00000
Marvell GT64260B (Discovery I) hostbridge detected
at bus0 slot0
BSP unlisted vendor, Bus0 Slot10 DeviceID 0x263388
TUNDRA PCI-VME bridge detected at bus1 slot0
Marvell GT64260B (Discovery I) hostbridge detected
at bus8 slot0
BSP unlisted vendor, Bus8 Slot10 DeviceID 0x10088086
Universe II PCI-VME bridge detected at 0x82000000,
IRQ 12
Universe Master Ports:
Port VME-Addr
Size PCI-Adrs Mode:
0: 0x20000000 0x0E000000
0x90000000 A32, D64 [MBLT], Dat, Sup
1: 0x00000000 0x00FF0000
0x9F000000 A24, D64 [MBLT], Dat, Sup
2: 0x00000000 0x00010000
0x9FFF0000 A16, D64, Dat, Sup
Universe Slave Ports:
Port VME-Addr
Size PCI-Adrs Mode:
0: 0x90000000 0x1FE00000
0x00000000 A32, Pgm, Dat, Sup, Usr, PWEN, PREN
Overriding main IRQ line PCI info with 76
Registering /dev/console as minor 0 (==/dev/ttyS0)
***** Initializing network *****
Startup.
Attaching MVME5500 1GHz NIC1
RTEMS-mvme5500 BSP Copyright (c) 2004,2005,2008,
Brookhaven National Lab., Shuchen Kate Feng
***** Initializing NFS *****
Mount 10.40.30.108:/tftpboot/epics on /epics
RTEMS-RPCIOD $Release$, Till Straumann, Stanford/SLAC/SSRL
2002, See LICENSE file for licensing info.
RTEMS-NFS $Release$, Till Straumann,
Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.
***** Starting EPICS application *****
#Startup script for loading and configuring an OMS
MAXv controller.
< /epics/mvme5500/envPaths
epicsEnvSet("ARCH","RTEMS-mvme5500")
epicsEnvSet("IOC","iocNoAsyn")
dbLoadDatabase("/epics/mvme5500/dbd/motorRecord.dbd")
dbLoadDatabase("/epics/mvme5500/dbd/devOms.dbd")
dbLoadDatabase("/epics/mvme5500/dbd/NoAsyn.dbd")
NoAsyn_registerRecordDeviceDriver(pdbbase)
dbLoadTemplate("/epics/mvme5500/motor.substitutions")
MAXvSetup(1, 16, 0xF000, 190, 5, 10)
MAXvConfig(0, "AX LL PSO; AY LL PSO; AZ LL PSO;
AT LL PSO; AU LH PSO; AV LH PSO; AR LH PSO; AS LH PSO;")
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12 $Date: Wed 2010-11-24 14:50:38
-0600$
## EPICS Base built Feb 25 2011
############################################################################
libbspExt - Warning: it seems that MCP support is
not available on your CPU
or not implemented by your board. Address probing must
be performed in polling mode with interrupts disabled
Warning: bspExtMemProbe kills real-time performance.
Your BSP does or can not use MCP exceptions - we
must probe with INTERRUPTS DISABLED !!!
use
only during driver initialization
clear the 'bspExtVerbosity' variable to silence this warning
Warning: bspExtMemProbe kills real-time performance.
Your BSP does or can not use MCP exceptions - we
must probe with INTERRUPTS DISABLED !!!
use
only during driver initialization
clear the 'bspExtVerbosity' variable to silence this warning
Warning: bspExtMemProbe kills real-time performance.
Your BSP does or can not use MCP exceptions - we
must probe with INTERRUPTS DISABLED !!!
use
only during driver initialization
clear the 'bspExtVerbosity' variable to silence this warning
Illegal field value PV: IOC:m1
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m2
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m3
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m4
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m5
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m6
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m7
motor_init_record_com(): card does not exist!
Illegal field value PV: IOC:m8
motor_init_record_com(): card does not exist!
iocRun: All initialization complete
Here's what my motor.substitutions file looks like:
file "/epics/mvme5500/db/basic_motor.db"
{
pattern
{P, N,
M,
DTYP, C, S,
DESC,
EGU, DIR, VELO, VBAS,
ACCL, BDST, BVEL, BACC, MRES, PREC,
DHLM, DLLM, INIT, PREM, POST}
{IOC:, 1, "m$(N)",
"OMS MAXv", 0, 0, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0,
1, .2, 0.01,
5, 100, -100, "AN
LL", "AF", "AN"}
{IOC:, 2, "m$(N)",
"OMS MAXv", 0, 1, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0, 1,
.2, 0.01, 5, 100,
-100, "AN LL", "AF", "AN"}
{IOC:, 3, "m$(N)",
"OMS MAXv", 0, 2, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0, 1,
.2, 0.01, 5, 100,
-100, "AN LL", "AF", "AN"}
{IOC:, 4, "m$(N)",
"OMS MAXv", 0, 3, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0,
1, .2, 0.01, 5,
100, -100, "AN LL", "AF",
"AN"}
{IOC:, 5, "m$(N)",
"OMS MAXv", 0, 4, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0, 1,
.2, 0.01, 5, 100,
-100, "AN LL", "AF", "AN"}
{IOC:, 6, "m$(N)",
"OMS MAXv", 0, 5, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0, 1,
.2, 0.01, 5, 100,
-100, "AN LL", "AF", "AN"}
{IOC:, 7, "m$(N)",
"OMS MAXv", 0, 6, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0,
1, .2, 0.01, 5,
100, -100, "AN LL", "AF",
"AN"}
{IOC:, 8, "m$(N)",
"OMS MAXv", 0, 7, "motor axis
$(N)", degrees, Pos, 1,
.1, .2, 0, 1,
.2, 0.01, 5, 100,
-100, "AN LL", "AF", "AN"}
}
I'm not sure why I'm not able to communicate with the MAXv
controller ( maybe it has something to do with the bspExt warnings? ). I hope
that covers the relevant details. Any help or advice would be greatly
appreciated. Thanks!
Regards,
Jim Eastman
This e-mail and any attachment(s) are from Pro-Dex, Inc. and may contain information that is confidential or privileged. If you are not the intended recipient, do not read, copy or distribute the e-mail or any attachments. Instead, please notify the sender at the phone number indicated above and delete the e-mail and any attachments. Thank you.