module          max_number_in_system
------          --------------------
vicp_driver         24


    system_attribute    values
    ----------------    ------
    condition           offline, broken, online
    type                0049

    user_attribute      values
    --------------      ------

    location            NULL, \
                         r0,  r1, r3,   r4,  r6   r7, \
                         r8,  r9, r11, r12, r14, r15, \
                        r16, r17, r19, r20, r22, r23, \
                        r24, r25, r27, r28, r30, r31, \
                        r48, r49, r51, r52, r54, r55, \
                        r56, r57, r59, r60, r62, r63

   req_condition       offline, online
   fault_acknowledged  no, yes
   description         "serial comms. driver"
   alias		string

   constituent         values
   -----------         ------
   controller          null 0, \
                       vicp 0, vicp 1, vicp 2, vicp 3, \
                       vicp 4, vicp 5, vicp 6, vicp 7, \
                       vicp 8, vicp 9, vicp 10, vicp 11


    state               function
    -----               --------
    not_here            if (location == NULL)
    inaccessible        if (controller->state != online)
    offline             if (condition == offline && req_condition == offline)
    should_be_on        if (condition == offline && req_condition == online)
    broken              if (condition == broken && req_condition == online)
    online              if (condition == online && req_condition == online)
    should_be_off       if (condition != offline && req_condition == offline)

    transition      response
    ----------      --------
    inaccessible -> should_be_on \
       /etc/cms/bin/vicpctl driver $number $location $controller \
               `/etc/cms/bin/vicp_par $location $controller->comms_chassis` ; \
       /etc/cms/bin/vicpctl driver_on $number ;

    offline -> should_be_on \
       /etc/cms/bin/vicpctl driver $number $location $controller \
               `/etc/cms/bin/vicp_par $location $controller->comms_chassis` ; \
       /etc/cms/bin/vicpctl driver_on $number ;

    should_be_on -> online \
       /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    online -> should_be_off \
       /etc/cms/bin/vicpctl driver_off $number ;

    broken -> should_be_off \
       /etc/cms/bin/vicpctl driver_off $number ;

    online -> inaccessible \
       echo "$name $number condition offline <R1050003>controlling module bad" > /dev/FTlog:cms ;

    should_be_off -> inaccessible \
       echo "$name $number condition offline <R1050003>controlling module bad" > /dev/FTlog:cms ;

    broken -> inaccessible \
       echo "$name $number condition offline <R1050003>controlling module bad" > /dev/FTlog:cms ;

