Rev 1950 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1950 | Rev 1952 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | var json_data = eval("(" + data + ")"); |
34 | var json_data = eval("(" + data + ")"); |
| 35 | 35 | ||
| 36 | //Log(JSON.stringify(json_data)); |
36 | //Log(JSON.stringify(json_data)); |
| 37 | 37 | ||
| 38 | if (json_data.method == "MBB.GpsNmeaData") |
38 | if (json_data.method == "MBB.GpsNmeaData") |
| - | 39 | { |
|
| - | 40 | if (Mbb_Clients[client_id]) |
|
| 39 | { |
41 | { |
| 40 | if (json_data.params.nmea.substr(0, 6) == "$GPGGA") |
42 | if (json_data.params.nmea.substr(0, 6) == "$GPGGA") |
| 41 | { |
43 | { |
| 42 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = json_data.params.nmea; |
44 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = json_data.params.nmea; |
| 43 | } |
45 | } |
| 44 | else if (json_data.params.nmea.substr(0, 6) == "$GPRMC") |
46 | else if (json_data.params.nmea.substr(0, 6) == "$GPRMC") |
| 45 | { |
47 | { |
| 46 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = json_data.params.nmea; |
48 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = json_data.params.nmea; |
| 47 | 49 | ||
| 48 | Mbb_Clients[client_id]["Position"] = _Mbb_NmeaToPosition(client_id); |
50 | Mbb_Clients[client_id]["Position"] = _Mbb_NmeaToPosition(client_id); |
| 49 | 51 | ||
| 50 | for (var n = 0; n < Mbb_Susbscribers.length; n++) |
52 | for (var n = 0; n < Mbb_Susbscribers.length; n++) |
| 51 | { |
53 | { |
| 52 | Mbb_Susbscribers[n]("position", Mbb_Clients[client_id]); |
54 | Mbb_Susbscribers[n]("position", Mbb_Clients[client_id]); |
| 53 | } |
55 | } |
| 54 | 56 | ||
| 55 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = ""; |
57 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = ""; |
| 56 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = ""; |
58 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = ""; |
| 57 | Mbb_Clients[client_id]["Position"] = false; |
59 | Mbb_Clients[client_id]["Position"] = false; |
| - | 60 | } |
|
| - | 61 | } |
|
| - | 62 | else |
|
| - | 63 | { |
|
| - | 64 | Log("Got data from unknown tracker!"); |
|
| 58 | } |
65 | } |
| 59 | } |
66 | } |
| 60 | else |
67 | else if (json_data.method == "MBB.OnConnected") |
| 61 | { |
68 | { |
| 62 | json_data = { "params" : { "Imei" : "004401700721448" } }; |
69 | json_data = { "params" : { "Imei" : "004401700721448" } }; // Temporary hack since we get corrupted data from the device |
| 63 | 70 | ||
| 64 | Log("Client " + client_id + " has IMEI " + json_data.params.Imei); |
71 | Log("Client " + client_id + " has IMEI " + json_data.params.Imei); |
| 65 | 72 | ||
| 66 | Mbb_Clients[client_id]["Id"] = client_id; |
73 | Mbb_Clients[client_id]["Id"] = client_id; |
| 67 | Mbb_Clients[client_id]["Info"] = json_data.params; |
74 | Mbb_Clients[client_id]["Info"] = json_data.params; |
| 68 | Mbb_Clients[client_id]["Position"] = false; |
75 | Mbb_Clients[client_id]["Position"] = false; |
| 69 | Mbb_Clients[client_id]["LastNmea"] = {}; |
76 | Mbb_Clients[client_id]["LastNmea"] = {}; |
| 70 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = ""; |
77 | Mbb_Clients[client_id]["LastNmea"]["GGA"] = ""; |
| 71 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = ""; |
78 | Mbb_Clients[client_id]["LastNmea"]["RMC"] = ""; |
| 72 | 79 | ||
| 73 | for (var n = 0; n < Mbb_Susbscribers.length; n++) |
80 | for (var n = 0; n < Mbb_Susbscribers.length; n++) |
| 74 | { |
81 | { |
| 75 | Mbb_Susbscribers[n]("connected", Mbb_Clients[client_id]); |
82 | Mbb_Susbscribers[n]("connected", Mbb_Clients[client_id]); |
| 76 | } |
83 | } |
| 77 | } |
84 | } |
| 78 |
|
85 | else |
| 79 | { |
86 | { |
| 80 |
|
87 | Log("Got unknown data \"" + data + "\" from client " + client_id); |
| 81 |
|
88 | } |
| 82 | } |
89 | } |
| 83 | 90 | ||
| 84 | function Mbb_SendData(client_id, json_data) |
91 | function Mbb_SendData(client_id, json_data) |
| 85 | { |
92 | { |
| 86 | return MbbExport_SendData(client_id, JSON.Stringify(json_data)); |
93 | return MbbExport_SendData(client_id, JSON.Stringify(json_data)); |