SandboXP

Форк
0
/
modem.js 
63 строки · 1.2 Кб
1
"use strict";
2

3
/**
4
 * A modem via UART, like https://github.com/ewiger/jsmodem
5
 * Not particlarly useful for anything, superseded by network.js
6
 *
7
 * @constructor
8
 */
9
function ModemAdapter()
10
{
11
    this.send_char = function() {};
12

13
    this.enabled = true;
14
    this.socket = new WebSocket("ws://localhost:2080");
15

16
    this.socket.onopen = this.onopen.bind(this);
17
    this.socket.onmessage = this.onmessage.bind(this);
18
    this.socket.onclose = this.onclose.bind(this);
19
    this.socket.onerror = this.onerror.bind(this);
20

21
    this.opened = false;
22
}
23

24
ModemAdapter.prototype.onmessage = function(e)
25
{
26
    console.log("onmessage", e);
27
};
28

29
ModemAdapter.prototype.onclose = function(e)
30
{
31
    console.log("onclose", e);
32
    this.opened = false;
33
};
34

35
ModemAdapter.prototype.onopen = function(e)
36
{
37
    console.log("open", e);
38
    this.opened = true;
39
};
40

41
ModemAdapter.prototype.onerror = function(e)
42
{
43
    console.log("onerror", e);
44
};
45

46
ModemAdapter.prototype.init = function(code_fn)
47
{
48
    this.destroy();
49
    this.send_char = code_fn;
50
};
51

52
ModemAdapter.prototype.destroy = function()
53
{
54
};
55

56
ModemAdapter.prototype.put_chr = function(chr)
57
{
58
    console.log("put_chr", chr);
59
    if(this.opened)
60
    {
61
        this.socket.send(chr);
62
    }
63
};
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.