-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path6850.min.js
7 lines (7 loc) · 1.17 KB
/
6850.min.js
1
2
3
4
5
6
7
(function(a,b){if(typeof module!="undefined"){module.exports=b();}else{if(typeof define=="function"&&typeof define.amd=="object"){define(b);}else{this[a]=b();
}}}("MC6850",function(){var i=1;var c=2;var e=4;var g=8;var f=16;var a=32;var b=64;var h=128;var d=d||function(){this.reset();this._hooks={transmit:[],interrupt:[]};
this.control=0;this.status=c;};d.prototype.reset=function(){this.rxData=255;this.txData=255;};d.prototype.hook=function(k,j){this._hooks[k].push(j);};d.prototype.transmit=function(j){this._hooks.transmit.push(j);
};d.prototype.setData=function(m){this.txData=m&255;if((this.control&16)===0){this.txData=m&127;}this.status&=(~c&255);var k=this._hooks.transmit;if(k){for(var j=0;
j<k.length;j++){var l=k[j];l(this.txData);}}this.status|=c;};d.prototype.getData=function(){var j=this.rxData;if((this.control&16)===0){j&=127;}this.status&=(~i&255);
this.status&=(~a&255);return j;};d.prototype.getStatus=function(){return this.status;};d.prototype.setControl=function(j){if((j&3)==3){this.reset();}this.control=j&255;
};d.prototype.receive=function(j){if((this.control&16)===0){j&=127;}if(this.status&i){this.status|=a;return;}this.status|=i;this.rxData=j;};return d;}));