How do I stop LVLMloading all it's "Default" files onto the NXT every time it connects?
Whenever LVLM connects to my NXT for the first time, It download severla files that I don't want there.
Specifically: ProgramChooser and SHELL.
I know why there are there, but in my case I don't want them taking up valuable space, or appearing on the program menu.
Case in point, I have a class with 12 NXT's and I only want one program showing up on the program menu, so there is no way the students can choose the wrong one.
So I manually download my program and delete the other undesired files.
However, if I need to change the program, when I go to update all 12 NXT's, LVLM adds ProgramChooser and SHELL back onto each one. (Which also reduces my available memory by 13K)
So now I need to manuall remove them "again".
ProgramChoose is for FTC, so it's not needed on these NXTs. And I beleive Shell is only needed for Direct mode, which I'm not using.
Is there a way to turn this automatic download off?
Nope, you have to deal with them
Technically you could remove them from their source location so that they will not be downloaded i guess. I don't recommend it though, you will totally hose the direct mode behavior.
The program chooser only exists because you have installed FTC Toolkit.
The filler and eraser files are used by the display api for filled rects and erase rects, even in remote mode.
Consider this an official "Feature Request":
-> Provide a way to disable automatically downloading "support" files into the NXT.
My recollection with prior versions is that the SHELL was only downloaded if direct mode was invoked. That was good because we rarely used it (never for live field testing).
I didn't mind the memory hit if I specifically needed it for bench testing.
As for Program Chooser... I don't mind it existing, I just don't want it downloading every time.
Just because I have the FTC toolkit loaded, doesn't mean I use it for all of my robotics programs.
I always thought downloading the program chooser when something else happened to run (eg: the old controller program) was very hap-hazard.
It should only be downloaded on request.
Last year we were continually running with only a few KB of free memory with No SHELL and No Chooser. (We were already using every memory optimization we could devise)
Having them download every time we connect will be intollerable.
I guess I will have to delete them at the source and take the related consequences. How unpleasant!
I agree some finer control over this process would be nice to have. Its something that we talked about but didn't implement because of time constraints.
One thing to note is that the shell and the chooser have both been optimized from last year and are significantly smaller. Similar optimzations to the API should also yield smaller user programs so hopefully space is less of an issue this year.
Another workaround you might try is creating a dummy NXTShell.rxe that consists only of an empty while loop. I havent tried it, but i assume this would give a better direct mode experience than no shell at all( and would still be a lot smaller).
Also if you want to revert back to default behavior simply delete the dummy version on the brick.
Obviously not ideal, but maybe it would be less painful than removing the source?
Sounds like some good suggestions worth trying.