I feel like pwning n00bs
Reg. datum: 29 november 2004
@Sprite_tm misschien is het een beetje overbodig om te zeggen, maar ik heb in je code een paar stukjes gezien die misschien wel wat sneller kunnen (in je leds.c in de interupt zou je bijvoorbeeld het clearen en setten van bitjes allemaal tegelijk kunnen doen, waar het bij jou soms in 2 of 3 stappen gaat).
www.hanzesolarteam.nl
De Wijze Les Van de Dag: Check altijd de code die je compiler uitspuugt als je denkt iets te optimaliseren; compilers zijn slim maar niet alwetend. Ze weten verder ook niet wat je precies probeert te doen: feitelijk geeft een gecombineerde instructie een ander resultaat (pinnen worden tegelijk hoog) dan 2 aparte (waarbij eerst de ene en dan de andere pin hoog word). In dit geval boeit dat verschil niets, maar de compiler kan dat onmogelijk ruiken.
Sprite_tm wijzigde dit bericht 20-04-2008 16:04 (5%)
Relaxen und watchen das blinkenlichten. | Laatste project: RF-RGB-ledlamp met gloeilampfitting
Reg. datum: 29 november 2004
Mijn compiler maakt van een PORTC = row; iets wat 2 instructies kost, en van een individueel bitje zetten maakt hij ook iets wat 1 instructie kost. Weer wat geleerd vandaag...
Zjosh wijzigde dit bericht 20-04-2008 16:15 (60%)
www.hanzesolarteam.nl

op 1 bord

op 2 borden

