FlyingDoc Geschrieben March 1, 2013 at 13:04 Geschrieben March 1, 2013 at 13:04 Ich stelle gerade mein C++Projekt auf 2.0 um. Da ich die Hardware mit der ipcon_enumerate Funktion abfrage um zu schauen was installiert ist, ist mir folgendes auf b.z.w. eingefallen. Ihr liefert im Callback cb_enumerate(const char *device_uid, const char *connected_uid,char position,uint8_t hardware_version[3],uint8_t firmware_version[3],uint16_t device_identifier,uint8_t enumeration_type,void *user_data) zurück. Mit dem rot markierten Teil kann man ja den Typ identifizieren. Ich habe aber noch keine Definition gefunden. Also hab ich mir die Mühe gemacht sie selber herauszufinden. Das habe ich dann benutzt um folgendes festzulegen. #define ID_IMU_BRICK 16 #define ID_MASTER_BRICK 13 #define ID_ANALOG_IN_BRICKLET 219 #define ID_ROTARY_POTI_BRICKLET 215 #define ID_TEMPERATURE_BRICKLET 216 #define ID_BAROMETER_BRICKLET 221 #define ID_IO16_BRICKLET 28 #define ID_GPS_BRICKLET 222 Damit lässt sich leicht der Typ identifizieren und entsprechend das Programm zu steuern. Bei mir sieht das als Beispiel folgendermaßen aus. void cb_enumerate(const char *device_uid, const char *connected_uid,char position,uint8_t hardware_version[3],uint8_t firmware_version[3],uint16_t device_identifier,uint8_t enumeration_type,void *user_data) { if(device_identifier==ID_MASTER_BRICK) { printf("MASTER_BRICK\n"); } if(device_identifier==ID_IMU_BRICK) { printf("IMU gefunden\n"); } } Wenn ihr diese Definitionen gleich im ip_connections mit unterbringt, erleichter sich vieles damit. Zitieren
photron Geschrieben March 1, 2013 at 13:17 Geschrieben March 1, 2013 at 13:17 Diese Defines gibt es schon, es fehlt aber wohl noch deren Dokumentation. Zum Beispiel #define AMBIENT_LIGHT_DEVICE_IDENTIFIER 21 in bricklet_ambient_light.h. Zitieren
FlyingDoc Geschrieben March 1, 2013 at 13:28 Autor Geschrieben March 1, 2013 at 13:28 Ah. Grad beim IMU gefunden. Ist aber ziehmlich versteckt das ganze. Zitieren
photron Geschrieben March 5, 2013 at 18:00 Geschrieben March 5, 2013 at 18:00 Ist jetzt auch dokumentiert. Jeder Brick und Bricklet hat jetzt in der API Dokumentation einen Abschnitt über Konstanten. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.