CmST0us / CyberGearKit

CyberGearKit is a framework of communicating to xiaomi CyberGear.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CyberGearKit

logo

CyberGearKit is a framework of communicating to xiaomi CyberGear.

How to integrate

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.

Usage

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)

License and Contributions

This package is licensed under the term of the MIT License. Contributions are always welcome!

About

CyberGearKit is a framework of communicating to xiaomi CyberGear.

License:MIT License


Languages

Language:C 56.1%Language:Swift 43.9%