platformIO vraagje
Moderator: Moderators
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
platformIO vraagje
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:
wat kan ik daar aan doen?
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:
wat kan ik daar aan doen?
http://www.arjan-swets.com (met cnc filmpjes)
Re: platformIO vraagje
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.
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
Re: platformIO vraagje
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
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
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
Re: platformIO vraagje
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....
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)
-
- Berichten: 641
- Lid geworden op: 15 apr 2019 01:01
Re: platformIO vraagje
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?
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?
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
Re: platformIO vraagje
laat ik gewoon eens bij het begin beginnen....
steeds als ik opstart krijg ik dit:
en dan doe ik Uninstall conflicted.... maar de volgende keer komt het weer...
Dus eerst hoe los ik dat op... ?
steeds als ik opstart krijg ik dit:
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)
-
- Berichten: 641
- Lid geworden op: 15 apr 2019 01:01
Re: platformIO vraagje
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.
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.
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
Re: platformIO vraagje
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....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.
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)
-
- Berichten: 641
- Lid geworden op: 15 apr 2019 01:01
Re: platformIO vraagje
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.
Ik heb zelf echter zeer weinig kennis van PlatformIO en kan daar niet helpen.
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
Re: platformIO vraagje
:-)
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.. :-)
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)
- Swets
- Berichten: 2662
- Lid geworden op: 09 feb 2007 21:49
- Locatie: krimpen aan den IJssel
- Contacteer:
Re: platformIO vraagje
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)
-
- Berichten: 641
- Lid geworden op: 15 apr 2019 01:01
Re: platformIO vraagje
"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.
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.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.