mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
2 lines
789 B
JavaScript
2 lines
789 B
JavaScript
exports.connect=function(f,e){var b={line:""};if(e)b.on("line",function(a){var b;if(b="GGA"==a.substr(3,3)){b=a.length;for(var c=0,d=1;d<b-3;d++)c^=a.charCodeAt(d);b=parseInt(a.substr(b-2),16)===c}b&&(a=a.split(","),b=a[2].indexOf("."),c=a[4].indexOf("."),e({time:a[1].substr(0,2)+":"+a[1].substr(2,2)+":"+a[1].substr(4,2),lat:(parseInt(a[2].substr(0,b-2),10)+parseFloat(a[2].substr(b-2))/60)*("S"==a[3]?-1:1),lon:(parseInt(a[4].substr(0,c-2),10)+parseFloat(a[4].substr(c-2))/60)*("W"==a[5]?
|
|
-1:1),fix:parseInt(a[6],10),satellites:parseInt(a[7],10),altitude:parseFloat(a[9])}))});f.on("data",function(a){b.line+=a;for(a=b.line.indexOf("\n");0<=a;)b.emit("line",b.line.substr(0,a-1)),b.line=b.line.substr(a+1),a=b.line.indexOf("\n");80<b.line.length&&(b.line=b.line.substr(-80))});return b} |