Files
picar/SwiftyCar/Sources/SwiftyCar/VehicleFactory.swift

27 lines
694 B
Swift

//
// File.swift
//
//
// Created by Michael Pivato on 20/5/20.
//
import Foundation
import SwiftyGPIO
import Swift2dCar
func getVehicle2D() throws -> Vehicle2D {
if let value = ProcessInfo.processInfo.environment["CAR_VEHICLE"] {
switch value{
case "CAR_2D":
// Get car for rpi.
let pwms = SwiftyGPIO.hardwarePWMs(for:.RaspberryPi3)!
// Read the feature database.
return try RPiVehicle2D(withThrottlePin: PWMHardwareServo(forPin: (pwms[0]?[.P18])!)!, withSteeringPin:PWMHardwareServo(forPin: (pwms[1]?[.P19])!)!)
default:
return MockVehicle()
}
}
return MockVehicle()
}