Klein beetje ingebrand
die 2 heldere lijnen zijn overigens niet kapot, die leds blijven aan tot de volgende update. Bij een hogere update frequentie (nu 50hz) zie je haast ze niet meer.
real_FireFly wijzigde dit bericht 20-04-2008 17:32 (25%)
PauperTronics.nl Goedkoper kunnen we het niet maken, wel brakker
Ik wist trouwens niet dat LED's konden inbranden
★ Beamer omgebouwd naar Xenon lamp | V&A: Hardware te koop / gezocht oa EEE 900, HP Pavillion, 8600GT ★
Reg. datum: 29 november 2004
Wat voor refresh rate moet dit wel niet op, met 7khz interupt en 3 bit pwm zie ik hem nog knipperen
edit... handig, vergeetje je pll aan te doen...
Zjosh wijzigde dit bericht 20-04-2008 19:09 (34%)
www.hanzesolarteam.nl
Ze hebben 10 jaar in een display gehangen op een busstation. (Zie thread @ CO)quote:ThinkPad schreef op zondag 20 april 2008 @ 17:33:
Hmmm ik vraag me af waar die borden voor gebruikt zijn, dat ze zo zijn ingebrand.
hmm, spekkies Laptop Soms een beetje een taalpurist.
Wil een herverdeling van Nederland op de Patat-/Frietgrens
Reg. datum: 30 januari 2006
Als je goed kijkt lijkt het alsof er 89 Artis staat... Dus zal wel bus verbinding zijn, alhoewel ik geen bus 89 naar Artis kan vindenquote:ThinkPad schreef op zondag 20 april 2008 @ 17:33:
Hmmm ik vraag me af waar die borden voor gebruikt zijn, dat ze zo zijn ingebrand.
<edit>
Hmm niet goed gekeken er staat dus 09 en dat is inderdaad de tram naar artis
</edit>
surge_me wijzigde dit bericht 20-04-2008 21:59 (21%)
Reg. datum: 29 november 2004
C:
1 | if (*uled > cmp) UDAT = 1;
|
waarbij uled en lled pointers zijn naar arrays van bytes met daarin de dim waarde en UDAT en LDAT pinnen zijn. 1 zo'n commando kost al 12 instructies, en aangezien dat 32x per interupt wordt uitgevoerd, en de interupts op 7500x per seconde staan, zou het heel handig zijn als dit wat korter werd:P. Dit is wat hij er van maakt:
C:
1 | MOVFF 0x6c, 0xfe9
|
De nopjes achter de MOVFF instructies horen bij de MOVFF instructies, anders was het wel heel makkelijk optimaliseren
Edit: Ik heb vandaag een beetje zitten code bedenken in de bus, en mijn interupt is van 1409 instructies naar 617 gegaan! Nu nog maar eens kijken naar de for loop die er in zit, want volgens mij hoeft dat ook geen 9 instructies te kosten. Hij vind het blijkbaar nodig om 3 keer de zelfde bank te selecteren, en ik vind dat dat niet hoeft
Zjosh wijzigde dit bericht 22-04-2008 20:45 (14%)
www.hanzesolarteam.nl
Reg. datum: 29 november 2004
www.hanzesolarteam.nl
Relaxen und watchen das blinkenlichten. | Laatste project: RF-RGB-ledlamp met gloeilampfitting
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
Relaxen und watchen das blinkenlichten. | Laatste project: RF-RGB-ledlamp met gloeilampfitting
mace wijzigde dit bericht 23-04-2008 19:14 (3%)
hmm, spekkies Laptop Soms een beetje een taalpurist.
Wil een herverdeling van Nederland op de Patat-/Frietgrens
Zie ook de totale nutteloosheid hiervan, ik wil persé vandaag die dingen werkend zien maar krijg morgen waarschijnlijk al mn microcontrollers binnen :-P blijft leuk om te proberen
Edit: feestje voorbij, geen parallelle kabels meer en ook geen serieel->parallel chippie om hem op serieel te proberen. Nu maar helemaal wachten tot morgen
ssj3gohan wijzigde dit bericht 23-04-2008 21:02 (34%)
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
Of een bootdisk gebruiken met je "in-assembler-zelfgeschreven-display-aansturende-bootsector"quote:
Parralele poort aansturen in assembler (zonder OS) is immers gewoon de juiste data op een bepaalde 'geheugenplaats' wegschrijven. 'k heb mij daar vroeger nog mee bezig gehouden (voor de seriele poort dan)
Who the fuck is General Failure? And why is he reading my harddisk?
Op mijn stk500 met veel bedraingsmeuk en een lelijk proggie wat gewoon alle prxels aanzet.
Heb iig geen dode pixels en de inbranding is virj beperkt en iig niet leesbaar of herkenbaar als tekst.
Dus heb ik best geluk als ik de rest zie
4 stuks zonder ernstige defecten, alleen een sloot kromme pinnen.
Ik heb nog 6x 16f628a liggen dus die gebruik ik dan mooi als testgeval, maar dan moet ik wel tijd hebben om naar de elektronicahandel te fietsen om connectors te halen.
hmm, spekkies Laptop Soms een beetje een taalpurist.
Wil een herverdeling van Nederland op de Patat-/Frietgrens
[edit] WHOO! het werkt! 1-0 voor de parallelle poort! Timing is waardeloos (het flikkert best wel) maar je kunt er leesbare meukmeuk op krijgen en de refresh rate is ridicuul hoog.
ssj3gohan wijzigde dit bericht 24-04-2008 22:28 (23%)
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
edit:
ssj3gohan wijzigde dit bericht 25-04-2008 07:57 (5%)
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
Kun je een heel klein beetje meer hierover zeggen? kheb bijzonder veel last van het nagloeien.quote:Sprite_tm schreef op woensdag 23 april 2008 @ 01:49:
Gebruik de /oe slimAls je het hele display uitzet dmv /oe als je de shiftregisters latcht, heb je er een heel stuk minder last van dat gloeien.
Disclaimer: dit project is de eerste keer dat ik persoonlijk een avr werkend heb gekregen, dus noob. Ik programmeer dus ook in c, niet asm...
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
edit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| while(1) {
for y=0 to 8 {
for x=0 to 32 {
maak LDAT hoog als je op (x,y+8) een pixel wilt weergeven
maak UDAT hoog als je op (x,y) een pixel wilt weergeven
maak CLK laag
maak CLK hoog
}
maak OE hoog (dit zet alle LEDs tijdelijk uit)
maak STROBE laag
maak STROBE hoog
zet [A2..0] naar y
maak OE LAAG << NIET HOOG
wacht een tijd, afhankelijk van de gewenste refreshrate
}
} |
foutje gespot in code
real_FireFly wijzigde dit bericht 27-04-2008 15:05 (62%)
PauperTronics.nl Goedkoper kunnen we het niet maken, wel brakker
Edit: ik begrijp hem al (beter). Het gloeit al een stuk minder na als ik het scherm uitzet vóór ik pixels ga tekenen
ssj3gohan wijzigde dit bericht 27-04-2008 15:58 (26%)
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
http://www.youtube.com/v/eOFIvk9vrNY
ssj3gohan wijzigde dit bericht 27-04-2008 23:28 (65%)
Body - lens - lens - lens - lens - lens - lens - flitser - filter - tas - behoorlijk duur kaartje.
