Annan utvecklingsmiljö till Arduino?
Annan utvecklingsmiljö till Arduino?
Jag tycker att Arduinos IDE är tämligen begränsad och är övertygad om att det måste finnas bättre alternativ där ute.
Litet googlande gav att AVR Studio 5.0 skulle gå att använda men det får jag inte till alls.
Är det någon här som programmerar sina Arduinos i någon annan miljö än Arduino IDE?
Litet googlande gav att AVR Studio 5.0 skulle gå att använda men det får jag inte till alls.
Är det någon här som programmerar sina Arduinos i någon annan miljö än Arduino IDE?
Re: Annan utvecklingsmiljö till Arduino?
Är inte själva grundiden med Arduino att man har en hårdvara och en IDE,
allt från samma ställe och från samma site och som helt hänger ihop ?
allt från samma ställe och från samma site och som helt hänger ihop ?
Re: Annan utvecklingsmiljö till Arduino?
Ett Arduino kort är ju i princip endast en utpinnad ATMEGA.
Du kan använda vilket IDE som helst (ink. AVR studio) och valfritt programmeringsspråk.
Programmering kan då givetvis inte ske via Arduino bootloader utan över JTAG (eller annan bootloader).
Du kan använda vilket IDE som helst (ink. AVR studio) och valfritt programmeringsspråk.
Programmering kan då givetvis inte ske via Arduino bootloader utan över JTAG (eller annan bootloader).
Re: Annan utvecklingsmiljö till Arduino?
Det är möjligt. Rent av sannolikt, faktiskt.sodjan skrev:Är inte själva grundiden med Arduino att man har en hårdvara och en IDE,
allt från samma ställe och från samma site och som helt hänger ihop ?
Men något svar på min fråga är det inte.
Arduino är ett jättebra koncept. Man kommer igång snabbt, det finns gott om exempel och även gott om hjälp från erfarna och hjälpsamma användare.
Att, som du tycks göra, förutsätta att man blir inlåst och accepterar det man tycker mindre om istället för att söka en lösning för det är rätt bakåtsträvande och improduktivt.
Re: Annan utvecklingsmiljö till Arduino?
Arduinon är i mina ögon en upphottat STAMP, alltså:
* Enkel att starta med.
* Enkel att programmera.
* Skaplig hastighet (vida överlägsen STAMP).
* Inte så sinnessjukt dyr.
* Många "shields" som gör att man enkelt kan komma igång med motorer osv.
Men man förlorar en hel del i mitt tycke:
* Massa av färdiga funktioner - men man vet inte exakt vad de gör.
* Färdiga funktioner ger dåligt koll på hur man styr en µC.
* Standard shields gör att många inte tar steget att faktisk göra det rätta drivsteg, det finns ju ändå något som nästan duger.
* Den bristande närhet till hårdvaran gör det svårt att ta sig ut i verkligheten, ingen seriös konstruktör skulle basera ett produkt för serietillverkning på Arduino. Och visst, det är ämnat åt amatörer men ibland händer det att en blind höna hittar ett guldkorn, faktisk tror jag att en amatör kan åstadkomma bättre resultat än en professionell, helt enkelt för att de tar sig längre tid att testa och kela för mjukvaran.
Ett projekt som innefattar styrd mekanik kräver en balans mellan datorkraft & funktioner, korrekt dimensionerat mekanik, drivsteg som designas efter mekanikens krav osv. Med färdiga lösningar blir det ofta stympat lite har och var, oftast i mekaniken och det leder till att man kan göra många halvdana projekt som nästan fungerar som tänkt - "om bara man kunde ändra xxx ville det vara perfekt".
I min värld är detta med halvdana projekt som inte kan bli bra pga. begränsningar en extrem glädjedödare och lusten att gå vidare försvinner snabbt.
Min "misstro" är inte enbart riktat mot Arduino men den sorts system i gemen, alla dessa "kom enkelt igång" brukar också vara lika med "kom inte så långt" samt "du får nöja dig med hälften".
Själv använder jag helst µC som medger enkel programmering, där fungerar Fujitsus FFMC-16L(X) samt Renesas M16C-serie extremt lika:
En UART kopplas via en MAX232 (eller liknande) kopplas till en COM-port (USB-dongel fungerar perfekt), en eller ett par pinnar kopplas till rätt läge, det exakta antal beror på kapslingens pinantal, man aktiverar Reset och bootloadern är igång. Att jag sedan har automatiserat den funktion till att styra nivå & Reset medelst handskakningssignalerna på COM-porten är bara för att jag är lat. Jag behöver alltså ingen JTAG eller annan programmeringsenhet, jag behöver en COM-port och en bygling.
Men visst, det kräver en del grundvetande och kunnande att klämma ut det sista av ett helt eget design så det är en balansgång.
* Enkel att starta med.
* Enkel att programmera.
* Skaplig hastighet (vida överlägsen STAMP).
* Inte så sinnessjukt dyr.
* Många "shields" som gör att man enkelt kan komma igång med motorer osv.
Men man förlorar en hel del i mitt tycke:
* Massa av färdiga funktioner - men man vet inte exakt vad de gör.
* Färdiga funktioner ger dåligt koll på hur man styr en µC.
* Standard shields gör att många inte tar steget att faktisk göra det rätta drivsteg, det finns ju ändå något som nästan duger.
* Den bristande närhet till hårdvaran gör det svårt att ta sig ut i verkligheten, ingen seriös konstruktör skulle basera ett produkt för serietillverkning på Arduino. Och visst, det är ämnat åt amatörer men ibland händer det att en blind höna hittar ett guldkorn, faktisk tror jag att en amatör kan åstadkomma bättre resultat än en professionell, helt enkelt för att de tar sig längre tid att testa och kela för mjukvaran.
Ett projekt som innefattar styrd mekanik kräver en balans mellan datorkraft & funktioner, korrekt dimensionerat mekanik, drivsteg som designas efter mekanikens krav osv. Med färdiga lösningar blir det ofta stympat lite har och var, oftast i mekaniken och det leder till att man kan göra många halvdana projekt som nästan fungerar som tänkt - "om bara man kunde ändra xxx ville det vara perfekt".
I min värld är detta med halvdana projekt som inte kan bli bra pga. begränsningar en extrem glädjedödare och lusten att gå vidare försvinner snabbt.
Min "misstro" är inte enbart riktat mot Arduino men den sorts system i gemen, alla dessa "kom enkelt igång" brukar också vara lika med "kom inte så långt" samt "du får nöja dig med hälften".
Själv använder jag helst µC som medger enkel programmering, där fungerar Fujitsus FFMC-16L(X) samt Renesas M16C-serie extremt lika:
En UART kopplas via en MAX232 (eller liknande) kopplas till en COM-port (USB-dongel fungerar perfekt), en eller ett par pinnar kopplas till rätt läge, det exakta antal beror på kapslingens pinantal, man aktiverar Reset och bootloadern är igång. Att jag sedan har automatiserat den funktion till att styra nivå & Reset medelst handskakningssignalerna på COM-porten är bara för att jag är lat. Jag behöver alltså ingen JTAG eller annan programmeringsenhet, jag behöver en COM-port och en bygling.
Men visst, det kräver en del grundvetande och kunnande att klämma ut det sista av ett helt eget design så det är en balansgång.
Re: Annan utvecklingsmiljö till Arduino?
> Men något svar på min fråga är det inte.
Nej, men lite mer konkret info om vad du får för problem hade kanske hjälpt.
"Litet googlande" och "det får jag inte till alls" säger ju ingenting.
> Att, som du tycks göra, förutsätta att man blir inlåst...
Det låter som att du med automatik anser att det du kallar "inlåsning" är något negativt.
För väldigt många är det precis tvärtom, och en anledning till att de kör Arduino...
Hur som helst, med lite mer konkret info kring vad du faktriskt fick för problem så kan
säkert de AVR kunniga bidra lite mer.
Nej, men lite mer konkret info om vad du får för problem hade kanske hjälpt.
"Litet googlande" och "det får jag inte till alls" säger ju ingenting.
> Att, som du tycks göra, förutsätta att man blir inlåst...
Det låter som att du med automatik anser att det du kallar "inlåsning" är något negativt.
För väldigt många är det precis tvärtom, och en anledning till att de kör Arduino...

