void SQInstance::Init( SQSharedState *ss ) { _userpointer = NULL; _hook = NULL; __ObjAddRef( _class ); _delegate = _class->_members; INIT_CHAIN(); ADD_TO_CHAIN( &_sharedstate->_gc_chain, this ); }
SQTable::SQTable(SQSharedState *ss,SQInteger nInitialSize) { SQInteger pow2size=MINPOWER2; while(nInitialSize>pow2size)pow2size=pow2size<<1; AllocNodes(pow2size); _usednodes = 0; _delegate = NULL; INIT_CHAIN(); ADD_TO_CHAIN(&_sharedstate->_gc_chain,this); }
SQClass::SQClass( SQSharedState *ss, SQClass *base ) { _base = base; _typetag = 0; _metamethods.resize( MT_LAST ); //size it to max size if ( _base ) { _defaultvalues.copy( base->_defaultvalues ); _methods.copy( base->_methods ); _metamethods.copy( base->_metamethods ); __ObjAddRef( _base ); } _members = base ? base->_members->Clone() : SQTable::Create( ss, 0 ); __ObjAddRef( _members ); _locked = false; INIT_CHAIN(); ADD_TO_CHAIN( &_sharedstate->_gc_chain, this ); }
SQClass::SQClass(SQSharedState *ss,SQClass *base) { _base = base; _typetag = 0; _hook = NULL; _udsize = 0; _locked = false; _constructoridx = -1; if(_base) { _constructoridx = _base->_constructoridx; _udsize = _base->_udsize; _defaultvalues.copy(base->_defaultvalues); _methods.copy(base->_methods); _COPY_VECTOR(_metamethods,base->_metamethods,MT_LAST); __ObjAddRef(_base); } _members = base?base->_members->Clone() : SQTable::Create(ss,0); __ObjAddRef(_members); INIT_CHAIN(); ADD_TO_CHAIN(&_sharedstate->_gc_chain, this); }
},{ .name = "persistentreset", .help = "Set persistent variables = 0", .handler = eps_slave_reset_persistent, },{ .name = "hardreset", .help = "Completely powercycle EPS", .handler = eps_slave_hardreset, },{ .name = "resetwdt", .help = "Resets the WDT GND", .handler = eps_slave_wdt_gnd_reset, },{ .name = "conf", .help = "Configuration", .chain = INIT_CHAIN(eps_slave_config_subcommands), } }; command_t __root_command epsslave_commands[] = { { .name = "epsslave", .help = "EPS slave commands", .chain = INIT_CHAIN(eps_slavecommands), } }; void cmd_epsslave_setup(void) { command_register(epsslave_commands); }
},{ .name = "random", .help = "Configure do randomization", .usage = "<bool>", .handler = cmd_com_conf_do_random, },{ .name = "hkinterval", .help = "Configure hk interval", .usage = "<seconds>", .handler = cmd_com_conf_set_hkinterval, },{ .name = "inhibit", .help = "Set the TX inhibit flag", .usage = "<value>", .handler = cmd_com_set_tx_inhibit, } }; command_t __root_command com_commands[] = { { .name = "com", .help = "COM subsystem", .chain = INIT_CHAIN(com_subcommands), } }; void cmd_com_setup(int node_arg) { com_node = node_arg; command_register(com_commands); }
.usage = "", .handler = cmd_hub_reset_wdt, },{ .name = "gwdt", .help = "GetWDT", .usage = "", .handler = cmd_hub_get_wdt, },{ .name = "so", .help = "Set channel on/off", .usage = "<channel> <mode> <delay> (empty to read)", .handler = cmd_hub_single_output, },{ .name = "conf", .help = "Config", .chain = INIT_CHAIN(hub_conf_subcommands), },{ .name = "adc", .help = "Get ADC", .usage = "", .handler = cmd_hub_adc, },{ .name = "gyro", .help = "Gyro", .chain = INIT_CHAIN(hub_gyro_subcommands), },{ .name = "knife", .help = "Do knife deploy", .usage = "<knife> <channel> <delay> <duration>", .handler = cmd_hub_knife, },