diff --git a/createTweezers.m b/createTweezers.m index 0a014547fac84d24b8e4d4233ec5bf910baf1110..b3112ced2e8e8af7ab3f0f25cb146354df601788 100644 --- a/createTweezers.m +++ b/createTweezers.m @@ -4,18 +4,23 @@ if ~exist('awg_trap', 'var') || ~isfield(awg_trap, 'running') || ~awg_trap.runni awg_trap.active_channels = [1, 1, 0, 0]; % Here you set which channels of the AWG you are using. % Note that the only available options are 1, 1+2, 1+2+3+4 + awg_trap.chAmp = [2500, 1320, 2500, 2500]; % mVp. Max possible 2500mVp, min 80mVp. + awg_trap.samplerate = 614.4e6; % Maximum of 625e6, must be multiple of 512 + awg_trap.numMemBlocks = 8192; % Must be power of 2. In general, for the maximum array size % you want to rearrange with BubbleSort, N, this should be at least N*(N+2). % If not using BubbleSort just set to maybe 32. + awg_trap.freq_resolution = 100e3; % GCD of trap frequencies. If you make an array with a different % frequency resolution, then it might fail because when the waveform % tries to loop there will be a phase jump (which kills the atoms) + awg_trap.memSamples = 512 * 240; % Define memory in number of samples. % First factor must be 512. Other factor must be an even integer multiple of @@ -23,6 +28,7 @@ if ~exist('awg_trap', 'var') || ~isfield(awg_trap, 'running') || ~awg_trap.runni % the total memSamples < 2^31/numMemBlocks/numActiveChannels. % 2^31 comes from the total AWG memory limit. Note that the % requirements here are again to avoid phase jumps. + awg_trap.running = false; else fprintf('To change these parameters you must turn the AWG off first!\n'); @@ -99,3 +105,4 @@ fprintf('AWG is currently on step %d\n',currentStep); % working with multiple AWGs mRegs = spcMCreateRegMap(); error = spcm_dwSetParam_i32(awg_trap.cardInfo.hDrv, mRegs('SPC_CARDIDENTIFICATION'), 0); +