CyberGearKit is a framework of communicating to xiaomi CyberGear.
This is an SPM-compliant Swift Package: First, add the following line in Package.swift to your package dependencies:
.package(url: "https://github.com/CmST0us/CyberGearKit.git", branch: "master")Then, add the module CyberGearKit – where necessary – to your target dependencies.
Create CyberGear.CANBus to communicate with socketcan interface
let canBus = CyberGear.CANBus(hostID: 1) do { try canBus.open() } catch { // do some catch }Create CyberGear.Motor to control motor. For example, you can make motor run in speed mode.
let motor = CyberGear.Motor(canID: 127, bus: canBus) try! motor.runMode(.speed) try! motor.enable() try! motor.setTargetSpeed(5)Use RxSwift to listen frame parse
let disposeBag = DisposeBag() motor.motorStaus .observe(on: MainScheduler.asyncInstance) .subscribe { (v: CyberGearKit.CyberGear.Frame.MotorStatus) in // do some thing } .disposed(by: disposeBag)This package is licensed under the term of the MIT License. Contributions are always welcome!