/*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE Versions 3.13.7 * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* $Id$ */ /* Parameters for tasks on IOC */ /* * Authors: Andy Kozubal, Jeff Hill, and Bob Dalesio * Date: 2-24-89 */ #ifndef INCtaskLibh #include #endif #define VXTASKIDSELF 0 /* Task Names */ #define EVENTSCAN_NAME "scanEvent" #define SCANONCE_NAME "scanOnce" #define SMCMD_NAME "smCommand" #define SMRESP_NAME "smResponse" #define ABDONE_NAME "abDone" #define ABSCAN_NAME "abScan" #define ABCOS_NAME "abBiCosScanner" #define MOMENTARY_NAME "momentary" #define WFDONE_NAME "wfDone" #define SEQUENCER_NAME "sequencer" #define BKPT_CONT_NAME "bkptCont" #define SCANNER_NAME "scanner" #define REQ_SRVR_NAME "CA_TCP" #define CA_CLIENT_NAME "CA_client" #define CA_EVENT_NAME "CA_event" #define CAST_SRVR_NAME "CA_UDP" #define CA_REPEATER_NAME "CA_repeater" #define CA_ONLINE_NAME "CA_online" #define TASKWD_NAME "taskwd" #define SMIOTEST_NAME "smInout" #define SMROTTEST_NAME "smRotate" #define EVENT_PEND_NAME "event task" #define XY240_NAME "xy_240_scan" #define GPIBLINK_NAME "gpibLink" #define BBLINK_NAME "bbLinkTask" #define BBTXLINK_NAME "bbTx" #define BBRXLINK_NAME "bbRx" #define BBWDTASK_NAME "bbwd" #define ERRLOG_NAME "errlog" #define LOG_RESTART_NAME "logRestart" /* Task priorities */ #define SCANONCE_PRI 85 /* scan one time */ /*DO NOT RUN ANY RECORD PROCESSING TASKS AT HIGHER PRIORITY THAN _netTask=50*/ #define CALLBACK_PRI_LOW 85 /* callback task - generall callback task */ #define CALLBACK_PRI_MEDIUM 75 /* callback task - generall callback task */ #define CALLBACK_PRI_HIGH 71 /* callback task - generall callback task */ #define EVENTSCAN_PRI 72 /* Event Scanner - Runs on a global event */ #define SMCMD_PRI 62 /* Stepper Motor Command Task - Waits for cmds */ #define SMRESP_PRI 63 /* Stepper Motor Resp Task - Waits for resps */ #define ABCOS_PRI 63 /* Allen-Bradley Binary Input COS io_event wakeup */ #define ABDONE_PRI 64 /* Allen-Bradley Resp Task - Interrupt Driven */ #define ABSCAN_PRI 65 /* Allen-Bradley Scan Task - Base Rate .1 secs */ #define BBLINK_PRI 66 #define BBWDTASK_PRI 65 /* BitBus watchdog task */ #define BBRXLINK_PRI 66 /* BitBus link task */ #define BBTXLINK_PRI 67 /* BitBus link task */ #define GPIBLINK_PRI 67 /* GPIB link task */ #define MOMENTARY_PRI 68 /* Momentary output - posted from watchdog */ #define WFDONE_PRI 69 /* Waveform Task - Base Rate of .1 second */ #define PERIODSCAN_PRI 78 /* Periodic Scanners - Slowest rate */ #define DB_CA_PRI 88 /*database to channel access*/ #define SEQUENCER_PRI 90 #define XY240_PRI 111 /* xy 240 dio scanner */ #define SCANNER_PRI 150 #define REQ_SRVR_PRI 181 /* Channel Access TCP request server*/ #define CA_CLIENT_PRI 180 /* Channel Access clients */ #define CA_REPEATER_PRI 181 /* Channel Access repeater */ #define ERRLOG_PRI CA_REPEATER_PRI /*error logger task*/ #define CAST_SRVR_PRI 182 /* Channel Access broadcast server */ #define CA_ONLINE_PRI 183 /* Channel Access server online notify */ #define TASKWD_PRI 200 /* Watchdog Scan Task - runs every 6 seconds */ #define SMIOTEST_PRI 205 /* Stepper Mtr in/out test - runs every .1 sec */ #define SMROTTEST_PRI 205 /* Stepper Mtr rotate test - runs every .1 sec */ #define LOG_RESTART_PRI 200 /* Log server connection watch dog */ /* Task delay times (seconds) */ #define TASKWD_DELAY 6 /* Task delay times (tics) */ #define ABSCAN_RATE (sysClkRateGet()/6) #define SEQUENCER_DELAY (sysClkRateGet()/5) #define SCANNER_DELAY (sysClkRateGet()/5) #define CA_ONLINE_DELAY (sysClkRateGet()*15) #define LOG_RESTART_DELAY (sysClkRateGet()*30) /* Task creation options */ #define ERRLOG_OPT VX_FP_TASK #define EVENTSCAN_OPT VX_FP_TASK #define SCANONCE_OPT VX_FP_TASK #define CALLBACK_OPT VX_FP_TASK #define SMCMD_OPT VX_FP_TASK #define SMRESP_OPT VX_FP_TASK #define ABDONE_OPT VX_FP_TASK #define ABCOS_OPT VX_FP_TASK #define ABSCAN_OPT VX_FP_TASK #define MOMENTARY_OPT VX_FP_TASK #define PERIODSCAN_OPT VX_FP_TASK #define WFDONE_OPT VX_FP_TASK #define SEQUENCER_OPT VX_FP_TASK | VX_STDIO #define BKPT_CONT_OPT VX_FP_TASK #define SCANNER_OPT VX_FP_TASK #define REQ_SRVR_OPT VX_FP_TASK #define CAST_SRVR_OPT VX_FP_TASK #define CA_CLIENT_OPT VX_FP_TASK #define CA_REPEATER_OPT VX_FP_TASK #define CA_ONLINE_OPT VX_FP_TASK #define TASKWD_OPT VX_FP_TASK #define SMIOTEST_OPT VX_FP_TASK #define SMROTTEST_OPT VX_FP_TASK #define EVENT_PEND_OPT VX_FP_TASK #define GPIBLINK_OPT VX_FP_TASK|VX_STDIO #define BBLINK_OPT VX_FP_TASK|VX_STDIO #define BBTXLINK_OPT VX_FP_TASK|VX_STDIO #define BBRXLINK_OPT VX_FP_TASK|VX_STDIO #define BBWDTASK_OPT VX_FP_TASK|VX_STDIO #define DB_CA_OPT (VX_FP_TASK | VX_STDIO) #define XY_240_OPT (0) /* none */ #define LOG_RESTART_OPT (VX_FP_TASK) /* * Task stack sizes * * (original stack sizes are appropriate for the 68k) * ARCH_STACK_FACTOR allows scaling the stacks on particular * processor architectures */ #if CPU_FAMILY == MC680X0 #define ARCH_STACK_FACTOR 1 #elif CPU_FAMILY == SPARC #define ARCH_STACK_FACTOR 2 #else #define ARCH_STACK_FACTOR 2 #endif #define ERRLOG_STACK (4000*ARCH_STACK_FACTOR) #define EVENTSCAN_STACK (11000*ARCH_STACK_FACTOR) #define SCANONCE_STACK (11000*ARCH_STACK_FACTOR) #define CALLBACK_STACK (11000*ARCH_STACK_FACTOR) #define SMCMD_STACK (3000*ARCH_STACK_FACTOR) #define SMRESP_STACK (3000*ARCH_STACK_FACTOR) #define ABCOS_STACK (3000*ARCH_STACK_FACTOR) #define ABDONE_STACK (3000*ARCH_STACK_FACTOR) #define ABSCAN_STACK (3000*ARCH_STACK_FACTOR) #define MOMENTARY_STACK (2000*ARCH_STACK_FACTOR) #define PERIODSCAN_STACK (11000*ARCH_STACK_FACTOR) #define WFDONE_STACK (9000*ARCH_STACK_FACTOR) #define SEQUENCER_STACK (5500*ARCH_STACK_FACTOR) #define BKPT_CONT_STACK (11000*ARCH_STACK_FACTOR) #define SCANNER_STACK (3048*ARCH_STACK_FACTOR) #define RSP_SRVR_STACK (5096*ARCH_STACK_FACTOR) #define REQ_SRVR_STACK (5096*ARCH_STACK_FACTOR) #define CAST_SRVR_STACK (5096*ARCH_STACK_FACTOR) #define CA_CLIENT_STACK (11000*ARCH_STACK_FACTOR) #define CA_REPEATER_STACK (5096*ARCH_STACK_FACTOR) #define CA_ONLINE_STACK (3048*ARCH_STACK_FACTOR) #define TASKWD_STACK (4000*ARCH_STACK_FACTOR) #define SMIOTEST_STACK (2000*ARCH_STACK_FACTOR) #define SMROTTEST_STACK (2000*ARCH_STACK_FACTOR) #define EVENT_PEND_STACK (5096*ARCH_STACK_FACTOR) #define TIMESTAMP_STACK (4000*ARCH_STACK_FACTOR) #define GPIBLINK_STACK (5000*ARCH_STACK_FACTOR) #define BBLINK_STACK (5000*ARCH_STACK_FACTOR) #define BBRXLINK_STACK (5000*ARCH_STACK_FACTOR) #define BBTXLINK_STACK (5000*ARCH_STACK_FACTOR) #define BBWDTASK_STACK (5000*ARCH_STACK_FACTOR) #define DB_CA_STACK (11000*ARCH_STACK_FACTOR) #define XY_240_STACK (4096*ARCH_STACK_FACTOR) #define LOG_RESTART_STACK (0x1000*ARCH_STACK_FACTOR)