SicsInitializer

Search SINQ Wiki:
SINQ LIN

SINQ Wiki
- Main Page
- Search SINQ Wiki
- Sample Environment
- Probenumg. Intern
- Troubleshooting SICS

This Page
- Page Info
- Printer Friendly

Referenced by
NewFeaturesInSICS

Wiki Info
- Unused pages
- Undefined pages
- RecentChanges
- Page Index
- System Info
- JSPWiki Docu
- SandBox
- OneMinuteWiki
- Create a New Page




JSPWiki v2.0.52


This is version 3. It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]


New Initialization Scheme for SICS

The idea behind this scheme is, to have to edit only one list when adding a new feature. Let us look at the difference when adding a command or driver. Before using this scheme, there were many different places in psi/psi.c where modifications had to be added:

  • when adding a new command
    • prototype declaration of the command function or include statement
    • inserting the command to the AddPsiCommands function
    • if it is a startup command, inserting the command to the RemovePsiCommands function
  • when adding a new driver
    • prototype declaration of the driver creation function or include statement
    • adding a "else if" clause to the CreatePsiXXX function
    • in the case of an envitonment driver, also add an "else if" clause to the ConfigureController function.

With the new scheme, for a module one has one init function, with prototype "void (void)" placed in the source file of the module. In this function, for standalone commands, either AddIniCmd[1] or AddCmd[1] is called to insert a startup or normal command. To create a new driver, use either the MakeDriver function, if you want to use the MakeObject[2] command to create the driver, or the functions MakeInitializer/GetInitializer[2], if you want to do use an other factory command.

[#1] SCinter.h [#2] initializer.h


This particular version was published on 13-Sep-2005 06:27:03 UTC by MarkusZolliker.