Post Go back to editing

fastlock profile with more than 8 profile saving.

Hello everyone!

I have been working with fastlock profile and I wanted to use more than 8 profile to hope the frequency.now i'm able to recall 8 profile,but i'm not getting what to do if I wanted to use more than 8 profile as i'm using your --> ad9361_fastlock_save(phy, 1, profile, values); function to save more that 8 profile. if i'm going to use more than 8 frequency then while recalling only last  8 frequency are coming instead of that I want continuous chian.

my sequence of execution is :     set_lo_tx --> store  --> load --> save  --> recall

Parents
  • Hi 

    Before posting this doubt I have gone through above link , but still I need clarity about the procedure . Can you please help me with a example code which will help me to set more than 8 profiles.

    Thanks in advance 

    regards,

  • Thank you so much!

    I got the point.

  • when I use the above code for more than 8 profiles, the recall function didn't give the set profile. I am going to attach the  bash script  and  result below. Please guide:

    cd /sys/bus/iio/devices/iio\:device1/
    pwd
    for i in {1..8..1}
    do
    echo $((100000000+ $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    sleep 0.1
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    for i in {9..16..1}
    do
    echo $((325000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    echo 1 150,0,0,0,0,65,23,7,238,85,111,221,115,252,12,160 > out_altvoltage1_TX_LO_fastlock_load
    echo 2 85,0,0,0,0,114,31,15,238,85,111,221,114,221,43,183 > out_altvoltage1_TX_LO_fastlock_load
    echo 3 95,0,0,0,0,113,16,16,238,85,111,221,114,204,217,166 > out_altvoltage1_TX_LO_fastlock_load
    echo 4 105,0,0,0,0,113,31,15,238,85,127,221,114,204,154,176 > out_altvoltage1_TX_LO_fastlock_load
    echo 5 115,0,0,0,0,97,29,13,238,85,111,221,114,204,108,192 > out_altvoltage1_TX_LO_fastlock_load
    echo 6 125,0,0,0,0,97,27,11,238,85,111,221,114,236,73,160 > out_altvoltage1_TX_LO_fastlock_load
    echo 7 135,0,0,0,0,65,25,9,238,85,111,221,114,252,44,198 > out_altvoltage1_TX_LO_fastlock_load
    echo 8 145,0,0,0,0,65,23,7,238,68,110,238,114,252,22,166 > out_altvoltage1_TX_LO_fastlock_load
    echo "recalling first 8 profiles"
    for i in {1..8..1}
    do
    echo $i > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    done
    echo 9 140,0,0,0,0,65,24,8,238,85,110,221,113,252,32,192 > out_altvoltage1_TX_LO_fastlock_load
    echo 10 150,0,0,0,0,65,23,7,238,85,111,221,113,252,12,160 > out_altvoltage1_TX_LO_fastlock_load
    echo 11 80,0,0,0,0,114,31,15,238,85,111,221,112,253,99,163 > out_altvoltage1_TX_LO_fastlock_load
    echo 12 85,0,0,0,0,114,31,15,238,85,111,221,112,221,43,18 > out_altvoltage1_TX_LO_fastlock_load
    echo 13 90,0,0,0,0,114,30,14,238,85,111,221,112,237,253,1824 > out_altvoltage1_TX_LO_fastlock_load
    echo 14 95,0,0,0,0,113,16,16,238,85,111,221,112,204,217,166 > out_altvoltage1_TX_LO_fastlock_load
    echo 15 100,0,0,0,0,113,31,15,238,85,111,221,112,204,183,176 > out_altvoltage1_TX_LO_fastlock_load
    echo 16 105,0,0,0,0,113,31,15,238,85,127,221,112,204,155,176 > out_altvoltage1_TX_LO_fastlock_load
    echo "recalling 9-16 profiles"
    for i in {9..16..1}
    do
    echo $i > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    done

  • You need to copy the printed saved profiles into the corresponding load API's.

    For ex; in the above picture, the first highlighted text corresponds to the first profile, the second one corresponds to the second profile and so on. You need to use the same in the load functions

  • thankyou for your kind response!  I got the desired profiles but when I check the results on the spectrum analyzer it shows any random profile in these 16 but I want to get all the profiles .how it would be possible?

  • thankyou for your kind response!  I got the desired profiles but when I check the results on the spectrum analyzer it shows any random profile in these 16 but I want to get all the profiles .how it would be possible?

  • do
    echo $i > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    done

    Using this part of the code, the profiles are recalled one by one and its corresponding LO frequencies are set for the chip. You can add sleep of 1 sec within the loop, so that you can see the LO frequency corresponding to all the 16 profiles  in your spectrum analyzer(without a wait period of 1sec, its sweeps very fast and  spectrum is not able to capture that)

    If you want to recall a single profile say 9th profile then get out of the loop and do:

    echo 9 > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency

  • thankyou for your response. I have made the necessary changes but still didn't get all the Los. let's suppose, I am covering a band from 100MHZ to 800MHZ when I see results on the spectrum analyzer I obtained Los at 125,275, 375,425,575,625,875. The profile setting script is given below. please guide, I want all the 16 profiles at the spectrum analyzer.

    cd /sys/bus/iio/devices/iio\:device1/
    pwd

    for i in {1..8..1}
    do
    echo $((75000000 + $i * 50000000)) > out_altvoltage1_TX_LO_frequency

    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    for i in {9..16..1}
    do
    echo $((75000000 + $i * 50000000)) > out_altvoltage1_TX_LO_frequency

    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done

    echo 1 100,0,0,0,0,113,31,15,238,85,111,221,117,204,180,176> out_altvoltage1_TX_LO_fastlock_load
    echo 2 140,0,0,0,0,65,24,8,238,85,110,221,117,252,33,180> out_altvoltage1_TX_LO_fastlock_load
    echo 3 90,0,0,0,0,114,30,14,238,85,111,221,116,237,249,182> out_altvoltage1_TX_LO_fastlock_load
    echo 4 110,0,0,0,0,113,29,13,238,85,111,221,116,204,129,162> out_altvoltage1_TX_LO_fastlock_load
    echo 5 130,0,0,0,0,97,26,10,238,85,111,221,116,252,57,150> out_altvoltage1_TX_LO_fastlock_load
    echo 6 150,0,0,0,0,65,23,7,238,85,111,221,116,252,12,150> out_altvoltage1_TX_LO_fastlock_load
    echo 7 85,0,0,0,0,114,31,15,238,85,111,221,115,221,38,1832> out_altvoltage1_TX_LO_fastlock_load
    echo 8 95,0,0,0,0,113,16,16,238,85,111,221,115,204,213,166> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling first 8 profiles"

    for i in {1..8..1}

    do
    sleep 1
    echo $i > out_altvoltage1_TX_LO_fastlock_recall

    cat out_altvoltage1_TX_LO_frequency
    done


    echo 9 105,0,0,0,0,113,31,15,238,85,127,221,115,204,152,176> out_altvoltage1_TX_LO_fastlock_load
    echo 10 115,0,0,0,0,97,29,13,238,85,111,221,115,204,107,192> out_altvoltage1_TX_LO_fastlock_load
    echo 11 125,0,0,0,0,97,27,11,238,85,111,221,115,236,73,160> out_altvoltage1_TX_LO_fastlock_load
    echo 12 135,0,0,0,0,65,25,9,238,85,111,221,115,252,44,194> out_altvoltage1_TX_LO_fastlock_load
    echo 13 145,0,0,0,0,65,23,7,238,68,110,238,115,252,22,160> out_altvoltage1_TX_LO_fastlock_load
    echo 14 77,0,249,255,63,114,31,15,238,85,111,221,114,253,122,151> out_altvoltage1_TX_LO_fastlock_load
    echo 15 82,0,249,255,63,114,31,15,238,85,111,221,114,221,64,167 > out_altvoltage1_TX_LO_fastlock_load
    echo 16 87,0,249,255,63,113,27,19,238,85,111,221,114,206,14,193> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling 9-16 profiles"


    for i in {9..16..1}

    do
    sleep 1
    echo $i > out_altvoltage1_TX_LO_fastlock_recall

    cat out_altvoltage1_TX_LO_frequency

    done

  • While recalling the first 8 profiles, donot do it in a loop(delete the highlighted lines). Instead recall each profile one by one from 1 to 8 manually using below  and see the output in spectrum analyzer for each change

    echo 1 > out_altvoltage1_TX_LO_fastlock_recall

    Similarly recall each profile for 9 to 16 manually and see the output in spectrum

  • Dear  ;

    I have few questions regarding this thread:

    1. If I needed more than 16 profiles then how can I calculate values for 17th profile or onwards  (echo 8 95,0,0,0,0,113,16,16,238,85,111,221,115,204,213,166> out_altvoltage1_TX_LO_fastlock_load); In this I understand 8 is profile number, 95 is profile center frequency and what are the rest values? And how I can find them for 17th profile and onwards(18th, 19th,20th,....................).
    2. How Can I synchronize all profiles, let say when I found Rx at 17th at the same time Tx should be on 17th?
    3. Any other settings except above shared example in PS or PL for profiles enabling like register settings or anything else.
    4. What will be the total time for all profiles hopping?

    Thanks

  • Dear ;

    I did those steps as you described but I found the different results:   echo 1 > out_altvoltage1_TX_LO_fastlock_recall for 1 to 16 recall one by one all sixteen profiles, I got only last profile at output and there is nothing on the spectrum analyzer.

    fastlock

    Script is given below:

    cd /sys/bus/iio/devices/iio\:device0/
    pwd
    
    for i in {1..8..1}
    do
    echo $((75000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    sleep 0.1
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    for i in {9..16..1}
    do
    echo $((75000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    sleep 0.1
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    
    echo 1 100,0,0,0,0,113,31,15,238,85,111,221,117,204,180,176> out_altvoltage1_TX_LO_fastlock_load
    echo 2 140,0,0,0,0,65,24,8,238,85,110,221,117,252,33,180> out_altvoltage1_TX_LO_fastlock_load
    echo 3 90,0,0,0,0,114,30,14,238,85,111,221,116,237,249,182> out_altvoltage1_TX_LO_fastlock_load
    echo 4 110,0,0,0,0,113,29,13,238,85,111,221,116,204,129,162> out_altvoltage1_TX_LO_fastlock_load
    echo 5 130,0,0,0,0,97,26,10,238,85,111,221,116,252,57,150> out_altvoltage1_TX_LO_fastlock_load
    echo 6 150,0,0,0,0,65,23,7,238,85,111,221,116,252,12,150> out_altvoltage1_TX_LO_fastlock_load
    echo 7 85,0,0,0,0,114,31,15,238,85,111,221,115,221,38,1832> out_altvoltage1_TX_LO_fastlock_load
    echo 8 95,0,0,0,0,113,16,16,238,85,111,221,115,204,213,166> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling first 8 profiles"
    
    #for i in {1..8..1}
    
    #do
    #sleep 1
    #echo $i > out_altvoltage1_TX_LO_fastlock_recall
    echo 1 > out_altvoltage1_TX_LO_fastlock_recall
    echo 2 > out_altvoltage1_TX_LO_fastlock_recall
    echo 3 > out_altvoltage1_TX_LO_fastlock_recall
    echo 4 > out_altvoltage1_TX_LO_fastlock_recall
    echo 5 > out_altvoltage1_TX_LO_fastlock_recall
    echo 6 > out_altvoltage1_TX_LO_fastlock_recall
    echo 7 > out_altvoltage1_TX_LO_fastlock_recall
    echo 8 > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    #done
    
    
    echo 9 105,0,0,0,0,113,31,15,238,85,127,221,115,204,152,176> out_altvoltage1_TX_LO_fastlock_load
    echo 10 115,0,0,0,0,97,29,13,238,85,111,221,115,204,107,192> out_altvoltage1_TX_LO_fastlock_load
    echo 11 125,0,0,0,0,97,27,11,238,85,111,221,115,236,73,160> out_altvoltage1_TX_LO_fastlock_load
    echo 12 135,0,0,0,0,65,25,9,238,85,111,221,115,252,44,194> out_altvoltage1_TX_LO_fastlock_load
    echo 13 145,0,0,0,0,65,23,7,238,68,110,238,115,252,22,160> out_altvoltage1_TX_LO_fastlock_load
    echo 14 77,0,249,255,63,114,31,15,238,85,111,221,114,253,122,151> out_altvoltage1_TX_LO_fastlock_load
    echo 15 82,0,249,255,63,114,31,15,238,85,111,221,114,221,64,167 > out_altvoltage1_TX_LO_fastlock_load
    echo 16 87,0,249,255,63,113,27,19,238,85,111,221,114,206,14,193> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling 9-16 profiles"
    
    
    #for i in {9..16..1}
    
    #do
    sleep 1
    #echo $i > out_altvoltage1_TX_LO_fastlock_recall
    echo 9 > out_altvoltage1_TX_LO_fastlock_recall
    echo 10 > out_altvoltage1_TX_LO_fastlock_recall
    echo 11 > out_altvoltage1_TX_LO_fastlock_recall
    echo 12 > out_altvoltage1_TX_LO_fastlock_recall
    echo 13 > out_altvoltage1_TX_LO_fastlock_recall
    echo 14 > out_altvoltage1_TX_LO_fastlock_recall
    echo 15 > out_altvoltage1_TX_LO_fastlock_recall
    echo 16 > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    
    #done

    Thanks

Reply
  • Dear ;

    I did those steps as you described but I found the different results:   echo 1 > out_altvoltage1_TX_LO_fastlock_recall for 1 to 16 recall one by one all sixteen profiles, I got only last profile at output and there is nothing on the spectrum analyzer.

    fastlock

    Script is given below:

    cd /sys/bus/iio/devices/iio\:device0/
    pwd
    
    for i in {1..8..1}
    do
    echo $((75000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    sleep 0.1
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    for i in {9..16..1}
    do
    echo $((75000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
    sleep 0.1
    echo $i > out_altvoltage1_TX_LO_fastlock_store
    echo $i > out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_fastlock_save
    cat out_altvoltage1_TX_LO_frequency
    done
    
    echo 1 100,0,0,0,0,113,31,15,238,85,111,221,117,204,180,176> out_altvoltage1_TX_LO_fastlock_load
    echo 2 140,0,0,0,0,65,24,8,238,85,110,221,117,252,33,180> out_altvoltage1_TX_LO_fastlock_load
    echo 3 90,0,0,0,0,114,30,14,238,85,111,221,116,237,249,182> out_altvoltage1_TX_LO_fastlock_load
    echo 4 110,0,0,0,0,113,29,13,238,85,111,221,116,204,129,162> out_altvoltage1_TX_LO_fastlock_load
    echo 5 130,0,0,0,0,97,26,10,238,85,111,221,116,252,57,150> out_altvoltage1_TX_LO_fastlock_load
    echo 6 150,0,0,0,0,65,23,7,238,85,111,221,116,252,12,150> out_altvoltage1_TX_LO_fastlock_load
    echo 7 85,0,0,0,0,114,31,15,238,85,111,221,115,221,38,1832> out_altvoltage1_TX_LO_fastlock_load
    echo 8 95,0,0,0,0,113,16,16,238,85,111,221,115,204,213,166> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling first 8 profiles"
    
    #for i in {1..8..1}
    
    #do
    #sleep 1
    #echo $i > out_altvoltage1_TX_LO_fastlock_recall
    echo 1 > out_altvoltage1_TX_LO_fastlock_recall
    echo 2 > out_altvoltage1_TX_LO_fastlock_recall
    echo 3 > out_altvoltage1_TX_LO_fastlock_recall
    echo 4 > out_altvoltage1_TX_LO_fastlock_recall
    echo 5 > out_altvoltage1_TX_LO_fastlock_recall
    echo 6 > out_altvoltage1_TX_LO_fastlock_recall
    echo 7 > out_altvoltage1_TX_LO_fastlock_recall
    echo 8 > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    #done
    
    
    echo 9 105,0,0,0,0,113,31,15,238,85,127,221,115,204,152,176> out_altvoltage1_TX_LO_fastlock_load
    echo 10 115,0,0,0,0,97,29,13,238,85,111,221,115,204,107,192> out_altvoltage1_TX_LO_fastlock_load
    echo 11 125,0,0,0,0,97,27,11,238,85,111,221,115,236,73,160> out_altvoltage1_TX_LO_fastlock_load
    echo 12 135,0,0,0,0,65,25,9,238,85,111,221,115,252,44,194> out_altvoltage1_TX_LO_fastlock_load
    echo 13 145,0,0,0,0,65,23,7,238,68,110,238,115,252,22,160> out_altvoltage1_TX_LO_fastlock_load
    echo 14 77,0,249,255,63,114,31,15,238,85,111,221,114,253,122,151> out_altvoltage1_TX_LO_fastlock_load
    echo 15 82,0,249,255,63,114,31,15,238,85,111,221,114,221,64,167 > out_altvoltage1_TX_LO_fastlock_load
    echo 16 87,0,249,255,63,113,27,19,238,85,111,221,114,206,14,193> out_altvoltage1_TX_LO_fastlock_load
    echo "recalling 9-16 profiles"
    
    
    #for i in {9..16..1}
    
    #do
    sleep 1
    #echo $i > out_altvoltage1_TX_LO_fastlock_recall
    echo 9 > out_altvoltage1_TX_LO_fastlock_recall
    echo 10 > out_altvoltage1_TX_LO_fastlock_recall
    echo 11 > out_altvoltage1_TX_LO_fastlock_recall
    echo 12 > out_altvoltage1_TX_LO_fastlock_recall
    echo 13 > out_altvoltage1_TX_LO_fastlock_recall
    echo 14 > out_altvoltage1_TX_LO_fastlock_recall
    echo 15 > out_altvoltage1_TX_LO_fastlock_recall
    echo 16 > out_altvoltage1_TX_LO_fastlock_recall
    cat out_altvoltage1_TX_LO_frequency
    
    #done

    Thanks

Children
No Data