mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-21 03:43:26 +08:00
update this basic tool to set actuators
This commit is contained in:
@@ -9,21 +9,17 @@
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "sliding_plot.h"
|
||||
|
||||
|
||||
GtkWidget *scale;
|
||||
GtkWidget *spin;
|
||||
gint ac_id = 42;
|
||||
GtkWidget *spin; /* awfull but a lot easier */
|
||||
|
||||
void on_scale_value_changed (GtkScale *scale, gpointer user_data) {
|
||||
gfloat cf = gtk_range_get_value(GTK_RANGE(scale));
|
||||
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);
|
||||
|
||||
g_message("foo %d %d", s, c);
|
||||
IvySendMsg("ME RAW_DATALINK 14 SET_ACTUATOR;%d;%d", c, s);
|
||||
IvySendMsg("actuators_gtk RAW_DATALINK %d SET_ACTUATOR;%d;%d;%d", ac_id, c, s, ac_id);
|
||||
}
|
||||
|
||||
GtkWidget* build_gui ( void ) {
|
||||
@@ -31,36 +27,39 @@ GtkWidget* build_gui ( void ) {
|
||||
GtkWidget *vbox1;
|
||||
|
||||
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);
|
||||
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_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
|
||||
g_signal_connect ((gpointer) scale, "value_changed",
|
||||
G_CALLBACK (on_scale_value_changed),
|
||||
(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);
|
||||
|
||||
return window1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main (int argc, char** 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();
|
||||
gtk_widget_show_all(window);
|
||||
|
||||
IvyInit ("TestEnose", "Actuators READY", NULL, NULL, NULL, NULL);
|
||||
// IvyBindMsg(on_ENOSE_STATUS, NULL, "^\\S* ENOSE_STATUS (\\S*) (\\S*) (\\S*) (\\S*),(\\S*),(\\S*)");
|
||||
IvyInit ("Setup Actuators", "Actuators READY", NULL, NULL, NULL, NULL);
|
||||
IvyStart("127.255.255.255");
|
||||
|
||||
gtk_main();
|
||||
|
||||
Reference in New Issue
Block a user