Forum: Projekte & Code Betty als Modellbau-Oszi


von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

Hi,
hab mal ne Betty - TV in ein Oszi für den RC-Modellbau umgebaut.

Dabei werden bestimmte Protokolle direkt dekodiert (z.B. Servo, PPM, 
Multiprop):

: Verschoben durch User
von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Hallo Oliver

... klingt sehr interessant,

kannst du noch etwas mehr schreiben,
oder gibt es dazu eine direkte Seite?

Mit was hast du programmiert und könnte man auch den Quelcode bekommen?

Grüße Martin

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

Hi Martin,
erstmal hab ich mir einen ADC-Pin von der Tastatur abgezweigt (rote 
Leiterbahn in pins.jpg)

danach das für den Pulup auf dem ADC-Pin verandwortliche Bauteil 
entfernt (blau makiert in pins.jpg)

und dann einen einfachen Widerstands-Teiler davor gelötet (2.Widerstand 
in gelben Schrumpfschlauch in Bild: teiler.jpg)


Die Software ist ein böser Hack, da ich viel hin und her probiert habe 
:-)

DBD
 Olli

PS: muss mal sehen wo ich die Software hin lege, da dort noch ein 
bisschen mehr dran hängt.

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

es gibt auch noch ein Linux-Frontend auf SDL-Basis

von Christian A. (cau) Flattr this


Lesenswert?

da ich eh noch ein paar Bettys rumliegen habe, finde ich das auch sehr 
interessant!
Würde mich sehr über die Quellen freuen - egal, wie undurchsichtig das 
fürs Erste ist. Hauptsache erstmal was veröffentlichen. Aufräumen 
übernehmen auch andere Interessiere.

Christian

P.S.: Github kann ich sehr empfehlen. Hab auch ein kleines Projekt da 
liegen. Im Gegensatz zu sourceforge ist es auch einiges einfacher. Man 
muss halt nur mit den paar Beschränkungen klarkommen (maximaler 
Speicherplatz)

von Oliver D. (unixconf)


Lesenswert?

Binary: http://www.multixmedia.org/test/betty-oszi.bin

Sources: http://www.multixmedia.org/test/betty-oszi.tgz (>6MB ;-( )
 Compiler-Pfad muss noch angepasst werden: src/platform/lpc2220/make.inc

Noch ein Hinweis:
Nach dem Umbau funktioniert ein Teil der Tastatur nicht mehr !!!

  (Curser + A-D + Betty + Exit + Prog+- + Vol+- gehen aber noch :-) )

von Oliver D. (unixconf)


Lesenswert?

Tasten-Belegung:

  Curser-UP/Down: Zoom (X-Achse)
  Curser-Left/Right: Offset (X-Achse)
  Vol+-: Sample-Buffer-Size
  A: Sync-Mode
  B: Analog/Digital-Mode (wobei die 'Digital-Werte' auch nur die 
Analog-Werte mit steil gezeichnetet Flanken sind)
  Exit: Reset-Setup

Servo, PPM & Multiprop-Werte werden automatisch eingeblendet,
sobald diverse Bedingungen erfüllt sind (min/max Pulse-Width, ...)
* der 'auto-mode' kann aber auch störrend sein, wenn man bestimmte 
Analog-Signale messen möchte !

EDIT:
könnte mir vorstellen noch ein PPM/PWM Signal per Timer zu erzeugen 
(Servo-Tester)
und vielleicht die IR-Diode gegen ein Foto-Transistor tauschen 
(Drehzahl-Messer)
....

von Oliver D. (unixconf)


Lesenswert?

Hi,
hab mal etwas abgespeckt :-)
die Links stimmen aber noch !

von Oliver D. (unixconf)


Lesenswert?


von Esko (Gast)


Lesenswert?

abo

von Oliver D. (unixconf)


Lesenswert?

Hi,
hab jetzt auch einen Servo-PWM generator drin (Servo-Tester).

Tasten:
---------------------------
D     Pulse/Sync-Weite (auswahl für PROG+-)
PROG+ Weite++
PROG- Weite--
---------------------------
C     Autodetect On/Off
OK    Pause
---------------------------

DBD
 Olli

von Christian A. (cau) Flattr this


Lesenswert?

wow - du legst ein ganz schönes Tempo hin. Ich werd zeitigstens in der 
Woche vor Weihnachten dazu kommen, mir das anzusehen. Vielen Dank schon 
mal für das Veröffentlichen des Sourcecodes.

Besteht denn bedarf zu dem SDL Interface noch ein grafisches zu 
schreiben, das auch für nicht Linuxer besser zu handhaben wäre?

von www (Gast)


Lesenswert?

> Filesystem-Library's
pl. libraries

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

Hi,
> pl. libraries
Danke !!!

Hab mal ein Update hochgeladen,

Nun lassen sich per 'externen Sensor' (Poti, oder altes Servo-Gehäuse 
mit Poti ohne Motor) auch die Drehgeschwindigkeit eines Servos messen 
:-)

Dafür wird das Poti mit dem Servo-Arm verbunden und die MUTE Taste 
gedrückt.
Nun fährt das Servo auf seine Start-Position und dann mit maximaler 
Geschwindigkeit 0.5ms weiter,
dabei wird die Zeit vom Start-Pulse bis zur letzten Positionsänderung 
gemessen und angezeigt.


DBD
 Olli

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

Und hier nochmal den Pin für die PWM/Servo-Ausgabe (Bild).

von Oliver D. (unixconf)


Lesenswert?

Hmm,
irgendwie bin ich hier allein Unterhalter ;-(
Egal ich höre mich ja gerne selber reden :-)

DBD
 Olli

* nuschel : da hab ich jetzt Graustufen im LCD und nen 2. Analog-Kanal 
aber die wolle des ja nett Wisse *

von Name (Gast)


Lesenswert?

kannst du nicht hier ein artikel drüber erstellen. Mich würd das sehr 
ausführlich interessieren und ich hab nicht so viel Zeit um die ganze 
Zeit im Forum zu lesen. Wär nett.

von Michi Müller (Gast)


Lesenswert?

Oliver Dippel schrieb:
> Hmm,
> irgendwie bin ich hier allein Unterhalter

Hast ein Super Teil gebaut. Leider habe ich keine Betty. Daher kann ich 
nur mitlesen. Aber trotzdem weiterso !

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

ich selber habe auch kein betty und programmiere bisher auch nur mit 
verschiedenen atmegas und co.

jedoch interessieren, wie du die verschiedenen Features realisiert hast.
Oszi, --> triggerung, frequemzen, ...
Servo, --> ist klar
PPM, --> ...
Multiprop,--> ...
IR-Diode, --> Drehzahlmesser

Programmierung der Darstellung der verschiednen Grafiken.
Momentan muss ich grad noch für eine Prüfung lernen , aber in 2 Wochen 
würde ich mir deinen Code mal ausführlich anschauen.

Grüße Martin

von Oliver D. (unixconf)


Lesenswert?

Ahh,
liest ja doch jemand mit :-)

>kannst du nicht hier ein artikel drüber erstellen
später...

>Leider habe ich keine Betty

Achso, vielleicht sollte ich mal zurück linken:

  Beitrag "[V] Paket mit 16 Bettys"

dort bekommt man 16 Bettys für glaube 2.60Euro/Stk. (42Euro inkl. 
Versand)


>würde ich mir deinen Code mal ausführlich anschauen
lieber nett :( *ich versteck mich schonmal :-)

Die Software ist in einem 'Framework' entstanden,
die gleiche Software habe ich schon für einen STM32 kompiliert (ohne 
änderungen) und es hat auf Anhieb funktioniert, nur das Timing und die 
Darstellung sollte man an die Ziel-Platform anpassen (mittlerweile auch 
noch den ADC-Part (den hab ich als Inline-Funktion mit ins mainfile 
übernommen) ).

