1.8 KiB
oc-basecontrol
oc-basecontrol is a OpenComputers generic base control library.
Documentation
Load oc-basecontrol into your application:
bc = require("bc"):init("<master-address>")
where <master-address> is the address of you networks master.
The master is only required to download the base structure file.
The basic idea behind basecontrol is, that network node have a set of nouns,
which represent different values. A computer near a reactor for example could have
a noun called power-output. Network nodes also have verbs, actions that other
nodes can perform. The reactor comuputer could have a shutdown verb for example.
The bc object has the following methods to interface with verbs and nouns:
-- Retrieve a noun from it's network node
val = bc:get_noun("<noun>")
-- Set a noun on the local machine
bc:set_noun("<noun>", value)
-- Call a verb on it's network node
bc:call_verb("<verb>", param)
-- Register a handler for verbs on the current machine
bc:on_verb("<verb>", function handler)
Additionally, there is
id = bc:listen_noun("<noun>", event_type, event_arg, function callback)
which is used to register asynchroneous callbacks on noun changes.
event_type is one of
onchange=> whenever the value changes,event_argis ignoredonrising=> whenever the value gets bigger,event_argis ignoredonfalling=> whenever the value gets smaller,event_argis ignoredonvalue=> whenever the value equalsevent_argonabove=> whenever the value is bigger thanevent_argonbelow=> whenever the value smaller thanevent_arg
A listener can be removed using
bc:listen_cancel("<noun>", id)
Testing
Testing is done using the "fake" backend and typing
$ ./lunit test_bc.lua