RubberduckExperience: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
Zeile 39: Zeile 39:
  
 
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.
 
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)
 +
<script lang="ini">
 +
#
 +
#  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
 +
</script>

Version vom 11. Februar 2010, 22:28 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) <script lang="ini">

  1. Named Pin Configuration File
  2. You can assign names to your microcontroller's pins here.
  3. Keep in mind that this names must consist of alphanumeric
  4. characters only!
  5. Every line starting with a hash sign (#) is a comment.
  6. PIN | IN/OUT | When active? | Name
  7. -----+--------+--------------+----------------

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

  1. 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

  1. Prog/Normal Jumper

PB1 INPUT HIGH PB1

  1. Free on EXT

PB3 INPUT HIGH PB3 </script>