Bonjour Philippe,

Aide a l'ecriture du fichier ascii param.dat

Rgle importante: message en minuscule sans accent, la seule ponctuation
reconnue est le point.
Longueur max du message = 255 caractres, tu peux donc raconter ta vie
dans un message pic.

Lettres de contrle en majuscule (S A P F R L V T)

dfinition des lettres majuscules de contrle:
S = porteuse active 
A = porteuse arrete 
P= pause
F = fin, le pic s'arrte, il faut un reset matriel pour redmarrer.
R = rpetition du message.
L = tempo 1ere vitesse lente   exemple #255
V = tempo 2eme vitesse moyenne exemple #127
T = tempo 3eme vitesse rapide  exemple #10

d'autre caractres spciaux sont dcrits dans le programme source balise.src
<,> #,$,, . -,+ le point, dbut transm, fin transm, erreur,/, sont implmentes
voir s'il n'y a pas d'erreur du mot cw.

 apres le mot d'instruction retw ecrire ' suivi de la phrase  expdier
 en minuscule, les espaces seront grs leur dure est  paramtrer
 dans la variable intervalle_mots, la fin du message doit obligatoirement
 tre termine par un mot de contrle majuscule F si fin ou R si rptition
 message puis terminer par '.




Exemple
 retw 'S cq de f1biu A F'

signifie porteuse active, cq de f1biu puis arrt porteuse puis fin.

autre exemple
retw 'S bonjour comment allez vous. PPPPP AAAA S ici tout va bien R'

on valide la porteuse par S puis message puis 5 pauses puis 4 arrts porteuse
puis redpart porteuse puis fin du message puis retour au tout dbut.


Si tu veux une porteuse pure longue avant message rptitif:
retw 'S PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP salut comment ca va R'

cas particulier: message plus long qu'une ligne d'cran
retw 'bonjour comment ca va etc..............................................'
retw 'suite du message en 2eme ligne.................................F'


dtails du fichier ascii param.dat:

para
        mov      duree_point,#2 ; 65mS par pas.                                     
        mov      duree_trait,#6   
        mov      intervalle_lettres,#10
        mov      intervalle_mots,#20
        mov      duree_pause,#20
        mov      duree_entre_cycles,#100
        mov      duree_porteuse_seule,#10
        mov      duree_arret_porteuse,#10
        ret


table                          ;ne pas toucher  ce mot
       jmp pc+w                ;idem

 retw 'cq de f1biu F'          ;phrase  crire



Dans l'exemple ci dessus,
               duree d'un point = 0.13s
               duree d'un trait  =0.39s
               intervalles entres lettres 0.65s
               intervalles mots 1.3s

Dans le programme source, count1 est  #255 dans la routine tempo.
Si tu veux un pas plus petit que 65mS, diminue sa valeur, exemple pas de
32.5ms count1 sera  #127

Pour les autres paramtres, on peut changer les temps sans reprendre
leurs valeurs par accumulation, exemple:
pour une pause de 26 secondes je laisse duree_pause  20 (1.3secondes)
et je tapes dans ma phrase 20 fois P majuscule.

 retw  'cq de f1biu PPPPPPPPPPPPPPPPPPPP A F'



exemple que tu m'as demand: un message lent puis vitesse moyenne 2 fois
puis vitesse rapide 3 fois entre-coups de pauses et enfin retour au dbut.

retw 'S L cq de f1biu PP V cq de f1biu PP cq de f1biu PP T cq de f1biu PP'
retw 'cq de f1biu PP cq de f1biu PP R'



Syntaxe de la routine convertisseur ascii code cw
pour une lettre, exemple k, un octet #10100000b
et une longueur de #3, vu la longueur de 3 le programme n'envoie que
#101 avec 1 = 1 trait et 0 = un point. K =   
Je suis nul en cw, vrifie dans le fichier f6eti.src que tout l'alphabet
est ok, j'ai des doutes sur les mots spciaux dbut_transm,
fin_transm, erreur, point.
J'ai laiss 10 lettres spciales libres. tu peux implmenter des caractres
spcifiques au trafic cw, il faudra virer le point virgule ; prcdant
l'instruction cje ...etc reserve_n
Ecrire sa routine sur 3 lignes avec tiquette reserve_n
inspires toi des autres routines.


Procdure de programmation:
Le programme source balise.src est  assembler avec
spasm.exe, le fichier param.dat est  complter avant.

exemple de bat:

edit param.dat          ;tu tapes tes tempos et ton message
spasm balise.src /l      ;tu assembles, le fichier balise.obj se cre.
qbasic /run picprog.bas  ;tu charges en pic via un programmateur.
                         ; la question quel fichier, rponds balise.obj

picprog ne marche qu'avec mon programmateur de pics en qbasic, mais
si t'as d'autres programmateurs a marche s'il reconnaissent les fichiers
intel 8 bits terminant par .obj ou .hex
Le tien, aprs assemblage sera balise.obj.

Ct matriel, inspires toi de mon schma pic_sur_cible.gif
attention la broche 6 du pic sortie cw est en tout ou rien pas de tonalit cw
elle doit piloter la validation d'un oscillateur de tonalit cw, mais
a tu sais faire.


Bon amusement et surtout donnes moi des retours, tu es libre de faire diffuser
sans mon autorisation pralable.

Mes 73 de Victor F1BIU.
