./ucp.php?mode=register&sid=2f023f34c5565b82003b9ae013d24e3f Ik ben mijn wachtwoord vergeten
door ctunes » 03 Jun 2021, 00:18
Binnenkort zit de postbode op zijn bank te bekijken hoe jouw pakketje wordt afgeleverd.
En als het gelukt is klikt hij op OK, en heeft weer geld verdient.
Ik weet niet voor welke mensen dit Utopia kan inhouden, ik weet wel dat ze bestaan.
Want mijn library/gedachtengoed werkt op elk platform immers.
door Frans53! » 03 Jun 2021, 21:33
Best bedankt voor jullie meedenken. Ik ga zéker een en ander bekijken.
Het belangrijkste wat ik wil is een bibliotheek.. ow nee, dat lukt nog niet, nee, in tabbladen van het IDE de functies plaatsen van bijvoorbeeld het RS485 / SoftwareSerieel netwerk.
Ik heb inmiddels maximaal 15 arduino's in het netwerk zitten van de board types die ik eerder noemde. Dat is een keuze geweest in de tijdlijn (project loopt al even...)
En ik wil slechts één tabblad maken, voor alle arduinotypes hetzelfde. En niet telkens regeltjes van de functies moeten aanpassen aan het type bord.
Maar misschien heb ik al genoeg aan alleen het type van de processor, want dat zegt al iets over de pinbezetting en de manier van de USB-aansluiting (denk bijvoorbeeld aan de NANO BLE, dat een eigen USB protocol heeft, waardoor de seriele poorten 0 en 1 vrij blijven (en Serial1 worden genoemd)).
Nu is het zo, dat ik bij een update van de functies in het tabblad, telkens bepaalde regels moet aanpassen, afhankelijk van de type board / processor.
Maar jullie zien me hier nog terug, hoe het is gelopen.
door Frans53! » 03 Jun 2021, 21:45
Er is weer iets misgegaan, mijn reactie is weer zoek.
Allemaal heel erg bedankt voor jullie reacties. Ik ga ze zeker onderzoeken.
Voor wat betreft het reizen van mijn arduino door het netwerk, is leuk bedacht hoor. Óf is snap het niet, óf ik snap het niet....
Wat ik wil is een board-onafhankelijke bibliotheek, alleen bibliotheken schrijven lukt me nog niet, ik begrijp ze wel, maar kan ze nog niet zelf produceren.
Als tussenoplossing zet ik de vele functies in een tabblad van IDE. Voor elk station in mijn project zijn die hetzelfde, op de board-aanpassingen na. Bij een update hoef ik dan alleen die tabbladen te wijzigen.
Waar dat het meest nut heeft is het RS485 / SoftwareSerial netwerk, waarmee alle stations zijn verbonden. Gaandeweg wijzigen die functies wel eens door andere inzichten en mogelijkheden.
Jullie zien me hier nog een terug met wat het uiteindelijk is geworden.
door Frans53! » 03 Jun 2021, 21:47
mijn reacties komen ergens anders terecht, even deze knop proberen....
door Frans53! » 03 Jun 2021, 21:49
door Frans53! » 03 Jun 2021, 22:53
Hoi Ctunes,
jouw korte cpp-tje werk heel leuk: Met weinig toch de juiste gegevens binnenhalen.
Het eerste byte zijn steeds dezelfde (1E), alleen loopt monitor af en toe hierop vast. Ergens een verborgen foutcode voor Serial.print?? heb ik wel vaker met andere stoorpulsen, waardoor serial blokkeert.
Nu lijkt me het tweede byte bord-afhankelijk, als een soort van serienummer, want 2 uno's en 2 nano's met verschillend nummer lijkt me geen toeval.
Het derde byte is chip-afhankleijk. Hierbij zijn de NANO gelijk aan de UNO's, en dat is geen probleem.
De mega2560 is een eigenwijze, prima zo.
Maar de NANO BLE lukt niet. Hij herkent avr/boot niet als file of directory. Weet jij hoe dat komt?
Maar buiten die BLE om kan ik hier wel wat mee.
door ctunes » 06 Jun 2021, 21:54
Wat bedoel jij met een "tabblad"?
door ctunes » 06 Jun 2021, 21:58
Wat ik je doorgaf was de identiteit van de chip,
Wat jij zoekt is daarbij ook het serienummer?
door ctunes » 06 Jun 2021, 22:15
Dat was overigens niet wat je vroeg: "Arduinobord-type lezen"
door Frans53! » 07 Jun 2021, 11:53
dag Ctunes,
Bedankt weer voor je reacties.
Tabblad is mogelijk op de originele offline IDE van Arduino.
programma in een tabblad, of meer dan 1, worden op één hoop gegooid bij het copieren. Belangrijk voor wát je in een tabblad zet, dus bijvoorbeeld geen setup(), dan zou die er 2x in komen te staan. Vooralsnog alleen functies, subroutines.
In mijn geval erg handig met grote "bibliotheken" die ik zelf heb gemaakt. Initialisaties van die bibliotheken moeten vooransnog in het hoofdprogramma, die veranderen meestal niet meer. Ik schrijf expres "bibliotheken" omdat het geen echte bibliotheken zijn; die beheers ik nog niet.
En wat ik wil is een board-type binnenhalen, waardoor ik in mijn routines, afhankelijk van het board-type, handelingen kan uitvoeren.
Bij mij geldt dat voor het netwerk. Omdat de atmega328 te benaderen zijn door SoftwareSerial en de 2560 en de BLE met Serial1, wil ik dit onderscheid softwarematig kunnen maken. Daar zou ik dan simpelweg op kunnen detecteren.
Ik hoef geen onderscheid te maken in bijvoorbeeld de NANO en de UNO, want de structuur is dezelfde. Ik hoef alleen het derde item uit te lezen, adres 0x02 van het boot signature.
Ik ga nog wel uitzoeken of ik de avr/boot bibliotheek kan omzeilen, omdat de BLE die niet herkent. De compiler loopt erop vast.
Gaandeweg deze post ben ik erachter gekomen dat ik niet persé het bord-type hoef te weten, de processortype is al voldoende.
Voor de atmega328 is de laagste byte 0x95, voor de 2560 0x98. dáár heb ik wat aan. Nu nog uitwerken.
En het "serienummer", het 2e item uit het boot signatuur, verschilt zelfs binnen hetzelfde echte board-type, dus ook tussen twee nano's. Daar heb ik niet veel aan.