Automatisk programmering

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Automatisk programmering

Inlägg av Icecap »

OK, jag håller ju på med Renesas, har gjort ett flashningsprogram som använder serieporten och det fungerar ju kanonbra.

Jag testar en del för närvarande och kom på att lägga till en funktion: automatflashning!

Jag kan nu kryssa i en checkbox, detta startar en timer som varje sekund kollar den utpekade filen och när den var ändrat senast. Om den är ändrat på ett annat tidspunkt än förra gång starter en 5 sek timer och när den tid går ut startas en flashning automatisk.

Jag kan alltså programmera, kompilera och jag ska då inte växla program för att flasha, det sköts automatisk så länge jag ser till att fältet är ibockad.

Kul!
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

Varför inte ha möjligheten att den programmerar direkt när du kompilerar filen istället? Det verkar drygt att vänta 5-6 sekunder efter kompileringen för att flashningen skall börja.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jo, det är klart. Din fråga fick mig att kolla lite och man kan faktisk lägga till den funktion.

Tyvärr är Windows ju så trevligt att när ett program släpper en COM-port kan Win få för sig att handskakningen ska ställas till ett visst läge och detta resetter mitt objekt, alltså är detta inte önskvärd.

Jag har i övrigt kortat väntetiden till 2 sek, tiden är bara för att kompilern ska kunde skriva färdigt filen om den behöver lite tid, själva flashningen tar ju runt 30 sek för ett program så ett par sek. av eller an har ingen betydelse.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

30 sek för att flasha? :shock:

Det måste vara ganska mycket du flashar då? 128k? 256k? Dessutom borde ju inte allt behöva flashas varje gång?
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Nu vet jag inte vilket språk du skriver flashprogramnet i.
I alla fall så har .net miljön filesystemwatcher som hookar sig in i filsystemet på något sätt och säger till direkt när en fil har ändrats.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Micke_s: .NET kommer inte att finnas på min dator!

chille: tja... kör 9600, n, 8, 1 och det fungerar bra. Det finns oftast upp emot 30 minuters tänkande innan en flashning utföres så den biten är lugnt.

Jag kan köra snabbare om jag kan få USB-dongeln att fatta vinken men jag bryr mig inte om den bit, jag har rikligt annat att göra.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Brukar ha en "flash"-target i min Makefile som kör igång avrdude och programmerar kretsen på nån sekund, samt rycker i RESET så programmet drar igång direkt. Funkade kalas även med tre motstånds-programmeraren. Blixtsnabb Trial & Error. ;)
Användarvisningsbild
feedback
Inlägg: 123
Blev medlem: 5 juni 2008, 16:18:37
Ort: Stockholm
Kontakt:

Inlägg av feedback »

Om man är extremt otålig kan man välja ett språk där man inte batch kompilerar. Som Forth. Det har en inbyggd kompilator. Så för varje ny rad kod du skriver, kompilerar du. Och det tar ingen tid. Det fungerar på samma sätt med Lisp.

För avr finns amforth, vilket jag testar just nu.

Men det är helt rätt. Feedback loopen spelar stor roll för hur mycket man får gjort. I allt man gör. Inte bara kodning.

Om man nu inte vill ge upp c/c++ så kan man uppnå samma sak med flymake-mode i emacs. Det är en mode i emacs som kompilerar koden medan man skriver den. Vilket gör att man oftast inte behöver kompilera för att få reda på att man är lite fel ute.
Skriv svar