OutdoorRob Posted December 22, 2023 at 12:00 PM Posted December 22, 2023 at 12:00 PM (edited) Hallo zusammen, gibt es eine Art Referenz Tabelle (Übersicht) in der ersichtlich ist, welche API Funktionen mit welchen Parametern für welche Bricklets zur Verfügung stehen? Mir ist bewusst, dass diese für die entsprechenden Plugins entsprechend wohl dokumentiert sind. Da ich jedoch jetzt allgemeine Funktionen schreiben möchte, die möglichst unabhängig vom verwendeten Bricklet sind, wäre es gut für ein entsprechendes Konzept den Überblick zu haben, wie sich die Bricklets seitens der API Funktionen unterscheiden. Also in etwa eine solche Übersicht: Falls nicht, werde ich wohl in Zukunft Updates an meiner Tabelle hier posten :-) Oder das Ergebnis ist, dass die Unterschiede viel zu groß sind um irgendwelche nützlichen Gemeinsamkeiten zu finden. Ich werde berichten. Liebe Grüße und ein schönes Weihnachtsfest allen, Robert TinkerForge_C#-API-Function-Reference.pdf TinkerForge_C#-API-Function-Reference.xlsx Edited January 8, 2024 at 05:22 AM by OutdoorRob add current version of documents Quote
MatzeTF Posted December 22, 2023 at 04:05 PM Posted December 22, 2023 at 04:05 PM Offiziell gibt es eine solche Tabelle nicht. Ich kann natürlich nicht ausschließen, dass sich schon jemand anders die Mühe gemacht hat, allerdings weiß ich davon nichts. Wir hatten auch schon daran gedacht, die API zwischen den Bricklets zu vereinheitlichen. Leider ist das alles historisch gewachsen und deshalb nicht einheitlich. Rückblickend würden wir das sicherlich anders machen. Aktuell ist da noch nichts geplant, da wir im Moment nicht die Zeit haben, bei den Bricklets alles umzuwerfen. 1 Quote
OutdoorRob Posted December 26, 2023 at 09:11 AM Author Posted December 26, 2023 at 09:11 AM Hallo Matze, danke für fixe Antwort. Alles schick mit der API - hinterher ist man immer schlauer und irgendwann kommt der Zeitpunkt für eine Version 2.0 wo man all seine Erfahrungen dann einfließen lassen kann ☺️ Für meine Zwecke habe ich bereits einige Gemeinsamkeiten gefunden die ich nutzen kann. Es ist ja eh immer so eine Sache wie sehr eine Vereinheitlichung möglich und sinnvoll ist. Die Bricklets bieten nun mal unterschiedliche Funktionalitäten und es kommen immer neue Dinge hinzu an die man vorher nie gedacht hat - also wird es wohl nie die einheitliche API geben. Auch Software lebt :D Ich werde meine Tabelle einfach hier weiter posten und gern als Excel zur Verfügung stellen wenn Bedarf besteht (oder ihr habt eine Art öffentliches Wiki wo man sowas eintragen kann!?) Danke auf jeden Fall für euer geniales Projekt und vor allem den Open Source Ansatz. - ganz getreu dem Motto Kooperation statt Konkurrenz. Ich hoffe, dass in Zukunft viele Menschen und Unternehmen lernen, dass dies für alle zum Vorteil ist und ein effektiveres und gesünderes Wachstum ermöglicht. In diesem Sinne, noch ein paar ruhige Tage euch allen 🙏 Quote
Superp Posted December 26, 2023 at 11:55 PM Posted December 26, 2023 at 11:55 PM Interesting question. I have done some work in that area. To get a rough idea of what we are talking about, I whipped up a quick script in Ruby to count the number of instance methods for each of the 147 device classes (135 Bricklets and 12 Bricks). The devices with the fewest methods are the two ESP32 Bricks (23 methods). The Master Brick has the most methods (146). Looking at Bricklets only, the outliers are the RGB LED Bricklet (25) and the LCD 128x64 Bricklet (86 methods). This is excluding 61 instance methods for the generic Object class (which all classes inherit from). For example, the ESP32 Brick has 84 instance methods, 61 of which are inherited from the Object class. So 23 are Tinkerforge originals. As an aside, this confirms what we already know: API support for the ESP32 Bricks is very poor. Note that Tinkerforge's base Device class, which those 147 classes inherit from, has 22 instance methods (again excluding the ones inherited from Object). In total, 147 device classes use 1.111 unique names for instance methods. Finally, a reminder that this is a quick hack. YMMV. Comments welcome. Without further ado, here is the table of devices, sorted by name, with their number of instance methods: Accelerometer Bricklet 37 Accelerometer Bricklet 2.0 46 Air Quality Bricklet 55 Ambient Light Bricklet 36 Ambient Light Bricklet 2.0 33 Ambient Light Bricklet 3.0 40 Analog In Bricklet 40 Analog In Bricklet 2.0 38 Analog In Bricklet 3.0 42 Analog Out Bricklet 27 Analog Out Bricklet 2.0 26 Analog Out Bricklet 3.0 37 Barometer Bricklet 43 Barometer Bricklet 2.0 52 CAN Bricklet 36 CAN Bricklet 2.0 59 CO2 Bricklet 31 CO2 Bricklet 2.0 51 Color Bricklet 42 Color Bricklet 2.0 48 Compass Bricklet 45 Current12 Bricklet 38 Current25 Bricklet 38 DC Brick 58 DC Bricklet 2.0 56 Distance IR Bricklet 38 Distance IR Bricklet 2.0 47 Distance US Bricklet 33 Distance US Bricklet 2.0 42 DMX Bricklet 50 Dual Button Bricklet 28 Dual Button Bricklet 2.0 41 Dual Relay Bricklet 29 Dust Detector Bricklet 33 E-Paper 296x128 Bricklet 55 Energy Monitor Bricklet 45 ESP32 Brick 23 ESP32 Ethernet Brick 23 GPS Bricklet 40 GPS Bricklet 2.0 58 GPS Bricklet 3.0 58 Hall Effect Bricklet 33 Hall Effect Bricklet 2.0 43 HAT Brick 44 HAT Zero Brick 38 Humidity Bricklet 36 Humidity Bricklet 2.0 47 IMU Brick 71 IMU Brick 2.0 73 IMU Bricklet 3.0 67 Industrial Analog Out Bricklet 32 Industrial Analog Out Bricklet 2.0 46 Industrial Counter Bricklet 53 Industrial Digital In 4 Bricklet 35 Industrial Digital In 4 Bricklet 2.0 45 Industrial Digital Out 4 Bricklet 32 Industrial Digital Out 4 Bricklet 2.0 44 Industrial Dual 0-20mA Bricklet 33 Industrial Dual 0-20mA Bricklet 2.0 46 Industrial Dual AC Relay Bricklet 42 Industrial Dual Analog In Bricklet 36 Industrial Dual Analog In Bricklet 2.0 50 Industrial Dual Relay Bricklet 40 Industrial PTC Bricklet 50 Industrial Quad Relay Bricklet 32 Industrial Quad Relay Bricklet 2.0 42 IO-16 Bricklet 38 IO-16 Bricklet 2.0 49 IO-4 Bricklet 38 IO-4 Bricklet 2.0 51 Isolator Bricklet 43 Joystick Bricklet 38 Joystick Bricklet 2.0 42 Laser Range Finder Bricklet 46 Laser Range Finder Bricklet 2.0 51 LCD 128x64 Bricklet 86 LCD 16x2 Bricklet 34 LCD 20x4 Bricklet 38 LED Strip Bricklet 40 LED Strip Bricklet 2.0 50 Line Bricklet 31 Linear Poti Bricklet 36 Linear Poti Bricklet 2.0 38 Load Cell Bricklet 40 Load Cell Bricklet 2.0 46 Master Brick 146 Moisture Bricklet 33 Motion Detector Bricklet 27 Motion Detector Bricklet 2.0 40 Motorized Linear Poti Bricklet 43 Multi Touch Bricklet 30 Multi Touch Bricklet 2.0 45 NFC Bricklet 70 NFC/RFID Bricklet 31 OLED 128x64 Bricklet 29 OLED 128x64 Bricklet 2.0 43 OLED 64x48 Bricklet 29 One Wire Bricklet 42 Outdoor Weather Bricklet 45 Particulate Matter Bricklet 44 Performance DC Bricklet 69 Piezo Buzzer Bricklet 26 Piezo Speaker Bricklet 27 Piezo Speaker Bricklet 2.0 41 PTC Bricklet 43 PTC Bricklet 2.0 50 Real-Time Clock Bricklet 33 Real-Time Clock Bricklet 2.0 44 RED Brick 84 Remote Switch Bricklet 32 Remote Switch Bricklet 2.0 47 RGB LED Bricklet 25 RGB LED Bricklet 2.0 36 RGB LED Button Bricklet 40 RGB LED Matrix Bricklet 45 Rotary Encoder Bricklet 32 Rotary Encoder Bricklet 2.0 39 Rotary Poti Bricklet 36 Rotary Poti Bricklet 2.0 38 RS232 Bricklet 35 RS232 Bricklet 2.0 50 RS485 Bricklet 85 Segment Display 4x7 Bricklet 28 Segment Display 4x7 Bricklet 2.0 44 Servo Brick 69 Servo Bricklet 2.0 61 Silent Stepper Brick 81 Silent Stepper Bricklet 2.0 83 Solid State Relay Bricklet 28 Solid State Relay Bricklet 2.0 39 Sound Intensity Bricklet 31 Sound Pressure Level Bricklet 44 Stepper Brick 75 Temperature Bricklet 33 Temperature Bricklet 2.0 40 Temperature IR Bricklet 38 Temperature IR Bricklet 2.0 43 Thermal Imaging Bricklet 50 Thermocouple Bricklet 34 Thermocouple Bricklet 2.0 41 Tilt Bricklet 28 UV Light Bricklet 31 UV Light Bricklet 2.0 46 Voltage Bricklet 36 Voltage/Current Bricklet 45 Voltage/Current Bricklet 2.0 48 XMC1400 Breakout Bricklet 46 1 Quote
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.