2012-12-22

AVR NET-IO: Receive UDP packets

Some month ago I post an article about sending UDP - now it's time to write about receiving UDP.

Again my equipment is:
  • Pollin AVR NETIO Board
  • Arduino 1.0.3
  • avr-netino (Project)

Patch tcpip.cpp

To enable UDP receiving a patch of the tcpip.cpp file is needed. The patched file can be found here. You need to overwrite the original file libraries/EtherCard/tcpip.cpp with the patched one.

Arduino program

Arduino program to receive UDP packets:

Example script to send UDP

Here is a small example how to send UDP packets to avr-netio board:

2012-12-16

Stabiler Vogelhausständer

Die "dunklen" Jahreszeiten sind immer auch eine Zeit, in der ich verstärkt zum Heimwerken komme. Dieses Jahr wünschte sich meine Frau ein Vogelhaus und das brauchte natürlich auch einen entsprechenden Ständer.
Beim Vogelhausdesign habe ich mich an Anregungen aus dem Baumarkt orientiert - da mag jeder selber schauen. Fehlte noch der Ständer - der sollte entsprechend stabil sein und wegen der hiesigen Katzenpopulation eine gewisse Höhe haben.

Zum Aufbau:
  • Basismaterial: 4 Kantholz (54mm x 54mm) - in Summe ca. 4m Länge
  • daraus dann 
    • 6x Fuß bzw. Stabilisierungsstrebe (Länge ca 43cm)
    • 1x zentraler Pfosten (Länge nach Bedarf)
  • Für das Stabilisierungskreuz dann entsprechende Aussparungen einarbeiten.
  • Alles verschrauben und verkleben.

  • Schließlich noch das Holz imprägnieren.
Zeitaufwand (ohne Streichen): 2-3h

Jetzt müssen nur noch die Vögel kommen ...

2012-11-04

Infinitest with TestNG 6.8 support

Infinitest is an eclipse plugin which executes after editing files all corresponding unittests. After using infinitest for a while I realize that some features of TestNG 6.8 are not available by infinitest itself (in my case assertNotEquals). And therefor result in a reported problem.

Fortunately the project is availible on github and so I fork the project and change it to support TestNG 6.8. An pull request to the original project is waiting.

If you want to try it on your own risk - you can download it here. To install it in your Eclipse you have to unzip the file in the eclipse/dropins directory. I have test the version on Win7 and OSX with Eclipse 3.7 - and it seems to work ;-) 

2012-10-19

Unittest to verify that static method is called

.. using PowerMock, Mockito, TestNG

In example the class under test (cut) has a method showErrorMessage(msg). This method will call the static method JOptionPane.showMessageDialog(...) to show a error message.

I wrote a unittest to

  1. mock the showMessageDialog call - because otherwise the test will fail with an java.lang.VerifyError (UIManager is not initialized)
  2. verify that showMessageDialog is called + with the right parameter

2012-10-04

Sotograph - Debugging ModelManager

While using the code analysis tool Sotograph you can specify a model of your system in the ModelManager. The specification is written in Java by using the Sotograph API but can also use common Java statements. Sometimes - e.g. when using regex - there is the need to debug your code. To do this you have to possibilities:
  1. Using System.out.println(debug_msg) + starting Sotograph with sotoplatformConsole.bat
  2. Using JOptionPane.showMessageDialog(null, debug_msg) + starting Sotograph as usual

2012-07-08

AVR NET-IO: UDP senden / Send UDP packages

Demo für das Senden von UDP Paketen mit
  • Pollin AVR NETIO Board
  • Arduino 1.0.3
  • avr-netino (Project)

A short example how to send UDP packages with
  • Pollin AVR NETIO Board
  • Arduino 1.0.3
  • avr-netino (Project)

2012-06-30

Macro LED-Ringlicht

Für unser Tamron AF 90mm 2,8 Di Macro ist ein LED-Ringlicht entstanden.



Der Aufbau ist einfach gestaltet:


versorgt.



Bauteile:


  • 50 Stück SMD LEDs WEISS, Bauform PLCC-2 3528 - 3,2mm x 2,8mm x 1,9mm, - ULTRAHELL - max. 2850mcd - ABSTRAHLWINKEL 120° -, (ebay 8,90 EUR)
  • Filter Ring Adapter 55mm-77mm (ebay 4,79 EUR)
  • 5A LM2587 DC-DC Step up Boost Adjustable Power Supply Module 3-30v 4-35v (7,80 EUR)
  • sonst noch: 9V Block, Schalter, Gehäuse
Auf dem gelieferten Fertigmodul des Step-Up Wandlers musste ich den TrimmPoti und Ausgangselko tauschen, um die Ausgangsspannung auf 40V erhöhen zu können. 
Die Vorwiderstände haben eine Wert von 56Ohm.

Ergebnis/Anwendung

Lichtkegel des Ringlichts

30sec. f/32 ISO3200 (ohne Ringlicht)

1/25sec. f/32 ISO3200 (mit Ringlicht)

2012-03-10

HP Laserjet 2100 mit Jetdirect 600n J3111A an OS X Lion

