@mixly/arduino-avr
Version:
适用于mixly的arduino avr模块
1,017 lines (967 loc) • 296 kB
JavaScript
import * as Blockly from 'blockly/core';
import * as layui from 'layui';
import $ from 'jquery';
import {
Profile,
LayerExt,
XML,
MFile
} from 'mixly';
const { layer } = layui;
const DISPLAY_HUE = 180;
const DRAWFIll = [
[Blockly.Msg.OLED_HOLLOW, "draw"],
[Blockly.Msg.OLED_SOLID, "fill"]
];
export const group_lcd_init2 = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendValueInput('device')
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_SETUP)
.appendField(Blockly.Msg.MIXLY_DF_LCD)
.appendField(new Blockly.FieldDropdown([['1602', '16,2'], ['2004', '20,4']]), 'TYPE')
.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR')
.appendField(Blockly.Msg.MIXLY_LCD_ADDRESS);
this.appendDummyInput("")
.appendField('SCL')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "SCL")
.appendField('SDA')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "SDA");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_INIT2);
this.setFieldValue(Profile.default.SCL[0][1], "SCL");
this.setFieldValue(Profile.default.SDA[0][1], "SDA");
}
};
export const group_lcd_init3 = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_SETUP)
.appendField(Blockly.Msg.MIXLY_DF_LCD)
.appendField(new Blockly.FieldDropdown([['1602', '16,2'], ['2004', '20,4']]), 'TYPE')
.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR')
.setAlign(Blockly.inputs.Align.LEFT);
this.appendDummyInput()
.appendField('RS')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "RS")
.appendField('EN')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "EN")
.appendField('D4')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "D4")
.appendField('D5')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "D5")
.appendField('D6')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "D6")
.appendField('D7')
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "D7");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_INIT3);
}
};
export const group_lcd_print = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendValueInput("TEXT", String)
.setCheck([String, Number])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DF_LCD)
.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR')
.appendField(Blockly.Msg.MIXLY_LCD_PRINT1);
this.appendValueInput("TEXT2", String)
.setCheck([String, Number])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_LCD_PRINT2);
/*
this.appendValueInput("TEXT3", String)
.setCheck([String,Number])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_LCD_PRINT3);
this.appendValueInput("TEXT4", String)
.setCheck([String,Number])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_LCD_PRINT4);
*/
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_PRINT);
}
};
export const group_lcd_print2 = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendValueInput("row", Number)
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DF_LCD)
.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR')
.appendField(Blockly.Msg.MIXLY_LCD_ROW);
this.appendValueInput("column", Number)
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_LCD_COLUMN);
this.appendValueInput("TEXT", String)
.setCheck([String, Number])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_LCD_PRINT);
this.setPreviousStatement(true, null);
this.setInputsInline(true);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace('%1', Blockly.Arduino.valueToCode(this, 'row', Blockly.Arduino.ORDER_ATOMIC)).replace('%2', Blockly.Arduino.valueToCode(this, 'column', Blockly.Arduino.ORDER_ATOMIC)));
}
};
export const group_lcd_power = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_DF_LCD)
.appendField(new Blockly.FieldTextInput('mylcd'), 'VAR')
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_ON, "display"],
[Blockly.Msg.MIXLY_OFF, "noDisplay"],
[Blockly.Msg.MIXLY_LCD_STAT_CURSOR, "cursor"],
[Blockly.Msg.MIXLY_LCD_STAT_NOCURSOR, "noCursor"],
[Blockly.Msg.MIXLY_LCD_STAT_BLINK, "blink"],
[Blockly.Msg.MIXLY_LCD_STAT_NOBLINK, "noBlink"],
[Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"],
[Blockly.Msg.MIXLY_LCD_NOBACKLIGHT, "noBacklight"],
[Blockly.Msg.MIXLY_LCD_BACKLIGHT, "backlight"]
]), "STAT");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_POWER);
}
};
//RGB has been moved to actuator
export const display_4digitdisplay_power = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_ON, "displayOn"],
[Blockly.Msg.MIXLY_OFF, "displayOff"],
[Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]
]), "STAT");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_power);
}
};
export const display_4digitdisplay_displayString = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650")
this.appendValueInput("VALUE")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.OLED_DRAWSTR);
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString);
}
};
export const display_4digitdisplay_showDot = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1)
.appendField(new Blockly.FieldDropdown([["1", "0"], ["2", "1"], ["3", "2"], ["4", "3"]]), "NO")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2)
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_DOT)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_4DIGITDISPLAY_ON, "true"],
[Blockly.Msg.MIXLY_4DIGITDISPLAY_OFF, "false"]
]), "STAT");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot);
}
};
export const display_TM1637_init = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637")
.appendField(new Blockly.FieldTextInput("display"), "NAME")
.appendField(Blockly.Msg.MIXLY_SETUP)
.appendField('CLK')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "CLK")
.appendField('DIO')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "DIO");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP);
this.setHelpUrl('');
// this.setFieldValue("2", "CLK");
// this.setFieldValue("4", "DIO");
}
};
export const display_TM1637_displyPrint = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendValueInput("VALUE")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637")
.appendField(new Blockly.FieldTextInput("display"), "NAME")
.appendField(Blockly.Msg.OLEDDISPLAY);
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP);
}
};
export const display_TM1637_displayTime = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637")
.appendField(new Blockly.FieldTextInput("display"), "NAME")
.appendField(Blockly.Msg.MIXLY_SHOW_FACE_TIME);
this.appendValueInput("hour")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_HOUR);
this.appendValueInput("minute")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MINUTE);
// .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_ON, "displayOn"], [Blockly.Msg.MIXLY_OFF, "displayOff"], [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]]), "STAT");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_DISPLAY_TM1637_Time_Point)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_ON, "true"],
[Blockly.Msg.MIXLY_OFF, "false"]
]), "STAT");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP);
}
};
export const display_TM1637_Brightness = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637")
.appendField(new Blockly.FieldTextInput("display"), "NAME")
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS);
this.appendValueInput("Brightness")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT);
this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS);
}
};
export const display_TM1637_clearDisplay = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637")
.appendField(new Blockly.FieldTextInput("display"), "NAME")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"],
[Blockly.Msg.MIXLY_LCD_STAT_BLINK, "blink"],
[Blockly.Msg.MIXLY_ON, "on"],
[Blockly.Msg.MIXLY_OFF, "off"]
]), "STAT");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY);
}
};
//HT16K33点阵屏幕初始化
export const HT16K33_Init = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_INIT);
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_INIT)
.appendField('SCL')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "SCL")
.appendField('SDA')
.appendField(Blockly.Msg.MIXLY_PIN)
.appendField(new Blockly.FieldDropdown(Profile.default.digital), "SDA");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT);
this.setFieldValue(Profile.default.SCL[0][1], "SCL");
this.setFieldValue(Profile.default.SDA[0][1], "SDA");
}
};
//MAX7219点阵屏幕初始化
export const MAX7219_init = {
init: function () {
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MAX7219_INIT);
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput("PIN1")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField("DIN(MOSI)")
.appendField(Blockly.Msg.MIXLY_PIN);
this.appendValueInput("PIN2")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField("CS")
.appendField(Blockly.Msg.MIXLY_PIN);
this.appendValueInput("PIN3")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField("CLK(SCK)")
.appendField(Blockly.Msg.MIXLY_PIN);
this.appendValueInput("hDisplays")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MAX7219_HDISPALY);
this.appendValueInput("vDisplays")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MAX7219_VDISPALY);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setColour(DISPLAY_HUE);
this.setInputsInline(false);
this.setTooltip(Blockly.Msg.MAX7219_INIT_TOOLTIP);
this.setHelpUrl('');
}
};
const MATRIX_TYPES = [['MAX7219', 'MAX7219'], ['HT16K33', 'HT16K33']];
//点阵屏显示点
export const display_Matrix_DrawPixel = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput('XVALUE')
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_X);
this.appendValueInput("YVALUE")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_Y);
this.appendValueInput("STAT")
.appendField(Blockly.Msg.MIXLY_STAT)
.setCheck([Number, Boolean]);
this.appendDummyInput("")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"]
]), "WRITE");
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setTooltip();
}
};
//点阵屏 旋转变量
const display_Rotation_NUM = [
[Blockly.Msg.MIXLY_0DEGREE, "0"],
[Blockly.Msg.MIXLY_90DEGREE, "3"],
[Blockly.Msg.MIXLY_180DEGREE, "2"],
[Blockly.Msg.MIXLY_270DEGREE, "1"]
];
//点阵屏旋转
export const display_Max7219_Rotation = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField('MAX7219');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput("NO")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MAX7219_NO);
this.appendDummyInput("")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE)
.appendField(new Blockly.FieldDropdown(display_Rotation_NUM), "Rotation_TYPE");
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION);
}
};
//点阵屏旋转
export const display_Max7219_setPosition = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField('MAX7219');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput("NO")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MAX7219_NO);
this.appendValueInput("X")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField("X");
this.appendValueInput("Y")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField("Y");
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION);
}
};
//点阵屏旋转
export const display_HT16K33_Rotation = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField('HT16K33');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendDummyInput("")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE)
.appendField(new Blockly.FieldDropdown(display_Rotation_NUM), "Rotation_TYPE");
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION);
}
};
//点阵屏滚动显示字符
export const display_Matrix_TEXT = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE');
this.appendValueInput("TEXT", String)
.setCheck([Number, String])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.texttodisplay);
this.appendValueInput("Speed")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_SPEED);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT);
}
};
//点阵屏滚动显示文本
export const display_Matrix_print = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE');
this.appendValueInput("TEXT", String)
.setCheck([Number, String])
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.texttodisplay);
this.appendDummyInput("")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"]
]), "WRITE");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT);
}
};
//点阵屏显示_显示图案
export const display_Matrix_DisplayChar = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE')
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"]
]), "WRITE");
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput("NO")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_MAX7219_NO);
this.appendValueInput("LEDArray")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(false);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR);
}
};
//点阵屏显示_图案数组
export const display_Matrix_LedArray = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR)
.appendField(new Blockly.FieldTextInput("LedArray1"), "VAR");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a81")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a82")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a83")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a84")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a85")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a86")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a87")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a88");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a71")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a72")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a73")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a74")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a75")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a76")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a77")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a78");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a61")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a62")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a63")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a64")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a65")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a66")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a67")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a68");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a51")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a52")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a53")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a54")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a55")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a56")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a57")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a58");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a41")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a42")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a43")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a44")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a45")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a46")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a47")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a48");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a31")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a32")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a33")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a34")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a35")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a36")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a37")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a38");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a21")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a22")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a23")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a24")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a25")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a26")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a27")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a28");
this.appendDummyInput("")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a11")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a12")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a13")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a14")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a15")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a16")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a17")
.appendField(new Blockly.FieldCheckbox("FALSE"), "a18");
this.setOutput(true, Number);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY);
}
};
export const display_matrix_bitmap = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR)
.appendField(new Blockly.FieldTextInput("LedArray1"), "VAR");
this.appendDummyInput("")
.setAlign(Blockly.inputs.Align.CENTRE)
.appendField(new Blockly.FieldBitmap([
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]
], null, {
filledColor: '#000',
emptyColor: '#5ba5a5',
bgColor: '#e5e7f1'
}), 'BITMAP');
this.setOutput(true, Number);
this.setTooltip("");
}
};
//点阵屏亮度
export const display_Matrix_Brightness = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendValueInput("Brightness")
.setCheck(Number)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_BRIGHTNESS);
this.setTooltip(Blockly.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
var MAX7219_FILLSCREEN_SELECT = [
[Blockly.Msg.MAX7219_FILLSCREEN_ON, "fillScreen(1)"],
[Blockly.Msg.MAX7219_FILLSCREEN_OFF, "fillScreen(0)"],
//[Blockly.Msg.MAX7219_SHUTDOWN_ON, "shutdown(1)"],
// [Blockly.Msg.MAX7219_SHUTDOWN_OFF, "shutdown(0)"]
];
//点阵屏 全屏亮灭
export const display_Matrix_fillScreen = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE');
// this.appendDummyInput("")
// .appendField(Blockly.Msg.MIXLY_MATRIX_NAME)
// .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName');
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_STAT);
this.appendDummyInput("")
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(new Blockly.FieldDropdown(MAX7219_FILLSCREEN_SELECT), "FILLSCREEN_TYPE");
this.appendDummyInput("")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"]
]), "WRITE");
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS);
}
};
//点阵屏预设图案
export const Matrix_img = {
init: function () {
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MAX7219_IMG)
.appendField(new Blockly.FieldDropdown([
["↑", "18181818db7e3c18"],
["↓", "183c7edb18181818"],
["←", "080c06ffff060c08"],
["→", "103060ffff603010"],
["♥", "183c7effffffe742"],
["▲", "00000000ff7e3c18"],
["▼", "183c7eff00000000"],
["◄", "080c0e0f0f0e0c08"],
["►", "103070f0f0703010"],
["△", "00000000ff422418"],
["▽", "182442ff00000000"],
["☺", "3c4299a581a5423c"],
["○", "3c4281818181423c"],
["◑", "3c72f1f1f1f1723c"],
["◐", "3c4e8f8f8f8f4e3c"],
["¥", "101010ff10ff2442"],
["Χ", "8142241818244281"],
["√", "0000010204885020"],
["□", "007e424242427e00"],
["▣", "007e425a5a427e00"],
["◇", "1824428181422418"],
["♀", "083e081c2222221c"],
["♂", "0e1b111b9ea0c0f0"],
["♪", "061f1e1010d07030"],
["✈", "203098ffff983020"],
["卍", "00f21212fe90909e"],
["卐", "009e9090fe1212f2"],
["|", "1010101010101010"],
["—", "000000ff00000000"],
["╱", "0102040810204080"],
["\", "8040201008040201"],
["大", "41221408087f0808"],
["中", "1010fe9292fe1010"],
["小", "0e08492a2a080808"],
["米", "00925438fe385492"],
["正", "7f0a0a3a08087f00"],
["囧", "ffa5a5bdc3a5a5ff"]
]), "img_");
this.setOutput(true);
this.setTooltip('');
this.setColour(DISPLAY_HUE);
this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR);
this.setHelpUrl('');
}
};
//点阵屏 设置生效
export const display_Matrix_write = {
init: function () {
this.setColour(DISPLAY_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MATRIX_TYPE)
.appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE')
.appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE);
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
}
};
//OLED -based on U8G2
//显示-OLED-变量
const LINESELECT = [
[Blockly.Msg.OLED_HOR, "H"],
[Blockly.Msg.OLED_VER, "V"]
];
const FRAMESELECT = [
[Blockly.Msg.OLED_HOLLOW, "drawFrame"],
[Blockly.Msg.OLED_SOLID, "drawBox"]
];
const CIRCLESELECT = [
[Blockly.Msg.OLED_HOLLOW, "drawCircle"],
[Blockly.Msg.OLED_SOLID, "drawDisc"]
];
const RADSELECT = [
[Blockly.Msg.OLED_HOLLOW, "drawRFrame"],
[Blockly.Msg.OLED_SOLID, "drawRBox"]
];
//圆选择
const CIRCLEOPTELECT = [
[Blockly.Msg.OLED_WHOLE_CICILE, "U8G2_DRAW_ALL"],
[Blockly.Msg.OLED_UP_R, "U8G2_DRAW_UPPER_RIGHT"],
[Blockly.Msg.OLED_UP_L, "U8G2_DRAW_UPPER_LEFT"],
[Blockly.Msg.OLED_LOW_R, "U8G2_DRAW_LOWER_RIGHT"],
[Blockly.Msg.OLED_LOW_L, "U8G2_DRAW_LOWER_LEFT"]
];
//空心、实心椭圆
const ELLIPSESELECT = [
[Blockly.Msg.OLED_HOLLOW, "drawEllipse"],
[Blockly.Msg.OLED_SOLID, "drawFilledEllipse"]
];
const EN_FONT_NAME = [
["Times New Roman", "tim"],
["Helvetica", "helv"],
["ncen", "ncen"],
["courier new", "cour"]
];
const OLED_TYPE = [
["SSD1306(128×64)", "SSD1306_128X64_NONAME"],
["SSD1306(128×32)", "SSD1306_128X32_UNIVISION"],
["SH1106(128×64)", "SH1106_128X64_NONAME"]
];
const U8G2_TYPE_SSD1306_NOKIA5110 = [
["SSD1306(128×64)", "SSD1306_128X64_NONAME"],
["LCM12864", "ST7565_NHD_C12864"],
["NOKIA5110", "PCD8544_84X48"]
];
const ROTATION_TYPE = [
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 0°", "U8G2_R0"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 90°", "U8G2_R1"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 180°", "U8G2_R2"],
[Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 270°", "U8G2_R3"],
[Blockly.Msg.MIRROR, "U8G2_MIRROR"]
];
const EN_FONT_SIZE = [
["08", "08"],
["10", "10"],
["12", "12"],
["14", "14"],
["18", "18"],
["24", "24"],
];
const EN_FONT_STYLE = [
["常规", "R"],
["加粗", "B"]
];
const CN_FONT_NAME = [
[Blockly.Msg.OLED_FONT_chinese1, "_t_chinese1"],
[Blockly.Msg.OLED_FONT_chinese2, "_t_chinese2"],
[Blockly.Msg.OLED_FONT_chinese3, "_t_chinese3"],
[Blockly.Msg.OLED_FONT_gb2312a, "_t_gb2312a"],
[Blockly.Msg.OLED_FONT_gb2312b, "_t_gb2312b"],
[Blockly.Msg.OLED_FONT_gb2312, "_t_gb2312"],
];
const CN_FONT_SIZE = [
["12", "wqy12"],
["13", "wqy13"],
["14", "wqy14"],
["15", "wqy15"],
["16", "wqy16"],
];
const ICON_IMAGE = [
[{ 'src': require('../media/oled_icons/64.png'), 'width': 24, 'height': 24, 'alt': '64' }, '64'],
[{ 'src': require('../media/oled_icons/65.png'), 'width': 24, 'height': 24, 'alt': '65' }, '65'],
[{ 'src': require('../media/oled_icons/66.png'), 'width': 24, 'height': 24, 'alt': '66' }, '66'],
[{ 'src': require('../media/oled_icons/67.png'), 'width': 24, 'height': 24, 'alt': '67' }, '67'],
[{ 'src': require('../media/oled_icons/68.png'), 'width': 24, 'height': 24, 'alt': '68' }, '68'],
[{ 'src': require('../media/oled_icons/69.png'), 'width': 24, 'height': 24, 'alt': '69' }, '69'],
[{ 'src': require('../media/oled_icons/70.png'), 'width': 24, 'height': 24, 'alt': '70' }, '70'],
[{ 'src': require('../media/oled_icons/71.png'), 'width': 24, 'height': 24, 'alt': '71' }, '71'],
[{ 'src': require('../media/oled_icons/72.png'), 'width': 24, 'height': 24, 'alt': '72' }, '72'],
[{ 'src': require('../media/oled_icons/73.png'), 'width': 24, 'height': 24, 'alt': '73' }, '73'],
[{ 'src': require('../media/oled_icons/74.png'), 'width': 24, 'height': 24, 'alt': '74' }, '74'],
[{ 'src': require('../media/oled_icons/75.png'), 'width': 24, 'height': 24, 'alt': '75' }, '75'],
[{ 'src': require('../media/oled_icons/76.png'), 'width': 24, 'height': 24, 'alt': '76' }, '76'],
[{ 'src': require('../media/oled_icons/77.png'), 'width': 24, 'height': 24, 'alt': '77' }, '77'],
[{ 'src': require('../media/oled_icons/78.png'), 'width': 24, 'height': 24, 'alt': '78' }, '78'],
[{ 'src': require('../media/oled_icons/79.png'), 'width': 24, 'height': 24, 'alt': '79' }, '79'],
[{ 'src': require('../media/oled_icons/80.png'), 'width': 24, 'height': 24, 'alt': '80' }, '80'],
[{ 'src': require('../media/oled_icons/81.png'), 'width': 24, 'height': 24, 'alt': '81' }, '81'],
[{ 'src': require('../media/oled_icons/82.png'), 'width': 24, 'height': 24, 'alt': '82' }, '82'],
[{ 'src': require('../media/oled_icons/83.png'), 'width': 24, 'height': 24, 'alt': '83' }, '83'],
[{ 'src': require('../media/oled_icons/84.png'), 'width': 24, 'height': 24, 'alt': '84' }, '84'],
[{ 'src': require('../media/oled_icons/85.png'), 'width': 24, 'height': 24, 'alt': '85' }, '85'],
[{ 'src': require('../media/oled_icons/86.png'), 'width': 24, 'height': 24, 'alt': '86' }, '86'],
[{ 'src': require('../media/oled_icons/87.png'), 'width': 24, 'height': 24, 'alt': '87' }, '87'],
[{ 'src': require('../media/oled_icons/88.png'), 'width': 24, 'height': 24, 'alt': '88' }, '88'],
[{ 'src': require('../media/oled_icons/89.png'), 'width': 24, 'height': 24, 'alt': '89' }, '89'],
[{ 'src': require('../media/oled_icons/90.png'), 'width': 24, 'height': 24, 'alt': '90' }, '90'],
[{ 'src': require('../media/oled_icons/91.png'), 'width': 24, 'height': 24, 'alt': '91' }, '91'],
[{ 'src': require('../media/oled_icons/92.png'), 'width': 24, 'height': 24, 'alt': '92' }, '92'],
[{ 'src': require('../media/oled_icons/93.png'), 'width': 24, 'height': 24, 'alt': '93' }, '93'],
[{ 'src': require('../media/oled_icons/94.png'), 'width': 24, 'height': 24, 'alt': '94' }, '94'],
[{ 'src': require('../media/oled_icons/95.png'), 'width': 24, 'height': 24, 'alt': '95' }, '95'],
[{ 'src': require('../media/oled_icons/96.png'), 'width': 24, 'height': 24, 'alt': '96' }, '96'],
[{ 'src': require('../media/oled_icons/97.png'), 'width': 24, 'height': 24, 'alt': '97' }, '97'],
[{ 'src': require('../media/oled_icons/98.png'), 'width': 24, 'height': 24, 'alt': '98' }, '98'],
[{ 'src': require('../media/oled_icons/99.png'), 'width': 24, 'height': 24, 'alt': '99' }, '99'],
[{ 'src': require('../media/oled_icons/100.png'), 'width': 24, 'height': 24, 'alt': '100' }, '100'],
[{ 'src': require('../media/oled_icons/101.png'), 'width': 24, 'height': 24, 'alt': '101' }, '101'],
[{ 'src': require('../media/oled_icons/102.png'), 'width': 24, 'height': 24, 'alt': '102' }, '102'],
[{ 'src': require('../media/oled_icons/103.png'), 'width': 24, 'height': 24, 'alt': '103' }, '103'],
[{ 'src': require('../media/oled_icons/104.png'), 'width': 24, 'height': 24, 'alt': '104' }, '104'],
[{ 'src': require('../media/oled_icons/105.png'), 'width': 24, 'height': 24, 'alt': '105' }, '105'],
[{ 'src': require('../media/oled_icons/106.png'), 'width': 24, 'height': 24, 'alt': '106' }, '106'],
[{ 'src': require('../media/oled_icons/107.png'), 'width': 24, 'height': 24, 'alt': '107' }, '107'],
[{ 'src': require('../media/oled_icons/108.png'), 'width': 24, 'height': 24, 'alt': '108' }, '108'],
[{ 'src': require('../media/oled_icons/109.png'), 'width': 24, 'height': 24, 'alt': '109' }, '109'],
[{ 'src': require('../media/oled_icons/110.png'), 'width': 24, 'height': 24, 'alt': '110' }, '110'],
[{ 'src': require('../media/oled_icons/111.png'), 'width': 24, 'height': 24, 'alt': '111' }, '111'],
[{ 'src': require('../media/oled_icons/112.png'), 'width': 24, 'height': 24, 'alt': '112' }, '112'],
[{ 'src': require('../media/oled_icons/113.png'), 'width': 24, 'height': 24, 'alt': '113' }, '113'],
[{ 'src': require('../media/oled_icons/114.png'), 'width': 24, 'height': 24, 'alt': '114' }, '114'],
[{ 'src': require('../media/oled_icons/115.png'), 'width': 24, 'height': 24, 'alt': '115' }, '115'],
[{ 'src': require('../media/oled_icons/116.png'), 'width': 24, 'height': 24, 'alt': '116' }, '116'],
[{ 'src': require('../media/oled_icons/117.png'), 'width': 24, 'height': 24, 'alt': '117' }, '117'],
[{ 'src': require('../media/oled_icons/118.png'), 'width': 24, 'height': 24, 'alt': '118' }, '118'],
[{ 'src': require('../media/oled_icons/119.png'), 'width': 24, 'height': 24, 'alt': '119' }, '119'],
[{ 'src': require('../media/oled_icons/120.png'), 'width': 24, 'height': 24, 'alt': '120' }, '120'],
[{ 'src': require('../media/oled_icons/121.png'), 'width': 24, 'height': 24, 'alt': '121' }, '121'],
[{ 'src': require('../media/oled_icons/122.png'), 'width': 24, 'height': 24, 'alt': '122' }, '122'],
[{ 'src': require('../media/oled_icons/123.png'), 'width': 24, 'height': 24, 'alt': '123' }, '123'],
[{ 'src': require('../media/oled_icons/124.png'), 'width': 24, 'height': 24, 'alt': '124' }, '124'],
[{ 'src': require('../media/oled_icons/125.png'), 'width': 24, 'height': 24, 'alt': '125' }, '125'],
[{ 'src': require('../media/oled_icons/126.png'), 'width': 24, 'height': 24, 'alt': '126' }, '126'],
[{ 'src': require('../media/oled_icons/127.png'), 'width': 24, 'height': 24, 'alt': '127' }, '127'],
[{ 'src': require('../media/oled_icons/128.png'), 'width': 24, 'height': 24, 'alt': '128' }, '128'],
[{ 'src': require('../media/oled_icons/129.png'), 'width': 24, 'height': 24, 'alt': '129' }, '129'],
[{ 'src': require('../media/oled_icons/130.png'), 'width': 24, 'height': 24, 'alt': '130' }, '130'],
[{ 'src': require('../media/oled_icons/131.png'), 'width': 24, 'height': 24, 'alt': '131' }, '131'],
[{ 'src': require('../media/oled_icons/132.png'), 'width': 24, 'height': 24, 'alt': '132' }, '132'],
[{ 'src': require('../media/oled_icons/133.png'), 'width': 24, 'height': 24, 'alt': '133' }, '133'],
[{ 'src': require('../media/oled_icons/134.png'), 'width': 24, 'height': 24, 'alt': '134' }, '134'],
[{ 'src': require('../media/oled_icons/135.png'), 'width': 24, 'height': 24, 'alt': '135' }, '135'],
[{ 'src': require('../media/oled_icons/136.png'), 'width': 24, 'height': 24, 'alt': '136' }, '136'],
[{ 'src': require('../media/oled_icons/137.png'), 'width': 24, 'height': 24, 'alt': '137' }, '137'],
[{ 'src': require('../media/oled_icons/138.png'), 'width': 24, 'height': 24, 'alt': '138' }, '138'],
[{ 'src': require('../media/oled_icons/139.png'), 'width': 24, 'height': 24, 'alt': '139' }, '139'],
[{ 'src': require('../media/oled_icons/140.png'), 'width': 24, 'height': 24, 'alt': '140' }, '140'],
[{ 'src': require('../media/oled_icons/141.png'), 'width': 24, 'height': 24, 'alt': '141' }, '141'],
[{ 'src': require('../media/oled_icons/142.png'), 'width': 24, 'height': 24, 'alt': '142' }, '142'],
[{ 'src': require('../media/oled_icons/143.png'), 'width': 24, 'height': 24, 'alt': '143' }, '143'],
[{ 'src': require('../media/oled_icons/144.png'), 'width': 24, 'height': 24, 'alt': '144' }, '144'],
[{ 'src': require('../media/oled_icons/145.png'), 'width': 24, 'height': 24, 'alt': '145' }, '145'],
[{ 'src': require('../media/oled_icons/146.png'), 'width': 24, 'height': 24, 'alt': '146' }, '146'],
[{ 'src': require('../media/oled_icons/147.png'), 'width': 24, 'height': 24, 'alt': '147' }, '147'],
[{ 'src': require('../media/oled_icons/148.png'), 'width': 24, 'height': 24, 'alt': '148' }, '148'],
[{ 'src': require('../media/oled_icons/149.png'), 'width': 24, 'height': 24, 'alt': '149' }, '149'],
[{ 'src': require('../media/oled_icons/150.png'), 'width': 24, 'height': 24, 'alt': '150' }, '150'],
[{ 'src': require('../media/oled_icons/151.png'), 'width': 24, 'height': 24, 'alt': '151' }, '151'],
[{ 'src': require('../media/oled_icons/152.png'), 'width': 24, 'height': 24, 'alt': '152' }, '152'],
[{ 'src': require('../media/oled_icons/153.png'), 'width': 24, 'height': 24, 'alt': '153' }, '153'],
[{ 'src': require('../media/oled_icons/154.png'), 'width': 24, 'height': 24, 'alt': '154' }, '154'],
[{ 'src': require('../media/oled_icons/155.png'), 'width': 24, 'height': 24, 'alt': '155' }, '155'],
[{ 'src': require('../media/oled_icons/156.png'), 'width': 24, 'height': 24, 'alt': '156' }, '156'],
[{ 'src': require('../media/oled_icons/157.png'), 'width': 24, 'height': 24, 'alt': '157' }, '157'],
[{ 'src': require('../media/oled_icons/158.png'), 'width': 24, 'height': 24, 'alt': '158' }, '158'],
[{ 'src': require('../media/oled_icons/159.png'), 'width': 24, 'height': 24, 'alt': '159' }, '159'],
[{ 'src': require('../media/oled_icons/160.png'), 'width': 24, 'height': 24, 'alt': '160' }, '160'],
[{ 'src': require('../media/oled_icons/161.png'), 'width': 24, 'height': 24, 'alt': '161' }, '161'],
[{ 'src': require('../media/oled_icons/162.png'), 'width': 24, 'height': 24, 'alt': '162' }, '162'],
[{ 'src': require('../media/oled_icons/163.png'), 'width': 24, 'height': 24, 'alt': '163' }, '163'],
[{ 'src': require('../media/oled_icons/164.png'), 'width': 24, 'height': 24, 'alt': '164' }, '164'],
[{ 'src': require('../media/oled_icons/165.png'), 'width': 24, 'height': 24, 'alt': '165' }, '165'],
[{ 'src': require('../media/oled_icons/166.png'), 'width': 24, 'height': 24, 'alt': '166' }, '166'],
[{ 'src': require('../media/oled_icons/167.png'), 'width': 24, 'height': 24, 'alt': '167' }, '167'],
[{ 'src': require('../media/oled_icons/168.png'), 'width': 24, 'height': 24, 'alt': '168' }, '168'],
[{ 'src': require('../media/oled_icons/169.png'), 'width': 24, 'height': 24, 'alt': '169' }, '169'],
[{ 'src': require('../media/oled_icons/170.png'), 'width': 24, 'height': 24, 'alt': '170' }, '170'],
[{ 'src': require('../media/oled_icons/171.png'), 'width': 24, 'height': 24, 'alt': '171' }, '171'],
[{ 'src': require('../media/oled_icons/172.png'), 'width': 24, 'height': 24, 'alt': '172' }, '172'],
[{ 'src': require('../media/oled_icons/173.png'), 'width': 24, 'height': 24, 'alt': '173' }, '173'],
[{ 'src': require('../media/oled_icons/174.png'), 'width': 24, 'height': 24, 'alt': '174' }, '174'],
[{ 'src': require('../media/oled_icons/175.png'), 'width': 24, 'height': 24, 'alt': '175' }, '175'],
[{ 'src': require('../media/oled_icons/176.png'), 'width': 24, 'height': 24, 'alt': '176' }, '176'],
[{ 'src': require('../media/oled_icons/177.png'), 'width': 24, 'height': 24, 'alt': '177' }, '177'],
[{ 'src': require('../media/oled_icons/178.png'), 'width': 24, 'height': 24, 'alt': '178' }, '178'],
[{ 'src': require('../media/oled_icons/179.png'), 'width': 24, 'height': 24, 'alt': '179' }, '179'],
[{ 'src': require('../media/oled_icons/180.png'), 'width': 24, 'height': 24, 'alt': '180' }, '180'],
[{ 'src': require('../media/oled_icons/181.png'), 'width': 24, 'height': 24, 'alt': '181' }, '181'],
[{ 'src': require('../media/oled_icons/182.png'), 'width': 24, 'height': 24, 'alt': '182' }, '182'],
[{ 'src': requ