Skip to content

Instantly share code, notes, and snippets.

@FabiolaRamirez
Last active October 17, 2016 01:29
Show Gist options
  • Save FabiolaRamirez/8f88a8c6afd62fd3eff622d940b692aa to your computer and use it in GitHub Desktop.
Save FabiolaRamirez/8f88a8c6afd62fd3eff622d940b692aa to your computer and use it in GitHub Desktop.
//
// ItemViewController.swift
// vizix-ios-project
//
// Created by Fabiola Ramirez on 16/10/16.
// Copyright © 2016 Mojix. All rights reserved.
//
import UIKit
class ItemViewController: UIViewController, TSLInventoryCommandTransponderReceivedDelegate, TSLProtocol {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewWillAppear(animated: Bool) {
print("viewwillAppear")
TSLScannerEngine.sharedInstance.activate(self)
}
func transponderReceived(epc: String!, crc: NSNumber!, pc: NSNumber!, rssi: NSNumber!, fastId: NSData!, moreAvailable: Bool) {
print("transponderReceived ItemView Controller")
print(epc)
}
}
//
// TSLScannerEngine.swift
// vizix-ios-project
//
// Created by Fabiola Ramirez on 10/10/16.
// Copyright © 2016 Mojix. All rights reserved.
//
import UIKit
import Foundation
import Async
import ExternalAccessory
protocol TSLProtocol {
func transponderReceived(epc: String!, crc: NSNumber!, pc: NSNumber!, rssi: NSNumber!, fastId: NSData!, moreAvailable: Bool)
}
private let _sharedInstance = TSLScannerEngine()
class TSLScannerEngine: NSObject, TSLInventoryCommandTransponderReceivedDelegate {
var commander:TSLAsciiCommander?
var inventoryResponder:TSLInventoryCommand?
let loggerResponder:TSLLoggerResponder = TSLLoggerResponder()
var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
//var viewController: UIViewController?
class var sharedInstance: TSLScannerEngine {
return _sharedInstance
}
private override init() {
super.init()
print("init TSLScannerEngine")
}
/*func setDelegate(delegate : UIViewController) {
viewController = delegate
}*/
@objc func transponderReceived(epc: String!, crc: NSNumber!, pc: NSNumber!, rssi: NSNumber!, fastId: NSData!, moreAvailable: Bool) {
print("epc :\(epc), crc: \(crc), pc: \(pc), rssi: \(rssi) , fastId: \(fastId), moreAvailable: \(moreAvailable)")
print("transponderReceived")
}
func activate(delegate : TSLInventoryCommandTransponderReceivedDelegate){
print("activate")
if self.commander?.isConnected == true {
self.commander?.addResponder(loggerResponder)
self.commander?.addSynchronousResponder();
}
self.commander = appDelegate.commander
//This enables debugging output from reader
self.commander?.addSynchronousResponder();
self.inventoryResponder = TSLInventoryCommand()
self.inventoryResponder?.transponderReceivedDelegate = delegate
self.inventoryResponder?.captureNonLibraryResponses = true
self.inventoryResponder?.includeTransponderRSSI = TSL_TriState_YES
self.commander?.addResponder(self.inventoryResponder)
if self.commander?.isConnected == true {
self.commander?.executeCommand(self.inventoryResponder)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment