psnotch.sh
Author: cmaier@cmassoc.net

    #!/bin/sh
    # file: scripts/pibnotch.sh

    # This is an experimental script used to test dynamic PIB notching;
    # if you do not know what that is then you probably don't need this
    # script;

    # ====================================================================
    #
    # --------------------------------------------------------------------

    . /etc/environment
    . ${SCRIPTS}/hardware.sh
    . ${SCRIPTS}/firmware.sh

    # ====================================================================
    #
    # ETH1 is Host Interface for Device 1
    # ETH2 is Host Interface for Device 2
    #
    # PLD1 is MAC of Powerline Device 1
    # PLD2 is MAC of Powerline Device 2
    #
    # PIB the PIB file used to load prescalars
    # MAP the MAP file used to save tonemaps read from device
    # OLD the OLD prescalars (no notches)
    # NEW the NEW prescalars (with notches)
    #
    # --------------------------------------------------------------------

    PIB=abc.pib    # the PIB file used to load prescalars
    MAP=tonemap    # the MAP file used to save tonemaps read from device
    OLD=scalars    # the OLD prescalars (no notches)
    NEW=notches    # the NEW prescalars (with notches)

    # ====================================================================
    # 1. print message;
    # 2. load OLD prescalars into PIB
    # 3. download and flash PIB
    # --------------------------------------------------------------------

    echo
    echo Setup
    echo
    psout ../firmware/v3.3.6.pib > ${OLD}
    psin < ${OLD} ${PIB}
    int6k -i ${ETH2} -P ${PIB} ${PLD1} -C2

    # ====================================================================
    # 1. Increment loop counter and print message
    # 2. request tonemap between PLD1 and PLD2; save in MAP
    # 3. read OLD prescalars and write NEW prescalars based on MAP; only
    #    notch prescalars 57 through 63 if tone threshold is below 3;
    # 4. load NEW prescalars into PIB;
    # 5. plot prescalars from PIB discarding unwanted lines;
    # 6. print a message
    # 7. download and flash PIB to apply changes;
    # 8. wait some time
    # 9. load OLD prescalars into PIB
    # 10. print a message
    # 11. download and flash PIB to sample changes;
    # 12. wait some time
    # 13. repeat forever;
    # --------------------------------------------------------------------

    while [ 1 ]; do
    	echo
    	echo Check $((++count))
    	echo
    	int6ktone -qhi ${ETH2} ${PLD1} ${PLD2} > ${MAP}
    	psnotch -v -L 40 -U 66 -l 57 -u 62 -t 3 -f ${MAP} < ${OLD} > ${NEW}
    	psin < ${NEW} ${PIB}
    	psgraph ${PIB} | head -n 66 | tail -n 36
    	echo
    	echo blocking ...
    	echo
    	int6k -i ${ETH2} -P ${PIB} ${PLD1} -C2
    	sleep 10
    	psin < ${OLD} ${PIB}
    	echo
    	echo sampling ...
    	echo
    	int6k -i ${ETH2} -P ${PIB} ${PLD1} -C2
    	sleep 60
    done

[PREV] [HOME] [NEXT]