mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-28 18:07:25 +08:00
update this basic tool to set actuators
This commit is contained in:
@@ -9,21 +9,17 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "sliding_plot.h"
|
gint ac_id = 42;
|
||||||
|
GtkWidget *spin; /* awfull but a lot easier */
|
||||||
|
|
||||||
GtkWidget *scale;
|
|
||||||
GtkWidget *spin;
|
|
||||||
|
|
||||||
void on_scale_value_changed (GtkScale *scale, gpointer user_data) {
|
void on_scale_value_changed (GtkScale *scale, gpointer user_data) {
|
||||||
gfloat cf = gtk_range_get_value(GTK_RANGE(scale));
|
gfloat cf = gtk_range_get_value(GTK_RANGE(scale));
|
||||||
gint c = (gint)rint(cf);
|
gint c = (gint)rint(cf);
|
||||||
|
|
||||||
gfloat sf = gtk_spin_button_get_value ( spin);
|
gfloat sf = gtk_spin_button_get_value (( GtkSpinButton*)spin);
|
||||||
gint s = (gint)rint(sf);
|
gint s = (gint)rint(sf);
|
||||||
|
|
||||||
g_message("foo %d %d", s, c);
|
IvySendMsg("actuators_gtk RAW_DATALINK %d SET_ACTUATOR;%d;%d;%d", ac_id, c, s, ac_id);
|
||||||
IvySendMsg("ME RAW_DATALINK 14 SET_ACTUATOR;%d;%d", c, s);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget* build_gui ( void ) {
|
GtkWidget* build_gui ( void ) {
|
||||||
@@ -31,36 +27,39 @@ GtkWidget* build_gui ( void ) {
|
|||||||
GtkWidget *vbox1;
|
GtkWidget *vbox1;
|
||||||
|
|
||||||
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_window_set_title (GTK_WINDOW (window1), "actuators");
|
gtk_window_set_title (GTK_WINDOW (window1), "Set Actuators");
|
||||||
|
gtk_window_set_default_size(GTK_WINDOW (window1), 320, -1);
|
||||||
|
|
||||||
vbox1 = gtk_vbox_new (FALSE, 0);
|
vbox1 = gtk_vbox_new (FALSE, 0);
|
||||||
gtk_container_add (GTK_CONTAINER (window1), vbox1);
|
gtk_container_add (GTK_CONTAINER (window1), vbox1);
|
||||||
|
|
||||||
scale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1500, 1000, 2000, 1, 1, 1)));
|
GtkWidget *scale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1500, 1000, 2000, 1, 1, 0)));
|
||||||
gtk_box_pack_start (GTK_BOX (vbox1), scale, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (vbox1), scale, TRUE, TRUE, 0);
|
||||||
gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
|
gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
|
||||||
g_signal_connect ((gpointer) scale, "value_changed",
|
g_signal_connect ((gpointer) scale, "value_changed",
|
||||||
G_CALLBACK (on_scale_value_changed),
|
G_CALLBACK (on_scale_value_changed),
|
||||||
(gpointer)0);
|
(gpointer)0);
|
||||||
|
|
||||||
spin = gtk_spin_button_new(GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 8, 1, 1, 1)), 1, 0);
|
spin = gtk_spin_button_new(GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 8, 1, 1, 0)), 1, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (vbox1), spin, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (vbox1), spin, TRUE, TRUE, 0);
|
||||||
|
|
||||||
return window1;
|
return window1;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, char** argv) {
|
int main (int argc, char** argv) {
|
||||||
|
|
||||||
gtk_init(&argc, &argv);
|
gtk_init(&argc, &argv);
|
||||||
|
|
||||||
|
if (argc > 1) {
|
||||||
|
ac_id = atoi(argv[1]);
|
||||||
|
} else {
|
||||||
|
g_message("Warning: A/C id not specified; sending to %d", ac_id);
|
||||||
|
}
|
||||||
|
|
||||||
GtkWidget* window = build_gui();
|
GtkWidget* window = build_gui();
|
||||||
gtk_widget_show_all(window);
|
gtk_widget_show_all(window);
|
||||||
|
|
||||||
IvyInit ("TestEnose", "Actuators READY", NULL, NULL, NULL, NULL);
|
IvyInit ("Setup Actuators", "Actuators READY", NULL, NULL, NULL, NULL);
|
||||||
// IvyBindMsg(on_ENOSE_STATUS, NULL, "^\\S* ENOSE_STATUS (\\S*) (\\S*) (\\S*) (\\S*),(\\S*),(\\S*)");
|
|
||||||
IvyStart("127.255.255.255");
|
IvyStart("127.255.255.255");
|
||||||
|
|
||||||
gtk_main();
|
gtk_main();
|
||||||
|
|||||||
Reference in New Issue
Block a user