Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.

Nachrichten - asgard

1
/Done

:)
2
War die Woche komplett im Ausland unterwegs und konnte daher keine Mails beantworten und keine Bettys losschicken ;)
Keine Angst, die Bettys kommen  ;D
3
News / Re: BETTYs abzugeben!
18. Nov 2012, 13:42
UPDATE 18.11.2012:
Nach dem Pollin auf die Seite hier verlinkt!
Es gibt immer noch Bettys im 16-er Pack!
Einfach kurz melden :)
4
Software / Re: Betty als MPD client
15. Jan 2011, 19:55
Wünsche euch auch alles Gute!

Liebe Grüße
Asgard
5
Software / Re: Daten Sniffen
06. Jan 2010, 16:49
Hi,


Bei einer Baudrate von 230400 dauert die Übertragung eines Zeichens etwa 43 µs. Eine Abtastung des Signals alle 10µs funktioniert desshalb nicht.


kann man die Übertragung irgendwie beschleunigen?
Oder die Daten intern zwischenspeichern und sie nach und nach an den PC per RS232 übertragen.


Ausserdem sollte man, um die Abtastrate auch wirklich genau einzuhalten, die IRQs deaktivieren. Die Tastaturabfrage und waitus() funktionieren dann allerdings nicht mehr.


wie kann ich die IRQs  denn deaktivieren und trotzdem das timing einhalten (also waitus nutzen) ?

Viele Grüße
asgard
6
Software / Re: Daten Sniffen
06. Jan 2010, 11:29
Hi,

zwischenzeitlich habe ich einige Tests mit den gesnifften Daten gemacht.
Leider funktioniert das ganze noch nicht.

Ich vermute, dass ich ein Timing-Problem habe.

Mein Aufbau sieht momentan folgendermaßen aus:

2 Bettys
-> eine sendet die gesnifften Daten (die ich analysieren möchte und ganz zu Anfang aufgezeichnet habe)
-> zweite snifft die Daten, die Betty 1 verschickt, mit

Damit kann ich prüfen, ob die Daten korrekt gesendet wurden.

Nun ist es aber leider so, dass die Daten, die Betty 1 sendet, komplett anders aussehen als die ursprünglich zu analysierenden Daten.

Hier mal mein Code für den Versand der Daten per Funk:


void RF_viewer_6_10_senden(void) {

unsigned int i=1;
char replay[]="000000000000000000000000000000000000001111000011111000011000000001100000000011111110000001111111110000000001111110000000111111100000011111111100000000011111110000111001111100001111111111100000000000111111111110000000000011111110000000011111110000000111111100000011111111100000000000111111111000000000111111111000000001111111110000000001111111110000000011110000111111111001";
//Die Daten der Variable replay wurden hier stark gekürzt. Bei mir sind es insgesamt 19700 Nullen und Einsen

lcd_fill(0);
set_font(BOLDFONT);
draw_string(0, 0, "RF viewer-senden", 3, DRAW_PUT);
draw_block(0,10,128,2,3,DRAW_PUT);
set_font(SMALLFONT);

RFasyncmode_6(true);


cc1100_write1(AGCCTRL2,0x03);
cc1100_write1(AGCCTRL1,0x00);
cc1100_write1(AGCCTRL0,0x92);

cc1100_strobe(STX);

serial_init();  //baud 230400

while(KEY_Exit) {};

for (i=1;i<19700;i++)
{
waitus(10);

if(replay[i]=='0')
{
FIOCLR0 = GDO0;  //Kein Signal wird gesendet - Low
} else {
FIOSET0 = GDO0;  //Signal wird gesendet - High
}
}

RFasyncmode_6(false);
}



Hier mal mein Code für das sniffen der Daten:


void RF_viewer_6_10(void) {
unsigned char row = 0;
unsigned char col = 16;

lcd_fill(0);
set_font(BOLDFONT);
draw_string(0, 0, "RF viewer-sniffen", 3, DRAW_PUT);
draw_block(0,10,128,2,3,DRAW_PUT);
set_font(SMALLFONT);

RFasyncmode_6(true);

cc1100_write1(AGCCTRL2,0x03);
cc1100_write1(AGCCTRL1,0x00);
cc1100_write1(AGCCTRL0,0x92);

cc1100_strobe(SFRX);
cc1100_strobe(SRX);

serial_init();  //baud 230400

while(KEY_Exit) {};
while(!KEY_Exit)
{

waitus(10);

if((FIOPIN0 & GDO2))
{
serial_putc('0'); //Low
} else {
serial_putc('1'); //High
}

}

RFasyncmode_6(false);
}


