Beispiel #1
0
void STARTUP_pore() {
  GenesisObject* object;
  GenesisObject  tobject;
  char*          slotnames[50];
  char*          argv[50];

  /* Definition of object Napores */
  BZERO(&tobject,sizeof(GenesisObject));
  tobject.name = "Napores";
  tobject.type = "Na_pore_type";
  tobject.size = sizeof(struct Na_pore_type);
  { extern int NaPorePop(); tobject.function = NaPorePop; HashFunc("NaPorePop", NaPorePop, "int"); }
  ObjectAddClass(&tobject,ClassID("segment"),CLASS_PERMANENT);
  AddDefaultFieldList(&tobject);
  tobject.defaults = (Element*) calloc(1, tobject.size);
  AddObject(&tobject);
  object = GetObject("Napores");
  object->defaults->object = object;
  object->defaults->name = CopyString("Napores");
  { extern int NaPorePop(); AddActionToObject(object, "INIT", NaPorePop, 0) ? 0 : (Error(), printf("adding action 'INIT' to object 'Napores'\n")); HashFunc("NaPorePop", NaPorePop, "int"); }
  { extern int NaPorePop(); AddActionToObject(object, "PROCESS", NaPorePop, 0) ? 0 : (Error(), printf("adding action 'PROCESS' to object 'Napores'\n")); HashFunc("NaPorePop", NaPorePop, "int"); }
  { extern int NaPorePop(); AddActionToObject(object, "RESET", NaPorePop, 0) ? 0 : (Error(), printf("adding action 'RESET' to object 'Napores'\n")); HashFunc("NaPorePop", NaPorePop, "int"); }
  { extern int NaPorePop(); AddActionToObject(object, "CHECK", NaPorePop, 0) ? 0 : (Error(), printf("adding action 'CHECK' to object 'Napores'\n")); HashFunc("NaPorePop", NaPorePop, "int"); }
  slotnames[0] = "Vm";
  MsgListAdd(object, "VOLTAGE", Napores_VOLTAGE, slotnames, 1);
  object->author = "Adam Strassberg";
  object->description = "Sodium pore population represented through eight state Markov kinetic scheme (see Strassberg and DeFelice, 1992).\n";
  FieldListMakePermanent(object);
  MsgListMakePermanent(object);

  /* Definition of object Kpores */
  BZERO(&tobject,sizeof(GenesisObject));
  tobject.name = "Kpores";
  tobject.type = "K_pore_type";
  tobject.size = sizeof(struct K_pore_type);
  { extern int KPorePop(); tobject.function = KPorePop; HashFunc("KPorePop", KPorePop, "int"); }
  ObjectAddClass(&tobject,ClassID("segment"),CLASS_PERMANENT);
  AddDefaultFieldList(&tobject);
  tobject.defaults = (Element*) calloc(1, tobject.size);
  AddObject(&tobject);
  object = GetObject("Kpores");
  object->defaults->object = object;
  object->defaults->name = CopyString("Kpores");
  { extern int KPorePop(); AddActionToObject(object, "INIT", KPorePop, 0) ? 0 : (Error(), printf("adding action 'INIT' to object 'Kpores'\n")); HashFunc("KPorePop", KPorePop, "int"); }
  { extern int KPorePop(); AddActionToObject(object, "PROCESS", KPorePop, 0) ? 0 : (Error(), printf("adding action 'PROCESS' to object 'Kpores'\n")); HashFunc("KPorePop", KPorePop, "int"); }
  { extern int KPorePop(); AddActionToObject(object, "RESET", KPorePop, 0) ? 0 : (Error(), printf("adding action 'RESET' to object 'Kpores'\n")); HashFunc("KPorePop", KPorePop, "int"); }
  { extern int KPorePop(); AddActionToObject(object, "CHECK", KPorePop, 0) ? 0 : (Error(), printf("adding action 'CHECK' to object 'Kpores'\n")); HashFunc("KPorePop", KPorePop, "int"); }
  slotnames[0] = "Vm";
  MsgListAdd(object, "VOLTAGE", Kpores_VOLTAGE, slotnames, 1);
  object->author = "Adam Strassberg";
  object->description = "Potassium pore population represented through five state Markov kinetic scheme (see Strassberg and DeFelice, 1992).\n";
  FieldListMakePermanent(object);
  MsgListMakePermanent(object);

/* Script variables */

} /* STARTUP_pore */
Beispiel #2
0
void STARTUP_user() {
  GenesisObject* object;
  GenesisObject  tobject;
  char*          slotnames[50];
  char*          argv[50];

  /* Definition of object pulsegen */
  BZERO(&tobject,sizeof(GenesisObject));
  tobject.name = "pulsegen";
  tobject.type = "pulsegen_type";
  tobject.size = sizeof(struct pulsegen_type);
  { extern int PulseGen(); tobject.function = PulseGen; HashFunc("PulseGen", PulseGen, "int"); }
  ObjectAddClass(&tobject,ClassID("device"),CLASS_PERMANENT);
  AddDefaultFieldList(&tobject);
  tobject.defaults = (Element*) calloc(1, tobject.size);
  AddObject(&tobject);
  object = GetObject("pulsegen");
  object->defaults->object = object;
  object->defaults->name = CopyString("pulsegen");
  object->author = "M.Nelson Caltech 4/89";
  { extern int PulseGen(); AddActionToObject(object, "RESET", PulseGen, 0) ? 0 : (Error(), printf("adding action 'RESET' to object 'pulsegen'\n")); HashFunc("PulseGen", PulseGen, "int"); }
  { extern int PulseGen(); AddActionToObject(object, "PROCESS", PulseGen, 0) ? 0 : (Error(), printf("adding action 'PROCESS' to object 'pulsegen'\n")); HashFunc("PulseGen", PulseGen, "int"); }
  slotnames[0] = "gate/trig";
  MsgListAdd(object, "INPUT", pulsegen_INPUT, slotnames, 1);
  slotnames[0] = "pulse#";
  slotnames[1] = "level";
  MsgListAdd(object, "LEVEL", pulsegen_LEVEL, slotnames, 2);
  slotnames[0] = "pulse#";
  slotnames[1] = "width";
  MsgListAdd(object, "WIDTH", pulsegen_WIDTH, slotnames, 2);
  slotnames[0] = "pulse#";
  slotnames[1] = "delay";
  MsgListAdd(object, "DELAY", pulsegen_DELAY, slotnames, 2);
  object->description = "General purpose pulse generator\n";
  FieldListMakePermanent(object);
  MsgListMakePermanent(object);

  /* Definition of object PID */
  BZERO(&tobject,sizeof(GenesisObject));
  tobject.name = "PID";
  tobject.type = "PID_type";
  tobject.size = sizeof(struct PID_type);
  { extern int PIDcontroller(); tobject.function = PIDcontroller; HashFunc("PIDcontroller", PIDcontroller, "int"); }
  ObjectAddClass(&tobject,ClassID("device"),CLASS_PERMANENT);
  AddDefaultFieldList(&tobject);
  tobject.defaults = (Element*) calloc(1, tobject.size);
  AddObject(&tobject);
  object = GetObject("PID");
  object->defaults->object = object;
  object->defaults->name = CopyString("PID");
  object->author = "M.Nelson Caltech 4/89";
  { extern int PIDcontroller(); AddActionToObject(object, "INIT", PIDcontroller, 0) ? 0 : (Error(), printf("adding action 'INIT' to object 'PID'\n")); HashFunc("PIDcontroller", PIDcontroller, "int"); }
  { extern int PIDcontroller(); AddActionToObject(object, "RESET", PIDcontroller, 0) ? 0 : (Error(), printf("adding action 'RESET' to object 'PID'\n")); HashFunc("PIDcontroller", PIDcontroller, "int"); }
  { extern int PIDcontroller(); AddActionToObject(object, "PROCESS", PIDcontroller, 0) ? 0 : (Error(), printf("adding action 'PROCESS' to object 'PID'\n")); HashFunc("PIDcontroller", PIDcontroller, "int"); }
  slotnames[0] = "command";
  MsgListAdd(object, "CMD", PID_CMD, slotnames, 1);
  slotnames[0] = "sense";
  MsgListAdd(object, "SNS", PID_SNS, slotnames, 1);
  slotnames[0] = "gain";
  MsgListAdd(object, "GAIN", PID_GAIN, slotnames, 1);
  object->description = "PID (proportional, integral, derivative) feedback controller\n";
  FieldListMakePermanent(object);
  MsgListMakePermanent(object);

/* Script variables */

} /* STARTUP_user */