Created Component Abstract Bus (markdown)

Josh 2014-04-20 14:25:12 -07:00
parent 54378c3294
commit 2549150572

27
Component-Abstract-Bus.md Normal file

@ -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