Aber egal, was ich sagen wollte: das 'Framework' funktioniert auch mit 
AVR's ;-)

Allerdings sind die PPM-Features auf einem AVR nicht möglich,
da dieser nicht genügend RAM besitzt :-(

Wo wir schonmal bei 'günstiger Hardware' sind,
will noch einen STM32 vom STM8-Discover board (Watterott ~7.50Euro)
in ein 1Kanal USB-Oszilloskop verwandeln.

>jedoch interessieren, wie du die verschiedenen Features realisiert hast.
>triggerung
*Als erstes messe ich eine kurze Zeit und merke mir dabei die 
Min/Max-Pegel
*aus min/max nehme ich den Mittel-Wert und habe einen brauchbaren 
Trigger-Wert
*nun messe ich wieder und warte dabei auf 2 Pulse-Flanken (1. fallend 
2.steigend) und starte meine eigentliche Messung....
*dabei schreibe ich alle ADC-Werte so schnell wie möglich in meinen 
RAM-Buffer.

>Servo/Pulse
einfach den Buffer, Wert für Wert durch gehen und per Trigger-Wert die 
Anzahl der Messwerte zwischen den Pulse-Flanken mitzählen (HI und LO 
getrennt).
länge HI == Servo-Pulse
länge LO+HI == Frame-Länge (zeit blaablaa...== Frequenz/Framerate)

>Multiprop,--> ...
selbiges wie oben, nur das ich nicht nach dem 1. Pulse aufhöre und nach 
jedem HI-Pulse über 2.2ms (oder unter 1.8ms) den Channel-Counter auf 0 
setze (bei jedem normalen Pulse 1->2ms : Channel-Counter++)

>PPM, --> ...
fast so wie Multiprop (LO>=4ms == FrameSync || LO+HI<=2ms == 
Servo-Pulse)

PPM & Multiprop benötigt viel Speicher, da mindestens ein komplettes 
Frame in den Buffer passen muss :-(

>IR-Diode, --> Drehzahlmesser
kommt noch, dann aber per Timer/Counter

puhhhh :-)

Grüße
 Olli

PS: Generell: nix Realtime, nix genaues, aber billig und alltagstauglich 
:-)

von daniel (Gast)


Lesenswert?

Welche Hardwareänderungen wurden denn genau gemacht? Ich hab auch eine 
Betty und würde die gern umbauen, aber aus den Bildern werd ich noch 
nicht ganz schlau.
Kannst du detailliert zeigen, was an welcher Stelle geändert, entfernt, 
zugefügt und angeschlossen ist?

Danke,

Daniel

von Oliver D. (unixconf)


Lesenswert?

Hi,
gut das du fragst, hab noch ein fehler gefunden, ein PullUp-Widerstand 
muss auch noch weg!

Rot im Bild:

 PullUp: PullUp-Widerstand (der rechte von den 3) ablöten
 TR: PullUp-Transistor ablöten und einen Pin davon als Eingang nutzen.
 Masse: am Kondensator zum anlöten des Spannungs-Teiler's

Die 2 Widerstände bilden den Spannungs-Teiler (2 x 470kOhm)
 1. zwischen Eingang-Pin(TR) und Masse
 2. zwischen Eingang-Pin(TR) und Messkabel (bei mir ein Servo-Kabel)

Besser :-) ?

Grüße,
 Olli

PS: ich setze für 'normale' Aufgaben nur noch das Bettyscope(Bettycheck) 
ein, ist voll Praktisch!

!!!!! Mann sollte aber aufpassen das die Betty beim Messen nicht in der 
Ladestation sitzt !!!!!!


Hmm, bekomme das Bild nicht hochgeladen, daher ein Link: 
http://bettycheck.rcos.eu/targets/betty-backend/pins2.jpg

von Marek N. (Gast)


Lesenswert?

abo

von Oliver D. (unixconf)


Lesenswert?

Videos:

Servo-PWM: http://www.youtube.com/watch?v=0d0x_BVSsdc
Analog: http://www.youtube.com/watch?v=U7tIfTGg4Gc

Grüße,
 Olli

PS: ich verbiete mir jeglichen Kommentar über die Qualität der Videos 
:-)

von daniel (Gast)


Lesenswert?

Danke für die Antwort. Bin gerade am Löten. :)
Welche Funktion hat das braune Kabel im Bild? Ist das auch am Widerstand 
angelötet? Ist etwas schlecht zu erkennen.

Danke,

Daniel

von Oliver D. (unixconf)


Lesenswert?

Hi Daniel,
Schwarz und Weis reicht,
das Kabel ist ein Servo-Kabel: [GND;+5V;Signal] / [Schwarz;Rot;Weis]
Das Rote ('Braune') habe ich abgelassen.
So kann ich einfach die BettyCheck an einen RC-Empfänger stecken und 
sehe was los ist :-)

Grüße,
 Olli

von daniel (Gast)


Lesenswert?

Hallo Olli,

vielen Dank, die Lötarbeiten sind erledigt, sobald die Akkus voll sind 
wird geflasht :)

Da ich nur Linux-Rechner habe, wäre ich auch an dem SDL-Frontend 
interessiert. Leider finde ich das nirgendwo. Wäre wirklich toll, wenn 
du das zur Verfügung stellen könntest.

Schönen Restsonntag und nochmal danke für dieses tolle Projekt!

Daniel

von daniel (Gast)


Lesenswert?

daniel schrieb:
> Leider finde ich das nirgendwo.

In den Sourcen gefunden :)

von Oliver D. (unixconf)


Lesenswert?

Hi,
leider habe ich aktuell die funktion ausgebaut,
da ich so viel geändert hatte und noch zu faul war,
das alles auf das SDL-Tool zur übertragen :-(

Ich würde auch gerne das ganze gleich über RF senden,
dann hat man kein lästiges Kabel dazwischen :-)

Güße,
 Olli

von daniel (Gast)


Lesenswert?

OK, ich warte :)

Firmware ist drauf, ich muss nur erstmal die Bedienung in den Griff 
kriegen. Irgendwie komm ich damit noch nicht ganz zurecht.

von Oliver D. (unixconf)


Lesenswert?

Buttons:
 *A = Offset: Trigger am Anfang des Buffers oder an der ersten flanke
 *B = Waveform: Digital oder Analog (je nach modus ist eine linie dunkel 
und die andere hell)
 *C = Check: Automatik-Modus (schaltet automatisch zwischen: Analog, PWM 
und PPM um / am besten ausschalten, da die funktion nicht immer ganz 
stabil läuft)
 *D = Keymode: Damit kann man die Funktion der 'Prog+-' Tasten ändern 
(PWM-Puls oder PWM-Sync länge für den Servo-Ausgang)
 *Exit = Zurücksetzen der Einstellungen
 *VOL+- = Länge des Sample-Buffers
 *PROG+- = Servo-Ausgang (Puls- und Sync-Länge)
 *MUTE = Servo-Speed-Test (lieber nicht drücken, da danach die Tasten 
etwas hängen)
 *OK = Pause: stoppt das Sampling um das Bild zu Zoom und Verschieben
 *Cursor = Zoom und Offset

Die Tasten reagieren auch recht träge, da ich ohne IRQ arbeite um die 
Messung nicht zu stören.

von Oliver D. (unixconf)


Lesenswert?

Hi,
und immernoch zufrieden damit ???

Ihr könnt auch gerne Verbesserungs-Vorschläge einbringen.

Grüße,
 Olli

von Old P. (Gast)


Lesenswert?

Hmm, mal ne doofe Frage: Was in aller Welt ist eine "Betty"?

Old-papa

von Oliver D. (unixconf)


Lesenswert?

Hi,
am besten mal hier rein schauen: 
http://www.bettyhacks.com/wiki/index.php/Main_Page

