From 2549150572be5870740dedce98eda4a4d534e683 Mon Sep 17 00:00:00 2001 From: Josh Date: Sun, 20 Apr 2014 14:25:12 -0700 Subject: [PATCH] Created Component Abstract Bus (markdown) --- Component-Abstract-Bus.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Component-Abstract-Bus.md diff --git a/Component-Abstract-Bus.md b/Component-Abstract-Bus.md new file mode 100644 index 0000000..4fc0ce9 --- /dev/null +++ b/Component-Abstract-Bus.md @@ -0,0 +1,27 @@ +This card allows for interfacing with Stargate Tech 2's Abstract Bus system. + +Component name: `abstract_bus`. +Callbacks: +- `getEnabled(): boolean` + Returns whether the local bus interface is enabled. +- `setEnabled(enabled: boolean)` + Sets whether the local bus interface should be enabled +- `getAddress(): number` + Returns the local interface address. `number` is a 16bit hexadecimal number (0xFFFF being a broadcast). + Returns `0` if an address has not yet been set. +- `setAddress(address: number)` + Sets the local interface address. `number` is a 16bit hexadecimal number. +- `send(address: number, data: table): boolean` + Sends data across the abstract bus. The table `data` is in the form of key,value pairs, i.e + ```lua abstract_bus.send(0xFFF, { ["action"]="dial", ["address"]="Losomdeh Salothirt Erpac" })``` + * See SGTech2 documentation for more info on the Abstract Bus +- `maxPacketSize(): number` + Returns the maximum size a packet can be sent over the bus. + +The abstract bus generates a signal named `bus_message` if a message is received. The values are; +`protocol id: number, sender address: number, target address: number, data: table, metadata: table` +- `protocol id` is the protocol version that was used. +- `sender address` is the address of the device sending the message +- `target address` is the address of the device that the messages was intended for (-1 for network broadcasts) +- `data` is a table of the data that was sent +- `metadata` is a table of data that are unique to the device that send the address \ No newline at end of file