Egyéb: Assembly, Ada...

Atmega8 PWM timer1 - ICR1 figyelmen kívül marad

Sziasztok,

Az a problémám, hogy nem sikerül megfelelő működésre bírnom a timer1-et.
14-es módban (98. oldal a doksiban, 39-es táblázat) elvileg az ICR1 határozza meg, hogy meddig számlál mielőtt nullázódna, de ezt sajnos a szimulátorban (AVR Studio 4.15) futtatás nem támasztja alá. Bármit írok ICR1-be, figyelmen kívül hagyja.Amivel próbálkoztam:
14-es PWM módhoz WGM13:0 -> 1110
ICR1-be a célértéket írtam, jelen esetben 20000 (1 Mhz-en 20ms, szervó vezérléshez kell majd)
Prescalert beállítottam Clock/1-re
A debugolás miatt TOIE1 -> 1, plusz egy megszakításrutin, hogy tudjam hová tenni a breakpointot.
Mi hiányozhat még?

A kód:

.include "m8def.inc"

.def temp = R16
.def tempH = R17
.def tempL = R18

.org 0x000 ; start of code space
rjmp RESET ; reset vector

.org 0x008
rjmp TIMER1_OVF ; Timer1 overflow

.org 0x013
RESET:
ldi temp, HIGH(RAMEND) ; Stack pointer to the end of RAM
out SPH,temp
ldi temp, LOW(RAMEND)
out SPL,temp

ldi tempH, HIGH(20000) ; set PWM cycle length -> 20ms (1Mhz)
ldi tempL, LOW(20000)
out ICR1H, tempH
out ICR1L, tempL

ldi temp, 0b00000010 ; bits 1:0 WGM11:10 -> for fast PWM mode 14
out TCCR1A, temp

ldi temp, 0b00011001 ; bits 2:0 set prescaler for timer1 to clkIO/1 (1 cycle -> 1 count)
out TCCR1B, temp ; bits 4:3 WGM13:12 -> for PWM mode 14

ldi temp, 0b00000100 ; enable Timer/Counter1 Overflow interrupt
out TIMSK, temp

sei ; enable interrupts

LOOP:
rjmp LOOP ; main loop for nothing -> test timer1

TIMER1_OVF:
reti

GLib.Timeout interval nem hardcoded

Hali!

Ismet mono segitseg kellene.

Verzio info:
opensuse 11
monodevelop 1.0
gtk# project

Az alabbi problemam van a Glib.Timeout-al:
Nem tudom valtozobol atadni az interval erteket.

Igy mukodik:
.
.
.
GLib.Timeout.Add(2000, new Glib.TimeoutHandler(TimeoutHandlerFunction));
.
.
.

Viszont, ha valtozobol akarom atadni az interval erteket (hogy valtoztathato legyen a felhasznalo altal), akkor mar hibat kapok.
.
.
.
int myinterval = 3000;
GLib.Timeout.Add(myinterval, new Glib.TimeoutHandler(TimeoutHandlerFunction));
.
.
.

A hiba: Cannot convert type 'int' to 'unit' (CS1503: Argument 1)

Ertem en, hogy nem tudja konvertalni, de akkor hogyan lehet elerni, hogy ne hardcoded legyen az interval?

Az osszes pelda, amelyet eddig talaltam nem tartalmaz meg csak utalast sem erre. Mindenhol fix erteket hasznalnak.

Nem vagyok nagyon otthon a GTK-ban (tulzottan C#-ban sem), de ez a "unit" tipus nem igazan fekszi nekem. Mar ha tipus egyatalan, mert a cast sem mukodik ra, szerinte az a tipus nem is letezik.

Remelem tud valaki segiteni.

Elore is koszi!

LD

monodevelop AssemblyInfo.cs

Hali!

Mono segitseg kellene.

Verzio info:
opensuse 11
monodevelop 1.0
gtk# project

Az alabbi dolgot szeretnem monodevelop-ban hasznalni:

this.entry1.Text = Application.ProductName;

A dolog mukodik visual studio-ban monodevelop-ban viszont nem.

Nem tudom, hogy hogyan erhetnem el az assemblyinfo.cs-ben levo dolgokat monodevelop-ban. A google-t mar vegigkerestem, de semmi hasznalhatot nem talaltam.

Ha valaki tud ra megoldast, legyen szives irja mar meg.

Koszi!
LD

ada - discriminated record problema

a kovetkezo problemaval kerultem szembe:


type Conatiner is array(Positive range <>) of Integer;
type NewType(N : Positive) is
 record
  Data : Container(1..N*N*N);
 end record;

ezt ugye nem lehet adaban, ha jol tudom. meg a fordito is sir miatta (diszkriminas csak onmagaban allhat):)
es en nagyon szeretnem N-et eltarolni N^3 -on helyett

workaroundra kellene valamilyen otlet. nekem annyi jutott eszembe (de ezt csak legvegso esetben szeretnem megvalositani), hogy vonogatom a harmadik gyokoket, de ez olyan csunya :)

elore is kosz a valaszokat

elisp nagyon kezdo

Ha vannak itt elisp tudorok, akkor a kerdesema kovetkezo lenne hozzajuk.
[elozetesbe: soha nem irtam meg elisp programot ... Lisp-et sem ... olvasgatas (passziv olvasgatas!) szinten azeert mar talakoztunk egymassal]

Van egy bash-scriptem, ezt szeretnem implementalni elispbe, ugy hogy vagy egy bufferbe nyomja ki a vegeredmenyt formazva mint ahogy az eredeti script is csinalja, es/vagy a statussorba (vagy mia nyu" a neve a minibuffert es az aktualis ablakot elvalaszto sornak, ahol a mode-ok lathtoak ...) azt hogy nekem hany processem fut meg ...

A script:
--------------------------------------------------------------------------------------
#/bin/bash
DATE=`date '+%m/%d/%y %H:%M:%S'`
echo $1
#if [[ $2 -eq 1 ]]; then
printf "+----------------+-------------------------------+--------------+\n"
printf "| %8s |\n" $DAT
E
printf "| Number of |\n"
printf "+----------------+-------------------------------+--------------+\n"
printf "| %12s | All | |\n" $USER
printf "+----------------+----------------+--------------+ |\n"
printf "| submitted jobs | submitted jobs | all jobs | idled jobs |\n"
printf "| [running jobs] | | | |\n"
printf "|================+================+==============+==============+\n"
#fi

while [[ $(condor_q | grep ${USER:0:4} | wc -l) != 0 ]]; do
UIDLE=`condor_q | grep ${USER:0:4} | wc -l`
RUN=`condor_q | grep ${USER:0:4} | awk '{print $6}' | grep R | wc -l`
SUBMITTED=`condor_q | grep running | awk '{print $1}'`
IDLE=`condor_q | grep running | awk '{print $3}'`
ALL=`condor_q | grep running | awk '{print $5}'`

printf "| %4d[%3d] | %4d | %4d | %4d |\r"
$UIDLE $RUN $SUBMITTED $ALL $IDLE
sleep 600s;
done

Koszi,
k.

CDL

Hali, egy könyvben említés tétetett 1 bekezdés erejéig valami CDL programnyelvről. Ismeri valaki? Amit írtak róla, nekem tetszett. Ha valaki tud e programnyelv forráskódjára linket hogy feltelepítsem, írja meg! A könyvben ezt írták e nyelvről:

A CDL a program egyre kisebb kockákra való bontását, és a kockák közötti kommunikáció átgondolását és megvalósítását teszi megszokott eszközünkké. Felfogása szerint maga a program egy eljárás, melyet további eljárásokra kell bontanunk. Az így kapott eljárásokat ismét csak tovább kell bontani; a CDL, amely üres nyelv, pusztán a paraméterek átadását és a válaszértéket visszaadását "végzi". Filozófiája lényege, hogy az egésznek nincs vége, nincs olyan elemi szint, amelyet a CDL ismerne; a végeredményként kapott eljárásokat nekünk kell megírni tetszőleges programozási nyelven. A CDL-eljárásokból, valamint az elemi eljárások konkrét nyelven való feldolgozásából keletkezik az eredmény: egy source, amit a választott nyelv fordítóprogramjával, hagyományos úton kell objectté, majd végrehajtható programmá alakítani.

ABAP vélemények

Üdv,

Érdekelne a véleményetek az ABAP nyelvről?
-Van-e aki használta/ja? Benyomásai?
-Van-e értelme, jövője?
-Könnyű, nehéz?
-Szép, csúnya?
-Mi benne a szívás? Nincs? ;)

Szal minden érdekel, főleg a dolog sötét oldala, mert ugy néz ki megyek egy állásinterjúra (mint pályakezdő) és érdekelne egy-két "unbiased" személyes tapasztalat...

Egyébként...
-Mennyire jó ötlet ABAP-ban pályát kezdeni?

Kösz a tanácsokat!
cs

qemu + gdb

Sziasztok!

Olvastam valahol, hogy a gdb-t rá lehet venni arra, hogy a qemu-ban futó programot. Az lenne a kér(d)és, ha tudtok erről valamit akkor írjátok meg, mert engem nagyon érdekelne.

A segítséget előre is köszönöm.

Processzorok logikai es fizikai szama x86 architekturan

Sziasztok,

A cegnel adodott egy kis problema a licensz modulban, ami rosszul szamolja ki egy gepen a processzorok szamat. Egy kicsit beleastam magam, hogy lehet a cpuid utasitassal infot lekerni egy processzorrol, de sajnos keves vagyok a megoldashoz.

mov eax,1
cpuid
--> eax[23:16] Maximum number of addressable IDs for logical processors in this physical package
--> edx[28] HTT-multithreading
ezekbol sajnos nem tudom kivadaszni az infot, ami nekem kell.

Mivel az elkeszult kod platformfuggetlen kell legyen, nem tudok a linux kornyezetben mar adott /proc/cpuinfo-ra hagyatkozni. Mindenkepp egy assembly-ben megirt fugvenyre van szuksegem, ami visszaadja, hogy hany processzor, mag illetve logikai processzor van a gepben.

Varom a tippeket!

Udv,
Gabor