Man bekommt das 'Ding' bei eBay für unter 10Euro.
hier im Forum sogar für ~2.80 bei 16Stk. ;-)

von rfischer (Gast)


Lesenswert?

Hallo Olli,

das hast du aber super gemacht, DANKE.

Bin gerade am löten, geflasht ist bereits.

Jetzt "Hänge" ich aber...

Oliver Dippel schrieb:
> Datum: 23.01.2011 13:45
> Hi,
>
> gut das du fragst, hab noch ein fehler gefunden, ein PullUp-Widerstand
> muss auch noch weg!
>
> Rot im Bild:
>
>  PullUp: PullUp-Widerstand (der rechte von den 3) ablöten
>

Im Bild sehe ich aber den "anderen rechten" also linken entfernt ?!

Welcher muss denn nun raus.....

Roland

von Oliver D. (unixconf)


Lesenswert?

Hi Roland,
du hast recht, ich meinte eigentlich den ganz links (hab es auf der HP 
geändert),
kannst aber auch alle 3 raus nehmen, hatte ich bei meiner ersten auch 
gemacht und es funktioniert.

Grüße,
 Olli

PS: den 'Auto-Mode' habe ich per Default mal auf 0 (AUS) gesetzt,
da ich bei der Puls-Erkennung noch einen Bug drin habe (absturz).
Muss den Bug mal suchen, denke ein /0 problem oder so, manche Pulsformen 
mag der einfach nicht :-(.

von Roland (r_fischer)


Lesenswert?

Hallo Olli,

danke für die Antwort, hab den Ausgelötet und Ausprobiert.

Ist ja Klasse, muss nur noch schnell mal meine Servo's holen...

Die Auto-Mode Funktion ist nicht so wichtig bei mir.

Ich habe mal mein Funktionsgenerator angeschlossen und muss sagen,
das Display und die Anzeige oben sind auf jeden Fall mehr als
Ausreichend für die Anwendung, ich war richtig positiv Überrascht.

Nun schau ich mir aber auch mal den Quellcode an, vieleicht kann man
ja noch ein Gitter (aus Punkten) auf die Anzeige Zaubern ?

Das hast du wirklich klasse gemacht.

Auf Youtube habe ich dein Flug (10:00 Min.) mit Telemetrieanzeige
angeschaut, sowas hätte ich auch gerne aber für einen Ballon.

Roland

von Oliver D. (unixconf)


Lesenswert?

Hi Roland,
freut mich das es dir gefällt.

Ein Gitter sollte kein Problem darstellen,
da war ich zu faul :)
Den Code nicht zu genau anschauen, war ne Nacht und Nebel aktion ;(

Grüße,
 Olli


PS:
Zu dem Telemetrie-Video:
Es gibt ein Linux-Tool dafür, mit etwas Aufwand kann man es bestimmt 
auch unter Windows nutzen (libSDL & ffmeg).
 http://csv2avi.rcos.eu/index.html

Das Tool benötigt eine XML-Datei für die konfiguration und eine 
CSV-Datei für die Daten.
Daraus wird ein Video erzeugt das später mit einem Video-Editor über das 
Original-Video gelegt werden kann.
Leider existiert keine Doku dazu, wenn du mast kann ich dir aber beim 
erstellen helfen.

von daniel (Gast)


Lesenswert?

Oliver Dippel schrieb:
> und immernoch zufrieden damit ???

Sehr! Absolut Klasse das Teil, besonders, wenn man den Preis betrachtet. 
Und für mich absolut ausreichend :)

von Oliver D. (unixconf)


Lesenswert?

Vielen Dank!

Hab mal ein paar Updates hochgeladen und ein GIT angelegt:

Binary: 
http://bettycheck.rcos.eu/targets/betty-backend/betty-backend.bin
GIT: http://git.bettycheck.rcos.eu/?p=bettycheck;a=summary
Source: http://bettycheck.rcos.eu/sources.tgz

@Roland: sorry hab auch ein Raster mit eingebaut,
ich war gerade so schön dabei :-)

Changes:
 * XY-Raster
 * bessere PWM-Skalierung

Grüße,
 Olli

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

neue Updates:
* Button1 == Grid (On/Off)

und ein Bild dazu...

von Roland (r_fischer)


Lesenswert?

Hallo Olli,

ich bin nicht böse... 8-)

Danke für die Umsetzung, ich schau mir das mal im Quellcode an, man
kann ja auch was lernen.

Wegen der Telemetrie melde ich mich sobald ich dafür Zeit habe mal
per PM.

viele Grüße
Roland

von Oliver D. (unixconf)


Lesenswert?

Hi Roland,
war en bissle tricky mit dem Gitter, da ich viel skalieren und zoomen 
muste,
könnte wiklich mal etwas sauberer gemacht werden :-(

Wollte ja nur was nützliches mit machen, als der Kasten mit den 16 
Betty's vor mir stand :-)

@All:
Wenn noch jemand ne gute Idee hat, was man noch mit der Betty anstellen 
kann,
ich hab noch genug zum spielen ;-)

Grüße,
 Olli

von Oliver D. (unixconf)


Angehängte Dateien:

Lesenswert?

Sorry nochmal,

hab noch ein altes TCL-Tool umgebaut damit man zumindest die auf der 
Betty angezeigte 'Kurve' sehen kann.

n8,
 Olli

von Torsten S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Zuerst einmal: Das Projekt finde ich super!

Leider habe ich leichte Startschwierigkeiten.
Ich habe bei meiner Betty zunächst die Software installiert.
Danach habe ich die Umbauten durchgeführt und festgestellt, dass sich 
meine Platine nicht mit der auf den Fotos deckt. Das wäre ja nicht 
weiter schlimm, wenn da nicht das Problem wäre, dass nach dem Starten 
der Software zwar der richtige Bildschirminhalt angezeigt wird, jedoch 
keinerlei Bedienung möglich ist. Auf dem Bildschirm steht "check     1" 
und man kann sehen dass eine Messung wohl durchgeführt wird, jedoch nur 
einzelne Punkte sehr leicht von der Nulllinie abweichen und keinerlei 
Änderung beim Anlegen eines Signals angezeigt werden.
Könnte mir da jemand einen hilfreichen Tipp geben?
Die Platinenversion ist: BettyHHU V2.0

von Oliver D. (unixconf)


Lesenswert?

Hi Torsten,

> Zuerst einmal: Das Projekt finde ich super!
Danke :-)

> Die Platinenversion ist: BettyHHU V2.0
hmm, da haben wir erstmal ein Problem,
leider wusste ich nicht das es verschiedene HW-Version gibt.

Die von mir genutzte ist:
* BettyHHU V3.2.1 & V3.2.2 (funktionieren beide)


> Auf dem Bildschirm steht "check     1"
Das bedeutet das die Software denkt, das die Taste 'C' gedrückt wird 
(Pullup nicht vorhanden ? / falschen TR oder Widerstand ausgelötet ?).

>man kann sehen dass eine Messung wohl durchgeführt wird, jedoch nur
einzelne Punkte sehr leicht von der Nulllinie abweichen und keinerlei
Änderung beim Anlegen eines Signals angezeigt werden.

Wenn man jede Taste mal drückt müsste das Signal sich verändern (auf 
Vmax springen).
Hat man diese Taste kann man auch dort die Messleitung anbringen,
oder man prüft ob die Kontakte auf der Unterseite zugänglich sind.


Ansonsten kann ich dir anbieten deine Platine gegen eine V3.2.x zu 
tauschen,
dann schau ich mir die V2.0 mal an.
Oder du machst mal Fotos von der V2.0, vielleicht finden wir ja eine 
Lösung.

Grüße,
 Olli

PS: @All Die Software also bitte erstmal nur mit den Platinen-Versionen 
V3.2.1 & V3.2.2 nutzen !!!

von Torsten S. (Gast)


Lesenswert?

