Esempio n. 1
0
Spec* VectorFileEffector::createSpec()
{

  Spec *ns = new Spec;
  ns->description = 
        "VectorFileEffector is a node that simply writes its\n"
        "input vectors to a text file. The target filename is specified\n"
        "using the 'outputFile' parameter at run time. On each\n"
        "compute, the current input vector is written (but not flushed)\n"
        "to the file.\n";

  ns->inputs.add(
    "dataIn",
    InputSpec("Data to be written to file", 
              NTA_BasicType_Real32, 
              0, // count
              false, // required?
              false, // isRegionLevel
              true   // isDefaultInput
      ));



  ns->parameters.add(
    "outputFile",
    ParameterSpec(
      "Writes output vectors to this file on each compute. Will append to any\n"
      "existing data in the file. This parameter must be set at runtime before\n"
      "the first compute is called. Throws an exception if it is not set or\n"
      "the file cannot be written to.\n", 
      NTA_BasicType_Byte, 
      0,  // elementCount
      "", // constraints
      "", // defaultValue
      ParameterSpec::ReadWriteAccess
      ));

  ns->commands.add(
    "flushFile", 
    CommandSpec("Flush file data to disk"));

  ns->commands.add(
    "closeFile",
    CommandSpec("Close the current file, if open."));

  return ns;
}
Esempio n. 2
0
Spec *TestNode::createSpec() {
  auto ns = new Spec;

  ns->description = "TestNode. Used as a plain simple plugin Region for unit tests only. "
      "This is not useful for any real applicaton.";

  /* ---- parameters ------ */
  ns->parameters.add( "count",
                     ParameterSpec(
							                   "Buffer size for bottomUpOut Output. "
                                 "Syntax: {count: 64}",  // description
	                               NTA_BasicType_UInt32,
							                   1,                         // elementCount (an array of unknown size)
							                   "",                        // constraints
							                   "2",                      // defaultValue
							                   ParameterSpec::ReadWriteAccess));


  ns->parameters.add("int32Param",
                     ParameterSpec("Int32 scalar parameter", // description
                                   NTA_BasicType_Int32,
                                   1,    // elementCount
                                   "",   // constraints
                                   "32", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("uint32Param",
                     ParameterSpec("UInt32 scalar parameter", // description
                                   NTA_BasicType_UInt32,
                                   1,    // elementCount
                                   "",   // constraints
                                   "33", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("int64Param",
                     ParameterSpec("Int64 scalar parameter", // description
                                   NTA_BasicType_Int64,
                                   1,    // elementCount
                                   "",   // constraints
                                   "64", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("uint64Param",
                     ParameterSpec("UInt64 scalar parameter", // description
                                   NTA_BasicType_UInt64,
                                   1,    // elementCount
                                   "",   // constraints
                                   "65", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("real32Param",
                     ParameterSpec("Real32 scalar parameter", // description
                                   NTA_BasicType_Real32,
                                   1,      // elementCount
                                   "",     // constraints
                                   "32.1", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("real64Param",
                     ParameterSpec("Real64 scalar parameter", // description
                                   NTA_BasicType_Real64,
                                   1,      // elementCount
                                   "",     // constraints
                                   "64.1", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("boolParam",
                     ParameterSpec("bool scalar parameter", // description
                                   NTA_BasicType_Bool,
                                   1,       // elementCount
                                   "",      // constraints
                                   "false", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("real32ArrayParam",
                     ParameterSpec("int32 array parameter",
                                   NTA_BasicType_Real32,
                                   0, // array
                                   "", "", ParameterSpec::ReadWriteAccess));

  ns->parameters.add("int64ArrayParam",
                     ParameterSpec("int64 array parameter",  // description
					               NTA_BasicType_Int64,
                                   0, // array
                                   "", // constraints
								   "", // default Value
								   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("boolArrayParam",
                     ParameterSpec("bool array parameter", // description
					               NTA_BasicType_Bool,
                                   0, // array
                                   "", // constraints
								   "", // default Value
								   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("computeCallback",
                     ParameterSpec("address of a function that is called at every compute()",
                                   NTA_BasicType_UInt64,
					               1,  // element count
					               "", // constraints
                                   "", // handles must not have a default value
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("stringParam",
                     ParameterSpec("string parameter",
					               NTA_BasicType_Byte,
                                   0, // length=0 required for strings
                                   "",
								   "nodespec value",
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("unclonedParam",
                     ParameterSpec("has a separate value for each node", // description
                                   NTA_BasicType_UInt32,
                                   1,  // elementCount
                                   "", // constraints
                                   "", // defaultValue
                                   ParameterSpec::ReadWriteAccess));

  ns->parameters.add("shouldCloneParam",
				      ParameterSpec("whether possiblyUnclonedParam should clone", // description
				                    NTA_BasicType_UInt32,
				                    1,            // elementCount
				                    "enum: 0, 1", // constraints
				                    "1",          // defaultValue
				                    ParameterSpec::ReadWriteAccess));

  ns->parameters.add("possiblyUnclonedParam",
				      ParameterSpec("cloned if shouldCloneParam is true", // description
				                    NTA_BasicType_UInt32,
				                    1,  // elementCount
				                    "", // constraints
				                    "", // defaultValue
				                    ParameterSpec::ReadWriteAccess));

  ns->parameters.add("unclonedInt64ArrayParam",
				      ParameterSpec("has a separate array for each node", // description
				                    NTA_BasicType_Int64,
				                    0,  // array                            //elementCount
				                    "", // constraints
				                    "", // defaultValue
				                    ParameterSpec::ReadWriteAccess));

  /* ----- inputs ------- */
  ns->inputs.add("bottomUpIn",
                 InputSpec("Primary input for the node",
				           NTA_BasicType_Real64,
                           0,     // count. omit?
                           true,  // required?
                           true, // isRegionLevel,
                           true   // isDefaultInput
                           ));

  /* ----- outputs ------ */
  ns->outputs.add("bottomUpOut",
                  OutputSpec("Primary output for the node",
                            NTA_BasicType_Real64,
                            0,     // count is dynamic
                            true, // isRegionLevel
                            true   // isDefaultOutput
                            ));

  /* ----- commands ------ */
  // commands TBD

  return ns;
}