Android Open Source - rcdroid Abstract Servo Handler






From Project

Back to project page rcdroid.

License

The source code is released under:

Copyright (c) 2013, Jamie Furness (jamie@jamierf.co.uk) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following...

If you think the Android project rcdroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jamierf.rcdroid.logic.packets;
//from   www  .  j  ava  2s . c  om
import com.jamierf.maestro.MaestroServoController;
import com.jamierf.maestro.settings.ChannelSettings;

public abstract class AbstractServoHandler {

    private final MaestroServoController servos;
    private final int index;

    private final double neutral;
    private final double negativeRange;
    private final double positiveRange;

    public AbstractServoHandler(MaestroServoController servos, int index) {
        this.servos = servos;
        this.index = index;

        final ChannelSettings channel = servos.getSettings().getChannel(index);

        neutral = channel.getNeutral();
        negativeRange = neutral - channel.getMinimum();
        positiveRange = channel.getMaximum() - neutral;
    }

    private int translateTarget(double target) {
        if (target < -100 || target > 100)
            throw new IllegalArgumentException("Set target out of range: " + target);

        if (target < 0) {
            return (int) (neutral + ((target / 100D) * negativeRange));
        }

        if (target > 0) {
            return (int) (neutral + ((target / 100D) * positiveRange));
        }

        return (int) neutral;
    }

    protected void setTarget(int target) {
        servos.setTarget(index, this.translateTarget(target));
    }
}




Java Source Code List

com.jamierf.rcdroid.CarActivity.java
com.jamierf.rcdroid.CarService.java
com.jamierf.rcdroid.config.CarConfig.java
com.jamierf.rcdroid.config.ServoConfig.java
com.jamierf.rcdroid.config.WebUIConfig.java
com.jamierf.rcdroid.http.Packet.java
com.jamierf.rcdroid.http.WebController.java
com.jamierf.rcdroid.http.handler.AssetResourceHandler.java
com.jamierf.rcdroid.http.handler.ControlProtocolHandler.java
com.jamierf.rcdroid.http.handler.JsonPOJOHandler.java
com.jamierf.rcdroid.http.listener.ClientListener.java
com.jamierf.rcdroid.http.listener.PacketListener.java
com.jamierf.rcdroid.input.SensorController.java
com.jamierf.rcdroid.input.api.BatteryStatus.java
com.jamierf.rcdroid.input.api.Coordinate.java
com.jamierf.rcdroid.input.sensor.AbstractSensor.java
com.jamierf.rcdroid.input.sensor.AccelerationSensor.java
com.jamierf.rcdroid.input.sensor.BatterySensor.java
com.jamierf.rcdroid.input.sensor.LocationSensor.java
com.jamierf.rcdroid.input.sensor.RotationSensor.java
com.jamierf.rcdroid.input.sensor.listener.SensorListener.java
com.jamierf.rcdroid.logic.CarEngine.java
com.jamierf.rcdroid.logic.packets.AbstractServoHandler.java
com.jamierf.rcdroid.logic.packets.PlayAlarmRequestHandler.java
com.jamierf.rcdroid.logic.packets.SetRotationRequestHandler.java
com.jamierf.rcdroid.logic.packets.SetSpeedRequestHandler.java
com.jamierf.rcdroid.logic.sensors.AccelerationSensorHandler.java
com.jamierf.rcdroid.logic.sensors.BatterySensorHandler.java
com.jamierf.rcdroid.logic.sensors.LocationSensorHandler.java
com.jamierf.rcdroid.logic.sensors.RotationSensorHandler.java