Fixes for viewdata, tested with proper viewdata client
This commit is contained in:
@@ -23,8 +23,6 @@ function sqrllogin() {
|
||||
var complete = false;
|
||||
var cancel = false;
|
||||
|
||||
fo.render();
|
||||
|
||||
log(LOG_DEBUG,'OPTIONS: '+JSON.stringify(loadOptions('sqrl')));
|
||||
sqrl = loadOptions('sqrl');
|
||||
http = new HTTPRequest();
|
||||
|
@@ -14,6 +14,13 @@ var VIEWDATA_COFF = "\x14";
|
||||
var VIEWDATA_CON = "\x11";
|
||||
var VIEWDATA_RIGHT = "\x09";
|
||||
var VIEWDATA_LEFT = "\x08";
|
||||
var VIEWDATA_MOSIAC_RED = ascii(27)+ascii(0x51);
|
||||
var VIEWDATA_MOSIAC_GREEN = ascii(27)+ascii(0x52);
|
||||
var VIEWDATA_MOSIAC_YELLOW = ascii(27)+ascii(0x53);
|
||||
var VIEWDATA_MOSIAC_BLUE = ascii(27)+ascii(0x54);
|
||||
var VIEWDATA_MOSIAC_MAGENTA = ascii(27)+ascii(0x55);
|
||||
var VIEWDATA_MOSIAC_CYAN = ascii(27)+ascii(0x56);
|
||||
var VIEWDATA_MOSIAC_WHITE = ascii(27)+ascii(0x57);
|
||||
|
||||
var VIEWDATA_MSG_SENDORNOT = ascii(27)+'BKEY 1 TO SEND, 2 NOT TO SEND';
|
||||
var VIEWDATA_MSG_LOGON = ascii(27)+'BKEY 1 TO LOGON, 2 TO RETURN';
|
||||
@@ -405,13 +412,13 @@ function VIEWDATAFrame() {
|
||||
};
|
||||
|
||||
this.qrcode = function(qr,subframe) {
|
||||
var offset = 18/2; // @todo For some reason RIGHT movements results in 2 spaces
|
||||
var offset = 18;
|
||||
// Render the body
|
||||
var qrcode = VIEWDATA_HOME+VIEWDATA_DOWN.repeat(5)+VIEWDATA_RIGHT.repeat(offset);
|
||||
var qrcode = VIEWDATA_HOME+VIEWDATA_DOWN.repeat(5);
|
||||
//var line = '';
|
||||
|
||||
for (var x = -1; x < qr.size; x=x+3) {
|
||||
var line = VIEWDATA_RIGHT.repeat(offset)+ascii(0x97);
|
||||
var line = VIEWDATA_RIGHT.repeat(offset ? offset-1 : 0)+VIEWDATA_MOSIAC_WHITE;
|
||||
|
||||
for (var y = -1; y < qr.size; y=y+2) {
|
||||
var char = 0;
|
||||
@@ -440,7 +447,9 @@ function VIEWDATAFrame() {
|
||||
if (y%2)
|
||||
line += ascii(0x35);
|
||||
|
||||
qrcode += line+' '.repeat(VIEWDATA_FRAME_WIDTH-Math.ceil(qr.size/2)-2-offset*2-(y%2 ? 0 : 1))+VIEWDATA_RIGHT.repeat(offset);
|
||||
repeat_count = VIEWDATA_FRAME_WIDTH-Math.ceil(qr.size/2)-offset-(offset ? 1 : 2)-(y%2 == 1 ? 0 : 1);
|
||||
|
||||
qrcode += line+' '.repeat(repeat_count > 0 ? repeat_count : 0);
|
||||
}
|
||||
|
||||
log(LOG_DEBUG,'WIDTH:'+VIEWDATA_FRAME_WIDTH);
|
||||
@@ -451,7 +460,8 @@ function VIEWDATAFrame() {
|
||||
|
||||
// Render the bottom
|
||||
if (x%3) {
|
||||
line = VIEWDATA_RIGHT.repeat(offset)+ascii(0x97);
|
||||
line = VIEWDATA_RIGHT.repeat(offset ? offset-1 : 0)+VIEWDATA_MOSIAC_WHITE;
|
||||
|
||||
for (var y = 0; y < qr.size; y=y+2) {
|
||||
line += ascii(0x23);
|
||||
}
|
||||
@@ -461,10 +471,10 @@ function VIEWDATAFrame() {
|
||||
line += ascii(0x21);
|
||||
}
|
||||
|
||||
qrcode += line+' '.repeat(VIEWDATA_FRAME_WIDTH-Math.ceil(qr.size/2)-2-offset-(y%2 ? 0 : 1));
|
||||
qrcode += line+' '.repeat(repeat_count > 0 ? repeat_count : 0);
|
||||
}
|
||||
|
||||
write_raw(qrcode+VIEWDATA_DOWN);
|
||||
write_raw(qrcode);
|
||||
};
|
||||
|
||||
this.save=function() {
|
||||
|
Reference in New Issue
Block a user