Hallo Oliver,

danke für die schnelle Antwort.
Ich habe mal alle Tastenausprobiert. Leider ändert sich nichts am 
Signalverlauf und auch das Programm reagiert nicht darauf, jedoch sehe 
ich dass die Messung im Hintergrund weiterläuft, da die Waveform sich 
immer ganz leicht ändert.
Ich habe die Platine mal von ganz nah und in guter Auflösung 
fotografiert und hier hochgeladen: http://ul.to/ktkov9
Bislang habe ich den einen Pullupwiderstand + den einen Transistor 
ausgelötet. (Meinen Spannungsteiler habe ich wieder entfernt, damit man 
die Platine besser sehen kann)

Vielleicht kannst du mit den Fotos das Problem einkreisen. Ansonsten 
könnte ich dir auch gerne die Platine zukommen lassen.

Gruß, Torsten

von Oliver D. (unixconf)


Lesenswert?

Hi Torsten,
konte keine gravierende Unterschiede entdecken (in diesem Bereich).
Am besten wir tauschen einfach mal die Platinen, dann kann ich richtig 
nachschauen.

Wenn du mit deine Adresse gibst, schick ich dir ne neue zu!

Main Mail: o DOT dippel ÄD gmx PunkT de

Grüße,
 Olli

von A. S. (telekatz)


Lesenswert?

V2.0 war in der Swisscom Betty verbaut. Die Tastaturmatrix ist dort 
anders angeschlossen als in den deutschen Bettys.
http://bettyhacks.com/forum/index.php?topic=128.0

von betty (Gast)


Lesenswert?

Kann mir mal bitte jemand erklären, wie ich die Betty auseinander 
bekomme ohne gleich alles zu zerkratzen oder zu zerstören.
Am Besten mit wäre es, wenn das jemand mit Fotos oder einem Video 
"untermalen" könnte.

Mehr als eine Schraube habe ich nicht gefunden. Die Verschalung bekomme 
ich aber dennoch nicht ab.
Danke schon mal.

von Oliver D. (unixconf)


Lesenswert?

Hi,
ich gehe einfach einmal mit dem Fingernagel durch den Schlitzt.
Sollte sich recht einfach öffnen lassen !

Grüße,
 Olli

von someone (Gast)


Lesenswert?

ich wollte nur mal kurz loswerden, dass das ein wirklich schickes 
projekt ist. ich hab auch noch ein paar betties zuhause, hab damit aber 
andere pläne. aber hut ab. man kommt in versuchung, das nachzubauen!

von betty (Gast)


Lesenswert?

Oliver Dippel schrieb:
> ich gehe einfach einmal mit dem Fingernagel durch den Schlitzt.
> Sollte sich recht einfach öffnen lassen !

eben genau das will bei mir nicht so recht ...

von Oliver D. (unixconf)


Lesenswert?

Ich glaube am unteren Ende geht es am einfachsten.
Oben kann man mit sanfter Gewalt das rote 'Glas' in Richtung 
Display-Seite drücken.
Ansonsten gibt es da keine Tricks, nur ein wenig Mut :-)

von GuWa (Gast)


Lesenswert?

Hallo Olli,
der Betty Oszi läuft! Aber gibt es eigendlich eine geschicktere Lösung 
zum Ausschalten als Akku rausnehmen? Ich habe schon an einen kleinen 
Schalter gedacht, aber eventuell hat die Betty ja ne Möglichkeit in 
einen Sleep modus   zu gehen.
Gruß
 Günter

von Oliver D. (unixconf)


Lesenswert?

Hi Günter,
leider habe ich mich mit dem Stromspar-Thema noch nicht befasst,
werde mal schauen was man da machen kann.
CPU-Takt runterdrehen bekomme ich glaube ich noch hin,
danach hört es aber auch schon auf mit meinen Ideen dazu :-(

Ich habe meine Betty immer in der Ladestation, daher störrt es mich 
nicht wirklich.
Werde mich aber mal ran setzen !

Grüße,
 Olli

von Andreas Känner (Gast)


Lesenswert?

Hi Olli,

super Pojekt. Welche Toolchain benutzt du zum Entwickeln?

Gruss,
Andreas

von Oliver D. (unixconf)


Lesenswert?

Sourcery_G++_Lite

von Dominik W. (dwestfahl)


Lesenswert?

Hi allerseits!

Ich bräuchte mal 'nen Tipp bezüglich der von Oliver zur Verfügung 
gestellten Sourcen. Ich kriege die Sourcen so weit kompiliert und das 
Ergebnis entspricht auch 1:1 der bin-Datei wie sie unter 
targets/betty-backend/betty-backend.bin den sourcen bei liegt:
http://bettycheck.rcos.eu/sources.tgz

Aber sowohl die originale Datei als auch mein Ergebnisbinary 
funktionieren nicht auf der Betty. Die im zweiten Link zur Verfügung 
gestellte binary:
http://bettycheck.rcos.eu/targets/betty-backend/betty-backend.bin
funktioniert einwandfrei, entspricht aber nicht der ersten Variante.

Was mache ich falsch?

Gruß Dominik

von Peter R. (chefpro)


Lesenswert?

Hallo Oliver,

gibt es schon etwas neues von der Hardware Version 2.0 ?

Ich habe hier 5 Betty mit Hw 2.0 rumliegen und würde es gerne zum laufen 
bringen. Die gibt es gerade bei Pollin für 3,95€.

Ich habe auch schon einige Erfahrung mit ARM/AVR Programmierung.

Ich habe auch noch ein paar Ideen zu Erweiterungen.

Wie wäre es da mit:

 * Onewire Buswatcher
 * I2C Buswatcher
 * 8 Bit Logik Analyser

Meine Überlegungen:

Onewire:
Hier wäre cool wenn man einen Pin hätte mit externen Interrupt.
Cool, am Hardware I2C Port der RTC ist einer :-).

I2C:
Ein Hardware I2C Port wäre cool und sollte an der RTC abzugreifen sein.
Wird ja auch für Onewire gebraucht.

Logic:
Evtl könnte man die JTAG im Batteriefach nutzen. Da sind 6 Pins.
Können die JTAG Pins als GPIO genutzt werden ?
Zusammen mit den I2C Pins sind es 8.
Besser wären natürlich Pins 1.24 und 1.25.
Dadurch hätte man 8 zusammenliegende Pins und müsste den Port 1 nur 
einmal lesen was schnellere Sampleraten ermöglicht.

Ich würde gern die Ideen umsetzen und die Ergebnisse als Patch 
bereitstellen oder sogar im Git einchecken (wenn gewünscht).

Zuerst muss aber das Grundprogramm erst mal auf der 2.0 Hardware laufen.
Wie ist hier also der Stand ?

Gruß, Peter

von Peter R. (chefpro)


Lesenswert?

Hi Oliver,

eins hab ich noch vergessen bei meinen Überlegungen.

 * Drehzahlmesser mit optischer Abnahme

Ich habe hier ein paar CNY70 rumliegen.
Die können mit geringer Beschaltung auch an einen Interuppt-Port.

Gruß, Peter

von Peter R. (chefpro)


Lesenswert?

Hi Oliver,

noch ne Idee:

 * IR-Signal watcher

Gruß, Peter

von Oliver D. (unixconf)


Lesenswert?

@Dominik
sorry für die spääääte Antwort,
da hat sich was am Compiler geändert, das Binary auf der Seite sollte 
nun gehen, was wir damals geändert hatten muss ich nochmal checken, 
finde die Mail nicht mehr ;-(

@Peter
Wow, legst ja voll los :-)
Ich muss das Zeugs erstmal wieder raus suchen, nutze meist mein großes 
Oszi.

Was ich auf jeden fall gerne an der Betty hätte ist ein AN/AUS schalter 
und ein dicker Lipo-Akku.

