- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Roboter Simulation für Linux

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Anzeige

    LiFePo4 Akku selber bauen - Video
    @Bernd

    Dein Bemühen ehrt dich, aber ich glaube es hat keinen Sinn.
    Ich habe selten jemand mit einem so engen Horizont gesehen.

    Was Pebisoft macht = Gut
    Alles andere = Schlecht, kann nichts sein

    Ich finde so eine Einstellung sehr bedauernswert.

    LG
    Rubi

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    Zitat Zitat von Rubi
    ..
    Was Pebisoft macht = Gut
    Alles andere = Schlecht, kann nichts sein
    stimmt schon, er macht manchmal einen -- hmm -- recht dogmatischen Eindruck. Den Küchenbrettroboter finde ich allerdings garnicht so schlecht.
    Meiner wird natürlich besser, und das ist natürlich objektiv

    ciao .. bernd

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Zitat Zitat von bhm
    Den Küchenbrettroboter finde ich allerdings garnicht so schlecht.
    Ja der gefällt mir auch gut.
    Ist eine ideale Testplatform.

    Zitat Zitat von bhm
    Meiner wird natürlich besser, und das ist natürlich objektiv
    Aber wehe Du nimmst kein Küchebrett.
    Übrigends es muß rote Punkte haben und Design by Pebisoft muß draufstehen, sonst kann das nichts werden.

    LG
    Rubi

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    schaut ihn euch an...neues äußeres technisches design...unter :

    album.persönliche galerie.pebisoft

    programmiert mit "fastavrbasic" für den AVR und "BCX - The Open Source BASIC To C Translator for Windows" auf dem pc.

    ...gameboycam...funkfarbcam...datenspeicherung auf palm m105...raumscanner vorn und hinten (srf04)....easy-funk-modul...sharpsensoren...compasmodul....2 steckbretter....asuro als anhängsel...


    einfach zusammenbaubar, modulare umbauweise...alles einfach geschraubt,
    kabelverbindungen alle gesteckt...ideal für versuche mit den beiden steckbrettern auf dem robby, teile schnell auswechselbar, kann einfach umstrukturiert werden, daten und messpunkte sind überall abgreifbar und speicherbar usw...usw...


    neuester spass :
    kann mit einer ir-diode auf dem küchenbot den 49 euro robosapien steuern. das heisst , der küchenbot fährt los und holt den robosapien per ir-befehl nach und lässt ihn dann bestimmte arbeiten
    verrichten.

    jungs, das ist ein schönes hobby.

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    der code für einpaar scrollbalken ist aber ein bisschen aufgebläht in gtk.
    in http://rjpcomputing.com/?page_id=7 geht es einfacher. schau dort einmal rein.

    Code:
    #include <gtk/gtk.h>
    
    GtkWidget *hscale, *vscale;
    
    static void cb_pos_menu_select( GtkWidget       *item,
                                    GtkPositionType  pos )
    {
        /* Set the value position on both scale widgets */
        gtk_scale_set_value_pos (GTK_SCALE (hscale), pos);
        gtk_scale_set_value_pos (GTK_SCALE (vscale), pos);
    }
    
    static void cb_update_menu_select( GtkWidget     *item,
                                       GtkUpdateType  policy )
    {
        /* Set the update policy for both scale widgets */
        gtk_range_set_update_policy (GTK_RANGE (hscale), policy);
        gtk_range_set_update_policy (GTK_RANGE (vscale), policy);
    }
    
    static void cb_digits_scale( GtkAdjustment *adj )
    {
        /* Set the number of decimal places to which adj->value is rounded */
        gtk_scale_set_digits (GTK_SCALE (hscale), (gint) adj->value);
        gtk_scale_set_digits (GTK_SCALE (vscale), (gint) adj->value);
    }
    
    static void cb_page_size( GtkAdjustment *get,
                              GtkAdjustment *set )
    {
        /* Set the page size and page increment size of the sample
         * adjustment to the value specified by the "Page Size" scale */
        set->page_size = get->value;
        set->page_increment = get->value;
    
        /* This sets the adjustment and makes it emit the "changed" signal to 
           reconfigure all the widgets that are attached to this signal.  */
        gtk_adjustment_set_value (set, CLAMP (set->value,
    					  set->lower,
    					  (set->upper - set->page_size)));
        g_signal_emit_by_name(G_OBJECT(set), "changed");
    }
    
    static void cb_draw_value( GtkToggleButton *button )
    {
        /* Turn the value display on the scale widgets off or on depending
         *  on the state of the checkbutton */
        gtk_scale_set_draw_value (GTK_SCALE (hscale), button->active);
        gtk_scale_set_draw_value (GTK_SCALE (vscale), button->active);  
    }
    
    /* Convenience functions */
    
    static GtkWidget *make_menu_item ( gchar     *name,
                                       GCallback  callback,
                                       gpointer   data )
    {
        GtkWidget *item;
      
        item = gtk_menu_item_new_with_label (name);
        g_signal_connect (G_OBJECT (item), "activate",
    	              callback, (gpointer) data);
        gtk_widget_show (item);
    
        return item;
    }
    
    static void scale_set_default_values( GtkScale *scale )
    {
        gtk_range_set_update_policy (GTK_RANGE (scale),
                                     GTK_UPDATE_CONTINUOUS);
        gtk_scale_set_digits (scale, 1);
        gtk_scale_set_value_pos (scale, GTK_POS_TOP);
        gtk_scale_set_draw_value (scale, TRUE);
    }
    
    /* makes the sample window */
    
    static void create_range_controls( void )
    {
        GtkWidget *window;
        GtkWidget *box1, *box2, *box3;
        GtkWidget *button;
        GtkWidget *scrollbar;
        GtkWidget *separator;
        GtkWidget *opt, *menu, *item;
        GtkWidget *label;
        GtkWidget *scale;
        GtkObject *adj1, *adj2;
    
        /* Standard window-creating stuff */
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        g_signal_connect (G_OBJECT (window), "destroy",
                          G_CALLBACK (gtk_main_quit),
                          NULL);
        gtk_window_set_title (GTK_WINDOW (window), "range controls");
    
        box1 = gtk_vbox_new (FALSE, 0);
        gtk_container_add (GTK_CONTAINER (window), box1);
        gtk_widget_show (box1);
    
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
    
        /* value, lower, upper, step_increment, page_increment, page_size */
        /* Note that the page_size value only makes a difference for
         * scrollbar widgets, and the highest value you'll get is actually
         * (upper - page_size). */
        adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
      
        vscale = gtk_vscale_new (GTK_ADJUSTMENT (adj1));
        scale_set_default_values (GTK_SCALE (vscale));
        gtk_box_pack_start (GTK_BOX (box2), vscale, TRUE, TRUE, 0);
        gtk_widget_show (vscale);
    
        box3 = gtk_vbox_new (FALSE, 10);
        gtk_box_pack_start (GTK_BOX (box2), box3, TRUE, TRUE, 0);
        gtk_widget_show (box3);
    
        /* Reuse the same adjustment */
        hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1));
        gtk_widget_set_size_request (GTK_WIDGET (hscale), 200, -1);
        scale_set_default_values (GTK_SCALE (hscale));
        gtk_box_pack_start (GTK_BOX (box3), hscale, TRUE, TRUE, 0);
        gtk_widget_show (hscale);
    
        /* Reuse the same adjustment again */
        scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj1));
        /* Notice how this causes the scales to always be updated
         * continuously when the scrollbar is moved */
        gtk_range_set_update_policy (GTK_RANGE (scrollbar), 
                                     GTK_UPDATE_CONTINUOUS);
        gtk_box_pack_start (GTK_BOX (box3), scrollbar, TRUE, TRUE, 0);
        gtk_widget_show (scrollbar);
    
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
    
        /* A checkbutton to control whether the value is displayed or not */
        button = gtk_check_button_new_with_label("Display value on scale widgets");
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
        g_signal_connect (G_OBJECT (button), "toggled",
                          G_CALLBACK (cb_draw_value), NULL);
        gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
        gtk_widget_show (button);
      
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    
        /* An option menu to change the position of the value */
        label = gtk_label_new ("Scale Value Position:");
        gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0);
        gtk_widget_show (label);
      
        opt = gtk_option_menu_new ();
        menu = gtk_menu_new ();
    
        item = make_menu_item ("Top",
                               G_CALLBACK (cb_pos_menu_select),
                               GINT_TO_POINTER (GTK_POS_TOP));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        item = make_menu_item ("Bottom", G_CALLBACK (cb_pos_menu_select), 
                               GINT_TO_POINTER (GTK_POS_BOTTOM));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        item = make_menu_item ("Left", G_CALLBACK (cb_pos_menu_select),
                               GINT_TO_POINTER (GTK_POS_LEFT));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        item = make_menu_item ("Right", G_CALLBACK (cb_pos_menu_select),
                               GINT_TO_POINTER (GTK_POS_RIGHT));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu);
        gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0);
        gtk_widget_show (opt);
    
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
    
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    
        /* Yet another option menu, this time for the update policy of the
         * scale widgets */
        label = gtk_label_new ("Scale Update Policy:");
        gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0);
        gtk_widget_show (label);
      
        opt = gtk_option_menu_new ();
        menu = gtk_menu_new ();
      
        item = make_menu_item ("Continuous",
                               G_CALLBACK (cb_update_menu_select),
                               GINT_TO_POINTER (GTK_UPDATE_CONTINUOUS));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        item = make_menu_item ("Discontinuous",
                               G_CALLBACK (cb_update_menu_select),
                               GINT_TO_POINTER (GTK_UPDATE_DISCONTINUOUS));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        item = make_menu_item ("Delayed",
                               G_CALLBACK (cb_update_menu_select),
                               GINT_TO_POINTER (GTK_UPDATE_DELAYED));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
      
        gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu);
        gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0);
        gtk_widget_show (opt);
      
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
    
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
      
        /* An HScale widget for adjusting the number of digits on the
         * sample scales. */
        label = gtk_label_new ("Scale Digits:");
        gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0);
        gtk_widget_show (label);
    
        adj2 = gtk_adjustment_new (1.0, 0.0, 5.0, 1.0, 1.0, 0.0);
        g_signal_connect (G_OBJECT (adj2), "value_changed",
                          G_CALLBACK (cb_digits_scale), NULL);
        scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2));
        gtk_scale_set_digits (GTK_SCALE (scale), 0);
        gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0);
        gtk_widget_show (scale);
    
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
      
        box2 = gtk_hbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
      
        /* And, one last HScale widget for adjusting the page size of the
         * scrollbar. */
        label = gtk_label_new ("Scrollbar Page Size:");
        gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0);
        gtk_widget_show (label);
    
        adj2 = gtk_adjustment_new (1.0, 1.0, 101.0, 1.0, 1.0, 0.0);
        g_signal_connect (G_OBJECT (adj2), "value_changed",
                          G_CALLBACK (cb_page_size), (gpointer) adj1);
        scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2));
        gtk_scale_set_digits (GTK_SCALE (scale), 0);
        gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0);
        gtk_widget_show (scale);
    
        gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
        gtk_widget_show (box2);
    
        separator = gtk_hseparator_new ();
        gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
        gtk_widget_show (separator);
    
        box2 = gtk_vbox_new (FALSE, 10);
        gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
        gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
        gtk_widget_show (box2);
    
        button = gtk_button_new_with_label ("Quit");
        g_signal_connect_swapped (G_OBJECT (button), "clicked",
                                  G_CALLBACK (gtk_main_quit),
                                  NULL);
        gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
        GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
        gtk_widget_grab_default (button);
        gtk_widget_show (button);
    
        gtk_widget_show (window);
    }
    
    int main( int   argc,
              char *argv[] )
    {
        gtk_init (&argc, &argv);
    
        create_range_controls ();
    
        gtk_main ();
    
        return 0;
    }

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    @pebi, wo gibt es die Linux Version ?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    frag mal hier im forum nach :

    http://rjpcomputing.com/v-web/bulletin/bb/index.php

    oder hier :

    http://www.rjpcomputing.com/?page_id=7

    ich arbeite mit windows.

    es ist alles komplett in source-code geschrieben (pelles-c, gibt sogar ein deutsches forum dafür). sogar einige visuelle-ide baukästchen wurde mit bcx to c geschrieben (ez-ide)

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Nein, Pebi
    warum soll ich da nachgucken, schau Dir mal den Topic hier an :
    Titel : "Roboter Simulation für Linux"
    Deswegen meine Frage.
    Du kommst einfach nur mit Deiner Besserwissereinstellung an und laberst einfach was rum "Nimm das, das ist besser, meiner ist länger, dicker, schöner"
    Zum eigentlichem Thema trägst Du nichts sinnvolles bei, aber das kennt schon jeder von Dir.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    Linus mit dem schmusetuch.....

    Software is like s e x: its better when its free...

    dieses sollte der schwachmate torvald mal in deutsch schreiben.

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Ährm, ich glaub so ganz langsam ist das hier mehr Offtopic als das um was es eigentlich geht und der Pepi braucht mal wieder ne Ausszeit...

    Vielleicht spricht ja ein Mod oder Admin ein Machtwort.

    Gruß
    Lutz

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests