Début CR TP3
This commit is contained in:
parent
c7695e6e75
commit
902ec65f1a
20
TP3/Makefile
Normal file
20
TP3/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
.PHONY: default cleantmp clean
|
||||||
|
|
||||||
|
default: $(subst md,pdf,$(wildcard *.md))
|
||||||
|
|
||||||
|
SOURCES=$(wildcard *.asm) $(wildcard *.txt)
|
||||||
|
|
||||||
|
%.pdf: %.html
|
||||||
|
html2pdf -i "$<" -o "$@" -t "$* - REVIRON Athur PREUD'HOMME Geoffrey"
|
||||||
|
|
||||||
|
%.html: %.tmp ../template.html
|
||||||
|
md2html -i "$<" -o "$@" -t ../template.html
|
||||||
|
|
||||||
|
%.tmp: %.md $(SOURCES)
|
||||||
|
markedpp "$<" > "$@"
|
||||||
|
|
||||||
|
cleantmp:
|
||||||
|
rm -rf $(subst md,html,$(wildcard *.md)) *.tmp
|
||||||
|
|
||||||
|
clean: cleantmp
|
||||||
|
rm -rf $(subst md,pdf,$(wildcard *.md))
|
35
TP3/TP3.md
Normal file
35
TP3/TP3.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Compte-rendu TP3 Microprocesseurs
|
||||||
|
## REVIRON Arthur PREUD'HOMME Geoffrey (IMA3 TP2)
|
||||||
|
|
||||||
|
Avec ce TP nous allons pouvoir nous familiariser avec le convertisseur analogique-numérique (ou ADC).
|
||||||
|
|
||||||
|
# Prise en main de l'interface ADC (TP30)
|
||||||
|
|
||||||
|
Les deux programmes permettent d'afficher en continu les valeurs entrées sur ADC0 sur l'afficheur 7-segments situé PortA. Les conversions sont déclenchées à la suite (free running mode). Le premier programme utilise cependant une scrutation et ne se préoccupe pas de savoir si la conversion est terminée. Le deuxième programme déclenche une interruption pour chaque conversion terminée, et l'afficheur n'est mis à jour qu'à ce moment là, ce qui évite de gaspiller des ressources inutilement et évite aussi de récupérer des valeurs fausses dûes à une conversion pas totalement terminée (ce qui dans ce cas ne change quelque chose que pour la première scrutation).
|
||||||
|
|
||||||
|
!include(TP30b.txt lang=avrasmplus)
|
||||||
|
|
||||||
|
# Capteur de température (TP31)
|
||||||
|
|
||||||
|
Il est ici question d'utiliser un convertisseur analogique-numérique pour récupérer les valeurs d'une sonde de température pour l'afficheur dans un résultat plus lisible.
|
||||||
|
|
||||||
|
On réutilisera la même configuration que pour le deuxième programme du TP30, cependant l'affichage va varier un peu. En effet, on veut transformer la valeur reçue de l'ADC sur [0, 255] en valeur sur [0, 32]. Pour cela, on divise d'abord la valeur par $\frac{255}{32}\approx 8$. Puis on affiche les dizaines sur le premier afficheur et les unités sur le deuxième.
|
||||||
|
|
||||||
|
!include(TP31.txt lang=avrasmplus)
|
||||||
|
|
||||||
|
# Capteur de distance (TP32)
|
||||||
|
|
||||||
|
Il est demandé d'afficher la tension fournie par le capteur infrarouge situé sur la maquette. Ne connaissant pas au préalable l'équivalence entre la tension fournie et la distance en cm, on affichera la valeur de la tension sur le plus grand intervalle possible qui est de [0, 255]. On aurait en réalité pu utiliser les 10 bits de précision que nous fournit l'ADC, mais en voyant qu'avec 8 on on obtient beaucoup de bruit nous n'avons pas jugé cela nécessaire.
|
||||||
|
|
||||||
|
On réutilise donc le code du TP22 nous permettant d'afficher un nombre différent sur les 3 afficheurs 7-segments disponible sur la carte. Pour rappel, cet afficheur utilise 4 registres, nommé `d2`, `d1`, `d0` et `select`. Les trois premiers correspondent au chiffre à afficher pour chacun des 3 afficheurs. `select` contient quant à lui l'état du port C nécessaire pour afficher un des trois digits. On configure le timer pour qu'il effectue une interruption toutes les 2 ms, dans laquelle il décale `select` afin de sélectionner un autre afficheur et envoie la représentation du digit correspondant sur le port A.
|
||||||
|
|
||||||
|
!include(TP32.txt lang=avrasmplus)
|
||||||
|
|
||||||
|
![Visualisation du capteur de distance](capteur_distance.svg)
|
||||||
|
|
||||||
|
Le capteur semble décroitre exponentiellement au fur et à mesure qu'on éloigne un obstacle de devant lui. Cependant, on remarque que si l'obstacle se rapproche trop, le capteur considère qu'il s'éloigne. Il a donc un intervalle de fonctionnement assez faible.
|
||||||
|
|
||||||
|
# Régulateur pour chauffage central (TP33)
|
||||||
|
|
||||||
|
Nous allons réaliser une application concrète de l'utilisation de l'ADC en construisant un régulateur pour chauffage central. La difficulté sera ici de lire deux entrées d'ADC en alternance : il n'est donc pas possible d'utiliser le free-running mode que nous avons utilisé jusqu'ici. Le micro-contrôleur nous propose nativement de pouvoir comparer électriquement deux entrées d'ADC pour n'avoir à traiter qu'un seul résultat, cependant nous ne pourrons pas l'utiliser dans ce cas là car les deux entrées analogiques ne sont pas sur la même échelle (la première est sur [10, 26]°C, la deuxième est sur [0, 32]°C).
|
||||||
|
|
|
@ -3,45 +3,39 @@
|
||||||
.equ PORTA = 0x02
|
.equ PORTA = 0x02
|
||||||
|
|
||||||
.equ RAMEND = 0x21FF
|
.equ RAMEND = 0x21FF
|
||||||
.equ SPH = 0x3E ; initialisation de la pile
|
.equ SPH = 0x3E
|
||||||
.equ SPL = 0x3D
|
.equ SPL = 0x3D
|
||||||
|
|
||||||
.equ SREG = 0x3F
|
.equ SREG = 0x3F
|
||||||
|
|
||||||
.equ ADMUX = 0x7C
|
.equ ADMUX = 0x7C
|
||||||
|
|
||||||
.equ ADCSRB = 0x7B
|
.equ ADCSRB = 0x7B
|
||||||
.equ ADCSRA = 0x7A
|
.equ ADCSRA = 0x7A
|
||||||
.equ ADCH = 0x79
|
.equ ADCH = 0x79
|
||||||
.equ ADCL = 0x78
|
.equ ADCL = 0x78
|
||||||
|
|
||||||
.org 0x000
|
.org 0x000 ; Vecteur RESET
|
||||||
; Vecteur RESET
|
|
||||||
jmp debut
|
jmp debut
|
||||||
|
|
||||||
.org 0x003A
|
.org 0x003A ; Interruption conversion ADC terminée
|
||||||
jmp irqadc
|
jmp irqadc
|
||||||
|
|
||||||
.org 0x0080
|
.org 0x0080
|
||||||
|
|
||||||
codeAff:
|
codeAff: ; Représentation des chiffres sur l'afficheur 7-segments
|
||||||
|
.db 0b1111110, 0b001100, 0b0110111, 0b0011111, 0b1001101, 0b1011011, 0b1111011, 0b0001110, 0b1111111, 0b1011111
|
||||||
.db 0b1111110, 0b001100
|
|
||||||
.db 0b0110111, 0b0011111
|
|
||||||
.db 0b1001101, 0b1011011
|
|
||||||
.db 0b1111011, 0b0001110
|
|
||||||
.db 0b1111111, 0b1011111
|
|
||||||
|
|
||||||
debut:
|
debut:
|
||||||
|
; Intialisation de la pile
|
||||||
ldi r28, low(RAMEND)
|
ldi r28, low(RAMEND)
|
||||||
ldi r29, high(RAMEND)
|
ldi r29, high(RAMEND)
|
||||||
|
|
||||||
out SPL, r28
|
out SPL, r28
|
||||||
out SPH, r29
|
out SPH, r29
|
||||||
|
|
||||||
DDRA@IO <- 0xFF
|
DDRA@IO <- 0xFF ; Port A (afficheur 7-segments) en sortie
|
||||||
ADMUX <- 0b01100000
|
ADMUX <- 0b01100000 ; Sélection de l'ADC0
|
||||||
ADCSRB <- 0b00000000
|
ADCSRB <- 0b00000000 ; Free running mode
|
||||||
ADCSRA <- 0b11101111
|
ADCSRA <- 0b11101111 ; Activation des interruptions
|
||||||
|
|
||||||
sei
|
sei
|
||||||
|
|
||||||
|
@ -49,11 +43,10 @@ boucle:
|
||||||
sleep
|
sleep
|
||||||
jmp boucle
|
jmp boucle
|
||||||
|
|
||||||
irqadc:
|
irqadc: ; Dès qu'une lecture est terminée, l'afficher sur l'afficheur
|
||||||
PORTA@IO <- codeAff@ROM[ADCH/27]
|
PORTA@IO <- codeAff@ROM[ADCH/51] ; On passe d'une valeur sur [0, 255] à [0, 5]
|
||||||
reti
|
reti
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
TP3/TP31.txt
25
TP3/TP31.txt
|
@ -6,12 +6,12 @@
|
||||||
.equ PORTB = 0x05
|
.equ PORTB = 0x05
|
||||||
|
|
||||||
.equ RAMEND = 0x21FF
|
.equ RAMEND = 0x21FF
|
||||||
.equ SPH = 0x3E ; initialisation de la pile
|
.equ SPH = 0x3E
|
||||||
.equ SPL = 0x3D
|
.equ SPL = 0x3D
|
||||||
|
|
||||||
.equ SREG = 0x3F
|
.equ SREG = 0x3F
|
||||||
|
|
||||||
.equ ADMUX = 0x7C
|
.equ ADMUX = 0x7C
|
||||||
|
|
||||||
.equ ADCSRB = 0x7B
|
.equ ADCSRB = 0x7B
|
||||||
.equ ADCSRA = 0x7A
|
.equ ADCSRA = 0x7A
|
||||||
.equ ADCH = 0x79
|
.equ ADCH = 0x79
|
||||||
|
@ -28,13 +28,8 @@
|
||||||
|
|
||||||
.org 0x0080
|
.org 0x0080
|
||||||
|
|
||||||
codeAff:
|
codeAff: ; Représentation des chiffres sur l'afficheur 7-segments
|
||||||
|
.db 0b1111110, 0b001100, 0b0110111, 0b0011111, 0b1001101, 0b1011011, 0b1111011, 0b0001110, 0b1111111, 0b1011111
|
||||||
.db 0b1111110, 0b001100
|
|
||||||
.db 0b0110111, 0b0011111
|
|
||||||
.db 0b1001101, 0b1011011
|
|
||||||
.db 0b1111011, 0b0001110
|
|
||||||
.db 0b1111111, 0b1011111
|
|
||||||
|
|
||||||
debut:
|
debut:
|
||||||
ldi r28, low(RAMEND)
|
ldi r28, low(RAMEND)
|
||||||
|
@ -43,11 +38,11 @@ debut:
|
||||||
out SPL, r28
|
out SPL, r28
|
||||||
out SPH, r29
|
out SPH, r29
|
||||||
|
|
||||||
DDRA@IO <- 0xFF
|
DDRA@IO <- 0xFF ; Port A (afficheur 7-segments) en sortie
|
||||||
DDRB@IO <- 0xFF
|
DDRB@IO <- 0xFF ; Port B (afficheur 7-segments) en sortie
|
||||||
ADMUX <- 0b01100000
|
ADMUX <- 0b01100000 ; Sélection de l'ADC0
|
||||||
ADCSRB <- 0b00000000
|
ADCSRB <- 0b00000000 ; Free running mode
|
||||||
ADCSRA <- 0b11101111
|
ADCSRA <- 0b11101111 ; Activation des interruptions
|
||||||
|
|
||||||
sei
|
sei
|
||||||
|
|
||||||
|
@ -58,7 +53,7 @@ boucle:
|
||||||
irqadc:
|
irqadc:
|
||||||
temp <- ADCH / 8
|
temp <- ADCH / 8
|
||||||
PORTA@IO <- codeAff@ROM[temp/10]
|
PORTA@IO <- codeAff@ROM[temp/10]
|
||||||
PORTB@IO <- codeAff@ROM[temp-(temp/10)*10]
|
PORTB@IO <- codeAff@ROM[temp-(temp/10)*10] ; temp%10
|
||||||
reti
|
reti
|
||||||
|
|
||||||
|
|
||||||
|
|
21
TP3/TP32.txt
21
TP3/TP32.txt
|
@ -6,8 +6,9 @@
|
||||||
.equ PORTC = 0x08
|
.equ PORTC = 0x08
|
||||||
|
|
||||||
.equ RAMEND = 0x21FF
|
.equ RAMEND = 0x21FF
|
||||||
.equ SPH = 0x3E ; initialisation de la pile
|
.equ SPH = 0x3E
|
||||||
.equ SPL = 0x3D
|
.equ SPL = 0x3D
|
||||||
|
|
||||||
.equ SREG = 0x3F
|
.equ SREG = 0x3F
|
||||||
|
|
||||||
.equ TCCR0A = 0x24
|
.equ TCCR0A = 0x24
|
||||||
|
@ -34,22 +35,18 @@
|
||||||
.org 0x002E ; Interruption du timer
|
.org 0x002E ; Interruption du timer
|
||||||
jmp tm
|
jmp tm
|
||||||
|
|
||||||
.org 0x003A
|
.org 0x003A ; Interruption de l'ADC
|
||||||
jmp irqadc
|
jmp irqadc
|
||||||
|
|
||||||
.org 0x0080
|
.org 0x0080
|
||||||
|
|
||||||
codeAff:
|
codeAff: ; Représentation des chiffres sur l'afficheur 7-segments
|
||||||
.db 0b1111110, 0b001100
|
.db 0b1111110, 0b001100, 0b0110111, 0b0011111, 0b1001101, 0b1011011, 0b1111011, 0b0001110, 0b1111111, 0b1011111
|
||||||
.db 0b0110111, 0b0011111
|
|
||||||
.db 0b1001101, 0b1011011
|
|
||||||
.db 0b1111011, 0b0001110
|
|
||||||
.db 0b1111111, 0b1011111
|
|
||||||
|
|
||||||
debut:
|
debut:
|
||||||
|
; Initialisation de la pile
|
||||||
ldi r28, low(RAMEND)
|
ldi r28, low(RAMEND)
|
||||||
ldi r29, high(RAMEND)
|
ldi r29, high(RAMEND)
|
||||||
|
|
||||||
out SPL, r28
|
out SPL, r28
|
||||||
out SPH, r29
|
out SPH, r29
|
||||||
|
|
||||||
|
@ -57,9 +54,9 @@ debut:
|
||||||
DDRA@IO <- 0xFF
|
DDRA@IO <- 0xFF
|
||||||
DDRC@IO <- 0xFF
|
DDRC@IO <- 0xFF
|
||||||
|
|
||||||
ADMUX <- 0b01100001
|
ADMUX <- 0b01100001 ; Sélection de l'ADC1
|
||||||
ADCSRB <- 0b00000000
|
ADCSRB <- 0b00000000 ; Free-running mode
|
||||||
ADCSRA <- 0b11101111
|
ADCSRA <- 0b11101111 ; Activation des interruptions
|
||||||
|
|
||||||
; Timer toutes les 2 ms
|
; Timer toutes les 2 ms
|
||||||
TCCR0A@IO <- 0x00
|
TCCR0A@IO <- 0x00
|
||||||
|
|
161
TP3/capteur_distance.svg
Normal file
161
TP3/capteur_distance.svg
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="150.78093mm"
|
||||||
|
height="84.340805mm"
|
||||||
|
viewBox="0 0 150.78093 84.340805"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
inkscape:version="0.92.1 r"
|
||||||
|
sodipodi:docname="capteur_distance.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4490"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lstart"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lstart"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
id="path4487"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||||
|
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.98994949"
|
||||||
|
inkscape:cx="269.36956"
|
||||||
|
inkscape:cy="187.87975"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-left="5"
|
||||||
|
fit-margin-top="5"
|
||||||
|
fit-margin-right="5"
|
||||||
|
fit-margin-bottom="5"
|
||||||
|
inkscape:window-width="1600"
|
||||||
|
inkscape:window-height="882"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="1042"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Calque 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(1.7479171,-50.830598)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend)"
|
||||||
|
d="M 143.25646,122.20573 H 18.174328 V 56.607143"
|
||||||
|
id="path4485"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot4801"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:15px;line-height:25px;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,21.258142,1.1339286)"><flowRegion
|
||||||
|
id="flowRegion4803"><rect
|
||||||
|
id="rect4805"
|
||||||
|
width="67.857132"
|
||||||
|
height="22.857159"
|
||||||
|
x="190"
|
||||||
|
y="471.09113" /></flowRegion><flowPara
|
||||||
|
id="flowPara4807">Distance</flowPara></flowRoot> <flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot4801-9"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:15px;line-height:25px;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.51181102;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(0,-0.26458333,0.26458333,0,-122.71387,162.50969)"><flowRegion
|
||||||
|
id="flowRegion4803-0"
|
||||||
|
style="stroke-width:1.51181102;stroke-miterlimit:4;stroke-dasharray:none"><rect
|
||||||
|
id="rect4805-8"
|
||||||
|
width="172.85712"
|
||||||
|
height="23.571432"
|
||||||
|
x="190"
|
||||||
|
y="471.09113"
|
||||||
|
style="stroke-width:1.51181102;stroke-miterlimit:4;stroke-dasharray:none" /></flowRegion><flowPara
|
||||||
|
id="flowPara4807-1">Tension du capteur (V)</flowPara></flowRoot> <path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#c52b00;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 18.142857,92.892855 c 0,0 11.116479,-3.123508 20.599702,-12.851191 34.454851,-35.34303 -25.89137,39.309516 100.541661,41.766376"
|
||||||
|
id="path4845"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="csc" />
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot4919"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:15px;line-height:25px;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,5.8511007,-0.68913503)"><flowRegion
|
||||||
|
id="flowRegion4921"><rect
|
||||||
|
id="rect4923"
|
||||||
|
width="44.285713"
|
||||||
|
height="26.428572"
|
||||||
|
x="13.571428"
|
||||||
|
y="341.09113" /></flowRegion><flowPara
|
||||||
|
id="flowPara4925">1,4</flowPara></flowRoot> <path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.26499999, 0.26499999;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="M 18.142857,92.892855 140.04923,92.872898"
|
||||||
|
id="path5071"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.26458332, 0.26458332;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="M 140.04923,70.555892 H 18.174328"
|
||||||
|
id="path5073"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot4919-3"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:15px;line-height:25px;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,6.14065,-22.813536)"><flowRegion
|
||||||
|
id="flowRegion4921-1"><rect
|
||||||
|
id="rect4923-1"
|
||||||
|
width="44.285713"
|
||||||
|
height="26.428572"
|
||||||
|
x="13.571428"
|
||||||
|
y="341.09113" /></flowRegion><flowPara
|
||||||
|
id="flowPara4925-0">3,0</flowPara></flowRoot> </g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 7 KiB |
Reference in a new issue