Ne 2.0er Version hatte ich auch irgendwo, da hatten sich diverse 
Pin-Belegungen geändert soweit ich das in Erinnerung habe,
muss ich aber auch erst nochmal nachschauen, aber ne funktionierende 
Software für die 2.0er hatte ich keine gemacht.

Gruß,
 Olli

von ./. (Gast)


Lesenswert?

Oliver Dippel schrieb:
> Ne 2.0er Version hatte ich auch irgendwo, da hatten sich diverse
> Pin-Belegungen geändert soweit ich das in Erinnerung habe,
> muss ich aber auch erst nochmal nachschauen, aber ne funktionierende
> Software für die 2.0er hatte ich keine gemacht.

Waere aber nett...

von Peter R. (chefpro)


Lesenswert?

Hi,

für die Betty Boob Firmware soll es schon eine Version für v2.0 geben.
Habe hier irgendwo im Forum gelesen, dass da im Code schon defines sein 
sollen. Da könnte man zumindest die Unterschiede zwischen den beiden 
Versionen sehen und für unseren Zweck adaptieren.

Wäre ja auch schön das mal im Wiki zu Dokumentieren.

Ich werde am Wochenende mal den Code auschecken und durchgehen, und wenn 
da in beiden Projekten, Boob und Oszi, defines für die Pins gemacht 
wurden, ist das nicht viel Arbeit. Vorausgesetzt in der Boob Firmware 
sind die defines für die v2.0 drin.

Wenn nicht stelle ich das mal auf defines um.

Ich hoffe nur, dass in der v2.0 irgendwo noch ein ADC-Pin zu finden ist.

Gruß, Peter

von Peter R. (chefpro)


Lesenswert?

Hallo Oliver,

frage fürs Wochenende.

Ist den der Code im Git aktuell oder ist die gepackte Datei neuer ?

Ich möchte nur sicher gehen, dass ich die neueste Version am Wochenende 
anschaue.

Gruß, Peter

von Sebastian_R. (Gast)


Lesenswert?

Peter Rustler schrieb:
> gibt es schon etwas neues von der Hardware Version 2.0 ?

Das würde mich auch brennend interessieren!

von Oliver D. (unixconf)


Lesenswert?

Nein !

von nicht Gast (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe zwei verzinnte Pads auf einer Swisscom Betty von Pollin 
gefunden, die zu analog Inputs fuehren. Mit AIN1 habe ich den 
Spannungsteiler verbunden, das #define fuer den ADC Kanal angepasst und 
bettycheck funktioniert.

Und mit dem Patch klappt sogar die Abfrage der Tasten.

von Sebastian R. (sebr)


Lesenswert?

Das sind ja wirklich gute NAchrichten, dass es jetzt auch auf den 
swisscom bettys läuft :-)
Könntest du bitte mal die fertige binary hochladen?

von Martin B. (martin_b97)


Lesenswert?

Sebastian R. schrieb:
> Das sind ja wirklich gute NAchrichten, dass es jetzt auch auf den
> swisscom bettys läuft :-)
> Könntest du bitte mal die fertige binary hochladen?

Daran wäre ich auch sehr interessiert. Wollte mir nicht die ganze 
Toolchain installieren.

Martin

von EaZeE (Gast)


Lesenswert?

Ja, eine fertige .bin für eine Swisscom-Betty wäre super.

Habe jetzt über eine Woche verschiedenste Toolchains zu testen, aber ich 
kriege die sources einfach nicht kompiliert, selbst mit meiner 
"betty-toolchain" nicht.

Daher bin ich für jeden Tipp dankbar oder für eine fertige .bin für eine 
Swisscom.

Thx in advance,
eazee

von IrreProjekt (Gast)


Lesenswert?

Hallo,

ohne in den Code zu schauen. Wo liegen den gerade die Grenzen in der 
theoretischen Bandbreite oder/ und Samplerate des Signals?

Danke für die Informationen vorab.

von EaZeE (Gast)


Angehängte Dateien:

Lesenswert?

So, habs endlich kompiliert bekommen.

Bitte mal testen, die keys für swisscom habe ich angepasst...

von Sebastian R. (sebr)


Lesenswert?

Den PullUp-Transistor und -widerstand braucht man ja nun nicht mehr zu 
entfernen, da der freiliegende Analogeingang genutzt wird, oder?
Wie flasht man denn die .bin am besten?

von EaZeZ (Gast)


Lesenswert?

Zum Flashen benutze ich das lpctool.
Erspars dir aber, denn meine .bin funktioniert nicht, da die Betty dann 
nicht mehr startet.

Wurde auch schon mal hier von einem User erwähnt.

von Sebastian R. (sebr)


Lesenswert?

Ja, musste ich eben leider auch feststellen :-(

von EaZeE (Gast)


Lesenswert?

So, was machen wir nun?

von Oliver D. (unixconf)


Lesenswert?

Das letzte was ich noch weiß ist, das wir probleme mit einem neuen 
Compiler hatten, aber was genau wir geändert hatten damit es wieder ging 
hab ich vergessen, entweder was mit dem LD-Script oder ..., keine Ahnung
Ich find auch die E-Mails dazu nicht mehr, sorry, aber versucht mal 
einen anderen Compiler, ich komm im Moment einfach nicht dazu.
Ihr könnt euch aer auch mal ein anderes Betty-Projekt anscheuen und 
versuchen es kompiliert zu bekommen.

Welchen Compiler nutzt ihr denn ?

Gruß,
 Olli

von EaZeE (Gast)


Lesenswert?

Hallo Olli,

super dass sich der Guru meldet!!! ;-)

Ich benutze zum einen zuhause auf Ubuntu die ronetix toolchain (für 
betty_boop und jetzt - nach Anpassungen vom LD, auch für bettycheck).

Meine compilierte von heute Mittag ist auf dem Firmenlaptop mit der 
CodeSourcery entstanden)

Mir fällt grad nix mehr ein, wo ich noch schauen könnte...

von Gunnar H. (gunnar_henne)


Lesenswert?

Hallo,

ich konnte bisher nur ein Boop  mit der Ronetix Toolchain 4.1.1 bauen, 
das von dieser Seite aus verlinkt ist:
http://bettyhacks.com/wiki/index.php/Entwicklungsumgebungen

Viele Grüße
Gunnar

von Oliver D. (unixconf)


Lesenswert?

hab eben mal mein zeugs zusammen gesucht und auch die 2.0 version 
gefunden,
aber irgendwie bekomm ich die 1er geflasht und auf der 2er passiert gar 
nix nach dem hochladen :-(
Bevor ich anfing war da wenigstens noch eine alte version drauf und hat 
ein Bild angezeigt.
Ich bin Verwirrt :-)

EDIT: upps, nun geht es, hat wohl ein reset gefehlt !?!?!?
Aber nur mit der alten Virmware (1er), mit patch muss ich noch testen.

von Oliver D. (unixconf)


Lesenswert?

So, mit meiner scheint es zu laufen:

http://www.multixmedia.org/test/Betty-Bins/bettycheck-v2.bin

Genutzt habe ich CodeSourcery:
/opt/CodeSourcery/Sourcery_G++_Lite/lib/gcc/arm-none-eabi/4.4.1

Bin mir nicht ganz sicher ob dort nicht die alten changes drin sind, 
glaube aber seit dem hatte ich meine Workstation schonmal neu 
installiert und es müsste das Original CodeSourcery sein.

von Oliver D. (unixconf)


Lesenswert?

Hab die Sourcen nun so angepasst das beide Versionen kompilierbar sind.

#####  Danke an den Unbekannten für den Patch !!!! #####

Wenn du mir sagst wer du bist kann ich das im Quelltext vermerken.

Jedoch hab ich noch das Problem das das Input-Signal (am ADC) auf High 
steht, da ist entweder noch ein PullUp-Widerstand dran oder ich setze 
den irgendwo im Code ?????

