FIXME **Cette page n'est pas encore traduite entièrement. Merci de terminer la traduction**\\ //(supprimez ce paragraphe une fois la traduction terminée)// ====== GPIO Input/output Configuration ====== ===== File ''/etc/rc.local'' ===== Edit the file with the command: sudo nano /etc/rc.local #CONFIGURATION PORT PTT & SQL # Radio "VHF" GPIO 16:PTT - GPIO 19:SQUELCH echo "16" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio16/direction echo "19" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio19/direction sleep 2 #echo 1 > /sys/class/gpio/gpio19/active_low # MODE A : Squelch is active when the signal from receiver come from 0V to +5V (or 0V => +x V) / Upper config 'active_low' line is NOT in the script (line commented with # at its begin) # MODE B : Squelch is active when the signal from receiver come from +5V to 0V (or +xV => 0V ) / Upper config 'active_low' line is in the script (uncommented) # Radio "LINK" GPIO 17:PTT - GPIO 18:SQUELCH echo "17" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio17/direction echo "18" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio18/direction sleep 2 #echo 1 > /sys/class/gpio/gpio18/active_low # MODE A : Squelch is active when the signal from receiver come from 0V to +5V (or 0V => +x V) / Upper config 'active_low' line is NOT in the script (line commented with # at its begin) # MODE B : Squelch is active when the signal from receiver come from +5V to 0V (or +xV => 0V ) / Upper config 'active_low' line is in the script (uncommented) #RELAYS OUTPUTS echo "20" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio20/direction echo "21" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio21/direction echo "22" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio22/direction echo "23" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio23/direction #INPUTS echo "24" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio24/direction echo "25" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio25/direction echo "26" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio26/direction echo "27" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio27/direction #WATCHDOG echo "12" > /sys/class/gpio/export & sleep 2 echo out > /sys/class/gpio/gpio12/direction The configuration could be test with [http://wiringpi.com/ wiringPi] The result must be conform to this state (instruction ''gpio readall''): [[Fichier:GPIO States SvxCard.png|800px|Les états des ports GPIO pour la ''SVXLink Card'']] ====== Configuration du port série (Fonction optionnelle) ====== ===== Fichier ''/etc/inittab'' ===== Tout d'abord, il faut dévalider le mode console du Raspberry Pi. En effet, par défaut le port série peut être utilisé pour si connecté avec un simple terminal (pour les français ;-) tel un minitel). Editer le fichier avec la commande: sudo nano /etc/inittab T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 doit être mise en commentaire en ajoutant un dièse (#) en début de ligne #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 ===== Fichier ''/boot/cmdline.txt'' ===== Lorsque le Raspberry Pi démarre, il envoi des information de démarrage au port série. Il est préférable de désactiver ce fonctionnement pour que l'équipement qui sera branché sur le port série ne réceptionne pas ces lignes d'information. Vous pouvez désactiver ce fonctionnement en éditant le fichier /boot/cmdline.txt sudo nano /boot/cmdline.txt Le contenu du fichie est celui-ci par défaut dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline dwc_otg.speed=1 rootwait Enlever la partie faisant référence au port série ttyAMA0. Cela doit alors resembler à ceci dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline dwc_otg.speed=1 rootwait ===== Tests de fonctionnements ===== :!: Sur la carte SVXLCard version 1.0, la sérigraphie est incorrecte pour les broches RS232. * La pin TXD est en réalité RXD * La pin RXD est en réalité TXD Le code Python suivant va permettre de vérifie à l'oscilloscope que les signaux sont bien générés. #!/usr/bin/python import serial import RPi.GPIO as GPIO import os, time GPIO.setmode(GPIO.BOARD) port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=0.5) while True: port.write('Un test !') rcv = port.read(10) print rcv Lancer l'exécution du code avec : sudo python test-serial.py L'oscillogramme (mesure entre GND et TXD) ressemble à cela. {{ :documents:oscillogramme_serial_port_svxcard.jpg?nolink&200 | Oscillogramme}} Pour vérifier la fonction de réception et émission en même temps, relier les 2 pins RXD et RXD ensemble. Avec le même code python, vous allez voir apparaitre à l'écran l'écho (données arrivant sur RXD) de ce qui est émis (par TXD) {{ :fr:test_port_serie_svxcard.gif?nolink |}} Vous pouvez également relier directement le port série de la carte au port série d'un PC. Le brochage d'un port 9 points DB9 est le suivant. {{ :documents:cable-serial-rs232-db9-female-db9-male-generic-oem-xxx-pinout.jpg?nolink |}} Connect RXD to TX pin on the PC (pin 3) and TXD to RX on the PC (pin 2). Also GND is connected to pin 7on the serial port of the PC. Here are the bidirectional exchanges between the SVXcard (Raspberry Pi) and the PC (serial port COM1) {{ :en:svxcard_and_pc_connection.gif?nolink |}}