RubberduckExperience: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
Zeile 41: Zeile 41:
  
 
Zum schluß habe ich noch Named-IO aktiviert mit folgender Konfiguration (pinning/named_pin/avr_net_io)
 
Zum schluß habe ich noch Named-IO aktiviert mit folgender Konfiguration (pinning/named_pin/avr_net_io)
 +
 
<source lang="ini">
 
<source lang="ini">
#
+
#
#  Named Pin Configuration File
+
#  Named Pin Configuration File
#
+
#
# You can assign names to your microcontroller's pins here.
+
# You can assign names to your microcontroller's pins here.
# Keep in mind that this names must consist of alphanumeric
+
# Keep in mind that this names must consist of alphanumeric
# characters only!
+
# characters only!
#
+
#
# Every line starting with a hash sign (#) is a comment.
+
# Every line starting with a hash sign (#) is a comment.
#
+
#
#
+
#
# PIN | IN/OUT | When active? | Name
+
# PIN | IN/OUT | When active? | Name
#-----+--------+--------------+----------------
+
#-----+--------+--------------+----------------
PC0    OUTPUT  HIGH          OUT1
+
PC0    OUTPUT  HIGH          OUT1
PC1    OUTPUT  HIGH          OUT2
+
PC1    OUTPUT  HIGH          OUT2
PC2    OUTPUT  HIGH          OUT3
+
PC2    OUTPUT  HIGH          OUT3
PC3    OUTPUT  HIGH          OUT4
+
PC3    OUTPUT  HIGH          OUT4
PC4    OUTPUT  HIGH          OUT5
+
PC4    OUTPUT  HIGH          OUT5
PC5    OUTPUT  HIGH          OUT6
+
PC5    OUTPUT  HIGH          OUT6
PC6    OUTPUT  HIGH          OUT7
+
PC6    OUTPUT  HIGH          OUT7
PC7    OUTPUT  HIGH          OUT8
+
PC7    OUTPUT  HIGH          OUT8
PC0    OUTPUT  HIGH          PC0
+
PC0    OUTPUT  HIGH          PC0
PC1    OUTPUT  HIGH          PC1
+
PC1    OUTPUT  HIGH          PC1
PC2    OUTPUT  HIGH          PC2
+
PC2    OUTPUT  HIGH          PC2
PC3    OUTPUT  HIGH          PC3
+
PC3    OUTPUT  HIGH          PC3
PC4    OUTPUT  HIGH          PC4
+
PC4    OUTPUT  HIGH          PC4
PC5    OUTPUT  HIGH          PC5
+
PC5    OUTPUT  HIGH          PC5
PC6    OUTPUT  HIGH          PC6
+
PC6    OUTPUT  HIGH          PC6
PC7    OUTPUT  HIGH          PC7
+
PC7    OUTPUT  HIGH          PC7
PA0    INPUT    HIGH          IN1
+
PA0    INPUT    HIGH          IN1
PA1    INPUT    HIGH          IN2
+
PA1    INPUT    HIGH          IN2
PA2    INPUT    HIGH          IN3
+
PA2    INPUT    HIGH          IN3
PA3    INPUT    HIGH          IN4
+
PA3    INPUT    HIGH          IN4
PA0    INPUT    HIGH          PA0
+
PA0    INPUT    HIGH          PA0
PA1    INPUT    HIGH          PA1
+
PA1    INPUT    HIGH          PA1
PA2    INPUT    HIGH          PA2
+
PA2    INPUT    HIGH          PA2
PA3    INPUT    HIGH          PA3
+
PA3    INPUT    HIGH          PA3
#
+
#
# Analog Input
+
# Analog Input
PA4    INPUT    HIGH          IN5
+
PA4    INPUT    HIGH          IN5
PA5    INPUT    HIGH          IN6
+
PA5    INPUT    HIGH          IN6
PA6    INPUT    HIGH          IN7
+
PA6    INPUT    HIGH          IN7
PA7    INPUT    HIGH          IN8
+
PA7    INPUT    HIGH          IN8
PA4    INPUT    HIGH          PA4
+
PA4    INPUT    HIGH          PA4
PA5    INPUT    HIGH          PA5
+
PA5    INPUT    HIGH          PA5
PA6    INPUT    HIGH          PA6
+
PA6    INPUT    HIGH          PA6
PA7    INPUT    HIGH          PA7
+
PA7    INPUT    HIGH          PA7
#
+
#
# Prog/Normal Jumper
+
# Prog/Normal Jumper
PB1    INPUT  HIGH            PB1
+
PB1    INPUT  HIGH            PB1
#
+
#
# Free on EXT
+
# Free on EXT
PB3    INPUT  HIGH            PB3
+
PB3    INPUT  HIGH            PB3
 
</source>
 
</source>

Version vom 11. Februar 2010, 22:37 Uhr

