Arduinobord-type lezen

Hardware geleverd door Arduino
Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Arduinobord-type lezen

Berichtdoor Frans53! » 31 Mei 2021, 21:56

Beste forumleden,

Er zal vast wel een manier zijn om softwarematig het aangesloten arduinobordtype te lezen. Het IDE kan het ook!

Ik ben namelijk op een tussenweg bezig om bibliotheken te schrijven. Bibliotheken vind ik nog een stap te ver, maar ik kan al wel functies in een tabblad zetten, en voor standaard functies die in alle projecten van mij voorkomen, is dat al heel erg handig.
Alleen bij verschillende borden moet ik nu verschillende tabbladfuncties schrijven. Ik maak het liefst iets universeels, dus afhankelijk van het aangesloten bord een bepaalde functie laten draaien.
Maar dan moet ik wel het arduinobord-type kunnen lezen.

Het enigste dat ik krijg is het getal 10813, als ik 'ARDUINO' uitlees, dus Serial.print(ARDUINO). en alle borden hetzelfde. (NANO, MEGA2650, UNO, duemilanove) En ik heb ook nog een NANO BLE, maar die heb ik nog niet uitgelezen, omdat de anderen, bedroevend, allemaal hetzelfde nummer geven.

Groetjes,
Frans.

Advertisement

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: Arduinobord-type lezen

Berichtdoor Gij Kieken » 31 Mei 2021, 22:14

Kom je met deze link wat verder in je zoek tocht.
https://github.com/backupbrain/ArduinoBoardManager

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: Arduinobord-type lezen

Berichtdoor Frans53! » 31 Mei 2021, 22:32

ha, da's snel.
Bedankt alvast Gij Kieken, ik ga ermee aan de slag.
Ik laat nog wel weten of het iets is, want ik heb al wel gezien dat het niet volledig is, maar mogelijk is het genoeg.

Groetjes,
Frans

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: Arduinobord-type lezen

Berichtdoor Frans53! » 01 Jun 2021, 09:43

De bibliotheek is al weer "verouderd", van 2015. Helaas kent het nog niet de MEGA2560 en de NANO BLE. Maar ook dat lijkt kinderlijk eenvoudig aan te passen, omdat de bibliotheek eenvoudig is opgezet.

Maar als dan alle borden die hij wel herkent, allemaal hetzefde weergeeft, heb ik dus geen onderscheid in de borden. Nu geeft het op zich niet zo heel erg, want de duemilanove, de UNO en de NANO hebben dezelfde structuur.
Maar de MEGA2560 zou waarschijnlijk ook als een UNO-compatible weergegeven worden, omdat de gebruikte (arduino)-uitlezing, de SDK, bij alle borden 10813 is. zie eerste post.
Maar ik ga dit nog uitproberen door de bibliotheek aan te passen. Jullie horen nog van me.

Nu schrijf ik dit niet om de reactie van Kieken af te kraken, maar meer als naslagwerk voor andere zoekenden.

Ik houd me aanbevolen voor een andere bibliotheek, of anderszins.

Groetjes,
Frans.

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: Arduinobord-type lezen

Berichtdoor Gij Kieken » 01 Jun 2021, 10:26

Ja heb ook nog niet zelf kunnen testen,beetje tijd gebrek.
Maar vindt het een leuke vraag die de moeite loont.
Ben benieuwd naar de oplossing.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduinobord-type lezen

Berichtdoor nicoverduin » 02 Jun 2021, 10:46

Volgens mij kan je alleen de processor detecteren adhv de signature. Zo werken die USB programmers ook. Je kan niet ontdekken welk bordje het is omdat de chip dat zelf ook niet weet. Als ik een 328P in een eigen bordje doe kan de chip niet zien welke dat is.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduinobord-type lezen

Berichtdoor shooter » 02 Jun 2021, 10:50

Hallo nico,
lange tijd niks gehoord?
alles goed daar,
paul deelen
shooter@home.nl

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 02 Jun 2021, 22:30

Frans53! schreef:Er zal vast wel een manier zijn om softwarematig het aangesloten arduinobordtype te lezen. Het IDE kan het ook!


Hallo Frans,
Ja natuurlijk kan dat!

cpp code
#include <avr/boot.h>  // niet vergeten!

char id_string[4] = { 0, 0, 0, 0 };

// eigenlijk 'u_int8_t', maar in mijn (en die van de meeste 8-bit chips ) is dat nog altijd 'char' ...

void setup() {

id_string[0] = boot_signature_byte_get(0x00); // Get first byte from bootrom
id_string[1] = boot_signature_byte_get(0x01); // Second
id_string[2] = boot_signature_byte_get(0x02); // &c.


Serial.begin(2000000);

}

void loop() {

Serial.println(id_string[0], HEX);
Serial.println(id_string[1], HEX);
Serial.println(id_string[2], HEX);
}


RTFM paragraaf 26.8.10 van deze datasheet en bekijk ook Nick Gammon zijn voorbeeld:
https://github.com/nickgammon/arduino_sketches/blob/master/Atmega_Self_Read_Signature/Atmega_Self_Read_Signature.ino

Daar staat, in de .ino onder andere een opsomming van de diverse "Signature Bytes" zoals Microchip (Atmel) ze gedefinieerd heeft.

Success!

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 02 Jun 2021, 23:36

Maarreu, wat is er eigenlijk mis met de compiler directive te lezen?

Daar wordt je namelijk al heel die moeite bespaard.

#ifdef ARDUINO_ZUSENZO
#fi

&c.

Kijk arduinopins.h er eens op na, volgens mij kom je dan al een hoop tegen van wat eigenlijk je bedoeling was.

::

Oh wacht!
Ik snap het!
(denk ik)

jouw code moet ultraportable zijn: "one code to rule them all".
Dient van arduino naar arduino te kunnen reizen, zichzelf aan te passen aan de arduino waar het terechtgekomen is.
En zich dan weer voor verder voort te planten.

Laten we daar nou net mee in oorlog zijn.

Ik voorzie binnen afzienbare tijd code-signatures verschijnen, waardoor het hobbyisme-tijdperk volledig verleden tijd wordt, en alleen nog maar "betrouwbare" mensen code kunnen schrijven.

Ook al is het voor hun eigen brievenbus: ze worden gedwongen zich te registreren, anders weigert HUN EIGEN CODE OP HUN EIGEN APPARAAT te compileren.

Waanzin.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Arduinobord-type lezen

Berichtdoor ctunes » 03 Jun 2021, 00:15

[ironie]Nee, echt! dat IOT heeft de toekomst!

Laten we daar echt allemaal mee bezig gaan zijn[/ironie]

Volgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten