platformIO vraagje

Gewoon even offtopic praten over van alles en nog wat.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

platformIO vraagje

Bericht door Swets »

Er komen hier nogal veel slimme mensen.... dus hier ook nog maar eens vragen....
ik ben weer eens bezig in Visual Studio, met PlatformIO..

nu heb ik een Arduino verhaal geïmporteerd... en ik kan het builden, maar krijg deze warnings:

Afbeelding


wat kan ik daar aan doen?
http://www.arjan-swets.com (met cnc filmpjes)
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: platformIO vraagje

Bericht door hfjbuis »

Als je kunt builden dan is de volgende stap testen of het werkt.

De melding komt door verkeerd gebruik van strings. Wat mag en hoe het moet, verschilt per versie van de gebruikte compiler.

Hier staat uitgelegd dat je een string constant als string variabele gebruikt en dat mag niet. https://forum.arduino.cc/t/arduino-c-co ... g/695673/6

Het beste is om de code aan te passen. Een andere optie is om PIO een andere compiler te laten selecteren die het niet zo nauw neemt met de regels.
There are only 2 limits, the sky and your imagination
MeMoRy
Berichten: 737
Lid geworden op: 17 okt 2022 09:40
Locatie: Utrecht

Re: platformIO vraagje

Bericht door MeMoRy »

Wat is het prototype van die display_text functie? Het lijkt alsof je die niet goed aanroept. Welke library/ontwikkelomgeving gebruik je precies?

Ik vermoed dat je een C++ compiler gebruikt voor C code. Met C mag je een hoop pointer trucjes doen die niet altijd even veilig zijn. C++ is daar strenger in. Parameters moeten dan bijvoorbeeld const-correct zijn. Maar beter gebruik je dan gewoon std::string en dan zelfs een constant referentie (const &). Of een std::string_view
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: platformIO vraagje

Bericht door Swets »

ff kijken wat je allemaal vraag... :-)

ik had dus een demo gevonden op een arduino Mega voor zo 64x64 matrix board... zo'n hub75

en ik had nog een Nucleo F446RE liggen , en ik wilde die kijken of ik die demo op die aan de gang kan krijg....
maar valt niet mee...

Maar ik ga nog eens kijken.... had het ff een beetje opgegeven....
http://www.arjan-swets.com (met cnc filmpjes)
FreesKever
Berichten: 641
Lid geworden op: 15 apr 2019 01:01

Re: platformIO vraagje

Bericht door FreesKever »

Het eerste wat ik in een dergelijk geval doe als ik de foutmelding niet (helemaal) begrijp is hem simpelweg rechtstreeks in een zoekmachine op internet plakken.

En dan krijg je natuurlijk gelijk een heleboel achtergrond informatie en suggesties voor verschillende toepassingen.

Onderstaande is een voorbeeld wat heel veel lijkt op jouw probleem:
https://forums.mbed.com/t/warning-iso-c ... char/12891

Vooral voor microcontrollers zijn verschillen zoals dit aanzienlijk.
Een voorgedefinieerde string (zoals de argumenten in jouw funktie aanroepen) staat altijd in het Flash geheugen van de microcontroller. Echter, Flash kan niet veranderd worden door het programma. Een string die dus veranderd kan worden. wordt tijdens het opstarten van de microcontroller ("startup code) van FLASH gekopieerd naar RAM. En RAM geheugen is vrij "kostbaar" in een microcontoller.

Bij sommige microcontrollers (zoals de AVR) worden zelfs verschillende machinetaal instrukties gebruikt om een string uit FLASH of uit RAM te lezen.
Een STM32 heeft een heel groot geheugenberijk, en zoekt de processor het zelf uit aan de hand van het adres van de string (weet ik bijna helemaal zeker denk ik).

Bij "arduino" programmeurs zie je vaak slordig werk, of dat ze niet geinteresseerd zijn in zulke verschillen "Het werkt toch" zeggen ze dan.

C++ is een stuk stricter in zulke dingen, en het is dus goed dat je hier een waarschuwing voor krijgt.
Maar het is nog ingewikkelder, omdat de C++ standaard over de laatste 40 jaar nogal geevolueerd is. GCC (jouw compiler) ondersteunt een heleboel verschillende C en C++ standaarden (vaak aangegeven door het jaartal achter de "C" of "C++" te zetten. B.v: "C++17" is de C++ standaard vastgelegd in 2017. (Da's heel wat anders dan "basic" waar iedereen wat aan rotzooit in z'n eigen dialect).

Maar wat heeft dit met CNC te maken?
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: platformIO vraagje

Bericht door Swets »

laat ik gewoon eens bij het begin beginnen....

steeds als ik opstart krijg ik dit:
Afbeelding

en dan doe ik Uninstall conflicted.... maar de volgende keer komt het weer...
Dus eerst hoe los ik dat op... ?
http://www.arjan-swets.com (met cnc filmpjes)
FreesKever
Berichten: 641
Lid geworden op: 15 apr 2019 01:01

Re: platformIO vraagje

Bericht door FreesKever »

Ik raad je aan om naar het platformio forum te gaan.
Als Engels een probleem is, kun je een vertaal plugin in je web browser installeren. Je kunt ook een vertaal website openen, en dan zelf knippen en plakken tussen verschillende locaties.

Heb je een reden om met een nucleo_F446re aan de slag te gaan, of is het vooral "omdat je er toevallig een hebt liggen"?
STM32 is een behoorlijk fors complex verhaal. Ik vermoed dat je beter af bent met een bordje dat als "arduino" verkocht wordt, omdat dan meer mensen met dezelfde combinatie bezig zijn en dus meer problemen al opgelost zijn zodat jij ze niet meer tegenkomt.
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: platformIO vraagje

Bericht door Swets »

FreesKever schreef: 06 aug 2023 23:02 Ik raad je aan om naar het platformio forum te gaan.
Als Engels een probleem is, kun je een vertaal plugin in je web browser installeren. Je kunt ook een vertaal website openen, en dan zelf knippen en plakken tussen verschillende locaties.

Heb je een reden om met een nucleo_F446re aan de slag te gaan, of is het vooral "omdat je er toevallig een hebt liggen"?
STM32 is een behoorlijk fors complex verhaal. Ik vermoed dat je beter af bent met een bordje dat als "arduino" verkocht wordt, omdat dan meer mensen met dezelfde combinatie bezig zijn en dus meer problemen al opgelost zijn zodat jij ze niet meer tegenkomt.
nou Arduino enzo is niet zo probleem..... Ik ben voor dit verhaal : https://www.cnczone.nl/viewtopic.php?p=238803#p238803 naar een Nucleo F446RE gegaan en naar PLatformIO....




dus ik wil dus beter thuis worden in dat PlatformIO en in die STM32 (Nucleo F466RE)....

nu had ik dat ledmatrix aan de gang met de Arduino mega... en nu wilde ik dus eens kijken of ik hem via die Nucleo aan de gang kan krijgen...
maar in platformIO kan je alle arduino projecten importeren? dus ik heb de daarvoor gekozen, zo heb ik toen ook dat kabelrobot project omgezet van arduino naar nucleo... en dat ging niet echt super moeilijk...

dus antwoord op jouw vraag.... ja die F446RE heb ik liggen.... en dus ja... je moet je eigen toch ergens een doel stellen .... dus van daar dit... ik heb wel een aantal projecten gevonden met een stm32 en die hub75 matrixen... maar ook dan weet ik niet hoe ik beginnen moet....
http://www.arjan-swets.com (met cnc filmpjes)
FreesKever
Berichten: 641
Lid geworden op: 15 apr 2019 01:01

Re: platformIO vraagje

Bericht door FreesKever »

Ok, als je het leuk vind om met een uitdaging zoals dit bezig te gaan dan is dat helemaal OK natuurlijk.
Ik heb zelf echter zeer weinig kennis van PlatformIO en kan daar niet helpen.
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: platformIO vraagje

Bericht door Swets »

:-)

jammer....

maar nu ga ik zo naar me nest..... en ook heb ik al een week pijn in me keel, en als ex kanker patiënt is dat ook nooit prettig...

dus ook eigenlijk kan ik nu beter niet aan dit soort dingen beginnen.... ik wil eigenlijk lekker hobbyen , en proberen niet te veel aan pijntjes en kanker te denken....
maar helemaal lukken doet dat niet.... :-) maar als ik tijd van leven heb, zal ik het best wel weer voor elkaar krijgen.... maar niet vanavond.. :-)
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: platformIO vraagje

Bericht door Swets »

keelpijn is bijna weg... en dan voel ik me zo lul dat ik me zo druk heb loop te maken... maar ja... valt ook niet mee je denken ff uit te zetten.... :-)
http://www.arjan-swets.com (met cnc filmpjes)
FreesKever
Berichten: 641
Lid geworden op: 15 apr 2019 01:01

Re: platformIO vraagje

Bericht door FreesKever »

"Hub 75 Matrix". Huh???

Oh, die, ja die zijn ook wel leuk, en daar heb je een best vlot processortje voor nodig denk ik (afhankelijk van de animatie?) Ik denk dat ze zelf het display multiplexen.

Ik denk dat het met deze ook kan:
https://hackaday.com/2020/01/24/new-par ... -disguise/

Als je de uitdaging wat wilt verkleinen (Grotere kans op succes leidt af en motiveert) dan denk ik dat het goed is om naar b.v. een ESP32 of een RP2040 te kijken. Dat zijn bordjes waar zoveel beginners mee aan de slag zijn gegaan dat de lullige dingetjes al voor je zijn weg gebrijd.

Ik heb zelf eens een Wemos D1 Mini (ESP8266) in een middagje aan de gang gekregen. Daarna is tie weer in de kast beland.
Ik_heb_het_nog_nooit_gedaan.jpg
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Plaats reactie