constructor(x, y, scope = globalScope, rows = 3, cols = 32) {
        super(x, y, scope, 'RIGHT', 1);
        /*
        this.scope['TTY'].push(this);
        */
        this.directionFixed = true;
        this.fixedBitWidth = true;
        this.cols = cols || parseInt(prompt('Enter cols:'));
        this.rows = rows || parseInt(prompt('Enter rows:'));

        this.elementWidth = Math.max(40, Math.ceil(this.cols / 2) * 20);
        this.elementHeight = Math.max(40, Math.ceil(this.rows * 15 / 20) * 20);
        this.setWidth(this.elementWidth / 2);
        this.setHeight(this.elementHeight / 2);
        // this.element = new Element(x, y, "TTY",this.elementWidth/2, this,this.elementHeight/2);

        this.clockInp = new Node(-this.elementWidth / 2, this.elementHeight / 2 - 10, 0, this, 1, 'Clock');
        this.asciiInp = new Node(-this.elementWidth / 2, this.elementHeight / 2 - 30, 0, this, 7, 'Ascii Input');
        // this.qOutput = new Node(20, -10, 1, this);
        this.reset = new Node(30 - this.elementWidth / 2, this.elementHeight / 2, 0, this, 1, 'Reset');
        this.en = new Node(10 - this.elementWidth / 2, this.elementHeight / 2, 0, this, 1, 'Enable');
        // this.masterState = 0;
        // this.slaveState = 0;
        this.prevClockState = 0;

        this.data = '';
        this.buffer = '';
    }
@class
TTY
TypeWriter - We can give 4 inputs:
clock and input of 7 bits are main input required
on the edge change the data is added onto the display
screen of the typewriter
@extends CircuitElement
@param {number} x - x coord of element
@param {number} y - y coord of element
@param {Scope=} scope - the ciruit in which we want the Element
@param {string=} dir - direcion in which element has to drawn
@category sequential