RVS_BTDriver_OBD_MacOS_Test_Harness_Device_ViewController
class RVS_BTDriver_OBD_MacOS_Test_Harness_Device_ViewController : RVS_BTDriver_OBD_MacOS_Test_Harness_Base_Device_ViewController
extension RVS_BTDriver_OBD_MacOS_Test_Harness_Device_ViewController: NSTextFieldDelegate
This controls a screen that allows a direct command/response with each device, and also allows a “details” screen to appear, listing the device state.
-
This is the storyboard instantiation ID.
Declaration
Swift
static let storyboardID: String -
The label for the enter text field.
Declaration
Swift
@IBOutlet weak var enterTextLabel: NSTextField! -
The text entry field, where the user types in the command.
Declaration
Swift
@IBOutlet weak var enterTextField: NSTextField! -
the button the user presses to send the command.
Declaration
Swift
@IBOutlet weak var sendTextButton: NSButton! -
The label for the response display.
Declaration
Swift
@IBOutlet weak var responseDisplayLabel: NSTextField! -
The text view portion of the scrollable area for the response.
Declaration
Swift
@IBOutlet var responseTextView: NSTextView! -
This is the button that calls out the details modal sheet.
Declaration
Swift
@IBOutlet weak var detailsCalloutButton: NSButton! -
This is the button that calls out the commands modal sheet.
Declaration
Swift
@IBOutlet weak var commandsButton: NSButton!
-
This is called when an OBD device updates its transaction.
Declaration
Swift
override func deviceUpdatedTransaction(_ inTransaction: RVS_BTDriver_OBD_Device_TransactionStruct)Parameters
inTransactionThe transaction that was updated. It may be nil.
-
Error reporting method.
Since the driver will handle displaying the error, all we do, is clean up the UX.
Declaration
Swift
override func subscribedDevice(_ device: RVS_BTDriver_DeviceProtocol, encounteredThisError inError: RVS_BTDriver.Errors)Parameters
inDeviceThe
RVS_BTDriver_OBD_DeviceProtocolinstance that encountered the error.encounteredThisErrorThe error that was encountered.
-
Called when text changes in the send text box.
Declaration
Swift
func controlTextDidChange(_ inNotification: Notification)Parameters
inNotificationThe notification object for the text field.
-
This will initiate a data send to the device, using whatever is in the command text field.
Declaration
Swift
@IBAction func sendButtonHit(_: Any)
-
Sets up the UI elements.
Declaration
Swift
func setUpUI()
-
Called after the view has loaded and initialized from the storyboard.
Declaration
Swift
override func viewDidLoad() -
When we are about to appear, we register with the app delegate object.
Declaration
Swift
override func viewWillAppear() -
We remove ourselves when we are about to go away.
Declaration
Swift
override func viewWillDisappear() -
Called just before we bring in a device details instance screen.
Declaration
Swift
override func prepare(for inSegue: NSStoryboardSegue, sender inDevice: Any?)Parameters
forThe Segue instance
senderData being associated. In this case, it is the device to associate with the screen.
-
Called if the device state changes, in some way.
Declaration
Swift
func deviceStatusUpdate(_ inDevice: RVS_BTDriver_DeviceProtocol)Parameters
inDeviceThe device instance that is calling this.
View on GitHub
RVS_BTDriver_OBD_MacOS_Test_Harness_Device_ViewController Class Reference