Sounds good. Please keep me posted if you run into the same problem. I think the issue may be related to the speed of reading stimulus files. I have talked to many people who use stimuli of massive size and often the problem was that their HDDs were not fast enough. Your movies are short but not compressed, so the HDD might fail to keep up. Even so, you should see an error message, not a stby Jaewon - Questions and Answers
I rewrote the Sequential adapter. Please overwrite the one in your ext directory with the attached file. Or download the package again.by Jaewon - Questions and Answers
I take back what I said about memory leaks above. I did further tests, but your task just used more memory and it was not a leak. Since I cannot replicate the problem, would you do a test for me? Change mgl\mgladdmovie.m like the following and see if the problem occurs again. % Line 10 of mgladdmovie.m FROM: if ~exist('buffering_time','var'), buffering_time = 2; end TOby Jaewon - Questions and Answers
Thanks for the information. Please give me some time to look into this. How many trials do you run and how much memory does your computer have? ----- I have tested your task. It seems that there is a memory leak. Since I don't see it in a simple version of a task that I made to test your movies, there may be something in the way that your task is written, but I don't know yet.by Jaewon - Questions and Answers
You know that the Galaxy Tab is an Android device, not a Windows one. I have no idea how the remote monitor app bridges the gap between different OS, but at least it is certain that the tablet is not under direct control of the control computer. NIMH ML is not made for this kind of application. If you want to keep the two-monitor setup, there are many touchscreen monitors on the market. Just bby Jaewon - Questions and Answers
Your task uses many movies. It seems that there is a deadlock created during movie presentation. I have two questions. Was the task stopped at the same stage of trials in those two crashes? Are you using a hard disk or solid state disk?by Jaewon - Questions and Answers
What is your tablet model? I don't understand what is the role of the remote monitor app here. It appears that your tablet is a stand-alone computer but you want to use it as a passive monitor. Do you know if the tablet sends touch information back to the control computer? Check the system property of the control computer and see if touch is enabled (the first figure in the following linkby Jaewon - Questions and Answers
I don't think it is related to the MATLAB version or simulation mode. I need to replicate the problem myself. Is this the task you shared with me a few days ago?by Jaewon - Questions and Answers
I guess you did not change the screen size ("Fallback screen rect.") as I told you. (Do not use the simulation mode after you change Fallback screen rect., by the way.) With the simulation mode off, you are doing the task as a "real" subject, so you should touch the subject screen, not the control screen. Touches and mouse clicks are not the same. Mouse clicks work as toucby Jaewon - Questions and Answers
Thank you for letting me know the issue and providing the test material. It would take a lot longer for me to find it, if it were not for your help!by Jaewon - Questions and Answers
Thanks for the task files. They were helpful. There were new TaskObject properties not copied properly. To fix it, put the following code after Line 75 of mltaskobject.m val.Scale = ; val.Angle = ; Or download the packages again.by Jaewon - Questions and Answers
You don't need a DAQ board for touch input. Also you can use Bluetooth to trigger reward devices. https://monkeylogic.nimh.nih.gov/docs_MainMenu.html#OtherDeviceSettings https://monkeylogic.nimh.nih.gov/docs_BluetoothRewardTrigger.html NIMH ML is designed for two-screen setups, but there is a trick to run it on a tablet. Check on 'Forced use of fallback screen' on the main menby Jaewon - Questions and Answers
Sorry. A test code is inserted mistakenly. Please modify Line 136 of mltaskobject.m like the following. I will update packages soon. From: b = mglclass; To : b = mltaskobject; ----- The download packages are updated.by Jaewon - Questions and Answers
It doesn't make sense if they are not updated in parallel, so this sounds like a trust issue. You can test this yourself easily with an oscilloscope. I don't know how MATLAB DAQ Toolbox works. You should talk to people in Mathworks.by Jaewon - Questions and Answers
You need to show at least your new test result. There can be so many reasons why it does not work. NIMH ML already uses a lead time long enough for most systems (one tenth of the refresh interval), so, unless you are using a FHD or 4K monitor for the subject screen, it shouldn't be a big concern.by Jaewon - Questions and Answers
* Changes in NIMH MonkeyLogic 2 (Sep 12, 2019) - A different method to process window move events is implemented, to avoid the 'JavaFrame figure property' warning in R2019b or later.by Jaewon - News
It seems that you saved characters not supported in your current encoding. You may try hex-editing the file, but it is difficult to find the boundaries of variables in BHV, so there is no guarantee that it is fixable. By the way, BHV and bhv_read are not used in NIMH ML and therefore not supported.by Jaewon - Questions and Answers
The original ML allows registering a text file that lists eventcodes and descriptors so that they are stored in the data file. NIMH ML supports this as well, but, rather than letting you pick up an arbitrary text file, it reads from a file of a fixed name, codes.txt. By default, NIMH ML reads codes.txt in its installation path, which contains 4 eventcodes shown below. The Code and Descriptionby Jaewon - Tips
What do you mean by "crashed"? Did the MATLAB window shut down? Please describe the symptom in detail with exact words. You might think it was crashed, but maybe it wasn't. NIMH ML does not move the control screen in the middle of a trial, to avoid task interruption and geometry change. If you drag the figure frame during a trial, the "replica" window moves to the newby Jaewon - Questions and Answers
Anything is possible, if you program it right, but I am not teaching how to do MATLAB programming here. You are supposed to learn it yourself. During the experiment, you are still creating the data file and should not try to read it. Write your own performance evaluation script with the information available from TrialRecord. https://monkeylogic.nimh.nih.gov/docs_TrialRecordStructure.htmlby Jaewon - Questions and Answers
The tool expects HI when the white square is presented. https://monkeylogic.nimh.nih.gov/docs_MainMenu.html#Video But your signal is HI even before the square is presented. Is your signal inverted TTL?by Jaewon - Questions and Answers
Type 'doc function' on the MATLAB command window and see how to write a function. You didn't provide input to the function. function userplot(TrialRecord) endby Jaewon - Questions and Answers
Please explain what trouble you are having.by Jaewon - Questions and Answers
1. You set the size of joystick cursors on the main menu. Since its unit is pixels, you can divide it by pixels per degree to convert it to visual degrees. Both cursor size and pixels per degree are shown on the main menu, so you can copy them from there. Or you can retrieve them from MLConfig, like the following. cursor_size_in_degrees = MLConfig.JoystickCursorSize(1) / Screen.PixelsPerDegreeby Jaewon - Questions and Answers
I already gave you a solution but it seems that the message was not clear enough. I rewrote my previous post. Please read it again.by Jaewon - Questions and Answers
You can't keep monitoring serial ports all the time at the script level. NIMH ML supports TCP/IP, so try it instead if you are interested in digital signal transfer. https://monkeylogic.nimh.nih.gov/docs_TCPIPEyeTracker.htmlby Jaewon - Questions and Answers
You may want to check your AI ground configuration. Sometimes misconfigured ground causes a similar problem. https://monkeylogic.nimh.nih.gov/docs_NIMultifunctionIODevice.html#AIGroundConfiguration If you are 100% sure that it is a problem of your eye tracker, see the following post. You can do linear interpolation after removing [0 0] in your custom function or replace [0 0] with the last xyby Jaewon - Questions and Answers
The block change function is called "after" each trial, so, to determine the very first block, you should use the block selection function. https://monkeylogic.nimh.nih.gov/docs_TaskflowControl.html If I were you, I would use a userloop function. https://monkeylogic.nimh.nih.gov/docs_CreatingTask.html#Userloopby Jaewon - Questions and Answers
How sure are you that TrialRecord is not empty? Try printing out TrialRecord before Line 15. I can easily tell that TrialRecord is empty, even though I don't have your task files. I don't see how the "First block to run" option being "TBD" or not is related to the access to "Subject name" or "Data file". You can copy the subject name from MLConby Jaewon - Questions and Answers
I attach a complete version of the above code. Please run it on NIMH ML and let me know again which part you think I showed you.by Jaewon - Questions and Answers