Sourcen werde ich gleich noch hochladen, wechseln der 2 Versionen kann 
man durch editieren der Datei:

setup.inc

vornehmen.
Für die 1er:

include ./targets/betty-backend/make.inc

und für die 2er:

include ./targets/betty-backend-v2/make.inc

..........

Quellen sind nun aktualisiert:
 http://bettycheck.rcos.eu/sources.tgz


Gruß,
 Olli

von EaZeE (Gast)


Lesenswert?

Hallo Olli,

wie geil ist das denn, deine v2 läuft auch auf meiner swisscom betty!!!

Die Tasten funktionieren (soweit ich sehen konnte) ebenfalls.

Bei der Version muss der Spannungsteiler an AIN1 hängen??? Hast du 
bereits in der Version das define fuer den ADC Kanal angepasst???

Du bist super, darauf mach ich mir noch schnell ein Bierchen auf ;-)))

von Oliver D. (unixconf)


Lesenswert?

EaZeE schrieb:
> Hallo Olli,
>
> wie geil ist das denn, deine v2 läuft auch auf meiner swisscom betty!!!
>
> Die Tasten funktionieren (soweit ich sehen konnte) ebenfalls.
>
> Bei der Version muss der Spannungsteiler an AIN1 hängen??? Hast du
> bereits in der Version das define fuer den ADC Kanal angepasst???
>

AIN1 ???
Hmm, hab mit der 2er nie was gemacht, hab ich auch nur durch zufall, da 
einer mit mir getauscht hatte, aber ich schau mal nach.
Angepasst hab ich da noch nix.

> Du bist super, darauf mach ich mir noch schnell ein Bierchen auf ;-)))
Und ich ;-(
.....
Komm gleich wieder :-)

von Oliver D. (unixconf)


Lesenswert?

Ok, ist hochgeladen, ADC define hab ich angepasst, weiß aber nicht wo 
ich den Pin auf der Platine finden kann ???
Wenn ich mit dem Finger ein wenig rum drücke registrier ich auch ein 
Signal, jedoch ist is per default bei mir immer noch auf High-Pegel.
Aber glaube sehr Hochohmig !

von Oliver D. (unixconf)


Lesenswert?

ok, hab den Pin gefunden, en foto mach ich heut aber nicht mehr davon,
liegt unter der CPU.
Mittig rechts sind 2 längliche kleine Lötpunkte/Pads, davon der Linke.


|                  CPU                      |
|___________________________________________|
[] [] [] []                     [x] []

Der mit dem x :-)

n8
Olli

von EaZeE (Gast)


Lesenswert?

nicht Gast schrieb:
> Ich habe zwei verzinnte Pads auf einer Swisscom Betty von Pollin
> gefunden, die zu analog Inputs fuehren. Mit AIN1 habe ich den
> Spannungsteiler verbunden, das #define fuer den ADC Kanal angepasst und
> bettycheck funktioniert.
>
> Und mit dem Patch klappt sogar die Abfrage der Tasten.

Hallo Olli,

oben zitiert der hoffentlich passende Text und das passende Bildchen 
dazu. Ich dachte ursprünglich, das wärst du gewesen? Sorry, wenn dem 
nicht so ist! :-)

Habe gerade probiert, die Sourcen zu compilieren, leider hab ich es 
(noch) nicht geschafft... Das LD jammert wieder wegen .init rum, muss 
das script wohl wieder anpassen und sehen, was sich ergibt!

TAUSEND DANK ÜBRIGENS!!!

Btw, das 3. Bie... ist offen, hoffentlich höre ich den Wecker um 5.30. 
;-)

von EaZeE (Gast)


Lesenswert?

Okay, zu spät.

Original Text war hier: Datum: 30.10.2012 20:09

von Sebastian R. (sebr)


Lesenswert?

Also wenn ich die von Oliver gestern verlinkte Binary flashe, dann 
bekomme ich nur ein blinkendes Backlight - mehr nicht :-(

von Oliver D. (unixconf)


Lesenswert?

Versorgungs-Spannung testen, die Akku-Kontakte sind schrottig bei den 
Dingern, dreh mal an den Akkus oder häng ein 3V Netzteil dran.
Oder lass die Betty mal in der Station ein wenig nachladen.
Zumindest bei mir ist das manchmal der fall, sobald die Backlight angeht 
bricht die Spannung zusammen !

Kannst auch mal richtige Batterien testen, die beiliegenden Akkus sind 
schon ein paar Jahre alt !

von Oliver D. (unixconf)


Lesenswert?

Hab eben mal das aktuellere Binary nach:

http://www.multixmedia.org/test/Betty-Bins/bettycheck-v2.bin

gelegt, glaube da war noch das ohne AIN0 fix drin.

Dazu auch noch das für die v1.x:

http://www.multixmedia.org/test/Betty-Bins/bettycheck-v1.bin

von Sebastian R. (sebr)


Lesenswert?

Ich habe die Betty v2 bereits an einem LaborNT und mit der original F/W 
läuft sie ja.
Umgebaut habe ich noch nichts, wollte zuerst mal bettycheck flashen. Da 
Oliver aber schrieb, dass in der binary wohl der Eingang noch nicht 
geändert wurde liegts vielleicht daran?!

von Oliver D. (unixconf)


Lesenswert?

Ne, der eingang hat damit nix zu tun !

von EaZeE (Gast)


Lesenswert?

Ich kann leider erst wieder heute abend testen, ob es (noch) geht.
Ich werde dann aber auf alle Fälle ein Feedback abgeben. ;-)

AIN0 fix? Oder meinst du AIN1?

von Oliver D. (unixconf)


Lesenswert?

sorry, AIN0 -> AIN1, oder ?
Egal bin gerade auf der Arbeit und kann selber nicht schauen, aber halt 
die letzte Änderung, so das der Analog-Pin jetzt funktioniert.

von EaZeZ (Gast)


Lesenswert?

So, eben mal deine bins probiert, Olli, gehen beide. Muss bloß nachher 
mal ein Kabel an AIN1 löten und das prüfen. Die AIN1 Anpassung ist aber 
noch nicht im tar auf deiner homepage, oder?

von Oliver D. (unixconf)


Lesenswert?

Im sources.tgz sind alle Änderungen drin, nur nicht im GIT.
Freut mich das es bei dir Funktioniert.

von EaZeE (Gast)


Lesenswert?

Okay, alles klar. Dachte nur vielleicht, dass ich was übersehen habe. 
Dein kompilierten Versionen lassen die Betty nämlich starten, meine 
problemlos durchcompilierten machen aber Probleme.

Aber ich hab ja deine Version ;-)

Tausend Dank!!!

von Oliver D. (unixconf)


Lesenswert?

Welche Compiler-Version hast du ?
Welches Betriebs-System ?
Würde schon gerne wissen warum es nicht geht !
Hattest du mal die Betthacks-Firmware getestet/kompiliert ?

von EaZeE (Gast)


Lesenswert?

Hab zuhause Ubuntu mit der ronetix 4.1.1 toolchain. Damit bekomme ich 
auch boop kompiliert, einwandfrei. (Da muss ja schließlich auch 
gebastelt werden ;-)

bettycheck krieg ich damit aber nicht durch, jammert dann beim LD-Skript 
rum, wenn ich das zurechtbiege bis der Compiler zufrieden ist, startet 
die Betty aber nicht mit dieser .bin.

Auf dem Firmenlaptop ist WINXP mit der aktuellen CodeSourcery toolchain 
(4.5.2???), damit kompiliert bettycheck einwandfrei durch, aber die 
erstellten .bins lassen die Betty auch nicht starten, egal ob "original" 
oder swisscom.

Deshalb ist es ja so merkwürdig. Werde es mal vielleicht mit deiner 
4.4.1 probieren, wenns die noch gibt?

