#!/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