Meine ersten Versuche mit Ethersex hatten das Ziel, eine bessere Firmware für den AVR-NET-IO zu schaffen, die das selbe Pinout nutzt wie von Pollin vorgegeben.

Es sollte an Fli4l ein externes LC-Display über LAN sowie 8 Schalter und 8 LED angeschlossen werden, mit denen der Internetzugang für bis zu 8 Rechner z.B. von der Küche aus zu steuern geht.

Der größte Anreiz bestand darin, daß Pollin nur 2x16 Displays unterstützt, deren Anzeigeumfang - nunja - begrenzt ist.

Dazu brauchte ich eigentlich nur LCD aktivieren und folgendes Pinout hinterlegen:

Die folgende Datei habe ich damit erzeugt: (pinning/hardware/user_avrnetio.m4)

dnl
dnl user_avrnetio.m4
dnl
dnl Pin Configuration for 'user_avrnetio'.  Edit it to fit your needs.
dnl

/* port the enc28j60 is attached to */
pin(SPI_CS_NET, SPI_CS_HARDWARE)

pin(HD44780_RS, PD3)
/* Uncomment if you wirded RW Pin and/or want to use readback support */
pin(HD44780_RW, PD2)
pin(HD44780_EN, PB0)
pin(HD44780_D4, PD4)
pin(HD44780_D5, PD5)
pin(HD44780_D6, PD6)
pin(HD44780_D7, PD7)

Das Grundgerüst dafür erzeugte ich wie folgt:

erst die config erstellt mit FULL-Featured IO (weiß nicht ob das wirklich nötig ist) und LCD an. HD44780 Controller. Danach abspeichern, das script 'scripts/add_hardware avrnetio' aufgerufen, welches das Grundgerüst für das Pinning des o.g. Files ergibt. Danach habe ich nur noch das Pollin Pinout aus der Anleitung des AVR-NET-IO abgepinselt und übertragen.

Der Atmega32 kann keinen ethersex-bootloader ausführen. Dabei gibts Flash-Fehler. Deshalb habe ich diesen Versuch aufgegeben.

Die Fuses habe ich von dinus übernommen, Funktioniert.

Wenn man, wie ich, den Fehler macht, sich den atmega32 kaputtzufusen, hilft ggf. folgender Konstrukt: Ein USB->PS/2 Adapterkabel kann einen Takt von 6 bis 12 MHz erzeugen (je nach Variante anders, aber das reicht sicher). Diesen einfach an Pin13 des Atmega32 anlegen (von Pin4 der PS/2 Buchse) und los gehts.

Zum schluß habe ich noch Named-IO aktiviert mit folgender Konfiguration (pinning/named_pin/avr_net_io)

 #
 #   Named Pin Configuration File
 #
 # You can assign names to your microcontroller's pins here.
 # Keep in mind that this names must consist of alphanumeric
 # characters only!
 #
 # Every line starting with a hash sign (#) is a comment.
 #
 #
 # PIN | IN/OUT | When active? | Name
 #-----+--------+--------------+----------------
 PC0     OUTPUT   HIGH           OUT1
 PC1     OUTPUT   HIGH           OUT2
 PC2     OUTPUT   HIGH           OUT3
 PC3     OUTPUT   HIGH           OUT4
 PC4     OUTPUT   HIGH           OUT5
 PC5     OUTPUT   HIGH           OUT6
 PC6     OUTPUT   HIGH           OUT7
 PC7     OUTPUT   HIGH           OUT8
 PC0     OUTPUT   HIGH           PC0
 PC1     OUTPUT   HIGH           PC1
 PC2     OUTPUT   HIGH           PC2
 PC3     OUTPUT   HIGH           PC3
 PC4     OUTPUT   HIGH           PC4
 PC5     OUTPUT   HIGH           PC5
 PC6     OUTPUT   HIGH           PC6
 PC7     OUTPUT   HIGH           PC7
 PA0     INPUT    HIGH           IN1
 PA1     INPUT    HIGH           IN2
 PA2     INPUT    HIGH           IN3
 PA3     INPUT    HIGH           IN4
 PA0     INPUT    HIGH           PA0
 PA1     INPUT    HIGH           PA1
 PA2     INPUT    HIGH           PA2
 PA3     INPUT    HIGH           PA3
 #
 # Analog Input
 PA4     INPUT    HIGH           IN5
 PA5     INPUT    HIGH           IN6
 PA6     INPUT    HIGH           IN7
 PA7     INPUT    HIGH           IN8
 PA4     INPUT    HIGH           PA4
 PA5     INPUT    HIGH           PA5
 PA6     INPUT    HIGH           PA6
 PA7     INPUT    HIGH           PA7
 #
 # Prog/Normal Jumper
 PB1     INPUT   HIGH            PB1
 #
 # Free on EXT
 PB3     INPUT   HIGH            PB3