Hat jemand eine Idee, warum das ganze nicht korrekt funktioniert?

Viele Grüße
Asgard
7
Hi Telekatz,

Zitat

Standardbibliotheken werden nicht mit Anführungszeichen eingebunden. Richtig ist:
#include <string.h>


das habe ich jetzt probiert, da bekomme ich leider die selben Fehlermeldungen:

testmenu.c:(.text+0xff4): undefined reference to `strncpy'
testmenu.c:(.text+0x1018): undefined reference to `strncat'
testmenu.c:(.text+0x1044): undefined reference to `strlen'


Zitat

Kommt da (unsigned char) 0 und 1 oder (ASCII) '0' und '1'? Wenn da 0 und 1 kommt wird das mit Stringfunktionen sowieso nicht funktionieren. (wegen der Nullterminierung von Strings)


du frägst sachen   ;D
ka...ich wollte die Daten einfach als String per rs232 rübersenden...also gehe ich von ASCII aus....

Zitat

Versuch das ganze mal ohne Stringfunktionen zu schreiben. Die sind für dieses Problem nicht notwendig.

Hast du mir da mal nen Tipp...ich hab keine Ahnung wie ich das lösen könnte...

Viele Grüße und vielen Dank für deine Mühe und Zeit!
Asgard

8
Hi,

irgendwie kann ich die Befehle 'strncpy'/'strncat'/'strnlen' nicht nutzen.

testmenu.c:(.text+0xff4): undefined reference to `strncpy'
testmenu.c:(.text+0x1018): undefined reference to `strncat'
testmenu.c:(.text+0x1046): undefined reference to `strnlen'


