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