Classes
The following classes are available globally.
-
This class is a “junk drawer” of vrious debug/testing tools.
See moreDeclaration
Swift
public class RVS_DebugTools
-
This is the base class for our transport abstractions.
See moreDeclaration
Swift
internal class RVS_BTDriver_Base_Interface : NSObject, RVS_BTDriver_InterfaceProtocol
-
This is a specialized class for BLE devices (peripherals).
See moreDeclaration
Swift
class RVS_BTDriver_Device_BLE : RVS_BTDriver_Device
extension RVS_BTDriver_Device_BLE: RVS_BTDriver_State_Machine
extension RVS_BTDriver_Device_BLE: CBPeripheralDelegate
-
This is an interface for Bluetooth Low Energy (BLE), using CoreBluetooth.
See moreDeclaration
Swift
internal class RVS_BTDriver_Interface_BLE : RVS_BTDriver_Base_Interface
extension RVS_BTDriver_Interface_BLE: CBCentralManagerDelegate
-
This implements a way for the driver to track our initialization progress.
See moreDeclaration
Swift
class RVS_BTDriver_Property_BLE : RVS_BTDriver_Property
-
This implements a way for the driver to track our initialization progress.
See moreDeclaration
Swift
class RVS_BTDriver_Service_DeviceInfo_BLE : RVS_BTDriver_Service_BLE
-
This implements a way for the driver to track our initialization progress.
See moreDeclaration
Swift
class RVS_BTDriver_Service_BLE : RVS_BTDriver_Service
-
This is the main driver class. It is the “manager” for all the bluetooth-connected devices, which are accessible as
RVS_BTDriver_DeviceProtocol
-conformant instances.The
RVS_BTDriver
instance can be treated like a Sequence, with an iterator, higher-order functions and subscripting.Just remember that it aggregates a protocol, not a class/struct, so you see a “mask” over a different class that is known internally.
See moreDeclaration
Swift
public class RVS_BTDriver : NSObject
extension RVS_BTDriver: RVS_BTDriverCommunicatorTools
extension RVS_BTDriver: RVS_SequenceProtocol
-
This is one “device,” which maps to a bluetooth “peripheral.”
Must derive from NSObject, for purposes of being a delegate.
See moreDeclaration
Swift
class RVS_BTDriver_Device : NSObject, RVS_BTDriver_DeviceProtocol
extension RVS_BTDriver_Device: RVS_BTDriverCommunicatorTools
-
This is one “property,” which maps to a bluetooth “characteristic.”
See moreDeclaration
Swift
internal class RVS_BTDriver_Property : NSObject, RVS_BTDriver_PropertyProtocol
extension RVS_BTDriver_Property: RVS_BTDriverCommunicatorTools
-
This is a standard service class.
See moreDeclaration
Swift
class RVS_BTDriver_Service : NSObject, RVS_BTDriver_ServiceProtocol
extension RVS_BTDriver_Service: RVS_BTDriverCommunicatorTools
-
A base class for various OBD dongle handlers.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD : RVS_BTDriver_Vendor_GenericBLE
-
This is a specialization of the device for OBD Devices.
OBD devices handle communications in a single-threaded manner, so we use a queue to hold transactions. As a transaction completes, the next one is sent out.
This allows us to match responses with commands, so we keep the transactions in a struct that is sent to the delegate, so the delegate gets to have access to the sent command, as well as the response.
See moreDeclaration
Swift
class RVS_BTDriver_Device_OBD : RVS_BTDriver_Device_BLE, RVS_BTDriver_OBD_DeviceProtocol
-
A base class for various OBD dongle handlers, based on the ELM327 chipset.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327 : RVS_BTDriver_Vendor_OBD
-
This is a specialization of the device for OBD ELM327 Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Device_OBD_ELM327 : RVS_BTDriver_Device_OBD
extension RVS_BTDriver_Device_OBD_ELM327: RVS_BTDriver_OBD_ELM327_DeviceProtocol
-
A factory class for OBD dongles, based on an anonymous version of the ELM327 chipset.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_ANON_1 : RVS_BTDriver_Vendor_OBD_ELM327
-
This is a specialization of the device for OBD Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_ANON_1_Device : RVS_BTDriver_Device_OBD_ELM327
-
A factory class for OBD dongles, based on the VEEPEAK version of the ELM327 chipset.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_VEEPEAK : RVS_BTDriver_Vendor_OBD_ELM327
-
This is a specialization of the device for OBD Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_VEEPEAK_Device : RVS_BTDriver_Device_OBD_ELM327
-
A factory class for OBD dongles, based on the VLINK version of the ELM327 chipset.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_VLINK : RVS_BTDriver_Vendor_OBD_ELM327
-
This is a specialization of the device for OBD Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_ELM327_VLINK_Device : RVS_BTDriver_Device_OBD_ELM327
-
A factory class for OBD dongles, based on the MHCP chipset.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_Kiwi : RVS_BTDriver_Vendor_OBD_ELM327
-
This is a specialization of the device for OBD Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_OBD_Kiwi_Device : RVS_BTDriver_Device_OBD
-
A factory class for goTenna Mesh devices
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_GenericBLE : NSObject, RVS_BTDriver_VendorProtocol
-
This is a specialization of the device for Generic BLE Devices.
See moreDeclaration
Swift
class RVS_BTDriver_Device_GenericBLE : RVS_BTDriver_Device_BLE
-
A factory class for goTenna Mesh devices
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_GoTenna : RVS_BTDriver_Vendor_GenericBLE
-
This is a specialization of the device for the goTenna devices.
Declaration
Swift
class RVS_BTDriver_Device_GoTenna : RVS_BTDriver_Device_BLE
-
A factory class for goTenna Mesh devices
See moreDeclaration
Swift
class RVS_BTDriver_Vendor_GoTenna_Mesh : RVS_BTDriver_Vendor_GoTenna
-
This is a specialization of the device for OBD Devices.
Declaration
Swift
class RVS_BTDriver_Device_GoTenna_Mesh : RVS_BTDriver_Device_GoTenna