Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions processing/sensorhub-process-universalcontroller/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ dependencies {
// add info to OSGi manifest
osgi {
manifest {
attributes('Bundle-Vendor': 'Sensia Software LLC')
attributes('Bundle-Activator': 'org.sensorhub.process.universalcontroller.Activator')
attributes('Bundle-Vendor': 'Botts Innovative Research, Inc.')
attributes('Bundle-Activator': 'org.sensorhub.impl.process.universalcontroller.Activator')
}
}

// add info to maven pom
ext.pom >>= {
developers {
developer {
id 'alexalmanza'
id 'earocorn'
name 'Alex Almanza'
organization 'Botts Innovative Research'
organizationUrl 'http://www.botts-inc.com'
organization 'Botts Innovative Research, Inc.'
organizationUrl 'https://www.botts-inc.com'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

******************************* END LICENSE BLOCK ***************************/

package org.sensorhub.process.universalcontroller;
package org.sensorhub.impl.process.universalcontroller;

import org.osgi.framework.BundleActivator;
import org.sensorhub.utils.OshBundleActivator;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.sensorhub.process.universalcontroller.impl;
package org.sensorhub.impl.process.universalcontroller;

import com.sample.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import org.sensorhub.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import net.opengis.swe.v20.*;
import org.sensorhub.api.processing.OSHProcessInfo;
import org.sensorhub.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.sensorhub.impl.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.vast.process.ProcessException;
import org.vast.swe.SWEConstants;
import org.vast.swe.SWEHelper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.sensorhub.process.universalcontroller.impl;
package org.sensorhub.impl.process.universalcontroller;

import com.sample.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import org.sensorhub.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import net.opengis.swe.v20.DataType;
import net.opengis.swe.v20.Quantity;
import org.sensorhub.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.sensorhub.impl.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.sensorhub.api.processing.OSHProcessInfo;
import org.vast.process.ProcessException;
import org.vast.swe.SWEHelper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.sensorhub.process.universalcontroller.impl;
package org.sensorhub.impl.process.universalcontroller;

import com.sample.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import org.sensorhub.impl.sensor.universalcontroller.helpers.UniversalControllerComponent;
import org.sensorhub.api.processing.OSHProcessInfo;
import org.sensorhub.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.sensorhub.impl.process.universalcontroller.helpers.AbstractControllerTaskingProcess;
import org.vast.process.ProcessException;
import org.vast.process.ProcessInfo;

public class ControllerProcessTemplate extends AbstractControllerTaskingProcess {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.sensorhub.process.universalcontroller.impl;
package org.sensorhub.impl.process.universalcontroller;

import com.sample.impl.sensor.universalcontroller.helpers.UniversalControllerProcessHelper;
import org.sensorhub.impl.sensor.universalcontroller.helpers.UniversalControllerProcessHelper;
import net.opengis.swe.v20.DataRecord;
import org.sensorhub.api.processing.OSHProcessInfo;
import org.vast.data.DataBlockList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@

******************************* END LICENSE BLOCK ***************************/

package org.sensorhub.process.universalcontroller;
package org.sensorhub.impl.process.universalcontroller;

import org.sensorhub.impl.processing.AbstractProcessProvider;
import org.sensorhub.process.universalcontroller.impl.ControllerPTZProcess;
import org.sensorhub.process.universalcontroller.impl.PrimaryControllerSelector;


public class ProcessDescriptors extends AbstractProcessProvider
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.sensorhub.process.universalcontroller.helpers;
package org.sensorhub.impl.process.universalcontroller.helpers;

import com.sample.impl.sensor.universalcontroller.helpers.UniversalControllerProcessHelper;
import org.sensorhub.impl.sensor.universalcontroller.helpers.UniversalControllerProcessHelper;
import org.vast.process.ExecutableProcessImpl;
import org.vast.process.ProcessException;
import org.vast.process.ProcessInfo;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.sensorhub.process.universalcontroller.helpers;
package org.sensorhub.impl.process.universalcontroller.helpers;

public class ControllerProcessHelper extends ProcessHelper {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.sensorhub.process.universalcontroller.helpers;
package org.sensorhub.impl.process.universalcontroller.helpers;

import net.opengis.gml.v32.impl.ReferenceImpl;
import net.opengis.sensorml.v20.AbstractProcess;
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
org.sensorhub.process.universalcontroller.ProcessDescriptors
org.sensorhub.impl.process.universalcontroller.ProcessDescriptors
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
package org.sensorhub.process.universalcontroller;

import net.opengis.gml.v32.impl.ReferenceImpl;
import net.opengis.sensorml.v20.AbstractProcess;
import net.opengis.sensorml.v20.SimpleProcess;
import net.opengis.sensorml.v20.impl.SettingsImpl;
import net.opengis.swe.v20.AbstractSWEIdentifiable;
import net.opengis.swe.v20.DataComponent;
import org.junit.Test;
import org.sensorhub.process.universalcontroller.helpers.ProcessHelper;
import org.sensorhub.process.universalcontroller.impl.ControllerPTZProcess;
import org.sensorhub.process.universalcontroller.impl.PrimaryControllerSelector;
import org.vast.sensorML.*;

import java.util.UUID;
import org.sensorhub.impl.process.universalcontroller.helpers.ProcessHelper;
import org.sensorhub.impl.process.universalcontroller.ControllerPTZProcess;
import org.sensorhub.impl.process.universalcontroller.PrimaryControllerSelector;

import static org.junit.Assert.assertEquals;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
<sml:AggregateProcess xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sml="http://www.opengis.net/sensorml/2.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" gml:id="F1">
<gml:identifier codeSpace="uid">861a1f13-aee5-463e-a19e-8f0f9103375f</gml:identifier>
<sml:outputs>
<sml:OutputList>
<sml:output name="rpan">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/RelativePan">
<swe:label>Relative Pan</swe:label>
<swe:uom code="deg"/>
</swe:Quantity>
</sml:output>
<sml:output name="rtilt">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/RelativeTilt">
<swe:label>Relative Tilt</swe:label>
<swe:uom code="deg"/>
</swe:Quantity>
</sml:output>
<sml:output name="rzoom">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/RelativeZoomFactor">
<swe:label>Relative Zoom Factor</swe:label>
<swe:uom code="1"/>
</swe:Quantity>
</sml:output>
<sml:output name="sensitivity">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/JoystickSensitivity">
<swe:label>Sensitivity</swe:label>
<swe:uom code=""/>
</swe:Quantity>
</sml:output>
</sml:OutputList>
</sml:outputs>
<sml:components>
<sml:ComponentList>
<sml:component name="gamepadsource">
<sml:SimpleProcess gml:id="F2">
<sml:typeOf xlink:href="urn:osh:process:datasource:stream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/producerURI">urn:osh:sensor:universalcontroller001</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
<sml:component name="primaryselector">
<sml:SimpleProcess gml:id="F3">
<sml:typeOf xlink:href="urn:osh:process:primarycontrollerselector"/>
</sml:SimpleProcess>
</sml:component>
<sml:component name="axisprocess">
<sml:SimpleProcess gml:id="F4">
<sml:typeOf xlink:href="urn:osh:process:universalcontrollerptz"/>
</sml:SimpleProcess>
</sml:component>
<sml:component name="axiscamcontrolrpan">
<sml:SimpleProcess gml:id="F6">
<sml:typeOf xlink:href="urn:osh:process:datasink:commandstream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/systemUID">urn:axis:cam:00408CFBA322</sml:setValue>
<sml:setValue ref="parameters/inputName">ptzControl</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
<sml:component name="axiscamcontrolrtilt">
<sml:SimpleProcess gml:id="F7">
<sml:typeOf xlink:href="urn:osh:process:datasink:commandstream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/systemUID">urn:axis:cam:00408CFBA322</sml:setValue>
<sml:setValue ref="parameters/inputName">ptzControl</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
<sml:component name="axiscamcontrolrzoom">
<sml:SimpleProcess gml:id="F8">
<sml:typeOf xlink:href="urn:osh:process:datasink:commandstream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/systemUID">urn:axis:cam:00408CFBA322</sml:setValue>
<sml:setValue ref="parameters/inputName">ptzControl</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
</sml:ComponentList>
</sml:components>
<sml:connections>
<sml:ConnectionList>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/primaryControlStreamIndex"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/primaryControlStreamIndex"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/numControlStreams"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/numControlStreams"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/numGamepads"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/numGamepads"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/gamepads"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/gamepads"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/primaryselector/outputs/componentRecord"/>
<sml:destination ref="components/axisprocess/inputs/componentRecord"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/rpan"/>
<sml:destination ref="components/axiscamcontrolrpan/inputs/ptzControl/rpan"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/rtilt"/>
<sml:destination ref="components/axiscamcontrolrtilt/inputs/ptzControl/rtilt"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/rzoom"/>
<sml:destination ref="components/axiscamcontrolrzoom/inputs/ptzControl/rzoom"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/rtilt"/>
<sml:destination ref="outputs/rtilt"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/rzoom"/>
<sml:destination ref="outputs/rzoom"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/axisprocess/outputs/sensitivity"/>
<sml:destination ref="outputs/sensitivity"/>
</sml:Link>
</sml:connection>
</sml:ConnectionList>
</sml:connections>
</sml:AggregateProcess>
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<sml:AggregateProcess xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sml="http://www.opengis.net/sensorml/2.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" gml:id="F1">
<gml:identifier codeSpace="uid">861a1f13-aee5-463e-a19e-8f0f9103375f</gml:identifier>
<sml:outputs>
<sml:OutputList>
<sml:output name="velocity">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/RelativePan">
<swe:label>Relative Pan</swe:label>
<swe:uom code="deg"/>
</swe:Quantity>
</sml:output>
</sml:OutputList>
</sml:outputs>
<sml:components>
<sml:ComponentList>
<sml:component name="gamepadsource">
<sml:SimpleProcess gml:id="F2">
<sml:typeOf xlink:href="urn:osh:process:datasource:stream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/producerURI">urn:osh:sensor:universalcontroller001</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
<sml:component name="primaryselector">
<sml:SimpleProcess gml:id="F3">
<sml:typeOf xlink:href="urn:osh:process:primarycontrollerselector"/>
</sml:SimpleProcess>
</sml:component>
<sml:component name="mavlinkProcess">
<sml:SimpleProcess gml:id="F4">
<sml:typeOf xlink:href="urn:osh:process:controllerMavlinkProcess"/>
</sml:SimpleProcess>
</sml:component>
<sml:component name="drone">
<sml:SimpleProcess gml:id="P3">
<sml:typeOf xlink:href="urn:osh:process:datasink:commandstream"/>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/systemUID">urn:osh:template_driver:sensor001</sml:setValue>
<sml:setValue ref="parameters/inputName">offboardControl</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:SimpleProcess>
</sml:component>
</sml:ComponentList>
</sml:components>
<sml:connections>
<sml:ConnectionList>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/primaryControlStreamIndex"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/primaryControlStreamIndex"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/numControlStreams"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/numControlStreams"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/numGamepads"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/numGamepads"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/gamepadsource/outputs/UniversalControllerOutput/gamepads"/>
<sml:destination ref="components/primaryselector/inputs/gamepadRecord/gamepads"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/primaryselector/outputs/componentRecord"/>
<sml:destination ref="components/mavlinkProcess/inputs/componentRecord"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/mavlinkProcess/outputs/velocity"/>
<sml:destination ref="components/drone/inputs/offboardControl/velocity"/>
</sml:Link>
</sml:connection>
<sml:connection>
<sml:Link>
<sml:source ref="components/mavlinkProcess/outputs/yawRate"/>
<sml:destination ref="components/drone/inputs/offboardControl/yawRate"/>
</sml:Link>
</sml:connection>
</sml:ConnectionList>
</sml:connections>
</sml:AggregateProcess>
Empty file.
Loading
Loading