Oder kannst du mir die tar'n, gzippen oder was auch immer? liebgugg 
;-)

von Oliver D. (unixconf)


Lesenswert?


von EaZeE (Gast)


Lesenswert?

Super, lade ich grad mal runter und teste das dann mal... freu

von EaZeE (Gast)


Lesenswert?

Mal schnell ausprobiert, aber das lüppt leider auch nicht.
1
/home/eazee/arm-2011.03/bin/../arm-uclinuxeabi/libc/usr/lib/libc.a(__uClibc_main.o): In function `__uClibc_fini':
2
__uClibc_main.c:(.text+0xb4): undefined reference to `__fini_array_start'
3
__uClibc_main.c:(.text+0xb8): undefined reference to `__fini_array_end'
4
/home/eazee/arm-2011.03/bin/../arm-uclinuxeabi/libc/usr/lib/libc.a(__uClibc_main.o): In function `__uClibc_main':
5
__uClibc_main.c:(.text+0x204): undefined reference to `__preinit_array_start'
6
__uClibc_main.c:(.text+0x208): undefined reference to `__preinit_array_end'
7
__uClibc_main.c:(.text+0x20c): undefined reference to `__init_array_start'
8
__uClibc_main.c:(.text+0x210): undefined reference to `__init_array_end'
9
/home/eazee/arm-2011.03/bin/../arm-uclinuxeabi/libc/usr/lib/libc.a(sigrestorer.o):(.ARM.exidx+0x0): relocation truncated to fit: R_ARM_PREL31 against `.text'
10
/home/eazee/arm-2011.03/bin/../arm-uclinuxeabi/libc/usr/lib/libc.a(sigrestorer.o):(.ARM.exidx+0x8): relocation truncated to fit: R_ARM_PREL31 against `.text'
11
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o): In function `get_eit_entry':
12
unwind-arm.c:(.text+0x1f8): undefined reference to `__exidx_start'
13
unwind-arm.c:(.text+0x1fc): undefined reference to `__exidx_end'
14
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x0): relocation truncated to fit: R_ARM_PREL31 against `.text'
15
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x8): relocation truncated to fit: R_ARM_PREL31 against `.text'
16
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x10): relocation truncated to fit: R_ARM_PREL31 against `.text'
17
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x18): relocation truncated to fit: R_ARM_PREL31 against `.text'
18
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x20): relocation truncated to fit: R_ARM_PREL31 against `.text'
19
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x28): relocation truncated to fit: R_ARM_PREL31 against `.text'
20
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x30): relocation truncated to fit: R_ARM_PREL31 against `.text'
21
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x38): relocation truncated to fit: R_ARM_PREL31 against `.text'
22
/home/eazee/arm-2011.03/bin/../lib/gcc/arm-uclinuxeabi/4.5.2/libgcc.a(unwind-arm.o):(.ARM.exidx+0x40): additional relocation overflows omitted from the output
23
/home/eazee/arm-2011.03/arm-uclinuxeabi/bin/ld.real: targets/betty-backend/betty-backend.elf.gdb: hidden symbol `__fini_array_end' isn't defined
24
collect2: ld returned 1 exit status
25
make: *** [targets/betty-backend/betty-backend.elf] Fehler 1

von EaZeE (Gast)


Lesenswert?

MEIN FEHLER!!!

Hatte vergessen ein '/' im make.inc rauszunehmen, da gabs dann wohl 
Probleme mit den libs.

Hier der aktuelle Fehler...nach ein paar 32bit enums-Fehlern
1
/home/eazee/arm-2011.03/bin/../arm-uclinuxeabi/libc/usr/lib/crt1.o: In function `_start':
2
(.text+0x28): undefined reference to `__uClibc_main'
3
/home/eazee/Sourcery_G++_Lite/arm-none-eabi/lib//libc.a(lib_a-abort.o): In function `abort':
4
abort.c:(.text+0x10): undefined reference to `_exit'
5
/home/eazee/Sourcery_G++_Lite/arm-none-eabi/lib//libc.a(lib_a-signalr.o): In function `_kill_r':
6
signalr.c:(.text+0x1c): undefined reference to `_kill'
7
/home/eazee/Sourcery_G++_Lite/arm-none-eabi/lib//libc.a(lib_a-signalr.o): In function `_getpid_r':
8
signalr.c:(.text+0x44): undefined reference to `_getpid'
9
/home/eazee/Sourcery_G++_Lite/arm-none-eabi/lib//libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
10
sbrkr.c:(.text+0x18): undefined reference to `_sbrk'
11
collect2: ld returned 1 exit status
12
make: *** [targets/betty-backend/betty-backend.elf] Fehler 1

von Oliver D. (unixconf)


Lesenswert?

du nutzt auch den falschen compiler:

arm-uclinuxeabi

entpack meinen Compiler so das er unter /opt liegt, also das der Pfat zu 
den Bins dieser ist:

/opt/CodeSourcery/Sourcery_G++_Lite/bin

dann entpackst du die sources.tgz (irgendwo) ohne was zu ändern.

Kompilieren kannst du dann mit:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/CodeSourcery/Sourcery_G++_Lite/b 
in  make clean all

So sollte der Pfad zum richtigen Compiler stimmen, allerdings ist dieses 
CodeSourcery für 32bit,
hoffe das passt zu deinem System!?!?

Aber mit dem arm-uclinuxeabi bekommt man garantiert keine 
funktionierende Betty-Bins hin !

######################################################################## 
#######################

