1*d14d06e5SXianjun Jiao 2*d14d06e5SXianjun Jiao#!/bin/bash 3*d14d06e5SXianjun Jiao 4*d14d06e5SXianjun Jiao# Author: Xianjun Jiao 5*d14d06e5SXianjun Jiao# SPDX-FileCopyrightText: 2021 UGent 6*d14d06e5SXianjun Jiao# SPDX-License-Identifier: AGPL-3.0-or-later 7*d14d06e5SXianjun Jiao 8*d14d06e5SXianjun Jiaoif [ "$#" -lt 4 ]; then 9*d14d06e5SXianjun Jiao echo "You must enter 4 arguments: c1_rot90_en c1_raw(-64 to 63) c2_rot90_en c2_raw(-64 to 63)" 10*d14d06e5SXianjun Jiao exit 1 11*d14d06e5SXianjun Jiaofi 12*d14d06e5SXianjun Jiao 13*d14d06e5SXianjun Jiaoc1_rot90_en=$1 14*d14d06e5SXianjun Jiaoc1_raw=$2 15*d14d06e5SXianjun Jiaoc2_rot90_en=$3 16*d14d06e5SXianjun Jiaoc2_raw=$4 17*d14d06e5SXianjun Jiao 18*d14d06e5SXianjun Jiaoif (($c1_rot90_en != 0)) && (($c1_rot90_en != 1)); then 19*d14d06e5SXianjun Jiao echo "c1_rot90_en must be 0 or 1!" 20*d14d06e5SXianjun Jiao exit 1 21*d14d06e5SXianjun Jiaofi 22*d14d06e5SXianjun Jiao 23*d14d06e5SXianjun Jiaoif (($c1_raw < -64)) || (($c1_raw > 63)); then 24*d14d06e5SXianjun Jiao echo "c1_raw must be -64 to 63!" 25*d14d06e5SXianjun Jiao exit 1 26*d14d06e5SXianjun Jiaofi 27*d14d06e5SXianjun Jiao 28*d14d06e5SXianjun Jiaoif (($c2_rot90_en != 0)) && (($c2_rot90_en != 1)); then 29*d14d06e5SXianjun Jiao echo "c2_rot90_en must be 0 or 1!" 30*d14d06e5SXianjun Jiao exit 1 31*d14d06e5SXianjun Jiaofi 32*d14d06e5SXianjun Jiao 33*d14d06e5SXianjun Jiaoif (($c2_raw < -64)) || (($c2_raw > 63)); then 34*d14d06e5SXianjun Jiao echo "c2_raw must be -64 to 63!" 35*d14d06e5SXianjun Jiao exit 1 36*d14d06e5SXianjun Jiaofi 37*d14d06e5SXianjun Jiao 38*d14d06e5SXianjun Jiaoif (($c1_raw < 0)); then 39*d14d06e5SXianjun Jiao unsigned_c1=$(expr 128 + $c1_raw) 40*d14d06e5SXianjun Jiao# echo $unsigned_c1 41*d14d06e5SXianjun Jiaoelse 42*d14d06e5SXianjun Jiao unsigned_c1=$c1_raw 43*d14d06e5SXianjun Jiaofi 44*d14d06e5SXianjun Jiao 45*d14d06e5SXianjun Jiaoif (($c2_raw < 0)); then 46*d14d06e5SXianjun Jiao unsigned_c2=$(expr 128 + $c2_raw) 47*d14d06e5SXianjun Jiao# echo $unsigned_c2 48*d14d06e5SXianjun Jiaoelse 49*d14d06e5SXianjun Jiao unsigned_c2=$c2_raw 50*d14d06e5SXianjun Jiaofi 51*d14d06e5SXianjun Jiao 52*d14d06e5SXianjun Jiao# echo $c1_rot90_en 53*d14d06e5SXianjun Jiao# echo $unsigned_c1 54*d14d06e5SXianjun Jiao# echo $c2_rot90_en 55*d14d06e5SXianjun Jiao# echo $unsigned_c2 56*d14d06e5SXianjun Jiao 57*d14d06e5SXianjun Jiaounsigned_dec_combined=$(($unsigned_c1 + 512 * $c1_rot90_en + 1024 * $unsigned_c2 + 524288 * $c2_rot90_en)) 58*d14d06e5SXianjun Jiao# echo $unsigned_dec_combined 59*d14d06e5SXianjun Jiao 60*d14d06e5SXianjun Jiaoecho "./sdrctl dev sdr0 set reg tx_intf 5 $unsigned_dec_combined" 61*d14d06e5SXianjun Jiao./sdrctl dev sdr0 set reg tx_intf 5 $unsigned_dec_combined 62