Entwickler-Ecke

Sonstiges (Delphi) - NXT via Bluetooth über comport ansprechen


>M@steR< - Di 03.03.09 21:51
Titel: NXT via Bluetooth über comport ansprechen
Gelöscht


GTA-Place - Mi 04.03.09 17:45

Wenn ich dazu komme, kriegste heute Abend meine eigene NXT-Delphi-Implementation, bzw. Ausschnitte davon.


>M@steR< - Do 05.03.09 18:02

Gelöscht


>M@steR< - Fr 06.03.09 18:31

Gelöscht


GTA-Place - Fr 06.03.09 21:04

Sorry, heute werde ich auch nicht mehr dazukommen. Schick mir mal eine PN. Dann denke ich auf jedenfall noch dran!


>M@steR< - Fr 06.03.09 21:15

Gelöscht


freak4fun - Fr 06.03.09 22:13

Kennst du vielleicht einen Lego NXT Simulator, GTA-Place? :D


GTA-Place - Sa 07.03.09 14:07

Das müsste soweit alles sein, was du brauchst.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
var
  TNxtMessage = Array of Byte;

procedure SplitToByte(var Msg: TNxtMessage; Val, Start, Ende: Integer);
var
  X: Integer;
begin
  for X := Start to Ende do
  begin
    Msg[X] := Val mod 256;    
    Val := Val shr 8;         
  end;                      
end;

function SendMsg(NxtMsg: TNxtMessage): String;
var
  X: Integer;
  Data: String;
begin
  Data := '';

  for X := 0 to Length(NxtMsg) - 1 do
    Data := Data + Chr(NxtMsg[X]);

  Data := Chr(Length(NxtMsg)) + Chr($00) + Data;
  Ser.SendString(Data);
end;

procedure PlayTone(Freq: Word; Dur: Word);
var
  NxtMessage: TNxtMessage;
begin
  // PlayTone
  SetLength(NxtMessage, 6);

  NxtMessage[0] := $80;       // Direct command telegram (no response)
  NxtMessage[1] := $03;       // Command for PlayTone

  SplitToByte(NxtMessage, Freq, 23);  // Frequency for the tone, Hz
  SplitToByte(NxtMessage, Dur, 45);   // Duration of the tone, ms

  SendMsg(NxtMessage);
end;


Bitte im Quelltext erwähnen, dass das von mir stammt (Fabian Gärtner). SendString ist eine Funktion der Library SynaSer [http://synapse.ararat.cz/doku.php/download] (weiter untern auf der Seite).

@freak4fun: Wenn es das ist, was ich meine, dann nicht. Aber was meinst du denn genau? ^^


>M@steR< - Sa 07.03.09 18:46

Gelöscht