Page 1 of 1

Editor/IDE Questions

Posted: Tue Feb 26, 2019 12:55 pm
by gray
  1. Is there a possibility to make the Astrobe editor "listen" to changes made to open files made with another editor, or a "reload" function without closing and reloading the file?
  2. The keyboard shortcuts cannot be changed, right?
  3. Can I prevent the terminal window from scrolling to the bottom whenever a new item is written there? Use case: I want to inspect a piece of "old" output while the running program still writes to Out.
  4. The 'Assertions' option impacts the compilation of single modules, but when I, say, switch this option off, and run Build, the change does not cause a re-compilation of any modules (Rebuild does, of course). Just running Build can also lead to link errors when switching configs if the apps/projects represented by these configs share modules that themselves import different config-specific versions of modules -- no surprise here. Should I always Rebuild upon changing or editing configs (just the first (re-)build)? Or do I miss something here -- user error?

Re: Editor/IDE Questions

Posted: Tue Feb 26, 2019 8:48 pm
by cfbsoftware
Thank you for your suggestions - they have been added to the 'todo' list.

If you are using the default folder structure of library modules and examples in Astrobe then I would expect link problems - particularly if you are switching from NXP targets to STM targets. In that case rebuild is recommended. I would expect the folder structure and configuration files would be tailored by users to suit their own dependencies for their projects to minimise any necessity to rebuild.

Re: Editor/IDE Questions

Posted: Wed Feb 27, 2019 2:38 am
by gray
Follow-up question: say, I have a module, let's call it LED.mod, in my project directory. The programme compiles and links fine. Now I move LED.mod to a library directory (which is on the list of dirs to search), but (erroneously) leave LED.sym and LED.arm in the project directory. When I simply compile the main module, no new LED.sym and LED.arm are created in the library directory where LED.mod sits now, hence I conclude that the left-over LED.sym file in the project directory is used. When I build, however, LED.sym and LED.arm are created in the lib directory, hence in this case the library LED files seem to be used. Shouldn't the compile actions in both cases (pure compile and compile while building) consistently refer to, and use, the same files for LED?

(LED is only imported in the one main module, so no other module can trigger the compilation upon building.)

Re: Editor/IDE Questions

Posted: Wed Feb 27, 2019 7:25 am
by cfbsoftware
When you Compile the main module, no attempt is made to compile LED. All the compiler is interested in is the source code (MOD file) of the main module and the SYM file for each imported (directly or indirectly) module. The compiler then creates the SYM file and ARM file in the same folder as the corresponding MOD file.

When you Build the main module, Astrobe goes looking for source code modules and their associated SYM and ARM files which it expects to find where the compiler put them i.e. together in the same folder as the MOD file. If they are not there, or they are inconsistent with the MOD file, it will trigger a compile. As before it will create the SYM and ARM files in the same folder as the corresponding MOD file. See the Help Topic Building > Build in the Astrobe Help file for a more detailed description of the process and what is meant by 'inconsistent'.

Consequently, if you have stable modules that you don't want to rebuild then you should move the MOD files completely out of the folder structure referenced by the search paths in the current configuration.