This video shows steps to create your own toolbox and install it in Scilab 6.1.1 version. For the demo it creates a simple function called AddNumbers which adds 2 numbers and returns the value.
In this video it uses below page for reference: https://www.scilab.org/build-a-toolbox
I hope you like this video. For any questions, suggestions or appreciation please contact us at: https://programmerworld.co/contact/ or email at: programmerworld1990@gmail.com
Complete source code and other details:
\programmerWorldToolbox\etc\programmerWorldToolbox.quit -> Empty
\programmerWorldToolbox\etc\programmerWorldToolbox.start
function libtoolbox = startModule()
TOOLBOX_NAME = "programmerWorldToolbox";
TOOLBOX_TITLE = "Programmer World Toolbox";
if isdef("libtoolbox") then
warning("Programmer World Toolbox already loaded")
return
end
absolutePath_toolbox = get_absolute_file_path("programmerWorldToolbox.start");
shortpath_toolbox = getshortpathname(absolutePath_toolbox);
root_toolbox = strncpy(shortpath_toolbox, length(shortpath_toolbox) - length("\etc\"));
pathmacros = pathconvert(root_toolbox) + "macros" + filesep();
libtoolbox = lib(pathmacros);
endfunction
libtoolbox = startModule();
clear startModule; // remove startModule on stack
\programmerWorldToolbox\macros\AddNumbers.sci
function y = AddNumbers(a, b)
y=a+b;
endfunction
\programmerWorldToolbox\macros\buildmacros.sce
function buildmacros() macros_path = get_absolute_file_path("buildmacros.sce"); tbx_build_macros(TOOLBOX_NAME, macros_path); endfunction buildmacros(); clear buildmacros;
\programmerWorldToolbox\builder.sce
TOOLBOX_NAME = "programmerWorldToolbox"; TOOLBOX_TITLE = "Programmer World Toolbox"; dir_toolbox = get_absolute_file_path("builder.sce"); tbx_build_macros(dir_toolbox); tbx_build_loader(TOOLBOX_NAME, dir_toolbox); tbx_build_cleaner(TOOLBOX_NAME, dir_toolbox);
\programmerWorldToolbox\DESCRIPTION
// Modify this file to provide a description of your toolbox. // This file is used by Atoms GUI in scilab, to show information about the toolbox. // // Note that it will NOT be used when publishing your toolbox on http://atoms.scilab.org; // the present file is only used if you distribute your toolbox yourself. // On the http://atoms.scilab.org site, only the information you provide there is used. // // // Lines starting with // are comments // (you can remove all the comments designed to help you) // Lines starting with a space are continuation of the previous field. // Empty lines separate fields. // Unique identifier for this toolbox. // It must be alphanumeric, start with a letter and contain neither space // nor special characters other than underscore or dash. Toolbox: programmerWorldToolbox // Human-friendly name for your toolbox Title: Programmer World Toolbox // One-line description for your toolbox Summary: Sample Programmer World Toolbox // Version number, in format 'major.minor.patch', or // 'major.minor.patch', where all fields are numbers. // If you are just starting your toolbox, you should use '0.1' or '0.1.0'. // Use '1.0' or '1.0.0' for a tested, good quality first version. Version: 1.1.0 // Name(s) of the author(s) of this toolbox. // They are usually the original copyright holders // (persons or entities) Author: Programmer World Other Author // Name(s) and email address(es) of the person(s) maintaining this toolbox Maintainer: Programmer World <ProgrammerWorld990@gmail.com> Other Maintainer <othername@address.com> // Categories that this toolbox belongs to. // The toolbox will appear in the Scilab Atoms GUI // under the categories that you select here. Category: biology - Robotic_2 CatB - SScat2 biology - modelisation_III // Name of the institution (company, university, lab...) who has developped the toolbox. // If you developped the toolbox as an individual, then just enter "private individual" Entity: Scilab Enterprises // Optional website that has more information about this toolbox WebSite: http://www.scilab.org // License under which the toolbox will be published License: GPL 2.0 // Version of Scilab supported by this toolbox, // prefixed by =, >= ... ScilabVersion: >= 6.0 // Other toolbox(es) that must be installed in order // this toolboxes to work. Atoms will automatically ensure that // the dependent toolboxes listed here are installed on the user's // Scilab installation. // Each toolbox dependency must be in format: // <operator> <toolbox name> <toolbox version|any> // where operator can be: ~, >, <, >=, <= // If multiple dependencies, put one per line (starting each line with a space) Depends: // Creation date Date: 2022-03-01 Description: Succinct presentation of this toolbox. It should cover: - What problem the toolbox solves, - If it requires any third-party software or hardware, and how to install them, - Some basics about how to use it, such as an example of use. but ensuring that each line starts with a space.
Folder Structure:
For installing the toolbox use:
atomsInstall('programmerWorldToolbox.zip')
Toolbox Installation folder: