Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mainly DaqController Stuff #76

Merged
merged 9 commits into from
Dec 4, 2018
Merged

Mainly DaqController Stuff #76

merged 9 commits into from
Dec 4, 2018

Conversation

jkbhagatio
Copy link
Member

No description provided.

@jkbhagatio jkbhagatio requested a review from k1o0 November 27, 2018 15:52
end
end

% what are these lines doing? why outputSingleScan? why a/d separate?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's important to output the default value for instance if you wanted a channel that was always high and occasionally went low, or an analogue channel with a baseline voltage. Why were lines 94-97 removed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

b/c I have it in later (line 121)

end
end
end

function clearSessions(obj)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although this is fine for debugging, it's probably not worth keeping in the code. Instead, you could have the createDaqChannels method check whether a channel of that name as already been added before attempting to add one.

@@ -105,12 +130,14 @@ function command(obj, varargin)
% Sends command signals to each channel
%
% command(channels, values)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this implemented here?

outputSingleScan(obj.DaqSession, v(obj.AnalogueChannelsIdx));
if any(obj.AnalogueChannelsIdx)
outputSingleScan(obj.DaqSession, v(obj.AnalogueChannelsIdx));
end
if any(~obj.AnalogueChannelsIdx)
outputSingleScan(obj.DigitalDaqSession, v(~obj.AnalogueChannelsIdx));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you outputSingleScan on a clocked channel? Same for line 253

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you want to set a different property or something for a clocked session...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, outputSingleScan does work for counter channels

end
readyWait(obj);
%readyWait(obj);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was your rational for removing readywait?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have a readyWait in the command function immediately following queue, so this becomes redundant

@@ -604,7 +604,8 @@ function livePlot(obj, data)
% TL.LIVEPLOT(source, event) plots the data aquired by the
% DAQ while the PlotLive property is true.
if isempty(obj.Axes)
f = figure('Units', 'Normalized', 'Position', [0 0 1 1]); % create a figure for plotting aquired data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd leave this in as all timeline computers run solely for that purpose and usually there are many inputs being acquired so more often than not the experimenter would want it to be full screen

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but this allows for optionality? can still make figure full screen

@k1o0
Copy link
Contributor

k1o0 commented Nov 29, 2018

Double check that the signals and alyx-matlab submodules are all on the latest cortex-lab dev branch. If you've made any changes to them submit to a separate pull request for them

@jkbhagatio jkbhagatio merged commit dcf2bae into cortex-lab:dev Dec 4, 2018
k1o0 pushed a commit that referenced this pull request Jan 3, 2021
Mainly DaqController Stuff
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants