mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
4 lines
1.7 KiB
JavaScript
4 lines
1.7 KiB
JavaScript
function c(a,e){var d=this;this.serial=a;this.at=require("AT").connect(a);this.at.registerLine('+CMTI: "SM",',function(a){d.emit("message",a.substr(12));return""})}function g(a){if(0!=(a.length&3))return a;for(var e="",d=0;d<a.length;d+=4){var b=parseInt(a.substr(d,4),16);if(isNaN(b))return a;e+=String.fromCharCode(b)}return e}c.prototype.init=function(a){var e=this.at;this.at.cmd("ATE0\r\n",3E3,function k(b){if(b&&"ATE0"==b.trim())return k;"OK"!=b&&a("ATE0 ERROR "+b);e.cmd("AT+CMGF=1\r\n",
|
|
1E3,function(b){a&&a("OK"==b?null:"CMGF ERROR "+b)})})};c.prototype.send=function(a,e,d){var b=this.at;b.register(">",function(){b.unregister(">");b.write(e+"\u001a\r");return""});b.cmd('AT+CMGS="'+a+'"\r\n',1E4,function f(a){b.unregister(">");if(a&&"+CMGS"==a.substr(0,5))return f;d&&d("OK"==a?null:"CMGS ERROR "+a)})};c.prototype.list=function(a,e){var d=[],b;this.at.cmd('AT+CMGL="'+a+'"\r\n',1E4,function f(a){if(void 0!==b&&void 0!==a)return b.text=g(a),b=void 0,f;if(a&&"+CMGL: "==a.substr(0,7)){try{var c=
|
|
JSON.parse("["+a.substr(7)+"]");b={index:c[0],isRead:"REC READ"==c[1],oaddr:c[2],oname:c[3],time:c[4],text:""};d.push(b)}catch(m){}return f}e&&e("OK"==a?null:"CMGL ERROR "+a,d)})};c.prototype.get=function(a,e){var d;this.at.cmd("AT+CMGR="+a+"\r\n",1E4,function h(a){if("OK"==a)return e(null,d);if(void 0!==d&&void 0!==a&&"OK"!=a)return d.text=g(a),h;if(a&&"+CMGR: "==a.substr(0,7)){try{var c=JSON.parse("["+a.substr(7)+"]");d={isRead:"REC READ"==c[0],oaddr:c[1],oname:c[2],time:c[3],text:""}}catch(l){}return h}e&&
|
|
e("OK"==a?null:"CMGR ERROR "+a,list)})};c.prototype["delete"]=function(a,c){"ALL"==a&&(a="1,4");this.at.cmd("AT+CMGD="+a+"\r\n",1E3,function(a){c&&c("OK"==a?null:"CMGD ERROR "+a)})};exports=c |