root@station:/usr/src/Betty/bettycheck/src# 
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/CodeSourcery/Sourcery_G++_Lite/b 
in  make clean all
rm -rf *.bin *.hex *.elf *.c32 *.bin *.exe *.map *.dot *.o */*.o */*/*.o 
*/*/*/*.o */*/*/*/*.o */*/*/*/*/*.o *.d */*.d */*/*.d */*/*/*.d 
*/*/*/*/*.d *.a */*.a */*/*.a */*/*/*.a */*/*/*/*.a
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -c  -o platform/lpc2220/lpc2220_lib/crt.o 
platform/lpc2220/lpc2220_lib/crt.s
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o driver/drawing/fb1bit/drawing.o 
driver/drawing/fb1bit/drawing.c
driver/drawing/fb1bit/drawing.c:25:1: warning: initialization from 
incompatible pointer type
driver/drawing/fb1bit/drawing.c:25:1: warning: initialization from 
incompatible pointer type
driver/drawing/fb1bit/drawing.c:25:1: warning: initialization from 
incompatible pointer type
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o 
driver/graphic/ssd1854/graphic.o driver/graphic/ssd1854/graphic.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/system.o 
platform/lpc2220/system.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/sound.o 
platform/lpc2220/sound.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/delay.o 
platform/lpc2220/delay.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/keyboard.o 
platform/lpc2220/keyboard.c
platform/lpc2220/keyboard.c: In function 'button_get_event':
platform/lpc2220/keyboard.c:53:10: warning: unused variable 'tries'
platform/lpc2220/keyboard.c: In function 'Keyboard_ReadChar':
platform/lpc2220/keyboard.c:143:10: warning: unused variable 'cmd'
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/systick.o 
platform/lpc2220/systick.c
platform/lpc2220/systick.c: In function 'Systick_Init':
platform/lpc2220/systick.c:52:1: warning: 'return' with a value, in 
function returning void
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/adc.o 
platform/lpc2220/adc.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/control.o 
platform/lpc2220/control.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/spi.o 
platform/lpc2220/spi.c
platform/lpc2220/spi.c: In function 'Spi_Read_Byte':
platform/lpc2220/spi.c:54:2: warning: large integer implicitly truncated 
to unsigned type
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o platform/lpc2220/serial.o 
platform/lpc2220/serial.c
platform/lpc2220/serial.c: In function 'Serial_Init':
platform/lpc2220/serial.c:154:2: warning: 'return' with a value, in 
function returning void
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o 
platform/lpc2220/lpc2220_lib/lpc2220_lib.o 
platform/lpc2220/lpc2220_lib/lpc2220_lib.c
arm-none-eabi-gcc  -mcpu=arm7tdmi-s -Wall -mthumb-interwork -msoft-float 
-Os -I./ -I./targets/betty-backend -DBETTY_V2 -I./driver/drawing/fb1bit 
-DDRIVER_DRAWING -I./driver/graphic/ssd1854 -DDRIVER_GRAPHIC 
-DDRIVER_GRAPHIC_BACKLIGHT -I./platform/lpc2220 
-I./platform/lpc2220/lpc2220_lib   -c -o main.o main.c
main.c:23:8: warning: type defaults to 'int' in declaration of 'setPWM'
main.c:104:1: warning: large integer implicitly truncated to unsigned 
type
main.c: In function 'draw_msg':
main.c:122:3: warning: implicit declaration of function 
'Display_DrawInt2'
main.c: In function 'check_key':
main.c:135:3: warning: implicit declaration of function 
'SSD1854_Backlight'
main.c:138:4: warning: large integer implicitly truncated to unsigned 
type
main.c:143:3: warning: large integer implicitly truncated to unsigned 
type
main.c: In function 'main':
main.c:398:2: warning: implicit declaration of function 'startPWM'
main.c:405:2: warning: large integer implicitly truncated to unsigned 
type
main.c:690:13: warning: unused variable 'pulse_flag2'
main.c:689:13: warning: unused variable 'pulse_flag'
arm-none-eabi-gcc  -Tplatform/lpc2220/lpc2220_lib/lpc2220_rom.ld 
-L./platform/lpc2220/lpc2220_lib 
-L/opt/CodeSourcery/Sourcery_G++_Lite/lib/gcc/arm-none-eabi/4.4.1 
-L/opt/CodeSourcery/Sourcery_G++_Lite/arm-none-eabi/lib/ -o 
targets/betty-backend/betty-backend.elf 
platform/lpc2220/lpc2220_lib/crt.o  driver/drawing/fb1bit/drawing.o 
driver/graphic/ssd1854/graphic.o platform/lpc2220/system.o 
platform/lpc2220/sound.o platform/lpc2220/delay.o 
platform/lpc2220/keyboard.o platform/lpc2220/systick.o 
platform/lpc2220/adc.o platform/lpc2220/control.o platform/lpc2220/spi.o 
platform/lpc2220/serial.o platform/lpc2220/lpc2220_lib/lpc2220_lib.o 
main.o  -lgcc -lc
arm-none-eabi-size targets/betty-backend/betty-backend.elf
   text     data      bss      dec      hex  filename
  19528       52    55621    75201    125c1 
targets/betty-backend/betty-backend.elf
arm-none-eabi-objcopy -O binary targets/betty-backend/betty-backend.elf 
targets/betty-backend/betty-backend.bin
root@station:/usr/src/Betty/bettycheck/src#

von EaZeE (Gast)


Lesenswert?

Hatte den ja nur ausprobiert, da der im Paket mit bei war. Hab jetzt den 
im /bin Ordner des Sourcery_G++_Lite genommen und siehe da...

KAUM MACHT MAN ES RICHTIG, FUNKTIONIERT'S!!!!!!!

Tausend Dank, Olli.

von jack (Gast)


Lesenswert?

Hallo,
durch einen kleinen Unfall ist mir bei einer Swisscom-Betty das AIN1- 
Lötpad abgerissen. Wenn man ganz vorsichtig den Anschluss direkt am LPC 
löst und nach oben biegt, kann man einen feinen Draht anschliessen und 
auf einmal sind die 1,6V Leerlaufspannung sind weg, Messen geht dann 
ganz normal. Es muss also irgendwo auf der Platine noch eine Komponente 
sein, die an AIN1 geht (die hab ich leider nicht gefunden.
Alternativ: AIN6 scheint komplett unbeschaltet, einfach in der main.c 
den Analogeingang auf "6" setzen, make clean, make all...

Vielen Dank jedenfalls für die Arbeit in diesem Projekt, es funktioniert 
recht gut!
Da schließe ich mich den Tausend Dank an!

von Dominik W. (dwestfahl)


Lesenswert?

Hi allerseits!

Wie hoch ist die Samplerate bei euch?

Ich bekomme bei einem 10kHz Rechtecksignal etwa 15 Messpunkte pro Welle. 
Das scheint mir bei einer maximalen Taktfrequenz von 60MHz erst mal 
relativ wenig.

Gruß Dominik

von Oliver D. (unixconf)


Lesenswert?

Die CPU macht nur 30Mhz (wegen dem Flash), dann kommt es auch nicht auf 
die CPU an sondern auf die ADC's, aber du kannst gerne tunen,
dafür ist es ja OpenSource :-)

von 1704 (Gast)


Lesenswert?

jack schrieb:
> Hallo,
> durch einen kleinen Unfall ist mir bei einer Swisscom-Betty das AIN1-
> Lötpad abgerissen. Wenn man ganz vorsichtig den Anschluss direkt am LPC
> löst und nach oben biegt, kann man einen feinen Draht anschliessen und
> auf einmal sind die 1,6V Leerlaufspannung sind weg, Messen geht dann
> ganz normal. Es muss also irgendwo auf der Platine noch eine Komponente
> sein, die an AIN1 geht (die hab ich leider nicht gefunden.
> Alternativ: AIN6 scheint komplett unbeschaltet, einfach in der main.c
> den Analogeingang auf "6" setzen, make clean, make all...
>
> Vielen Dank jedenfalls für die Arbeit in diesem Projekt, es funktioniert
> recht gut!
> Da schließe ich mich den Tausend Dank an!

Hallo Jack, hallo betty-Fans,

nach langen Versuchen habe ich endlich meine Schweizer Freundin mit der 
bettycheck-v2.bin beglückt. Gemäß 
http://www.mikrocontroller.net/attachment/158881/ain1-ain6.jpg (von 
"nicht gast") habe ich nur eine Reaktion bei AIN6. Leider zeigt die 
betty im Leerlauf 1,67V an (Jack hat das Phänomen offenbar bei AIN1)und 
ich kann nur beim direkten Anschluss an GND und AIN6 etwas Messen. Mit 
dem Spannungsteiler klappte es nicht.
Auch ein direkter Anschluss am IC-Beinchen (mit vermutlicher Trennung 
von der Platine) hat nicht geholfen.
Für eine Lösung wäre ich dankbar. Kann vielleicht jemand fertige bins 
anderen AIN (AIN1? oder falls das Bild in1-ain6.jpg falsch ist AIN6) zum 
Testen eines anderen Anschlusses bereitstellen?

Viel Spaß bei Eueren Projekten

1704

von ingo j. (digimod)


Lesenswert?

Hallo 1704,

bei meiner "Swisscom"- Betty konnte ich AIN 1 nur nutzen, wenn ich den 
Pin wirklich hochgebogen habe, sonst blieb die konstante Spannung. 
Irgendwo auf der Platine ist anscheinend noch ein Pullup- Widerstand den 
ich nicht gefunden habe.
Die Beschreibung weiter oben mit AIN6 hat bei meinen Bettys gestimmt.
Ach bei diesem Anschluss kannst Du versuchen, den Pin hochzubiegen und 
direkt den Spannungsteiler anzuschliessen.
In Ollis Quellen findet sich der verwendete Analogkanal in den defines 
in der main.c, da muss nur definiert sein, dass auch wirklich für die 
Swisscom Betty übersetzt wird.

Ich hoffe mal das hilft weiter

Gruß

Ingo

von Oliver dippel (Gast)


Lesenswert?

letzte sources, da gefragt wurde:

  http://multixmedia.org/bettycheck.tgz

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.