Hur som helst, med lite mer konkret info kring vad du faktriskt fick för problem så kan
säkert de AVR kunniga bidra lite mer.
Re: Annan utvecklingsmiljö till Arduino?
Givetvis inte? Det beror väl på vilket format bootloadern tar emot? Den kanske kan ta emot standard hexfiler? I så fall kan ju AVRStudio5 skapa sådana. Man kan ju tänka sig en kombination - att du programmerar i AVRStudio men programmerar med arduino-mjukvaran (Om det där med hexfilen stämmer).Programmering kan då givetvis inte ske via Arduino bootloader utan över JTAG (eller annan bootloader).
Vad är det du inte får till med AVRStudio?
Re: Annan utvecklingsmiljö till Arduino?
Ett väl fungerande miljö är ju Eclipse som integreras med WinAVR och AVRStudio, bättre än så fungera det väl knappast. Skaffa en AVRISP och saken är biff.
Re: Annan utvecklingsmiljö till Arduino?
Vad jag menade var att man inte kan flasha en Arduino innifrån AVR Studio direkt.jesse skrev:Givetvis inte? Det beror väl på vilket format bootloadern tar emot? Den kanske kan ta emot standard hexfiler? I så fall kan ju AVRStudio5 skapa sådana. Man kan ju tänka sig en kombination - att du programmerar i AVRStudio men programmerar med arduino-mjukvaran (Om det där med hexfilen stämmer).Programmering kan då givetvis inte ske via Arduino bootloader utan över JTAG (eller annan bootloader).
Vad är det du inte får till med AVRStudio?
Men precis som du säger så kan Arduino standard bootloader ta emot standardhexfiler.
Man behöver bara skyffla upp dom med ett program som trivs ihop med bootloadern exempelvis http://xloader.russemotto.com/
Re: Annan utvecklingsmiljö till Arduino?
Jag har försökt följa guiden på http://www.avrfreaks.net/index.php?name ... highlight=, ta det blinka-LED exempel som finns med i Arduinos IDE, klistra in det i AVRStudio och sedan trycka F7.jesse skrev:
Vad är det du inte får till med AVRStudio?
Jag lade till
Kod: Markera allt
#include <WProgram.h>
Jag tror att jag skulle förstå och komma litet längre om jag fick ett färdigt exempel som går att bygga, så att det inte är mina usla C-skills som ställer till det.
Re: Annan utvecklingsmiljö till Arduino?
Eclipse, tack för tipset. Jag skall kika på det när jag får en stund över.Icecap skrev:Ett väl fungerande miljö är ju Eclipse som integreras med WinAVR och AVRStudio, bättre än så fungera det väl knappast. Skaffa en AVRISP och saken är biff.
Re: Annan utvecklingsmiljö till Arduino?
Om man vill skippa Arduionos egen utvecklingsmiljö kanske man också ska skippa deras färdiga funktioner och makron.och nu står jag och stångas med "undefined reference to `pinMode´ & `digitalWrite´
Kör med standard AVR-biblioteken istället. Dessa ingår i AVRStudio.
Re: Annan utvecklingsmiljö till Arduino?
Ditt problem är alltså att du vill köra "Arduino C" i ett annat IDE?
Då borde du ju läsa här: http://www.arduino.cc/playground/Code/Eclipse
Jag gillar Arduino, och det är för enkelheten och det avskalade. Om du nu tycker att Arduinos IDE är begränsad så kanske du bör titta på att göra "AVR C" istället, men jag har en känsla av (efter att ha kollat lite på övriga inlägg du har gjort) att du går lite händelserna i förväg. Vill du köra "Arduino C" så fortsätt i Arduino IDE ett tag till.
Att Arduinon skulle vara en "Upphottad STAMP" som IceCap påstår håller jag inte med om, men har man väl bestämt sig för att det är så, så är det väldigt svårt att se fördelarna givetvis.
I grunden är Arduinon en AVR med färdig spänningsregulator, sedan har man lagt till en bootloader för att göra det enkelt att ladda in nya program. Det är alltså helt fritt att köra C eller Assember i en arduino om man vill.... den enda nackdelen är att man måste "mappa om" pinnarna och att man i så fall behöver en extern programmerare.
EDIT:
Till min växellådsstyrning har jag använt en lös AVR och sedan använt "Arduino C" som programmeringsspråk då jag gillar det.... men om det nu inte skulle räcka till, så kan jag ju enkelt byta programmeringsspråk utan att ändra hårdvaran.... men till detta projektet finns det absolut ingen anledning till en sådan sak.
Då borde du ju läsa här: http://www.arduino.cc/playground/Code/Eclipse
Jag gillar Arduino, och det är för enkelheten och det avskalade. Om du nu tycker att Arduinos IDE är begränsad så kanske du bör titta på att göra "AVR C" istället, men jag har en känsla av (efter att ha kollat lite på övriga inlägg du har gjort) att du går lite händelserna i förväg. Vill du köra "Arduino C" så fortsätt i Arduino IDE ett tag till.
Att Arduinon skulle vara en "Upphottad STAMP" som IceCap påstår håller jag inte med om, men har man väl bestämt sig för att det är så, så är det väldigt svårt att se fördelarna givetvis.
I grunden är Arduinon en AVR med färdig spänningsregulator, sedan har man lagt till en bootloader för att göra det enkelt att ladda in nya program. Det är alltså helt fritt att köra C eller Assember i en arduino om man vill.... den enda nackdelen är att man måste "mappa om" pinnarna och att man i så fall behöver en extern programmerare.
EDIT:
Till min växellådsstyrning har jag använt en lös AVR och sedan använt "Arduino C" som programmeringsspråk då jag gillar det.... men om det nu inte skulle räcka till, så kan jag ju enkelt byta programmeringsspråk utan att ändra hårdvaran.... men till detta projektet finns det absolut ingen anledning till en sådan sak.
Re: Annan utvecklingsmiljö till Arduino?
En liten notering, "Arduino C" är helt vanlig C++. Vill man skippa IDE:t ska det bara vara att länka in Arduino-biblioteken och kompilera med avr-gcc som vanligt. Programmering kan ske med t ex avrdude.
Re: Annan utvecklingsmiljö till Arduino?
Tack för ditt svar!
Jo, mitt problem är ju delvis att jag aldrig tidigare programmerat C (eller C++) alls.
Att Arduinos IDE är segt som tusan på att kompilera och skicka upp koden (jag tror mig ha förstått varför det tar sådan tid) är inte det stora problemet, det är bara bra att lära sig tålamodets dygd.
Det jag upplever som trist är att själva programmeringsgränssnittet känns litet som att pula ihop hemsidor i Notepad - det går men känns onödigt asketiskt och old school för någon som saknar prestige.
Jag skulle gärna se bättre funktioner för autokomplettering och sådant än de som IDE:et levererar.
Eclipse har jag kikat litet på men bestämde mig, precis som du föreslår, för att härda ut ett tag till med Arduinos IDE innan jag blandar in fler variabler.

Jo, mitt problem är ju delvis att jag aldrig tidigare programmerat C (eller C++) alls.
Att Arduinos IDE är segt som tusan på att kompilera och skicka upp koden (jag tror mig ha förstått varför det tar sådan tid) är inte det stora problemet, det är bara bra att lära sig tålamodets dygd.

Det jag upplever som trist är att själva programmeringsgränssnittet känns litet som att pula ihop hemsidor i Notepad - det går men känns onödigt asketiskt och old school för någon som saknar prestige.

Jag skulle gärna se bättre funktioner för autokomplettering och sådant än de som IDE:et levererar.
Eclipse har jag kikat litet på men bestämde mig, precis som du föreslår, för att härda ut ett tag till med Arduinos IDE innan jag blandar in fler variabler.