Die String.h hab ich auch eingebunden (#include "string.h").

Der Code sieht an der Stelle folgendermaßen aus (hab vorher noch nie C-programmiert...daher evtl. total unbrauchbarer/umständlich/falscher Code)....

Zitat

while (strncmp(serial_getc(),".",1)==1)
{
   strncpy(replay, serial_getc(), 1);
}


Ich möchte eigentlich nur meine gesnifften Daten vom Rechner an die Betty schicken (über RS232).
Dort sollen die Daten (0-en und 1-er) so lange gesammelt werden (quasi in der variable replay) bis ein "." kommt.
Der "." signalisiert der Betty das Ende der Daten. Danach soll Sie dann die Daten entsprechende rausfunken.


Zitat

   while(KEY_Exit) {};
   
   for (i=1;i=strlen(replay);i++)
   {
   strncat(act_char, replay+i, 1);
      
      waitus(50); //Daten wurden mit 50µs Abtastung aufgenommen
      //waitus(50);
         
      if(act_char=0)
      {
         FIOCLR0 = GDO0;  //Kein Signal wird gesendet - Low
      } else {
         FIOSET0 = GDO0;  //Signal wird gesendet - High
      }



Komischerweise kann ich aber strncmp nutzen....da gibt es keinen Fehler.
Was muss ich denn beachten?
Muss ich die "string.h" ausser in der testmenu.c noch wo anders einbinden?

Viele Grüße, vielen Dank und einen guten Rutsch ins neue Jahr 2010
Asgard
9
Software / Re: Daten Sniffen
28. Dez 2009, 21:18
Hi Telekatz,
danke für die ausführliche Hilfe!

Jetzt hab ich alles entsprechend angepasst, bekommen aber folgende Fehlermeldung beim kompilieren:

error: invalid lvalue in assignment

In der Zeile steht:
GDO0=1;  //Kein Signal wird gesendet - Low

Wie muss ich das denn korrekt angeben?

VIele Grüße und nochmal vielen Dank für deine Geduld!
Asgard

10
Software / Re: asixtool
25. Dez 2009, 23:12
11
Software / Re: Daten Sniffen
24. Dez 2009, 15:00
Hi Telekatz,
danke für die Hilfe.

Ich bin zwischenzeitlich soweit, dass ich wirklich nur noch die Daten, die ich brauche, empfange.
Das ganze mach ich mit der Betty.
Ich lass mir die Daten dann über den RS232-Port der Betty an den Rechner ausgeben und zeichne sie dort auf (über den RFViewer).

Nun wollte ich fragen, ob bzw. wie ich diese aufgenommenen Daten per Betty "versenden"/"simulieren" kann.

Viele Grüße und frohe Weihnachten
Asgard

12
Software / Re: Daten Sniffen
17. Dez 2009, 07:59
Hi Telekatz,
erst mal vielen Dank für das neue Release und die darin enthaltenen neuen Funktionen.

Ich hab mir jetzt mal die Funktion "RF viewer" in der Betty angeschaut.
Da ich in der näheren Umgebung scheinbar viele 433 bzw. 434 MHz Sender habe,
sehe ich dort gaaaaanz viele Daten...

Wie kann ich denn erkennen, welche Daten von welchem Gerät gesendet wurden?
Irgendwie müssen die Geräte ja wissen, welche Daten für sie selber interessant/relevant sind.

Kann man die Daten irgendwie filtern?

Viele Grüße
Asgard

13
Software / Re: Daten Sniffen
16. Dez 2009, 20:21

Für den CC1100 kannst du ja mal die Einstellungen von tugstugi http://bettyhacks.com/forum/index.php?topic=223.0 zum sniffen probieren.


Vielleicht kannst du mir kurz erklären, wie ich genau vorgehen muss, wenn ich die Einstellungen für den CC1100 in die Firmware übernommen habe...wie komme ich denn dann an die Rohdaten?
Werden die direkt über RX/TX ausgegeben?
Oder muss ich die Firmware noch erweitern/umschreiben um eine Art Sniffer zu bekommen?

Hab da leider (noch) keinen Plan von....

Viele Grüße
Asgard
14
Software / Re: Scart - Terminalmode
13. Dez 2009, 18:48

Zitat
Ist in der SCart-Firmware evtl grad ein Fehler drin?

REV14 funktioniert bei mir so wie es soll.


kann es sein, dass im SVN eine kompilierte Version mit

main.c

terminal = 1;
redirector = 1;
len =0;

while (1) {
if(redirector) {


oder

main.c

//terminal = 1;
redirector = 1;
len =0;

while (1) {
if(redirector) {
if(inbuflen >= 58) {
if(inbuflen >= 58) {


liegt?
Würde das nicht erklären, dass ich nur ein Echo bekomme und ich sonst nichts machen kann?

@telekatz:
Da ich es irgendwie nicht kompiliert bekomme wäre es super, wenn du mir dein bin-file kurz hochladen könntest.

Meine Ausgabe:
Z:\XXX\betty_scart\trunk>make
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c main.c
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c serial.c
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c cc1100.c
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c cmd.c
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c rf.c
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 -c timer.c

Linking main.rel serial.rel cc1100.rel cmd.rel rf.rel timer.rel
C:/SDCC/bin/sdcc --iram-size 0x100 --model-small --code-size 8096 -IC:/SDCC/incl
ude --std-sdcc99 main.rel serial.rel cc1100.rel cmd.rel rf.rel timer.rel -o bett
y_scart.ihx
Multiple definition of _crlf
Multiple definition of _crlf
Multiple definition of _crlf
make: *** [betty_scart.ihx] Error 1


Wenn ich danach nochmal make mache:

Z:\XXX\betty_scart\trunk>make
C:/SDCC/bin/packihx betty_scart.ihx > betty_scart.hex
packihx: read 440 lines, wrote 239: OK.
cat betty_scart.hex | C:/SDCC/bin/makebin -s 8096 > betty_scart.bin


Viele Grüße und vielen Dank!
Asgard
15
Software / Re: Scart - Terminalmode
13. Dez 2009, 13:48

Ein S oder ein s? Und nur ein s oder ein s + Eingabetaste? Allerdings sollte er auch auf ein S (mit Eingabetaste) mit Syntax error antworten.


hab sowohl S als auch s probiert.
ein Syntax error bekomme ich nie zu sehen.

hab gerade mal text per seriell vom scart zur betty übertragen...das funktioniert per portredirector
Testbutton macht nichts...kein abc

Ist in der SCart-Firmware evtl grad ein Fehler drin?