我的设备是TIDEP-01012(www.ti.com.cn/.../TIDEP-01012)。
我控制设备工作的方式是:通过mmWaveStudio软件运行lua文件。
我想实现的功能是:发射Advanced frame;每个Advanced frame包含两个sub-frames,具体结构如下:
SubFrame1中的12个chirp都使用Profile1中的参数配置,SubFrame1中的12个chirp都使用Profile2中的参数配置。
我遇到的问题是:我的SF1NumOfAdcSamples和SF2NumOfAdcSamples必须设置相同的参数才能使得雷达正常工作。否则就会在采集到的某几帧数据中出现如下情况:
请问这是什么原因?
我如果想为SF1NumOfAdcSamples和SF2NumOfAdcSamples设置不同的参数,应该怎么办?
我把我使用的lua文件放在了附件里供您参考,其中对Advanced frame的配置位于101行到174行。
期待您的指导,谢谢!
--[[
Sequence being followed
A. CONFIGURATION
1. Connecting to TDA
1. Configuring Master from SOP till Channel Config
2. Configuring Slave (i) sequentially from SOP till SPI Connect. i = 1, 2, 3
3. Configuring Slaves together from F/W download till Channel Config
4. Configuring all devices together from LDO Bypass till Frame Config
NOTE:
Update the following in the script accordingly before running
1. metaImage F/W path on line 32
2. TDA Host Board IP Address on line 39
--]]
----------------------------------------User Constants--------------------------------------------
dev_list = {1, 2, 4, 8} -- Device map
RadarDevice = {1, 1, 1, 1} -- {dev1, dev2, dev3, dev4}, 1: Enable, 0: Disable
cascade_mode_list = {1, 2, 2, 2} -- 0: Single chip, 1: Master, 2: Slave
-- F/W Download Path
-- Uncomment the next line if you wish to pop-up a dialog box to select the firmware image file
-- Otherwise, hardcode the path to the firmware metaimage below
-- By default, the firmware filename is: xwr22xx_metaImage.bin
-- metaImagePath = RSTD.BrowseForFile(RSTD.GetSettingsPath(), "bin", "Browse to .bin file")
-- For 2243 ES1.1 devices
metaImagePath = "C:\\ti\\mmwave_dfp_02_02_02_01\\firmware\\xwr22xx_metaImage.bin"
-- For 2243 ES1.0 devices
-- metaImagePath = "C:\\ti\\mmwave_dfp_02_02_00_02\\firmware\\xwr22xx_metaImage.bin"
-- IP Address for the TDA2 Host Board
-- Change this accordingly for your setup
TDA_IPAddress = "192.168.33.180"
-- Device map of all the devices to be enabled by TDA
-- 1 - master ; 2- slave1 ; 4 - slave2 ; 8 - slave3
deviceMapOverall = RadarDevice[1] + (RadarDevice[2]*2) + (RadarDevice[3]*4) + (RadarDevice[4]*8)
deviceMapSlaves = (RadarDevice[2]*2) + (RadarDevice[3]*4) + (RadarDevice[4]*8)
-- Enable/Disable Test Source
-- This is useful during bringup
test_source_enable = 0 -- 0: Disable, 1: Enable
------------------------------------------- Sensor Configuration ------------------------------------------------
--[[
The sensor configuration consists of 3 sections:
1) Profile Configuration (common to all 4 AWR devices)
2) Chirp Configuration (unique for each AWR device - mainly because TXs to use are
different for each chirp)
3) Frame Configuration (common to all 4 AWR devices, except for the trigger mode for the master)
Change the values below as needed. --]]
-- Profile configuration
local profile_indx = 0
local start_freq = 77 -- GHz
local slope = 5 -- MHz/us----------------Pfofile1
local slope_B = 63 -- MHz/us---------------------Pfofile2
local idle_time = 5 -- us
local adc_start_time = 2 -- us
local adc_samples = 256 -- Number of samples per chirp----------------Pfofile1
local adc_samples_B = 450 -- Number of samples per chirp-------------------Pfofile2
local sample_freq = 8600 -- ksps--------------Pfofile1
local sample_freq_B = 14000 -- ksps------------------Pfofile2
local ramp_end_time = 40 -- 40us
local rx_gain = 48 -- dB
local tx0OutPowerBackoffCode = 0
local tx1OutPowerBackoffCode = 0
local tx2OutPowerBackoffCode = 0
local tx0PhaseShifter = 0
local tx1PhaseShifter = 0
local tx2PhaseShifter = 0
local txStartTimeUSec = 0
local hpfCornerFreq1 = 0 -- 0: 175KHz, 1: 235KHz, 2: 350KHz, 3: 700KHz
local hpfCornerFreq2 = 0 -- 0: 350KHz, 1: 700KHz, 2: 1.4MHz, 3: 2.8MHz
-- Frame configuration
local start_chirp_tx = 0
local end_chirp_tx = 11
local nchirp_loops = 64 -- Number of chirps per frame
local nframes_master = 30 -- Number of Frames for Master
local nframes_slave = 30 -- Number of Frames for Slaves
local Inter_Frame_Interval = 100 -- ms
local trigger_delay = 0 -- us
local trig_list = {1,2,2,2} -- 1: Software trigger, 2: Hardware trigger
------------------------------------------- AdvFrame Configuration ------------------------------------------------
--local RadarDeviceId = 0 ;
local NumOfSubFrames = 2 -- Number Of SubFrames enabled in this frame(b0:15) + SW Sub-Frame triggermode(b0:31)
local ForceProfile = 0 -- Profile is used when that chirp is transmitted(b0:7) + LoopBackCfg(LoopBackCfg(b7)+SubFrameID (b8:9)))(b7:15) \-
local SF1ForceProfileIdx = 0 -- SF1 Force Profile Idx
local SF1ChirpStartIdx = 0 -- SF1 Start index of the first chirp in this sub frame
local SF1NumOfChirps = 12 -- SF1 Number Of unique Chirps per burst
local SF1NumOfLoops = 64 -- SF1 Number Of times to loop through the unique chirps in each burst, without gaps, using HW
local SF1BurstPeriodicity = 200000*45 -- SF1 Minimum time needed for triggering next burst------------------------
--BurstPeriodicity >= (numOfChirp * numLoops) + InterBurstBlankTime
local SF1ChirpStartIdxOffset = 0 -- SF1 Chirps Start Idex Offset
local SF1NumOfBurst = 1 -- SF1 Number Of Bursts constituting this sub frame
local SF1NumOfBurstLoops = 1 -- SF1 Number Of Burst Loops
local SF1SubFramePeriodicity = 200000*50 -- SF1 SubFrame Periodicity------------------------
--Subframe_period = (burst_period * number_of_bursts * number_of_burst_loops) + inter_subframe_time
local SF2ForceProfileIdx = 1 -- SF2 Force Profile Idx
local SF2ChirpStartIdx = 12 -- SF2 Chirp StartIdx
local SF2NumOfChirps = 12 -- SF2 Num Of Chirps
local SF2NumOfLoops = 64 -- SF2 Number of times to loop over the set of above defined bursts for this subframe
local SF2BurstPeriodicity = 200000*45 -- SF2BurstPeriodicity------------------------
--BurstPeriodicity >= (numOfChirp * numLoops*) + InterBurstBlankTime
local SF2ChirpStartIdxOffset = 0 -- SF2 Chirp Start Idx Offset
local SF2NumOfBurst = 1 -- SF2 Num Of Burst
local SF2NumOfBurstLoops = 1 -- SF2 Num Of BurstLoops
local SF2SubFramePeriodicity = 200000*50 -- SF2 SubFrame Periodicity------------------------
--Subframe_period = (burst_period * number_of_bursts * number_of_burst_loops) + inter_subframe_time
local SF3ForceProfileIdx = 0 -- SF3 Force Profile Idx
local SF3ChirpStartIdx = 0 -- SF3 Chirp StartIdx
local SF3NumOfChirps = 1 -- SF3 Num Of Chirps
local SF3NumOfLoops = 1 -- SF3 Num Of Loops
local SF3BurstPeriodicity = 800000 -- SF3 Burst Periodicity
local SF3ChirpStartIdxOffset = 0 -- SF3 Chirp Start Idx Offset
local SF3NumOfBurst = 1 -- SF3 Num Of Burst
local SF3NumOfBurstLoops = 1 -- SF3 Num Of BurstLoops
local SF3SubFramePeriodicity = 800000 -- SF3 SubFrame Periodicity
local SF4ForceProfileIdx = 0 -- SF4 Force Profile Idx
local SF4ChirpStartIdx = 0 -- SF4 Chirp StartIdx
local SF4NumOfChirps = 1 -- SF4 Num Of Chirps
local SF4NumOfLoops = 1 -- SF4 Num Of Loops
local SF4BurstPeriodicity = 8000000 -- SF4 Burst Periodicity
local SF4ChirpStartIdxOffset = 0 -- SF4 Chirp Start Idx Offset
local SF4NumOfBurst = 1 -- SF 4Num Of Burst
local SF4NumOfBurstLoops = 1 -- SF4 Num Of BurstLoops
local SF4SubFramePeriodicity = 8000000 -- SF4 SubFrame Periodicity
local NumOfFrames = nframes_master -- Number Of Frames to transmit
local TriggerSelect = 1 -- Trigger Select such as software and hardware trigger
local FrameTrigDelay = 0 -- Optional time delay from the SYNC-IN trigger to the occurance of frame chirps
local NumOfCloneSubFrames = 0 -- Num Of Clone SubFrames------------------------
local SF1TotalChirps = 768 -- SF1 Total Chirps------------------------
local SF1NumOfAdcSamples = adc_samples*2 -- SF1 Num Of AdcSamples
local SF1NumOfChirpsInDataPacket = 1 -- SF1 Num Of Chirps In DataPacket------------------------
local SF2TotalChirps = 768 -- SF2 Total Chirps--------------------------------
local SF2NumOfAdcSamples = adc_samples_B*2 -- SF2 Num Of AdcSamples
local SF2NumOfChirpsInDataPacket = 1 -- SF2 Num Of Chirps In DataPacket------------------------
local SF3TotalChirps = 128 -- SF3 Total Chirps
local SF3NumOfAdcSamples = 1 -- SF3 Num Of AdcSamples
local SF3NumOfChirpsInDataPacket = 1 -- SF3Num Of Chirps In DataPacket
local SF4TotalChirps = 128 -- SF4 Total Chirps
local SF4NumOfAdcSamples = 1 -- SF4 Num Of AdcSamples
local SF4NumOfChirpsInDataPacket = 1 -- SF4 Num Of Chirps In DataPacket
--[[
Function to configure the chirps specific to a device
12 chirps are configured below, individually for each AWR device
|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
| | Dev 1 | Dev 1 | Dev 1 | Dev 2 | Dev 2 | Dev 2 | Dev 3 | Dev 3 | Dev 3 | Dev 4 | Dev 4 | Dev 4 |
| Chirp | TX0 | TX1 | TX2 | TX 0 | TX1 | TX2 | TX0 | TX1 | TX2 | TX0 | TX1 | TX2 |
|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 9 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 10 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
--]]
-- Note: The syntax for this API is:
-- ar1.ChirpConfig_mult(RadarDeviceId, chirpStartIdx, chirpEndIdx, profileId, startFreqVar,
-- freqSlopeVar, idleTimeVar, adcStartTimeVar, tx0Enable, tx1Enable, tx2Enable)
function Configure_Chirps(i)
if (i == 1) then
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 1, 1, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 2, 2, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 3, 3, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 4, 4, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 5, 5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 6, 6, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 7, 7, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 8, 8, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 9, 9, 0, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 10, 10, 0, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 11, 11, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
---------------------------------------------------------------------------------------
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 12, 12, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 13, 13, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 14, 14, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 15, 15, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 16, 16, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 17, 17, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 18, 18, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 19, 19, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 20, 20, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 21, 21,1 , 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 22, 22, 1, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 23, 23, 1, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
elseif (i == 2) then
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 1, 1, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 2, 2, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 3, 3, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 4, 4, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 5, 5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 6, 6, 0, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 7, 7, 0, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 8, 8, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 9, 9, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 10, 10, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 11, 11, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 12, 12, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 13, 13, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 14, 14, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 15, 15, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 16, 16, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 17, 17, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 18, 18, 1, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 19, 19, 1, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 20, 20, 1, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 21, 21, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 22, 22, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 23, 23, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
elseif (i == 3) then
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 1, 1, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 2, 2, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 3, 3, 0, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 4, 4, 0, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 5, 5, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 6, 6, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 7, 7, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 8, 8, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 9, 9, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 10, 10, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 11, 11, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 12, 12, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 13, 13, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 14, 14, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 15, 15, 1, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 16, 16, 1, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 17, 17, 1, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 18, 18, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 19, 19, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 20, 20, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 21, 21, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 22, 22, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 23, 23, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
elseif (i == 4) then
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 1, 1, 0, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 2, 2, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 3, 3, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 4, 4, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 5, 5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 6, 6, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 7, 7, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 8, 8, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 9, 9, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 10, 10, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 11, 11, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 12, 12, 1, 0, 0, 0, 0, 0, 0, 1)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 13, 13, 1, 0, 0, 0, 0, 0, 1, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
-- Chirp 2
if (0 == ar1.ChirpConfig_mult(dev_list[i], 14, 14, 1, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 2 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 2 Configuration failed\n", "red")
return -4
end
-- Chirp 3
if (0 == ar1.ChirpConfig_mult(dev_list[i], 15, 15, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 3 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 3 Configuration failed\n", "red")
return -4
end
-- Chirp 4
if (0 == ar1.ChirpConfig_mult(dev_list[i], 16, 16, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 4 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 4 Configuration failed\n", "red")
return -4
end
-- Chirp 5
if (0 == ar1.ChirpConfig_mult(dev_list[i], 17, 17, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 5 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 5 Configuration failed\n", "red")
return -4
end
-- Chirp 6
if (0 == ar1.ChirpConfig_mult(dev_list[i], 18, 18, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 6 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 6 Configuration failed\n", "red")
return -4
end
-- Chirp 7
if (0 == ar1.ChirpConfig_mult(dev_list[i], 19, 19, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 7 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 7 Configuration failed\n", "red")
return -4
end
-- Chirp 8
if (0 == ar1.ChirpConfig_mult(dev_list[i], 20, 20, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 8 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 8 Configuration failed\n", "red")
return -4
end
-- Chirp 9
if (0 == ar1.ChirpConfig_mult(dev_list[i], 21, 21, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 9 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 9 Configuration failed\n", "red")
return -4
end
-- Chirp 10
if (0 == ar1.ChirpConfig_mult(dev_list[i], 22, 22, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 10 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 10 Configuration failed\n", "red")
return -4
end
-- Chirp 11
if (0 == ar1.ChirpConfig_mult(dev_list[i], 23, 23, 1, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 11 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 11 Configuration failed\n", "red")
return -4
end
------------------------------------------------------------------------------------
end
end
------------------------------ API Configuration ------------------------------------------------
-- 1. Connection to TDA. 2. Selecting Cascade/Single Chip. 3. Selecting 2-chip/4-chip
WriteToLog("Setting up Studio for Cascade started..\n", "blue")
if(0 == ar1.ConnectTDA(TDA_IPAddress, 5001, deviceMapOverall)) then
WriteToLog("ConnectTDA Successful\n", "green")
else
WriteToLog("ConnectTDA Failed\n", "red")
return -1
end
if(0 == ar1.selectCascadeMode(1)) then
WriteToLog("selectCascadeMode Successful\n", "green")
else
WriteToLog("selectCascadeMode Failed\n", "red")
return -1
end
WriteToLog("Setting up Studio for Cascade ended..\n", "blue")
--Master Initialization
-- SOP Mode Configuration
if (0 == ar1.SOPControl_mult(1, 4)) then
WriteToLog("Master : SOP Reset Successful\n", "green")
else
WriteToLog("Master : SOP Reset Failed\n", "red")
return -1
end
-- SPI Connect
if (0 == ar1.PowerOn_mult(1, 0, 1000, 0, 0)) then
WriteToLog("Master : SPI Connection Successful\n", "green")
else
WriteToLog("Master : SPI Connection Failed\n", "red")
return -1
end
-- Firmware Download. (SOP 4 - MetaImage)
if (0 == ar1.DownloadBssFwOvSPI_mult(1, metaImagePath)) then
WriteToLog("Master : FW Download Successful\n", "green")
else
WriteToLog("Master : FW Download Failed\n", "red")
return -1
end
-- RF Power Up
if (0 == ar1.RfEnable_mult(1)) then
WriteToLog("Master : RF Power Up Successful\n", "green")
else
WriteToLog("Master : RF Power Up Failed\n", "red")
return -1
end
-- Channel & ADC Configuration
if (0 == ar1.ChanNAdcConfig_mult(1,1,1,1,1,1,1,1,2,1,0,1)) then
WriteToLog("Master : Channel & ADC Configuration Successful\n", "green")
else
WriteToLog("Master : Channel & ADC Configuration Failed\n", "red")
return -2
end
-- Slaves Initialization
for i=2,table.getn(RadarDevice) do
local status = 0
if ((RadarDevice[1]==1) and (RadarDevice[i]==1)) then
-- SOP Mode Configuration
if (0 == ar1.SOPControl_mult(dev_list[i], 4)) then
WriteToLog("Device "..i.." : SOP Reset Successful\n", "green")
else
WriteToLog("Device "..i.." : SOP Reset Failed\n", "red")
return -1
end
-- SPI Connect
if (0 == ar1.AddDevice(dev_list[i])) then
WriteToLog("Device "..i.." : SPI Connection Successful\n", "green")
else
WriteToLog("Device "..i.." : SPI Connection Failed\n", "red")
return -1
end
end
end
-- Firmware Download. (SOP 4 - MetaImage)
if (0 == ar1.DownloadBssFwOvSPI_mult(deviceMapSlaves, metaImagePath)) then
WriteToLog("Slaves : FW Download Successful\n", "green")
else
WriteToLog("Slaves : FW Download Failed\n", "red")
return -1
end
-- RF Power Up
if (0 == ar1.RfEnable_mult(deviceMapSlaves)) then
WriteToLog("Slaves : RF Power Up Successful\n", "green")
else
WriteToLog("Slaves : RF Power Up Failed\n", "red")
return -1
end
-- Channel & ADC Configuration
if (0 == ar1.ChanNAdcConfig_mult(deviceMapSlaves,1,1,1,1,1,1,1,2,1,0,2)) then
WriteToLog("Slaves : Channel & ADC Configuration Successful\n", "green")
else
WriteToLog("Slaves : Channel & ADC Configuration Failed\n", "red")
return -2
end
-- All devices together
-- Including this depends on the type of board being used.
-- LDO configuration
if (0 == ar1.RfLdoBypassConfig_mult(deviceMapOverall, 3)) then
WriteToLog("LDO Bypass Successful\n", "green")
else
WriteToLog("LDO Bypass failed\n", "red")
return -2
end
-- Low Power Mode Configuration
if (0 == ar1.LPModConfig_mult(deviceMapOverall,0, 0)) then
WriteToLog("Low Power Mode Configuration Successful\n", "green")
else
WriteToLog("Low Power Mode Configuration failed\n", "red")
return -2
end
-- Miscellaneous Control Configuration
if (0 == ar1.SetMiscConfig_mult(deviceMapOverall, 1, 0, 0, 0)) then
WriteToLog("Misc Control Configuration Successful\n", "green")
else
WriteToLog("Misc Control Configuration failed\n", "red")
return -2
end
-- Edit this API to enable/disable the boot time calibration. Enabled by default.
-- RF Init Calibration Configuration
if (0 == ar1.RfInitCalibConfig_mult(deviceMapOverall, 1, 1, 1, 1, 1, 1, 1, 65537)) then
WriteToLog("RF Init Calibration Successful\n", "green")
else
WriteToLog("RF Init Calibration failed\n", "red")
return -2
end
-- RF Init
if (0 == ar1.RfInit_mult(deviceMapOverall)) then
WriteToLog("RF Init Successful\n", "green")
else
WriteToLog("RF Init failed\n", "red")
return -2
end
---------------------------Data Configuration----------------------------------
-- Data path Configuration
if (0 == ar1.DataPathConfig_mult(deviceMapOverall, 0, 1, 0)) then
WriteToLog("Data Path Configuration Successful\n", "green")
else
WriteToLog("Data Path Configuration failed\n", "red")
return -3
end
-- Clock Configuration
if (0 == ar1.LvdsClkConfig_mult(deviceMapOverall, 1, 1)) then
WriteToLog("Clock Configuration Successful\n", "green")
else
WriteToLog("Clock Configuration failed\n", "red")
return -3
end
-- CSI2 Configuration
if (0 == ar1.CSI2LaneConfig_mult(deviceMapOverall, 1, 0, 2, 0, 4, 0, 5, 0, 3, 0, 0)) then
WriteToLog("CSI2 Configuration Successful\n", "green")
else
WriteToLog("CSI2 Configuration failed\n", "red")
return -3
end
----------------------------Test Source Configuration------------------------------
-- This is useful for initial bringup.
-- Each device is configured with a test object at a different location.
if(test_source_enable == 1) then
if(RadarDevice[1] == 1) then
-- Object at 5 m with x = 4m and y = 3m
if (0 == ar1.SetTestSource_mult(1, 4, 3, 0, 0, 0, 0, -327, 0, -327, 327, 327, 327, -2.5, 327, 327, 0,
0, 0, 0, -327, 0, -327, 327, 327, 327, -95, 0, 0, 0.5, 0, 1, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device 1 : Test Source Configuration Successful\n", "green")
else
WriteToLog("Device 1 : Test Source Configuration failed\n", "red")
return -3
end
end
if(RadarDevice[2] == 1) then
-- Object at 5 m with x = 3m and y = 4m
if (0 == ar1.SetTestSource_mult(2, 3, 4, 0, 0, 0, 0, -327, 0, -327, 327, 327, 327, -2.5, 327, 327, 0,
0, 0, 0, -327, 0, -327, 327, 327, 327, -95, 0, 0, 0.5, 0, 1, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device 2 : Test Source Configuration Successful\n", "green")
else
WriteToLog("Device 2 : Test Source Configuration failed\n", "red")
return -3
end
end
if(RadarDevice[3] == 1) then
-- Object at 13 m with x = 12m and y = 5m
if (0 == ar1.SetTestSource_mult(4, 12, 5, 0, 0, 0, 0, -327, 0, -327, 327, 327, 327, -2.5, 327, 327, 0,
0, 0, 0, -327, 0, -327, 327, 327, 327, -95, 0, 0, 0.5, 0, 1, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device 3 : Test Source Configuration Successful\n", "green")
else
WriteToLog("Device 3 : Test Source Configuration failed\n", "red")
return -3
end
end
if(RadarDevice[4] == 1) then
-- Object at 13 m with x = 5m and y = 12m
if (0 == ar1.SetTestSource_mult(8, 5, 12, 0, 0, 0, 0, -327, 0, -327, 327, 327, 327, -2.5, 327, 327, 0,
0, 0, 0, -327, 0, -327, 327, 327, 327, -95, 0, 0, 0.5, 0, 1, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0)) then
WriteToLog("Device 4 : Test Source Configuration Successful\n", "green")
else
WriteToLog("Device 4 : Test Source Configuration failed\n", "red")
return -3
end
end
end
---------------------------Sensor Configuration-------------------------
-- Profile_0 Configuration
if (0 == ar1.ProfileConfig_mult(deviceMapOverall, 0, start_freq, idle_time, adc_start_time, ramp_end_time,
0, 0, 0, 0, 0, 0, slope, 0, adc_samples, sample_freq, 0, 0, rx_gain)) then
WriteToLog("Profile Configuration successful\n", "green")
else
WriteToLog("Profile Configuration failed\n", "red")
return -4
end
-- Profile_1 Configuration
if (0 == ar1.ProfileConfig_mult(deviceMapOverall, 1, start_freq, idle_time, adc_start_time, ramp_end_time,
0, 0, 0, 0, 0, 0, slope_B, 0, adc_samples_B, sample_freq_B, 0, 0, rx_gain)) then
WriteToLog("Profile Configuration successful\n", "green")
else
WriteToLog("Profile Configuration failed\n", "red")
return -4
end
-- Chirp Configuration--2021.3.4
for i=1,table.getn(RadarDevice) do
if ((RadarDevice[1]==1) and (RadarDevice[i]==1)) then
Configure_Chirps(i)
end
end
-- Enabling/ Disabling Test Source
if(test_source_enable == 1) then
ar1.EnableTestSource_mult(deviceMapOverall, 1)
WriteToLog("Enabling Test Source Configuration successful\n", "green")
end
-- Frame Configuration
-- Master
if (0 == ar1.AdvanceFrameConfig_mult(1, NumOfSubFrames, ForceProfile, SF1ForceProfileIdx, SF1ChirpStartIdx, SF1NumOfChirps, SF1NumOfLoops, SF1BurstPeriodicity, SF1ChirpStartIdxOffset, SF1NumOfBurst, SF1NumOfBurstLoops, SF1SubFramePeriodicity, SF2ForceProfileIdx, SF2ChirpStartIdx, SF2NumOfChirps, SF2NumOfLoops, SF2BurstPeriodicity, SF2ChirpStartIdxOffset, SF2NumOfBurst, SF2NumOfBurstLoops, SF2SubFramePeriodicity, SF3ForceProfileIdx, SF3ChirpStartIdx, SF3NumOfChirps, SF3NumOfLoops, SF3BurstPeriodicity, SF3ChirpStartIdxOffset, SF3NumOfBurst, SF3NumOfBurstLoops, SF3SubFramePeriodicity, SF4ForceProfileIdx, SF4ChirpStartIdx, SF4NumOfChirps, SF4NumOfLoops, SF4BurstPeriodicity, SF4ChirpStartIdxOffset, SF4NumOfBurst, SF4NumOfBurstLoops, SF4SubFramePeriodicity, NumOfFrames, TriggerSelect, FrameTrigDelay, NumOfCloneSubFrames, SF1TotalChirps, SF1NumOfAdcSamples, SF1NumOfChirpsInDataPacket, SF2TotalChirps, SF2NumOfAdcSamples, SF2NumOfChirpsInDataPacket, SF3TotalChirps, SF3NumOfAdcSamples, SF3NumOfChirpsInDataPacket, SF4TotalChirps, SF4NumOfAdcSamples, SF4NumOfChirpsInDataPacket)
) then
WriteToLog("Master : Frame Configuration successful\n", "green")
else
WriteToLog("Master : Frame Configuration failed\n", "red")
end
-- Slaves
if (0 == ar1.AdvanceFrameConfig_mult(deviceMapSlaves, NumOfSubFrames, ForceProfile, SF1ForceProfileIdx, SF1ChirpStartIdx, SF1NumOfChirps, SF1NumOfLoops, SF1BurstPeriodicity, SF1ChirpStartIdxOffset, SF1NumOfBurst, SF1NumOfBurstLoops, SF1SubFramePeriodicity, SF2ForceProfileIdx, SF2ChirpStartIdx, SF2NumOfChirps, SF2NumOfLoops, SF2BurstPeriodicity, SF2ChirpStartIdxOffset, SF2NumOfBurst, SF2NumOfBurstLoops, SF2SubFramePeriodicity, SF3ForceProfileIdx, SF3ChirpStartIdx, SF3NumOfChirps, SF3NumOfLoops, SF3BurstPeriodicity, SF3ChirpStartIdxOffset, SF3NumOfBurst, SF3NumOfBurstLoops, SF3SubFramePeriodicity, SF4ForceProfileIdx, SF4ChirpStartIdx, SF4NumOfChirps, SF4NumOfLoops, SF4BurstPeriodicity, SF4ChirpStartIdxOffset, SF4NumOfBurst, SF4NumOfBurstLoops, SF4SubFramePeriodicity, NumOfFrames, TriggerSelect, FrameTrigDelay, NumOfCloneSubFrames, SF1TotalChirps, SF1NumOfAdcSamples, SF1NumOfChirpsInDataPacket, SF2TotalChirps, SF2NumOfAdcSamples, SF2NumOfChirpsInDataPacket, SF3TotalChirps, SF3NumOfAdcSamples, SF3NumOfChirpsInDataPacket, SF4TotalChirps, SF4NumOfAdcSamples, SF4NumOfChirpsInDataPacket)
) then
WriteToLog("Slaves : Frame Configuration successful\n", "green")
else
WriteToLog("Slaves : Frame Configuration failed\n", "red")
end