You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
894 B
46 lines
894 B
4 years ago
|
|
||
|
#include <AP_HAL/AP_HAL.h>
|
||
|
#include <AP_ONVIF/AP_ONVIF.h>
|
||
|
// #include <DeviceBinding.nsmap>
|
||
|
// #include <MediaBinding.nsmap>
|
||
|
// #include <PTZBinding.nsmap>
|
||
|
|
||
|
void setup();
|
||
|
void loop();
|
||
|
|
||
|
const AP_HAL::HAL& hal = AP_HAL::get_HAL();
|
||
|
|
||
|
AP_ONVIF onvif;
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
printf("AP_ONVIF library test\n");
|
||
|
if (!onvif.init()) {
|
||
|
AP_HAL::panic("Failed to initialise onvif");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void loop()
|
||
|
{
|
||
|
static float pan = 0.0, tilt = 0.0;
|
||
|
static bool move_up;
|
||
|
printf("Sending: %f %f\n", pan, tilt);
|
||
|
onvif.set_absolutemove(pan, tilt, 0);
|
||
|
if (pan < 1.0 && move_up) {
|
||
|
pan += 0.1;
|
||
|
tilt += 0.1;
|
||
|
} else if(pan > -1.0 && !move_up) {
|
||
|
pan -= 0.1;
|
||
|
tilt -= 0.1;
|
||
|
}
|
||
|
if (pan >= 1.0 && move_up) {
|
||
|
move_up = false;
|
||
|
}
|
||
|
if (pan <= -1.0 && !move_up) {
|
||
|
move_up = true;
|
||
|
}
|
||
|
hal.scheduler->delay(10000);
|
||
|
}
|
||
|
|
||
|
AP_HAL_MAIN();
|