Kurzes Protokoll über den Anschluss des Laserjets:


  • Nachrüsten des Jetdirect Moduls im HP 2100 - einfach einstecken fertig
  • Konfiguration ermitteln - gleichzeitig beide Tasten am Drucker drücken -> Drucker Selbsttest/Konfiguration + JetDirect-Konfigurationsseite

  • per Telnet die Einstellungen anpassen
  • Firmware Update G.07.20 auf G.08.20 
    • geht leider nur mit dem HP Download Manager unter Windows
    • beim ersten Versuch blieb der Progress Balken bei ca. 10% stehen, ein Abbruch ist bei einem Firmware Update immer kritisch, daher hab ich erstmal ca. 30min gewartet, ob es nicht doch noch weiter geht. Dann Drucker aus, Programm beendet
    • Nachdem ich Windows Notebook und Drucker direkt an einen Switch angeschlossen habe (vorher war der Notebook per WLAN verbunden) hat es dann funktioniert (Dauer: ca. 5min)
  • Drucker einrichten 
    • Generic PCL Laser Printer
    • Unter Optionen -> Treiber Drucken mit "Allgemeiner PCL-Drucker" auswählen

2012-03-02

Microsoft Natural Keyboard am Mac

Nach dem Umstieg auf einen iMac wollte ich an diesem mein MS Natural Keyboard betreiben. Grundsätzlich funktionieren die Standardtasten ab Werk - einfach USB Stecker rein und fertig. Um aber die Zusatztasten oder gar die Tastenbelegung wie aufgedruckt zu benutzen sind weitere Schritte notwendig.
  1. Treiber von Microsoft installieren (Link)
  2. In der Systemeinstellung befinden sich danach weitere Icons.


  3. In den Microsoft Tastatur Einstellungen unter Optionen den Tastaturtyp auf ISO (Europa) stellen.  
  4. Unter Systemeinstellung - Sprache & Text - Eingabequellen zusätzlich Deutsch - Mircosoft auswählen und die Eingabequellen in der Menuzeile anzeigen auswählen.


  5. Schließlich in der Menuzeile Deutsch - Microsoft als Tastaturlayout auswählen.

Danach funktionieren (fast) alle Tasten wie aufgedruckt.

2012-02-12

AVRISPV2 / STK500v2 und Arduino 1.0 unter OSX

Seit kurzem habe ich einen STK500v2 Clone von Sure Electronic (bei ebay beworben als: "Mini ATMEL AVR ATMEGA STK500 USB Programmer ISP AVRISP").


Um den Programmer mit Arduino 1.0 unter OSX betreiben zu können, waren folgende Anpassungen nötig:

  1. Treiber installieren
    Auf der Webseite von Sure Electronics kann man zwar auch ein Treiberpaket downloaden, der enthaltene Treiber hat aber ein Datum von 2006. Ich habe daher diesen Treiber installiert.
  2. Den Programmer in Arduino bekannt machen
    Dazu habe ich in der Datei programmer.txt (Bestandteil von Arduino) die folgenden Zeilen eintragen:

  3. Anschliessend konnte ich dann in Arduino sowohl den Programmer als auch das zugehörige serielle Interface auswählen.

2012-01-28

PICkit3 mit MCU Universal ZIF socket

Schon vor ein paar Wochen (oder sind es gar schon Monate) habe ich mir ein PICkit3 mit ZIF Sockel Platine bei SureElectronics bestellt. Heute wollte ich das Teil in Betrieb nehmen (unter Win7 32bit).


Der erste Versuch mit der PICkit 3 Stand Alone Programmer App schlug allerdings fehl. Starten lies sich das Programm solange der Programmer nicht angeschlossen war noch. Nach dem Anschluss und "Check Communication" kam es aber wiederholbar zu einer Fehlermeldung (irgendwas mit Array Grenzen werden überschritten - genauer kann ich es leider nicht mehr angeben). Beim Starten mit bereits angeschlossenen Programmer, kam lediglich eine Windows-Meldung der Art "Es wurde ein Problem festgestellt ..."

Als nächstes habe ich dann MPLAB 8.83 runtergeladen. Hier wurde der Programmer immerhin erkannt und die Notwendigkeit eines Firmware Updates gemeldet. Dafür müssen anscheinend zwei Teile geladen werden (AP und RS). AP wurde dann auch erfolgreich gedownloaded und übertragen, bei RS ging es dann aber nicht weiter.
Nach ein paar Minuten habe ich dann beherzt den Programmer rausgezogen, wieder neu eingesteckt und das Spiel ging von vorn los, dass ganze musste ich ca. 3x wiederholen und dann war die Firmware aktualisiert.
MPLAB meldet jetzt bei anstecken und auswählen des Programmers:

PICkit 3 detected
Connecting to PICkit 3...
Running self test...
Self test completed
Firmware Suite Version...... 01.26.92
Firmware type......................PIC18F
PICkit 3 Connected.
Ein anschließender Test mit dem Stand Alone Programmer ergab schließlich, dass der jetzt auch läuft.

Eine Anmerkung noch zum ZIF Sockel: Da die Bedienung der Sockelhebel mit der Deckplatte schwierig ist, habe ich diese kurzer Hand abgeschraubt. Da die Pin Nummerierung an den Sockeln nur schwer lesbar ist, muss man beim Einsetzen der Chips besonders sorgfältig sein. Pin 1 ist immer auf der gegenüberliegenden Ecke des Hebels. (Schaltplan der Platine)