Merge branch 'master' into ci-newer-ubuntu
This commit is contained in:
BIN
Development Resources/Images/Power.jpg
Normal file
BIN
Development Resources/Images/Power.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -10,8 +10,6 @@ def getFontMap():
|
|||||||
"&": "0x00,0x00,0x00,0xB8,0xFC,0xC6,0xE2,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x31,0x21,0x37,0x1E,0x1C,0x36,0x22,0x00,",
|
"&": "0x00,0x00,0x00,0xB8,0xFC,0xC6,0xE2,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x31,0x21,0x37,0x1E,0x1C,0x36,0x22,0x00,",
|
||||||
"'": "0x00,0x00,0x00,0x00,0x27,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"'": "0x00,0x00,0x00,0x00,0x27,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"(": "0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00,",
|
"(": "0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00,",
|
||||||
"(": "0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00,",
|
|
||||||
")": "0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00,",
|
|
||||||
")": "0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00,",
|
")": "0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00,",
|
||||||
"*": "0x00,0x00,0x98,0xB8,0xE0,0xF8,0xF8,0xE0,0xB8,0x98,0x00,0x00,0x00,0x00,0x0C,0x0E,0x03,0x0F,0x0F,0x03,0x0E,0x0C,0x00,0x00,",
|
"*": "0x00,0x00,0x98,0xB8,0xE0,0xF8,0xF8,0xE0,0xB8,0x98,0x00,0x00,0x00,0x00,0x0C,0x0E,0x03,0x0F,0x0F,0x03,0x0E,0x0C,0x00,0x00,",
|
||||||
"+": "0x00,0x00,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01,0x00,0x00,",
|
"+": "0x00,0x00,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01,0x00,0x00,",
|
||||||
@@ -23,7 +21,6 @@ def getFontMap():
|
|||||||
"1": "0x00,0x00,0x00,0x0C,0x0C,0x0E,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x3F,0x3F,0x30,0x30,0x30,0x00,",
|
"1": "0x00,0x00,0x00,0x0C,0x0C,0x0E,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x3F,0x3F,0x30,0x30,0x30,0x00,",
|
||||||
"2": "0x00,0x1C,0x1E,0x07,0x03,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x30,",
|
"2": "0x00,0x1C,0x1E,0x07,0x03,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x30,",
|
||||||
"3": "0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,",
|
"3": "0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,",
|
||||||
"З": "0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,",
|
|
||||||
"4": "0x00,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0xFF,0xFF,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x03,0x03,",
|
"4": "0x00,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0xFF,0xFF,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x03,0x03,",
|
||||||
"5": "0x00,0x3F,0x7F,0x63,0x63,0x63,0x63,0x63,0x63,0xE3,0xC3,0x83,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,",
|
"5": "0x00,0x3F,0x7F,0x63,0x63,0x63,0x63,0x63,0x63,0xE3,0xC3,0x83,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,",
|
||||||
"6": "0x00,0xC0,0xF0,0xF8,0xDC,0xCE,0xC7,0xC3,0xC3,0xC3,0x80,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,",
|
"6": "0x00,0xC0,0xF0,0xF8,0xDC,0xCE,0xC7,0xC3,0xC3,0xC3,0x80,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,",
|
||||||
@@ -31,7 +28,6 @@ def getFontMap():
|
|||||||
"8": "0x00,0x00,0xBC,0xFE,0xE7,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,",
|
"8": "0x00,0x00,0xBC,0xFE,0xE7,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,",
|
||||||
"9": "0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xFC,0x00,0x00,0x00,0x30,0x30,0x30,0x38,0x1C,0x0E,0x07,0x03,0x00,",
|
"9": "0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xFC,0x00,0x00,0x00,0x30,0x30,0x30,0x38,0x1C,0x0E,0x07,0x03,0x00,",
|
||||||
":": "0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,",
|
":": "0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,",
|
||||||
":": "0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,",
|
|
||||||
";": "0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0xFC,0x7C,0x00,0x00,0x00,0x00,0x00,",
|
";": "0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0xFC,0x7C,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"<": "0x00,0x00,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,0x00,",
|
"<": "0x00,0x00,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,0x00,",
|
||||||
"=": "0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,",
|
"=": "0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,",
|
||||||
@@ -39,12 +35,10 @@ def getFontMap():
|
|||||||
"?": "0x00,0x1C,0x1E,0x07,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00,",
|
"?": "0x00,0x1C,0x1E,0x07,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"@": "0x00,0xF8,0xFE,0x07,0xF3,0xFB,0x1B,0xFB,0xFB,0x07,0xFE,0xF8,0x00,0x0F,0x1F,0x18,0x33,0x37,0x36,0x37,0x37,0x36,0x03,0x01,",
|
"@": "0x00,0xF8,0xFE,0x07,0xF3,0xFB,0x1B,0xFB,0xFB,0x07,0xFE,0xF8,0x00,0x0F,0x1F,0x18,0x33,0x37,0x36,0x37,0x37,0x36,0x03,0x01,",
|
||||||
"A": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,",
|
"A": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,",
|
||||||
"А": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,",
|
|
||||||
"B": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
"B": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
||||||
"C": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,",
|
"C": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00,",
|
||||||
"D": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00,",
|
"D": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00,",
|
||||||
"E": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,",
|
"E": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,",
|
||||||
"E": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,",
|
|
||||||
"F": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"F": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"G": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,",
|
"G": "0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,",
|
||||||
"H": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
"H": "0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
||||||
@@ -67,10 +61,8 @@ def getFontMap():
|
|||||||
"X": "0x00,0x03,0x0F,0x1C,0x30,0xE0,0xE0,0x30,0x1C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0E,0x03,0x01,0x01,0x03,0x0E,0x3C,0x30,0x00,",
|
"X": "0x00,0x03,0x0F,0x1C,0x30,0xE0,0xE0,0x30,0x1C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0E,0x03,0x01,0x01,0x03,0x0E,0x3C,0x30,0x00,",
|
||||||
"Y": "0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,",
|
"Y": "0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"Z": "0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00,",
|
"Z": "0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00,",
|
||||||
"Z": "0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00,",
|
|
||||||
"[": "0x00,0x00,0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00,",
|
"[": "0x00,0x00,0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00,",
|
||||||
"\\": "0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18,",
|
"\\": "0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18,",
|
||||||
"\\": "0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18,",
|
|
||||||
"]": "0x00,0x00,0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00,",
|
"]": "0x00,0x00,0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00,",
|
||||||
"^": "0x00,0x60,0x70,0x38,0x1C,0x0E,0x07,0x0E,0x1C,0x38,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"^": "0x00,0x60,0x70,0x38,0x1C,0x0E,0x07,0x0E,0x1C,0x38,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"_": "0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,",
|
"_": "0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,",
|
||||||
@@ -101,7 +93,6 @@ def getFontMap():
|
|||||||
"x": "0x00,0x60,0xE0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x0F,0x1D,0x38,0x30,0x00,0x00,",
|
"x": "0x00,0x60,0xE0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x0F,0x1D,0x38,0x30,0x00,0x00,",
|
||||||
"y": "0x00,0x00,0x60,0xE0,0x80,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,",
|
"y": "0x00,0x00,0x60,0xE0,0x80,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,",
|
||||||
"z": "0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00,",
|
"z": "0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00,",
|
||||||
"z": "0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00,",
|
|
||||||
"{": "0x00,0x00,0x80,0xC0,0xFC,0x7E,0x07,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x1F,0x3F,0x70,0x60,0x60,0x60,0x00,0x00,",
|
"{": "0x00,0x00,0x80,0xC0,0xFC,0x7E,0x07,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x1F,0x3F,0x70,0x60,0x60,0x60,0x00,0x00,",
|
||||||
"|": "0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,",
|
"|": "0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"}": "0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00,",
|
"}": "0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00,",
|
||||||
@@ -209,15 +200,15 @@ def getFontMap():
|
|||||||
"Ѝ": "0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
"Ѝ": "0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
||||||
"Ў": "0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,",
|
"Ў": "0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,",
|
||||||
"Џ": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00,",
|
"Џ": "0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00,",
|
||||||
# "A":"0x00,0x80,0xE0,0x78,0x1E,0x07,0x07,0x1E,0x78,0xE0,0x80,0x00,0x00,0x3F,0x3F,0x06,0x06,0x06,0x06,0x06,0x06,0x3F,0x3F,0x00," ,
|
"А": "0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00,",
|
||||||
"Б": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
"Б": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
||||||
"В": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
"В": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,",
|
||||||
"Г": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"Г": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"Г": "0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"Ґ": "0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"Д": "0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00,",
|
"Д": "0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00,",
|
||||||
"Е": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,",
|
"Е": "0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,",
|
||||||
"Ж": "0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00,",
|
"Ж": "0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00,",
|
||||||
"Ж": "0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00,",
|
"З": "0x0C,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E,",
|
||||||
"И": "0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
"И": "0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
||||||
"Й": "0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
"Й": "0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00,",
|
||||||
"К": "0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,",
|
"К": "0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,",
|
||||||
@@ -246,11 +237,11 @@ def getFontMap():
|
|||||||
"б": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,",
|
"б": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,",
|
||||||
"в": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,",
|
"в": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,",
|
||||||
"г": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
"г": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
|
"ґ": "0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x3C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,",
|
||||||
"д": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00,",
|
"д": "0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00,",
|
||||||
"е": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,",
|
"е": "0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00,",
|
||||||
"ж": "0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00,",
|
"ж": "0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00,",
|
||||||
"з": "0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00,",
|
"з": "0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00,",
|
||||||
"З": "0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00,",
|
|
||||||
"и": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,",
|
"и": "0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,",
|
||||||
"й": "0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,",
|
"й": "0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00,",
|
||||||
"к": "0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,",
|
"к": "0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00,",
|
||||||
@@ -520,7 +511,6 @@ def getSmallFontMap():
|
|||||||
"|": "0x00, 0x00, 0x77, 0x00, 0x00, 0x00,",
|
"|": "0x00, 0x00, 0x77, 0x00, 0x00, 0x00,",
|
||||||
"}": "0x00, 0x00, 0x41, 0x36, 0x08, 0x00,",
|
"}": "0x00, 0x00, 0x41, 0x36, 0x08, 0x00,",
|
||||||
"~": "0x02, 0x01, 0x02, 0x04, 0x02, 0x00,",
|
"~": "0x02, 0x01, 0x02, 0x04, 0x02, 0x00,",
|
||||||
"^": "0x04, 0x02, 0x01, 0x02, 0x04, 0x00,",
|
|
||||||
"¡": "0x00, 0x00, 0x79, 0x00, 0x00, 0x00,",
|
"¡": "0x00, 0x00, 0x79, 0x00, 0x00, 0x00,",
|
||||||
"¢": "0x1c, 0x22, 0x7f, 0x22, 0x10, 0x00,",
|
"¢": "0x1c, 0x22, 0x7f, 0x22, 0x10, 0x00,",
|
||||||
"£": "0x50, 0x7e, 0x51, 0x41, 0x42, 0x00,",
|
"£": "0x50, 0x7e, 0x51, 0x41, 0x42, 0x00,",
|
||||||
@@ -635,6 +625,7 @@ def getSmallFontMap():
|
|||||||
"Б": "0x7f, 0x49, 0x49, 0x49, 0x31, 0x00,",
|
"Б": "0x7f, 0x49, 0x49, 0x49, 0x31, 0x00,",
|
||||||
"В": "0x7f, 0x49, 0x49, 0x49, 0x36, 0x00,",
|
"В": "0x7f, 0x49, 0x49, 0x49, 0x36, 0x00,",
|
||||||
"Г": "0x7f, 0x01, 0x01, 0x01, 0x01, 0x00,",
|
"Г": "0x7f, 0x01, 0x01, 0x01, 0x01, 0x00,",
|
||||||
|
"Ґ": "0x7E, 0x02, 0x02, 0x02, 0x03, 0x00,",
|
||||||
"Д": "0x60, 0x3f, 0x21, 0x3f, 0x60, 0x00,",
|
"Д": "0x60, 0x3f, 0x21, 0x3f, 0x60, 0x00,",
|
||||||
"Е": "0x7f, 0x49, 0x49, 0x49, 0x41, 0x00,",
|
"Е": "0x7f, 0x49, 0x49, 0x49, 0x41, 0x00,",
|
||||||
"Ж": "0x77, 0x08, 0x7f, 0x08, 0x77, 0x00,",
|
"Ж": "0x77, 0x08, 0x7f, 0x08, 0x77, 0x00,",
|
||||||
@@ -655,8 +646,8 @@ def getSmallFontMap():
|
|||||||
"Х": "0x63, 0x14, 0x08, 0x14, 0x63, 0x00,",
|
"Х": "0x63, 0x14, 0x08, 0x14, 0x63, 0x00,",
|
||||||
"Ц": "0x3f, 0x20, 0x20, 0x3f, 0x60, 0x00,",
|
"Ц": "0x3f, 0x20, 0x20, 0x3f, 0x60, 0x00,",
|
||||||
"Ч": "0x07, 0x08, 0x08, 0x08, 0x7f, 0x00,",
|
"Ч": "0x07, 0x08, 0x08, 0x08, 0x7f, 0x00,",
|
||||||
"Ш": "0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x00,",
|
"Ш": "0x7F, 0x40, 0x7F, 0x40, 0x7F, 0x00,",
|
||||||
"Щ": "0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x60,",
|
"Щ": "0x7F, 0x40, 0x7F, 0x40, 0x7F, 0xC0,",
|
||||||
"Ъ": "0x01, 0x7f, 0x48, 0x48, 0x30, 0x00,",
|
"Ъ": "0x01, 0x7f, 0x48, 0x48, 0x30, 0x00,",
|
||||||
"Ы": "0x7f, 0x48, 0x30, 0x00, 0x7f, 0x00,",
|
"Ы": "0x7f, 0x48, 0x30, 0x00, 0x7f, 0x00,",
|
||||||
"Ь": "0x00, 0x7f, 0x48, 0x48, 0x30, 0x00,",
|
"Ь": "0x00, 0x7f, 0x48, 0x48, 0x30, 0x00,",
|
||||||
@@ -667,6 +658,7 @@ def getSmallFontMap():
|
|||||||
"б": "0x3c, 0x4a, 0x4a, 0x4a, 0x30, 0x00,",
|
"б": "0x3c, 0x4a, 0x4a, 0x4a, 0x30, 0x00,",
|
||||||
"в": "0x7c, 0x54, 0x54, 0x54, 0x28, 0x00,",
|
"в": "0x7c, 0x54, 0x54, 0x54, 0x28, 0x00,",
|
||||||
"г": "0x7c, 0x04, 0x04, 0x04, 0x04, 0x00,",
|
"г": "0x7c, 0x04, 0x04, 0x04, 0x04, 0x00,",
|
||||||
|
"ґ": "0x7C, 0x04, 0x04, 0x04, 0x06, 0x00,",
|
||||||
"д": "0x40, 0x3c, 0x24, 0x3c, 0x60, 0x00,",
|
"д": "0x40, 0x3c, 0x24, 0x3c, 0x60, 0x00,",
|
||||||
"е": "0x38, 0x54, 0x54, 0x54, 0x18, 0x00,",
|
"е": "0x38, 0x54, 0x54, 0x54, 0x18, 0x00,",
|
||||||
"ж": "0x6c, 0x10, 0x7c, 0x10, 0x6c, 0x00,",
|
"ж": "0x6c, 0x10, 0x7c, 0x10, 0x6c, 0x00,",
|
||||||
@@ -687,8 +679,8 @@ def getSmallFontMap():
|
|||||||
"х": "0x44, 0x28, 0x10, 0x28, 0x44, 0x00,",
|
"х": "0x44, 0x28, 0x10, 0x28, 0x44, 0x00,",
|
||||||
"ц": "0x3c, 0x20, 0x20, 0x3c, 0x60, 0x00,",
|
"ц": "0x3c, 0x20, 0x20, 0x3c, 0x60, 0x00,",
|
||||||
"ч": "0x0c, 0x10, 0x10, 0x10, 0x7c, 0x00,",
|
"ч": "0x0c, 0x10, 0x10, 0x10, 0x7c, 0x00,",
|
||||||
"ш": "0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x00,",
|
"ш": "0x7C, 0x40, 0x7C, 0x40, 0x7C, 0x00,",
|
||||||
"щ": "0x3c, 0x20, 0x3c, 0x20, 0x7c, 0x00,",
|
"щ": "0x7C, 0x40, 0x7C, 0x40, 0xFC, 0x00,",
|
||||||
"ъ": "0x04, 0x7c, 0x50, 0x20, 0x00, 0x00,",
|
"ъ": "0x04, 0x7c, 0x50, 0x20, 0x00, 0x00,",
|
||||||
"ы": "0x7c, 0x50, 0x20, 0x00, 0x7c, 0x00,",
|
"ы": "0x7c, 0x50, 0x20, 0x00, 0x7c, 0x00,",
|
||||||
"ь": "0x00, 0x7c, 0x50, 0x20, 0x00, 0x00,",
|
"ь": "0x00, 0x7c, 0x50, 0x20, 0x00, 0x00,",
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import argparse
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import io
|
import io
|
||||||
|
import functools
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import sys
|
import sys
|
||||||
import fontTables
|
import fontTables
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
from bdflib import reader as bdfreader
|
|
||||||
|
|
||||||
HERE = os.path.dirname(__file__)
|
HERE = os.path.dirname(__file__)
|
||||||
|
|
||||||
@@ -20,8 +20,11 @@ except NameError:
|
|||||||
to_unicode = str
|
to_unicode = str
|
||||||
|
|
||||||
|
|
||||||
with open(os.path.join(HERE, "wqy-bitmapsong/wenquanyi_9pt.bdf"), "rb") as handle:
|
@functools.lru_cache(maxsize=None)
|
||||||
cjkFont = bdfreader.read_bdf(handle)
|
def cjkFont():
|
||||||
|
from bdflib import reader as bdfreader
|
||||||
|
with open(os.path.join(HERE, "wqy-bitmapsong/wenquanyi_9pt.bdf"), "rb") as f:
|
||||||
|
return bdfreader.read_bdf(f)
|
||||||
|
|
||||||
|
|
||||||
def log(message):
|
def log(message):
|
||||||
@@ -184,7 +187,7 @@ def getLetterCounts(defs, lang):
|
|||||||
def getCJKGlyph(sym):
|
def getCJKGlyph(sym):
|
||||||
from bdflib.model import Glyph
|
from bdflib.model import Glyph
|
||||||
try:
|
try:
|
||||||
glyph: Glyph = cjkFont[ord(sym)]
|
glyph: Glyph = cjkFont()[ord(sym)]
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
data = glyph.data
|
data = glyph.data
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Поялник",
|
"Поялник",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Pájecí",
|
"Pájecí",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Soldering",
|
"Soldering",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
"BadTipString": "Spitze Defekt",
|
"BadTipString": "Spitze Defekt",
|
||||||
"SleepingSimpleString": "Zzz ",
|
"SleepingSimpleString": "Zzz ",
|
||||||
"SleepingAdvancedString": "Ruhemodus...",
|
"SleepingAdvancedString": "Ruhemodus...",
|
||||||
"WarningSimpleString": "HEIß!",
|
"WarningSimpleString": "HEISS!",
|
||||||
"WarningAdvancedString": "! Achtung Heiß !",
|
"WarningAdvancedString": "! Achtung Heiß !",
|
||||||
"SleepingTipAdvancedString": "Temp:",
|
"SleepingTipAdvancedString": "Temp:",
|
||||||
"IdleTipString": "Ist:",
|
"IdleTipString": "Ist:",
|
||||||
@@ -47,9 +47,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "V"
|
"SettingLockFullChar": "V",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Löt-",
|
"Löt-",
|
||||||
@@ -99,14 +107,14 @@
|
|||||||
"Ruhever-",
|
"Ruhever-",
|
||||||
"zögerung"
|
"zögerung"
|
||||||
],
|
],
|
||||||
"desc": "System wechselt in Ruhemodus, wenn innerhalb dieser Dauer nicht bewegt <S=Sekunden | M=Minuten>"
|
"desc": "Dauer vor Übergang in den Ruhemodus <S=Sekunden | M=Minuten>"
|
||||||
},
|
},
|
||||||
"ShutdownTimeout": {
|
"ShutdownTimeout": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Abschalt-",
|
"Abschalt-",
|
||||||
"zeit"
|
"zeit"
|
||||||
],
|
],
|
||||||
"desc": "System schaltet ab, wenn innerhalb dieser Dauer nicht bewegt <M=Minuten>"
|
"desc": "Dauer vor automatischer Abschaltung <M=Minuten>"
|
||||||
},
|
},
|
||||||
"MotionSensitivity": {
|
"MotionSensitivity": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -148,7 +156,7 @@
|
|||||||
"Start im",
|
"Start im",
|
||||||
"Lötmodus"
|
"Lötmodus"
|
||||||
],
|
],
|
||||||
"desc": "Bestimmt das Heizverhalten beim Einschalten der Spannungsversorgung <A=aus | L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit klater Spitze>"
|
"desc": "Heizverhalten beim Einschalten der Spannungsversorgung <A=aus | L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit kalter Spitze>"
|
||||||
},
|
},
|
||||||
"CooldownBlink": {
|
"CooldownBlink": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -169,14 +177,14 @@
|
|||||||
"Einstellungen",
|
"Einstellungen",
|
||||||
"zurücksetzen?"
|
"zurücksetzen?"
|
||||||
],
|
],
|
||||||
"desc": "Werte werden auf Werkseinstellungen zurückgesetzt!"
|
"desc": "Werte auf Werkseinstellungen zurücksetzen"
|
||||||
},
|
},
|
||||||
"VoltageCalibration": {
|
"VoltageCalibration": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Eingangsspannung",
|
"Eingangsspannung",
|
||||||
"kalibrieren?"
|
"kalibrieren?"
|
||||||
],
|
],
|
||||||
"desc": "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen."
|
"desc": "Kalibrierung der Eingangsspannung <Langer Tastendruck zum Verlassen>"
|
||||||
},
|
},
|
||||||
"AdvancedSoldering": {
|
"AdvancedSoldering": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -204,14 +212,14 @@
|
|||||||
"Einfache",
|
"Einfache",
|
||||||
"Kalibrierung"
|
"Kalibrierung"
|
||||||
],
|
],
|
||||||
"desc": "Einfache Kalibrierung mittels heißen Wassers"
|
"desc": "Einfache Kalibrierung mit heißem Wasser"
|
||||||
},
|
},
|
||||||
"AdvancedCalibrationMode": {
|
"AdvancedCalibrationMode": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Erweiterte",
|
"Erweiterte",
|
||||||
"Kalibrierung"
|
"Kalibrierung"
|
||||||
],
|
],
|
||||||
"desc": "Erweiterte Kalibrierung mittels eines Thermoelements an der Lötspitze"
|
"desc": "Erweiterte Kalibrierung mit Thermoelement an der Lötspitze"
|
||||||
},
|
},
|
||||||
"QCMaxVoltage": {
|
"QCMaxVoltage": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -253,28 +261,35 @@
|
|||||||
"Leistungs-",
|
"Leistungs-",
|
||||||
"impuls"
|
"impuls"
|
||||||
],
|
],
|
||||||
"desc": "Powerbank wird mittels eines Impulses wach gehalten <Watt>"
|
"desc": "Powerbank mit einem Impuls wach halten <Watt>"
|
||||||
},
|
},
|
||||||
"TipGain": {
|
"TipGain": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Ändere",
|
"Ändere",
|
||||||
"Spitzen Faktor"
|
"Spitzen-Faktor"
|
||||||
],
|
],
|
||||||
"desc": "Spitzen Faktor"
|
"desc": "Spitzen-Faktor"
|
||||||
},
|
},
|
||||||
"HallEffSensitivity": {
|
"HallEffSensitivity": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Hall Sensor",
|
"Hall-Sonde",
|
||||||
"Empfindlichkeit"
|
"Empfindlichkeit"
|
||||||
],
|
],
|
||||||
"desc": "Empfindlichkeit des Hall Effekt Sensors beim Erkennen des Ruhemodus <A=aus | N=niedrig | M=mittel | H=hoch>"
|
"desc": "Empfindlichkeit der Hall-Sonde beim Erkennen des Ruhemodus <A=aus | N=niedrig | M=mittel | H=hoch>"
|
||||||
},
|
},
|
||||||
"LockingMode": {
|
"LockingMode": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Knopf-",
|
"Tasten-",
|
||||||
"sperre"
|
"sperre"
|
||||||
],
|
],
|
||||||
"desc": "Langes drücken beider Knöpfe im Lötmodus, sperrt diese <D=deaktiviert | B=nur Boost | V=vollständig gesperrt>"
|
"desc": "Langes drücken beider Tasten im Lötmodus sperrt diese <D=deaktiviert | B=nur Boost | V=vollständig>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,9 +47,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Soldering",
|
"Soldering",
|
||||||
@@ -275,6 +283,13 @@
|
|||||||
"buttons"
|
"buttons"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press both buttons, to lock them <D=disable | B=\"boost mode\" only | F=full locking>"
|
"desc": "When soldering, long press both buttons, to lock them <D=disable | B=\"boost mode\" only | F=full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Ajustes de",
|
"Ajustes de",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Juotos-",
|
"Juotos-",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "V"
|
"SettingLockFullChar": "V",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Paramètres",
|
"Paramètres",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"capteur effet hall"
|
"capteur effet hall"
|
||||||
],
|
],
|
||||||
"desc": "Sensibilité du capteur à effet Hall lors de la détection de mise en veille <D=désactivé | B=basse | M=moyenne | H=haute>"
|
"desc": "Sensibilité du capteur à effet Hall lors de la détection de mise en veille <D=désactivé | B=basse | M=moyenne | H=haute>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Tension",
|
||||||
|
"minimale"
|
||||||
|
],
|
||||||
|
"desc": "Tension minimale autorisée par cellule"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Postavke",
|
"Postavke",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "M",
|
"SettingSensitivityHigh": "M",
|
||||||
"SettingLockDisableChar": "K",
|
"SettingLockDisableChar": "K",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "T"
|
"SettingLockFullChar": "T",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Forrasztási",
|
"Forrasztási",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"enged."
|
"enged."
|
||||||
],
|
],
|
||||||
"desc": "Forrasztás közben mindkét gombot hosszan lenyomva rögzíti a hőmérsékletet (K=ki B=csak \"boost\" mód T=teljes lezárás)"
|
"desc": "Forrasztás közben mindkét gombot hosszan lenyomva rögzíti a hőmérsékletet (K=ki B=csak \"boost\" mód T=teljes lezárás)"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "A",
|
"SettingSensitivityHigh": "A",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "T",
|
"SettingLockBoostChar": "T",
|
||||||
"SettingLockFullChar": "C"
|
"SettingLockFullChar": "C",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Opzioni",
|
"Opzioni",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"tasti"
|
"tasti"
|
||||||
],
|
],
|
||||||
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare/sbloccare <D: disattiva; T: blocca «Turbo»; C: blocco completo>"
|
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare/sbloccare <D: disattiva; T: blocca «Turbo»; C: blocco completo>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "A",
|
"SettingSensitivityHigh": "A",
|
||||||
"SettingLockDisableChar": "I",
|
"SettingLockDisableChar": "I",
|
||||||
"SettingLockBoostChar": "T",
|
"SettingLockBoostChar": "T",
|
||||||
"SettingLockFullChar": "V"
|
"SettingLockFullChar": "V",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Litavimo",
|
"Litavimo",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"užraktas"
|
"užraktas"
|
||||||
],
|
],
|
||||||
"desc": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte <I=Išjungta, T=Tik turbo režimas, V=Visiškas užrakinimas>"
|
"desc": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte <I=Išjungta, T=Tik turbo režimas, V=Visiškas užrakinimas>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityOff": "O",
|
"SettingSensitivityOff": "O",
|
||||||
"SettingSensitivityLow": "L",
|
"SettingSensitivityLow": "L",
|
||||||
"SettingSensitivityMedium": "M",
|
"SettingSensitivityMedium": "M",
|
||||||
"SettingSensitivityHigh": "H"
|
"SettingSensitivityHigh": "H",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Soldeer",
|
"Soldeer",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"knoppen"
|
"knoppen"
|
||||||
],
|
],
|
||||||
"desc": "Tijdens solderen lang op beide knoppen drukken, blokkeert ze. <U=Uit, B=Alleen boost, V=Volledig blokkeren>"
|
"desc": "Tijdens solderen lang op beide knoppen drukken, blokkeert ze. <U=Uit, B=Alleen boost, V=Volledig blokkeren>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Soldeer",
|
"Soldeer",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Lodde-",
|
"Lodde-",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,9 +47,17 @@
|
|||||||
"SettingSensitivityHigh": "W",
|
"SettingSensitivityHigh": "W",
|
||||||
"SettingLockDisableChar": "W",
|
"SettingLockDisableChar": "W",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "P"
|
"SettingLockFullChar": "P",
|
||||||
|
"SettingNAChar": "N/D"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Ustawienia",
|
||||||
|
"zasilania"
|
||||||
|
],
|
||||||
|
"desc": "Zasilanie i minimalne napięcie na komórkę"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Lutowanie",
|
"Lutowanie",
|
||||||
@@ -275,6 +283,13 @@
|
|||||||
"przycisków"
|
"przycisków"
|
||||||
],
|
],
|
||||||
"desc": "W trybie lutowania, wciśnij oba przyciski aby je zablokować <O-Wyłączona, B-tylko Boost, P-pełna blokada>"
|
"desc": "W trybie lutowania, wciśnij oba przyciski aby je zablokować <O-Wyłączona, B-tylko Boost, P-pełna blokada>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimalne",
|
||||||
|
"napięcie"
|
||||||
|
],
|
||||||
|
"desc": "Minimalne dozwolone napięcie na komórkę <W woltach> <3S — 3.0V - 3.7V, 4/5/6S — 2.4V - 3.7V>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Configurações",
|
"Configurações",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,14 +7,14 @@
|
|||||||
"SettingsCalibrationWarning": "Прежде чем продолжить, пожалуйста, убедитесь, что жало имеет комнатную температуру!",
|
"SettingsCalibrationWarning": "Прежде чем продолжить, пожалуйста, убедитесь, что жало имеет комнатную температуру!",
|
||||||
"SettingsResetWarning": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?",
|
"SettingsResetWarning": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?",
|
||||||
"UVLOWarningString": "НАПРЯЖ--",
|
"UVLOWarningString": "НАПРЯЖ--",
|
||||||
"UndervoltageString": "Низк. напряжение",
|
"UndervoltageString": "Низкое напряжение",
|
||||||
"InputVoltageString": "Питание В: ",
|
"InputVoltageString": "Питание В: ",
|
||||||
"WarningTipTempString": "Темп. жала: ",
|
"WarningTipTempString": "Темп. жала: ",
|
||||||
"BadTipString": "ЖАЛО--",
|
"BadTipString": "ЖАЛО--",
|
||||||
"SleepingSimpleString": "Zzzz",
|
"SleepingSimpleString": "Zzzz",
|
||||||
"SleepingAdvancedString": "Ожидание...",
|
"SleepingAdvancedString": "Ожидание...",
|
||||||
"WarningSimpleString": "ГОРЯЧО!",
|
"WarningSimpleString": "ГОРЯЧО!",
|
||||||
"WarningAdvancedString": "!!! ГОРЯЧЕЕ ЖАЛО !!!",
|
"WarningAdvancedString": "!!! ГОРЯЧЕЕ !!!\n!!! ЖАЛО !!!",
|
||||||
"SleepingTipAdvancedString": "Жало:",
|
"SleepingTipAdvancedString": "Жало:",
|
||||||
"IdleTipString": "Жало:",
|
"IdleTipString": "Жало:",
|
||||||
"IdleSetString": " ->",
|
"IdleSetString": " ->",
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"OffString": "Выкл.",
|
"OffString": "Выкл.",
|
||||||
"ResetOKMessage": "Сброс OK",
|
"ResetOKMessage": "Сброс OK",
|
||||||
"YourGainMessage": "Прирост:",
|
"YourGainMessage": "Прирост:",
|
||||||
"SettingsResetMessage": "Настройки сброшены!",
|
"SettingsResetMessage": "Настройки\nсброшены!",
|
||||||
"NoAccelerometerMessage": "Не определен\nакселерометр!",
|
"NoAccelerometerMessage": "Не определен\nакселерометр!",
|
||||||
"NoPowerDeliveryMessage": "No USB-PD IC\ndetected!",
|
"NoPowerDeliveryMessage": "No USB-PD IC\ndetected!",
|
||||||
"LockingKeysString": " LOCKED",
|
"LockingKeysString": " LOCKED",
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "В",
|
"SettingSensitivityHigh": "В",
|
||||||
"SettingLockDisableChar": "О",
|
"SettingLockDisableChar": "О",
|
||||||
"SettingLockBoostChar": "Т",
|
"SettingLockBoostChar": "Т",
|
||||||
"SettingLockFullChar": "П"
|
"SettingLockFullChar": "П",
|
||||||
|
"SettingNAChar": "Н/Д"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Параметры",
|
||||||
|
"питания"
|
||||||
|
],
|
||||||
|
"desc": "Источник питания и минимальное напряжение на ячейку"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Параметры",
|
"Параметры",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"блок. кнопок"
|
"блок. кнопок"
|
||||||
],
|
],
|
||||||
"desc": "При работе длинное нажатие обеих кнопок блокирует их <О=Отключено, Т=Только турбо, П=Полная блокировка>"
|
"desc": "При работе длинное нажатие обеих кнопок блокирует их <О=Отключено, Т=Только турбо, П=Полная блокировка>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Мин.",
|
||||||
|
"напр."
|
||||||
|
],
|
||||||
|
"desc": "Минимальное разрешенное напряжение на ячейку <В вольтах> <3S — 3.0V - 3.7V, 4/5/6S — 2.4V - 3.7V>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "V",
|
"SettingSensitivityHigh": "V",
|
||||||
"SettingLockDisableChar": "Z",
|
"SettingLockDisableChar": "Z",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "P"
|
"SettingLockFullChar": "P",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Nastavenie",
|
"Nastavenie",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"tlačidiel"
|
"tlačidiel"
|
||||||
],
|
],
|
||||||
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania <Z=Zakázať, B=Okrem boost, P=Plné zamknutie>"
|
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania <Z=Zakázať, B=Okrem boost, P=Plné zamknutie>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "V",
|
"SettingSensitivityHigh": "V",
|
||||||
"SettingLockDisableChar": "O",
|
"SettingLockDisableChar": "O",
|
||||||
"SettingLockBoostChar": "L",
|
"SettingLockBoostChar": "L",
|
||||||
"SettingLockFullChar": "P"
|
"SettingLockFullChar": "P",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Nastavitve",
|
"Nastavitve",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"zaklep gumbov"
|
"zaklep gumbov"
|
||||||
],
|
],
|
||||||
"desc": "Za zaklep med spajkanjem drži oba gumba <O=onemogoči | L=le pospešeno | P=polno>"
|
"desc": "Za zaklep med spajkanjem drži oba gumba <O=onemogoči | L=le pospešeno | P=polno>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Поставке",
|
"Поставке",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Postavke",
|
"Postavke",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,9 +46,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Lödnings-",
|
"Lödnings-",
|
||||||
@@ -274,6 +282,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,9 +43,17 @@
|
|||||||
"SettingSensitivityHigh": "H",
|
"SettingSensitivityHigh": "H",
|
||||||
"SettingLockDisableChar": "D",
|
"SettingLockDisableChar": "D",
|
||||||
"SettingLockBoostChar": "B",
|
"SettingLockBoostChar": "B",
|
||||||
"SettingLockFullChar": "F"
|
"SettingLockFullChar": "F",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Lehimleme",
|
"Lehimleme",
|
||||||
@@ -292,6 +300,13 @@
|
|||||||
"locking"
|
"locking"
|
||||||
],
|
],
|
||||||
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,28 +7,28 @@
|
|||||||
"SettingsCalibrationWarning": "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!",
|
"SettingsCalibrationWarning": "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!",
|
||||||
"SettingsResetWarning": "Ви дійсно хочете скинути налаштування до значень за замовчуванням? <A - Так, В - Ні>",
|
"SettingsResetWarning": "Ви дійсно хочете скинути налаштування до значень за замовчуванням? <A - Так, В - Ні>",
|
||||||
"UVLOWarningString": "АККУМ--",
|
"UVLOWarningString": "АККУМ--",
|
||||||
"UndervoltageString": "Низ. напруга",
|
"UndervoltageString": "Низька напруга",
|
||||||
"InputVoltageString": "Жив.(B): ",
|
"InputVoltageString": "Жив.(B): ",
|
||||||
"WarningTipTempString": "Жало t°: ",
|
"WarningTipTempString": "Жало t°: ",
|
||||||
"BadTipString": "ЖАЛО--",
|
"BadTipString": "ЖАЛО--",
|
||||||
"SleepingSimpleString": "ZzZzz",
|
"SleepingSimpleString": "ZzZzz",
|
||||||
"SleepingAdvancedString": "Очікування...",
|
"SleepingAdvancedString": "Очікування...",
|
||||||
"WarningSimpleString": "ГАРЯЧЕ!",
|
"WarningSimpleString": "ГАРЯЧЕ!",
|
||||||
"WarningAdvancedString": "!!! ГАРЯЧЕ ЖАЛО !!!",
|
"WarningAdvancedString": "!!! ГАРЯЧЕ !!!\n!!! ЖАЛО !!!",
|
||||||
"SleepingTipAdvancedString": "Жало:",
|
"SleepingTipAdvancedString": "Жало:",
|
||||||
"IdleTipString": "Жало:",
|
"IdleTipString": "Жало:",
|
||||||
"IdleSetString": " ->",
|
"IdleSetString": " ->",
|
||||||
"TipDisconnectedString": "Жало вимкнено!",
|
"TipDisconnectedString": "Жало вимкнено!",
|
||||||
"SolderingAdvancedPowerPrompt": "Живлення: ",
|
"SolderingAdvancedPowerPrompt": "Живлення: ",
|
||||||
"OffString": "Вимк",
|
"OffString": "Вимк",
|
||||||
"ResetOKMessage": "Скидання OK",
|
"ResetOKMessage": "Скид. OK",
|
||||||
"YourGainMessage": "Приріст:",
|
"YourGainMessage": "Приріст:",
|
||||||
"SettingsResetMessage": "Налаштування скинуті!",
|
"SettingsResetMessage": "Налаштування\nскинуті!",
|
||||||
"NoAccelerometerMessage": "Акселерометр\nне виявлено!",
|
"NoAccelerometerMessage": "Акселерометр\nне виявлено!",
|
||||||
"NoPowerDeliveryMessage": "USB-PD IC\nне виявлено!",
|
"NoPowerDeliveryMessage": "USB-PD IC\nне виявлено!",
|
||||||
"LockingKeysString": " ЗАБЛОКОВАНО",
|
"LockingKeysString": " ЗАБЛОК.",
|
||||||
"UnlockingKeysString": "РОЗБЛОКОВАНО",
|
"UnlockingKeysString": "РОЗБЛОК.",
|
||||||
"WarningKeysLockedString": "!ЗАБЛОКОВАНО!"
|
"WarningKeysLockedString": "!ЗАБЛОК!"
|
||||||
},
|
},
|
||||||
"characters": {
|
"characters": {
|
||||||
"SettingRightChar": "П",
|
"SettingRightChar": "П",
|
||||||
@@ -46,15 +46,23 @@
|
|||||||
"SettingSensitivityHigh": "М",
|
"SettingSensitivityHigh": "М",
|
||||||
"SettingLockDisableChar": "В",
|
"SettingLockDisableChar": "В",
|
||||||
"SettingLockBoostChar": "Т",
|
"SettingLockBoostChar": "Т",
|
||||||
"SettingLockFullChar": "П"
|
"SettingLockFullChar": "П",
|
||||||
|
"SettingNAChar": "Н/Д"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Параметри",
|
||||||
|
"живлення"
|
||||||
|
],
|
||||||
|
"desc": "Джерело живлення, та мінамільна напруга на комірку"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Параметри",
|
"Параметри",
|
||||||
"пайки"
|
"пайки"
|
||||||
],
|
],
|
||||||
"desc": "Налаштування для режиму пайки. Діють при включеному жалі."
|
"desc": "Налаштування для режиму пайки. Діють при увімкненому жалі."
|
||||||
},
|
},
|
||||||
"PowerSavingMenu": {
|
"PowerSavingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -65,8 +73,8 @@
|
|||||||
},
|
},
|
||||||
"UIMenu": {
|
"UIMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Інтерфейс",
|
"Параметри",
|
||||||
""
|
"інтерфейсу"
|
||||||
],
|
],
|
||||||
"desc": "Параметри користувальницького інтерфейсу."
|
"desc": "Параметри користувальницького інтерфейсу."
|
||||||
},
|
},
|
||||||
@@ -84,7 +92,7 @@
|
|||||||
"Джерело",
|
"Джерело",
|
||||||
"живлення"
|
"живлення"
|
||||||
],
|
],
|
||||||
"desc": "Встановлення напруги відключення. <DC - 10V, 3S - 9.9V, 4S - 13.2V, 5S - 16.5V, 6S - 19.8V>"
|
"desc": "Встановлює напругу відсічки. <DC - 10V, 3S - 9.9V, 4S - 13.2V, 5S - 16.5V, 6S - 19.8V>"
|
||||||
},
|
},
|
||||||
"SleepTemperature": {
|
"SleepTemperature": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -105,12 +113,12 @@
|
|||||||
"Часу до",
|
"Часу до",
|
||||||
"вимкнення"
|
"вимкнення"
|
||||||
],
|
],
|
||||||
"desc": "Час до відключення <Хвилини>"
|
"desc": "Час до вимкнення <Хвилини>"
|
||||||
},
|
},
|
||||||
"MotionSensitivity": {
|
"MotionSensitivity": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Чутл. сенсо-",
|
"Чутливість",
|
||||||
"ру руху"
|
"сенсору руху"
|
||||||
],
|
],
|
||||||
"desc": "Акселерометр <0 - Вимк. 1 - мін. чутливості 9 - макс. чутливості>"
|
"desc": "Акселерометр <0 - Вимк. 1 - мін. чутливості 9 - макс. чутливості>"
|
||||||
},
|
},
|
||||||
@@ -140,25 +148,25 @@
|
|||||||
"Темпер.",
|
"Темпер.",
|
||||||
"Турбо"
|
"Турбо"
|
||||||
],
|
],
|
||||||
"desc": "Температура в Турбо-режимі"
|
"desc": "Температура в \"Турбо\" режимі"
|
||||||
},
|
},
|
||||||
"AutoStart": {
|
"AutoStart": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Гарячий",
|
"Гарячий",
|
||||||
"старт"
|
"старт"
|
||||||
],
|
],
|
||||||
"desc": "Режим з яким запускається паяльник при подачі живлення <П=Пайка, О=Очікування, К=Очікування при кімн. темп., В=Вимк.>"
|
"desc": "Режим в якому запускається паяльник при ввімкненні <П=Пайка, О=Очікування, К=Очікування при кімн. темп., В=Вимк.>"
|
||||||
},
|
},
|
||||||
"CooldownBlink": {
|
"CooldownBlink": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Показ t° при",
|
"Показ t° при",
|
||||||
"охолодж."
|
"охолодженні"
|
||||||
],
|
],
|
||||||
"desc": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
|
"desc": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
|
||||||
},
|
},
|
||||||
"TemperatureCalibration": {
|
"TemperatureCalibration": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Калібровка",
|
"Калібрування",
|
||||||
"температури"
|
"температури"
|
||||||
],
|
],
|
||||||
"desc": "Калібрування температурного датчика."
|
"desc": "Калібрування температурного датчика."
|
||||||
@@ -179,8 +187,8 @@
|
|||||||
},
|
},
|
||||||
"AdvancedSoldering": {
|
"AdvancedSoldering": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Детальний ре-",
|
"Детальний",
|
||||||
"жим пайки"
|
"режим пайки"
|
||||||
],
|
],
|
||||||
"desc": "Показувати детальну інформацію при пайці."
|
"desc": "Показувати детальну інформацію при пайці."
|
||||||
},
|
},
|
||||||
@@ -194,7 +202,7 @@
|
|||||||
"TipModel": {
|
"TipModel": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Модель",
|
"Модель",
|
||||||
"Жало"
|
"жала"
|
||||||
],
|
],
|
||||||
"desc": "Вибір моделі жала"
|
"desc": "Вибір моделі жала"
|
||||||
},
|
},
|
||||||
@@ -215,7 +223,7 @@
|
|||||||
"QCMaxVoltage": {
|
"QCMaxVoltage": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Потужність",
|
"Потужність",
|
||||||
"дж. живл."
|
"дж. живлення"
|
||||||
],
|
],
|
||||||
"desc": "Потужність джерела живлення в Ватах"
|
"desc": "Потужність джерела живлення в Ватах"
|
||||||
},
|
},
|
||||||
@@ -235,14 +243,14 @@
|
|||||||
},
|
},
|
||||||
"TempChangeShortStep": {
|
"TempChangeShortStep": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Зм. темп.",
|
"Зміна темп.",
|
||||||
"коротко?"
|
"коротко?"
|
||||||
],
|
],
|
||||||
"desc": "Змінювати температуру при короткому натисканні!"
|
"desc": "Змінювати температуру при короткому натисканні!"
|
||||||
},
|
},
|
||||||
"TempChangeLongStep": {
|
"TempChangeLongStep": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Зм. темп.",
|
"Зміна темп.",
|
||||||
"довго?"
|
"довго?"
|
||||||
],
|
],
|
||||||
"desc": "Змінювати температуру при довгому натисканні!"
|
"desc": "Змінювати температуру при довгому натисканні!"
|
||||||
@@ -252,14 +260,14 @@
|
|||||||
"Пульс.",
|
"Пульс.",
|
||||||
"Навантаж."
|
"Навантаж."
|
||||||
],
|
],
|
||||||
"desc": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії (це потрібно щоб паяльник не вимкнувся з часом)"
|
"desc": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії)"
|
||||||
},
|
},
|
||||||
"TipGain": {
|
"TipGain": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Modify",
|
"Змінити",
|
||||||
"tip gain"
|
"підсил. жала"
|
||||||
],
|
],
|
||||||
"desc": "Tip gain"
|
"desc": "Підсилення жала"
|
||||||
},
|
},
|
||||||
"HallEffSensitivity": {
|
"HallEffSensitivity": {
|
||||||
"text2": [
|
"text2": [
|
||||||
@@ -271,9 +279,16 @@
|
|||||||
"LockingMode": {
|
"LockingMode": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"Дозволити",
|
"Дозволити",
|
||||||
"блокування кнопок"
|
"блок. кнопок"
|
||||||
],
|
],
|
||||||
"desc": "Під час пайки тривале натискання обох кнопок заблокує їх <В=Вимк, Т=Тільки турбо, П=Повне>"
|
"desc": "Під час пайки тривале натискання обох кнопок заблокує їх <В=Вимк, Т=Тільки турбо, П=Повне>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Мін.",
|
||||||
|
"напруга"
|
||||||
|
],
|
||||||
|
"desc": "Мінімальна дозволена напруга на комірку <В вольтах> <3S — 3.0V - 3.7V, 4/5/6S — 2.4V - 3.7V>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,9 +47,17 @@
|
|||||||
"SettingSensitivityHigh": "高",
|
"SettingSensitivityHigh": "高",
|
||||||
"SettingLockDisableChar": "無",
|
"SettingLockDisableChar": "無",
|
||||||
"SettingLockBoostChar": "增",
|
"SettingLockBoostChar": "增",
|
||||||
"SettingLockFullChar": "全"
|
"SettingLockFullChar": "全",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"",
|
"",
|
||||||
@@ -275,6 +283,13 @@
|
|||||||
"撳掣鎖定"
|
"撳掣鎖定"
|
||||||
],
|
],
|
||||||
"desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=只鎖定增熱模式 | 全=鎖定全部>"
|
"desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=只鎖定增熱模式 | 全=鎖定全部>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,9 +47,17 @@
|
|||||||
"SettingSensitivityHigh": "高",
|
"SettingSensitivityHigh": "高",
|
||||||
"SettingLockDisableChar": "無",
|
"SettingLockDisableChar": "無",
|
||||||
"SettingLockBoostChar": "增",
|
"SettingLockBoostChar": "增",
|
||||||
"SettingLockFullChar": "全"
|
"SettingLockFullChar": "全",
|
||||||
|
"SettingNAChar": "N/A"
|
||||||
},
|
},
|
||||||
"menuGroups": {
|
"menuGroups": {
|
||||||
|
"PowerMenu": {
|
||||||
|
"text2": [
|
||||||
|
"Power",
|
||||||
|
"settings"
|
||||||
|
],
|
||||||
|
"desc": "Power settings"
|
||||||
|
},
|
||||||
"SolderingMenu": {
|
"SolderingMenu": {
|
||||||
"text2": [
|
"text2": [
|
||||||
"",
|
"",
|
||||||
@@ -275,6 +283,13 @@
|
|||||||
"按鍵鎖定"
|
"按鍵鎖定"
|
||||||
],
|
],
|
||||||
"desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=只鎖定增熱模式 | 全=鎖定全部>"
|
"desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=只鎖定增熱模式 | 全=鎖定全部>"
|
||||||
|
},
|
||||||
|
"MinVolCell": {
|
||||||
|
"text2": [
|
||||||
|
"Minimum",
|
||||||
|
"voltage"
|
||||||
|
],
|
||||||
|
"desc": "Minimum allowed voltage per cell"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -173,7 +173,8 @@ var def =
|
|||||||
{
|
{
|
||||||
"id": "SettingSensitivityHigh",
|
"id": "SettingSensitivityHigh",
|
||||||
"len": 1
|
"len": 1
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"id": "SettingLockDisableChar",
|
"id": "SettingLockDisableChar",
|
||||||
"len": 1,
|
"len": 1,
|
||||||
"default": "D"
|
"default": "D"
|
||||||
@@ -187,9 +188,18 @@ var def =
|
|||||||
"id": "SettingLockFullChar",
|
"id": "SettingLockFullChar",
|
||||||
"len": 1,
|
"len": 1,
|
||||||
"default": "F"
|
"default": "F"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "SettingNAChar",
|
||||||
|
"len": 3,
|
||||||
|
"default": "N/A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"menuGroups": [
|
"menuGroups": [
|
||||||
|
{
|
||||||
|
"id": "PowerMenu",
|
||||||
|
"maxLen": 11
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "SolderingMenu",
|
"id": "SolderingMenu",
|
||||||
"maxLen": 11
|
"maxLen": 11
|
||||||
@@ -342,10 +352,16 @@ var def =
|
|||||||
"id": "HallEffSensitivity",
|
"id": "HallEffSensitivity",
|
||||||
"maxLen": 6,
|
"maxLen": 6,
|
||||||
"maxLen2": 8
|
"maxLen2": 8
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"id": "LockingMode",
|
"id": "LockingMode",
|
||||||
"maxLen": 6,
|
"maxLen": 6,
|
||||||
"maxLen2": 13
|
"maxLen2": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "MinVolCell",
|
||||||
|
"maxLen": 4,
|
||||||
|
"maxLen2": 9
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
command: /bin/bash
|
command: /bin/bash
|
||||||
volumes:
|
volumes:
|
||||||
- ./ci:/build/ci
|
- ./ci:/build/ci:Z
|
||||||
- ./:/build/source
|
- ./:/build/source:Z
|
||||||
|
|||||||
@@ -88,19 +88,21 @@ uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
|
|||||||
void unstick_I2C() {
|
void unstick_I2C() {
|
||||||
/* configure SDA/SCL for GPIO */
|
/* configure SDA/SCL for GPIO */
|
||||||
GPIO_BC(GPIOB) |= SDA_Pin | SCL_Pin;
|
GPIO_BC(GPIOB) |= SDA_Pin | SCL_Pin;
|
||||||
gpio_init(SDA_GPIO_Port, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, SDA_Pin | SCL_Pin);
|
gpio_init(SDA_GPIO_Port, GPIO_MODE_OUT_OD, GPIO_OSPEED_50MHZ, SDA_Pin | SCL_Pin);
|
||||||
asm("nop");
|
for (int i = 0; i < 8; i++) {
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
GPIO_BOP(GPIOB) |= SCL_Pin;
|
asm("nop");
|
||||||
asm("nop");
|
GPIO_BOP(GPIOB) |= SCL_Pin;
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
asm("nop");
|
asm("nop");
|
||||||
GPIO_BOP(GPIOB) |= SDA_Pin;
|
asm("nop");
|
||||||
|
GPIO_BOP(GPIOB) &= SCL_Pin;
|
||||||
|
}
|
||||||
/* connect PB6 to I2C0_SCL */
|
/* connect PB6 to I2C0_SCL */
|
||||||
/* connect PB7 to I2C0_SDA */
|
/* connect PB7 to I2C0_SDA */
|
||||||
gpio_init(SDA_GPIO_Port, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, SDA_Pin | SCL_Pin);
|
gpio_init(SDA_GPIO_Port, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, SDA_Pin | SCL_Pin);
|
||||||
|
|||||||
@@ -15,11 +15,12 @@ const uint16_t USB_PD_Desired_Levels[] = {
|
|||||||
// mV desired input, mA minimum required current
|
// mV desired input, mA minimum required current
|
||||||
// Tip is ~ 7.5 ohms
|
// Tip is ~ 7.5 ohms
|
||||||
20000, 2666, // 20V, 2.6A
|
20000, 2666, // 20V, 2.6A
|
||||||
|
18000, 2400, // 18V, 2.4A
|
||||||
15000, 2000, // 15V 2A
|
15000, 2000, // 15V 2A
|
||||||
12000, 1600, // 12V @ 1.6A
|
12000, 1600, // 12V @ 1.6A
|
||||||
9000, 1200, // 9V @ 1.2A
|
9000, 1200, // 9V @ 1.2A
|
||||||
5000, 100, // 5V @ whatever
|
5000, 100, // 5V @ whatever
|
||||||
|
|
||||||
};
|
};
|
||||||
const uint8_t USB_PD_Desired_Levels_Len = 5;
|
const uint8_t USB_PD_Desired_Levels_Len = 6;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,39 +9,39 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#include "gd32vf103_usart.h"
|
#include "gd32vf103_usart.h"
|
||||||
}
|
}
|
||||||
char uartOutputBuffer[uartOutputBufferLength];
|
char uartOutputBuffer[uartOutputBufferLength];
|
||||||
volatile uint32_t currentOutputPos = 0xFF;
|
volatile uint32_t currentOutputPos = 0xFF;
|
||||||
volatile uint32_t outputLength = 0;
|
volatile uint32_t outputLength = 0;
|
||||||
extern volatile uint8_t pendingPWM;
|
extern volatile uint8_t pendingPWM;
|
||||||
void log_system_state(int32_t PWMWattsx10) {
|
void log_system_state(int32_t PWMWattsx10) {
|
||||||
if (currentOutputPos == 0xFF) {
|
if (currentOutputPos == 0xFF) {
|
||||||
|
|
||||||
// Want to print a CSV log out the uart
|
// Want to print a CSV log out the uart
|
||||||
// Tip_Temp_C,Handle_Temp_C,Output_Power_Wattx10,PWM,Tip_Raw\r\n
|
// Tip_Temp_C,Handle_Temp_C,Output_Power_Wattx10,PWM,Tip_Raw\r\n
|
||||||
// 3+1+3+1+3+1+3+1+5+2 = 23, so sizing at 32 for now
|
// 3+1+3+1+3+1+3+1+5+2 = 23, so sizing at 32 for now
|
||||||
|
|
||||||
outputLength = snprintf(uartOutputBuffer, uartOutputBufferLength, "%lu,%u,%li,%u,%lu\r\n", //
|
outputLength = snprintf(uartOutputBuffer, uartOutputBufferLength, "%lu,%u,%li,%u,%lu\r\n", //
|
||||||
TipThermoModel::getTipInC(false), // Tip temp in C
|
TipThermoModel::getTipInC(false), // Tip temp in C
|
||||||
getHandleTemperature(), // Handle temp in C X10
|
getHandleTemperature(), // Handle temp in C X10
|
||||||
PWMWattsx10, // Output Wattage
|
PWMWattsx10, // Output Wattage
|
||||||
pendingPWM, // PWM
|
pendingPWM, // PWM
|
||||||
TipThermoModel::convertTipRawADCTouV(getTipRawTemp(0), true) // Tip temp in uV
|
TipThermoModel::convertTipRawADCTouV(getTipRawTemp(0), true) // Tip temp in uV
|
||||||
);
|
);
|
||||||
|
|
||||||
// Now print this out the uart via IRQ (DMA cant be used as oled has it)
|
// Now print this out the uart via IRQ (DMA cant be used as oled has it)
|
||||||
currentOutputPos = 0;
|
currentOutputPos = 0;
|
||||||
/* enable USART1 Transmit Buffer Empty interrupt */
|
/* enable USART1 Transmit Buffer Empty interrupt */
|
||||||
usart_interrupt_enable(UART_PERIF, USART_INT_TBE);
|
usart_interrupt_enable(UART_PERIF, USART_INT_TBE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void USART1_IRQHandler(void) {
|
void USART1_IRQHandler(void) {
|
||||||
if (RESET != usart_interrupt_flag_get(UART_PERIF, USART_INT_FLAG_TBE)) {
|
if (RESET != usart_interrupt_flag_get(UART_PERIF, USART_INT_FLAG_TBE)) {
|
||||||
/* write one byte to the transmit data register */
|
/* write one byte to the transmit data register */
|
||||||
usart_data_transmit(UART_PERIF, uartOutputBuffer[currentOutputPos++]);
|
usart_data_transmit(UART_PERIF, uartOutputBuffer[currentOutputPos++]);
|
||||||
if (currentOutputPos >= outputLength) {
|
if (currentOutputPos >= outputLength) {
|
||||||
currentOutputPos = 0xFF; // Mark done
|
currentOutputPos = 0xFF; // Mark done
|
||||||
usart_interrupt_disable(UART_PERIF, USART_INT_TBE);
|
usart_interrupt_disable(UART_PERIF, USART_INT_TBE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,353 +23,281 @@ uint8_t FRToSI2C::I2C_RegisterRead(uint8_t add, uint8_t reg) {
|
|||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FRToSI2C::Mem_Read(uint16_t DevAddress, uint16_t read_address, uint8_t *p_buffer, uint16_t number_of_byte) {
|
enum i2c_step {
|
||||||
if (!lock())
|
// Write+read steps
|
||||||
return false;
|
Write_start, // Sending start on bus
|
||||||
|
Write_device_address, // start sent, send device address
|
||||||
|
Write_device_memory_address, // device address sent, write the memory location
|
||||||
|
Write_device_data_start, // Write all of the remaining data using DMA
|
||||||
|
Write_device_data_finish, // Write all of the remaining data using DMA
|
||||||
|
|
||||||
|
Read_start, // second read
|
||||||
|
Read_device_address, // Send device address again for the read
|
||||||
|
Read_device_data_start, // read device data via DMA
|
||||||
|
Read_device_data_finish, // read device data via DMA
|
||||||
|
Send_stop, // send the stop at the end of the transaction
|
||||||
|
Wait_stop, // Wait for stop to send and we are done
|
||||||
|
Done, // Finished
|
||||||
|
Error_occured, // Error occured on the bus
|
||||||
|
|
||||||
|
};
|
||||||
|
struct i2c_state {
|
||||||
|
i2c_step currentStep;
|
||||||
|
bool isMemoryWrite;
|
||||||
|
bool wakePart;
|
||||||
|
uint8_t deviceAddress;
|
||||||
|
uint8_t memoryAddress;
|
||||||
|
uint8_t * buffer;
|
||||||
|
uint16_t numberOfBytes;
|
||||||
|
dma_parameter_struct dma_init_struct;
|
||||||
|
};
|
||||||
|
volatile i2c_state currentState;
|
||||||
|
|
||||||
|
void perform_i2c_step() {
|
||||||
|
// Performs next step of the i2c state machine
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_AERR);
|
||||||
|
// Arb error - we lost the bus / nacked
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
} else if (i2c_flag_get(I2C0, I2C_FLAG_BERR)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_BERR);
|
||||||
|
// Bus Error
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
} else if (i2c_flag_get(I2C0, I2C_FLAG_LOSTARB)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_LOSTARB);
|
||||||
|
// Bus Error
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
} else if (i2c_flag_get(I2C0, I2C_FLAG_PECERR)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_PECERR);
|
||||||
|
// Bus Error
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
}
|
||||||
|
switch (currentState.currentStep) {
|
||||||
|
case Error_occured:
|
||||||
|
i2c_stop_on_bus(I2C0);
|
||||||
|
break;
|
||||||
|
case Write_start:
|
||||||
|
|
||||||
|
/* enable acknowledge */
|
||||||
|
i2c_ack_config(I2C0, I2C_ACK_ENABLE);
|
||||||
|
/* i2c master sends start signal only when the bus is idle */
|
||||||
|
if (!i2c_flag_get(I2C0, I2C_FLAG_I2CBSY)) {
|
||||||
|
/* send the start signal */
|
||||||
|
i2c_start_on_bus(I2C0);
|
||||||
|
currentState.currentStep = Write_device_address;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Write_device_address:
|
||||||
|
/* i2c master sends START signal successfully */
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_SBSEND)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
||||||
|
i2c_master_addressing(I2C0, currentState.deviceAddress, I2C_TRANSMITTER);
|
||||||
|
currentState.currentStep = Write_device_memory_address;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Write_device_memory_address:
|
||||||
|
// Send the device memory location
|
||||||
|
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)) { // addr sent
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
||||||
|
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_BERR)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_BERR);
|
||||||
|
// Bus Error
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
} else if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_AERR);
|
||||||
|
// Arb error - we lost the bus / nacked
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
} else if (currentState.wakePart) {
|
||||||
|
// We are stopping here
|
||||||
|
currentState.currentStep = Send_stop;
|
||||||
|
} else if (i2c_flag_get(I2C0, I2C_FLAG_TBE)) {
|
||||||
|
// Write out the 8 byte address
|
||||||
|
i2c_data_transmit(I2C0, currentState.memoryAddress);
|
||||||
|
|
||||||
|
if (currentState.isMemoryWrite) {
|
||||||
|
currentState.currentStep = Write_device_data_start;
|
||||||
|
} else {
|
||||||
|
currentState.currentStep = Read_start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Write_device_data_start:
|
||||||
|
|
||||||
|
/* wait until BTC bit is set */
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_BTC)) {
|
||||||
|
/* enable I2C0 DMA */
|
||||||
|
i2c_dma_enable(I2C0, I2C_DMA_ON);
|
||||||
|
/* enable DMA0 channel5 */
|
||||||
|
dma_channel_enable(DMA0, DMA_CH5);
|
||||||
|
currentState.currentStep = Write_device_data_finish;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Write_device_data_finish: // Wait for complete then goto stop
|
||||||
|
/* wait until BTC bit is set */
|
||||||
|
if (dma_flag_get(DMA0, DMA_CH5, DMA_FLAG_FTF)) {
|
||||||
|
/* wait until BTC bit is set */
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_BTC)) {
|
||||||
|
currentState.currentStep = Send_stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Read_start:
|
||||||
|
/* wait until BTC bit is set */
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_BTC)) {
|
||||||
|
i2c_start_on_bus(I2C0);
|
||||||
|
currentState.currentStep = Read_device_address;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Read_device_address:
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_SBSEND)) {
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
||||||
|
i2c_master_addressing(I2C0, currentState.deviceAddress, I2C_RECEIVER);
|
||||||
|
currentState.currentStep = Read_device_data_start;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Read_device_data_start:
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)) { // addr sent
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
||||||
|
if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
||||||
|
// Arb error - we lost the bus / nacked
|
||||||
|
currentState.currentStep = Error_occured;
|
||||||
|
}
|
||||||
|
/* one byte master reception procedure (polling) */
|
||||||
|
if (currentState.numberOfBytes == 0) {
|
||||||
|
currentState.currentStep = Send_stop;
|
||||||
|
} else if (currentState.numberOfBytes == 1) {
|
||||||
|
/* disable acknowledge */
|
||||||
|
i2c_ack_config(I2C0, I2C_ACK_DISABLE);
|
||||||
|
/* clear ADDSEND register by reading I2C_STAT0 then I2C_STAT1 register
|
||||||
|
* (I2C_STAT0 has already been read) */
|
||||||
|
i2c_flag_get(I2C0, I2C_FLAG_ADDSEND); // sat0
|
||||||
|
i2c_flag_get(I2C0, I2C_FLAG_I2CBSY); // sat1
|
||||||
|
/* send a stop condition to I2C bus*/
|
||||||
|
i2c_stop_on_bus(I2C0);
|
||||||
|
/* wait for the byte to be received */
|
||||||
|
while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE))
|
||||||
|
;
|
||||||
|
/* read the byte received from the EEPROM */
|
||||||
|
*currentState.buffer = i2c_data_receive(I2C0);
|
||||||
|
currentState.currentStep = Wait_stop;
|
||||||
|
} else { /* more than one byte master reception procedure (DMA) */
|
||||||
|
/* enable I2C0 DMA */
|
||||||
|
i2c_dma_enable(I2C0, I2C_DMA_ON);
|
||||||
|
/* enable DMA0 channel5 */
|
||||||
|
dma_channel_enable(DMA0, DMA_CH6);
|
||||||
|
currentState.currentStep = Read_device_data_finish;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Read_device_data_finish: // Wait for complete then goto stop
|
||||||
|
/* wait until BTC bit is set */
|
||||||
|
if (dma_flag_get(DMA0, DMA_CH6, DMA_FLAG_FTF)) {
|
||||||
|
currentState.currentStep = Send_stop;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case Send_stop:
|
||||||
|
/* send a stop condition to I2C bus*/
|
||||||
|
i2c_stop_on_bus(I2C0);
|
||||||
|
currentState.currentStep = Wait_stop;
|
||||||
|
break;
|
||||||
|
case Wait_stop:
|
||||||
|
/* i2c master sends STOP signal successfully */
|
||||||
|
if ((I2C_CTL0(I2C0) & 0x0200) != 0x0200) {
|
||||||
|
currentState.currentStep = Done;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// If we get here something is amiss
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool perform_i2c_transaction(uint16_t DevAddress, uint16_t memory_address, uint8_t *p_buffer, uint16_t number_of_byte, bool isWrite, bool isWakeOnly) {
|
||||||
|
{
|
||||||
|
// TODO is this required
|
||||||
|
/* disable I2C0 */
|
||||||
|
i2c_disable(I2C0);
|
||||||
|
/* enable I2C0 */
|
||||||
|
i2c_enable(I2C0);
|
||||||
|
}
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_ERR);
|
i2c_interrupt_disable(I2C0, I2C_INT_ERR);
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_BUF);
|
i2c_interrupt_disable(I2C0, I2C_INT_BUF);
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_EV);
|
i2c_interrupt_disable(I2C0, I2C_INT_EV);
|
||||||
dma_parameter_struct dma_init_struct;
|
|
||||||
|
|
||||||
uint8_t state = I2C_START;
|
currentState.isMemoryWrite = isWrite;
|
||||||
uint8_t in_rx_cycle = 0;
|
currentState.wakePart = isWakeOnly;
|
||||||
uint16_t timeout = 0;
|
currentState.deviceAddress = DevAddress;
|
||||||
uint8_t tries = 0;
|
currentState.memoryAddress = memory_address;
|
||||||
uint8_t i2c_timeout_flag = 0;
|
currentState.numberOfBytes = number_of_byte;
|
||||||
while (!(i2c_timeout_flag)) {
|
currentState.buffer = p_buffer;
|
||||||
switch (state) {
|
if (!isWakeOnly) {
|
||||||
case I2C_START:
|
// Setup DMA
|
||||||
tries++;
|
currentState.dma_init_struct.memory_width = DMA_MEMORY_WIDTH_8BIT;
|
||||||
if (tries > 64) {
|
currentState.dma_init_struct.memory_addr = (uint32_t)p_buffer;
|
||||||
i2c_stop_on_bus(I2C0);
|
currentState.dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
|
||||||
/* i2c master sends STOP signal successfully */
|
currentState.dma_init_struct.number = number_of_byte;
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
currentState.dma_init_struct.periph_addr = (uint32_t)&I2C_DATA(I2C0);
|
||||||
timeout++;
|
currentState.dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
|
||||||
}
|
currentState.dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_8BIT;
|
||||||
unlock();
|
currentState.dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
|
||||||
return false;
|
if (currentState.isMemoryWrite) {
|
||||||
}
|
dma_deinit(DMA0, DMA_CH5);
|
||||||
if (0 == in_rx_cycle) {
|
currentState.dma_init_struct.direction = DMA_MEMORY_TO_PERIPHERAL;
|
||||||
/* disable I2C0 */
|
dma_init(DMA0, DMA_CH5, (dma_parameter_struct *)¤tState.dma_init_struct);
|
||||||
i2c_disable(I2C0);
|
} else {
|
||||||
/* enable I2C0 */
|
dma_deinit(DMA0, DMA_CH6);
|
||||||
i2c_enable(I2C0);
|
currentState.dma_init_struct.direction = DMA_PERIPHERAL_TO_MEMORY;
|
||||||
|
dma_init(DMA0, DMA_CH6, (dma_parameter_struct *)¤tState.dma_init_struct);
|
||||||
|
}
|
||||||
|
|
||||||
/* enable acknowledge */
|
if (!currentState.isMemoryWrite) {
|
||||||
i2c_ack_config(I2C0, I2C_ACK_ENABLE);
|
i2c_dma_last_transfer_config(I2C0, I2C_DMALST_ON);
|
||||||
/* i2c master sends start signal only when the bus is idle */
|
|
||||||
while (i2c_flag_get(I2C0, I2C_FLAG_I2CBSY) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
/* send the start signal */
|
|
||||||
i2c_start_on_bus(I2C0);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_SEND_ADDRESS;
|
|
||||||
} else {
|
|
||||||
I2C_Unstick();
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
i2c_start_on_bus(I2C0);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_SEND_ADDRESS;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_SEND_ADDRESS:
|
|
||||||
/* i2c master sends START signal successfully */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_SBSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
if (RESET == in_rx_cycle) {
|
|
||||||
i2c_master_addressing(I2C0, DevAddress, I2C_TRANSMITTER);
|
|
||||||
state = I2C_CLEAR_ADDRESS_FLAG;
|
|
||||||
} else {
|
|
||||||
i2c_master_addressing(I2C0, DevAddress, I2C_RECEIVER);
|
|
||||||
state = I2C_CLEAR_ADDRESS_FLAG;
|
|
||||||
}
|
|
||||||
timeout = 0;
|
|
||||||
} else {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 0;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_CLEAR_ADDRESS_FLAG:
|
|
||||||
/* address flag set means i2c slave sends ACK */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_AERR);
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
// Address NACK'd
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_TRANSMIT_DATA;
|
|
||||||
} else {
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
// Address NACK'd
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_TRANSMIT_DATA:
|
|
||||||
if (0 == in_rx_cycle) {
|
|
||||||
/* wait until the transmit data buffer is empty */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_TBE)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
// Write out the 8 byte address
|
|
||||||
i2c_data_transmit(I2C0, read_address);
|
|
||||||
timeout = 0;
|
|
||||||
} else {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 0;
|
|
||||||
}
|
|
||||||
/* wait until BTC bit is set */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_BTC)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 1;
|
|
||||||
} else {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 0;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
/* one byte master reception procedure (polling) */
|
|
||||||
if (number_of_byte < 2) {
|
|
||||||
/* disable acknowledge */
|
|
||||||
i2c_ack_config(I2C0, I2C_ACK_DISABLE);
|
|
||||||
/* clear ADDSEND register by reading I2C_STAT0 then I2C_STAT1 register
|
|
||||||
* (I2C_STAT0 has already been read) */
|
|
||||||
i2c_flag_get(I2C0, I2C_FLAG_ADDSEND);
|
|
||||||
/* send a stop condition to I2C bus*/
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* wait for the byte to be received */
|
|
||||||
while (!i2c_flag_get(I2C0, I2C_FLAG_RBNE))
|
|
||||||
;
|
|
||||||
/* read the byte received from the EEPROM */
|
|
||||||
*p_buffer = i2c_data_receive(I2C0);
|
|
||||||
/* decrement the read bytes counter */
|
|
||||||
number_of_byte--;
|
|
||||||
timeout = 0;
|
|
||||||
} else { /* more than one byte master reception procedure (DMA) */
|
|
||||||
dma_deinit(DMA0, DMA_CH6);
|
|
||||||
dma_init_struct.direction = DMA_PERIPHERAL_TO_MEMORY;
|
|
||||||
dma_init_struct.memory_addr = (uint32_t)p_buffer;
|
|
||||||
dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
|
|
||||||
dma_init_struct.memory_width = DMA_MEMORY_WIDTH_8BIT;
|
|
||||||
dma_init_struct.number = number_of_byte;
|
|
||||||
dma_init_struct.periph_addr = (uint32_t)&I2C_DATA(I2C0);
|
|
||||||
dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
|
|
||||||
dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_8BIT;
|
|
||||||
dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
|
|
||||||
dma_init(DMA0, DMA_CH6, &dma_init_struct);
|
|
||||||
|
|
||||||
i2c_dma_last_transfer_config(I2C0, I2C_DMALST_ON);
|
|
||||||
/* enable I2C0 DMA */
|
|
||||||
i2c_dma_enable(I2C0, I2C_DMA_ON);
|
|
||||||
/* enable DMA0 channel5 */
|
|
||||||
dma_channel_enable(DMA0, DMA_CH6);
|
|
||||||
/* wait until BTC bit is set */
|
|
||||||
while (!dma_flag_get(DMA0, DMA_CH6, DMA_FLAG_FTF)) {}
|
|
||||||
/* send a stop condition to I2C bus*/
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
}
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_STOP;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_STOP:
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_END;
|
|
||||||
i2c_timeout_flag = I2C_OK;
|
|
||||||
} else {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 0;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
state = I2C_START;
|
|
||||||
in_rx_cycle = 0;
|
|
||||||
i2c_timeout_flag = I2C_OK;
|
|
||||||
timeout = 0;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Clear flags
|
||||||
|
I2C_STAT0(I2C0) = 0;
|
||||||
|
I2C_STAT1(I2C0) = 0;
|
||||||
|
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
||||||
|
|
||||||
|
currentState.currentStep = Write_start; // Always start in write mode
|
||||||
|
TickType_t timeout = xTaskGetTickCount() + TICKS_SECOND;
|
||||||
|
while ((currentState.currentStep != Done) && (currentState.currentStep != Error_occured)) {
|
||||||
|
if (xTaskGetTickCount() > timeout) {
|
||||||
|
i2c_stop_on_bus(I2C0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
perform_i2c_step();
|
||||||
|
}
|
||||||
|
return currentState.currentStep == Done;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FRToSI2C::Mem_Read(uint16_t DevAddress, uint16_t read_address, uint8_t *p_buffer, uint16_t number_of_byte) {
|
||||||
|
if (!lock())
|
||||||
|
return false;
|
||||||
|
bool res = perform_i2c_transaction(DevAddress, read_address, p_buffer, number_of_byte, false, false);
|
||||||
|
if (!res) {
|
||||||
|
I2C_Unstick();
|
||||||
|
}
|
||||||
unlock();
|
unlock();
|
||||||
return true;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress, uint8_t *p_buffer, uint16_t number_of_byte) {
|
bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress, uint8_t *p_buffer, uint16_t number_of_byte) {
|
||||||
if (!lock())
|
if (!lock())
|
||||||
return false;
|
return false;
|
||||||
|
bool res = perform_i2c_transaction(DevAddress, MemAddress, p_buffer, number_of_byte, true, false);
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_ERR);
|
if (!res) {
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_EV);
|
I2C_Unstick();
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_BUF);
|
|
||||||
dma_parameter_struct dma_init_struct;
|
|
||||||
|
|
||||||
uint8_t state = I2C_START;
|
|
||||||
uint16_t timeout = 0;
|
|
||||||
bool done = false;
|
|
||||||
bool timedout = false;
|
|
||||||
while (!(done || timedout)) {
|
|
||||||
switch (state) {
|
|
||||||
case I2C_START:
|
|
||||||
/* i2c master sends start signal only when the bus is idle */
|
|
||||||
while (i2c_flag_get(I2C0, I2C_FLAG_I2CBSY) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_start_on_bus(I2C0);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_SEND_ADDRESS;
|
|
||||||
} else {
|
|
||||||
I2C_Unstick();
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_SEND_ADDRESS:
|
|
||||||
/* i2c master sends START signal successfully */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_SBSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_master_addressing(I2C0, DevAddress, I2C_TRANSMITTER);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_CLEAR_ADDRESS_FLAG;
|
|
||||||
} else {
|
|
||||||
timedout = true;
|
|
||||||
done = true;
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_CLEAR_ADDRESS_FLAG:
|
|
||||||
/* address flag set means i2c slave sends ACK */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_AERR);
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
// Address NACK'd
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
timeout = 0;
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
|
||||||
state = I2C_TRANSMIT_DATA;
|
|
||||||
} else {
|
|
||||||
// Dont retry as this means a NAK
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_TRANSMIT_DATA:
|
|
||||||
/* wait until the transmit data buffer is empty */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_TBE)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
/* send the EEPROM's internal address to write to : only one byte
|
|
||||||
* address */
|
|
||||||
i2c_data_transmit(I2C0, MemAddress);
|
|
||||||
timeout = 0;
|
|
||||||
} else {
|
|
||||||
timedout = true;
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
/* wait until BTC bit is set */
|
|
||||||
while (!i2c_flag_get(I2C0, I2C_FLAG_BTC))
|
|
||||||
;
|
|
||||||
dma_deinit(DMA0, DMA_CH5);
|
|
||||||
dma_init_struct.direction = DMA_MEMORY_TO_PERIPHERAL;
|
|
||||||
dma_init_struct.memory_addr = (uint32_t)p_buffer;
|
|
||||||
dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
|
|
||||||
dma_init_struct.memory_width = DMA_MEMORY_WIDTH_8BIT;
|
|
||||||
dma_init_struct.number = number_of_byte;
|
|
||||||
dma_init_struct.periph_addr = (uint32_t)&I2C_DATA(I2C0);
|
|
||||||
dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
|
|
||||||
dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_8BIT;
|
|
||||||
dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
|
|
||||||
dma_init(DMA0, DMA_CH5, &dma_init_struct);
|
|
||||||
/* enable I2C0 DMA */
|
|
||||||
i2c_dma_enable(I2C0, I2C_DMA_ON);
|
|
||||||
/* enable DMA0 channel5 */
|
|
||||||
dma_channel_enable(DMA0, DMA_CH5);
|
|
||||||
/* wait until BTC bit is set */
|
|
||||||
while (!dma_flag_get(DMA0, DMA_CH5, DMA_FLAG_FTF)) {}
|
|
||||||
/* wait until BTC bit is set */
|
|
||||||
while (!i2c_flag_get(I2C0, I2C_FLAG_BTC)) {}
|
|
||||||
state = I2C_STOP;
|
|
||||||
break;
|
|
||||||
case I2C_STOP:
|
|
||||||
/* send a stop condition to I2C bus */
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_END;
|
|
||||||
done = true;
|
|
||||||
} else {
|
|
||||||
timedout = true;
|
|
||||||
done = true;
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
state = I2C_START;
|
|
||||||
timeout = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
unlock();
|
unlock();
|
||||||
return timedout == false;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) { return Mem_Write(DevAddress, pData[0], pData + 1, Size - 1); }
|
bool FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) { return Mem_Write(DevAddress, pData[0], pData + 1, Size - 1); }
|
||||||
@@ -406,104 +334,15 @@ bool FRToSI2C::wakePart(uint16_t DevAddress) {
|
|||||||
// wakepart is a special case where only the device address is sent
|
// wakepart is a special case where only the device address is sent
|
||||||
if (!lock())
|
if (!lock())
|
||||||
return false;
|
return false;
|
||||||
|
bool res = perform_i2c_transaction(DevAddress, 0, NULL, 0, false, true);
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_ERR);
|
if (!res) {
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_EV);
|
I2C_Unstick();
|
||||||
i2c_interrupt_disable(I2C0, I2C_INT_BUF);
|
|
||||||
|
|
||||||
uint8_t state = I2C_START;
|
|
||||||
uint16_t timeout = 0;
|
|
||||||
bool done = false;
|
|
||||||
bool timedout = false;
|
|
||||||
while (!(done || timedout)) {
|
|
||||||
switch (state) {
|
|
||||||
case I2C_START:
|
|
||||||
/* i2c master sends start signal only when the bus is idle */
|
|
||||||
while (i2c_flag_get(I2C0, I2C_FLAG_I2CBSY) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_start_on_bus(I2C0);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_SEND_ADDRESS;
|
|
||||||
} else {
|
|
||||||
I2C_Unstick();
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_SEND_ADDRESS:
|
|
||||||
/* i2c master sends START signal successfully */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_SBSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_master_addressing(I2C0, DevAddress, I2C_TRANSMITTER);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_CLEAR_ADDRESS_FLAG;
|
|
||||||
} else {
|
|
||||||
timedout = true;
|
|
||||||
done = true;
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case I2C_CLEAR_ADDRESS_FLAG:
|
|
||||||
/* address flag set means i2c slave sends ACK */
|
|
||||||
while ((!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND)) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
if (i2c_flag_get(I2C0, I2C_FLAG_AERR)) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_AERR);
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
// Address NACK'd
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
i2c_flag_clear(I2C0, I2C_FLAG_ADDSEND);
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_STOP;
|
|
||||||
} else {
|
|
||||||
// Dont retry as this means a NAK
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
unlock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case I2C_STOP:
|
|
||||||
/* send a stop condition to I2C bus */
|
|
||||||
i2c_stop_on_bus(I2C0);
|
|
||||||
/* i2c master sends STOP signal successfully */
|
|
||||||
while ((I2C_CTL0(I2C0) & 0x0200) && (timeout < I2C_TIME_OUT)) {
|
|
||||||
timeout++;
|
|
||||||
}
|
|
||||||
if (timeout < I2C_TIME_OUT) {
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_END;
|
|
||||||
done = true;
|
|
||||||
} else {
|
|
||||||
timedout = true;
|
|
||||||
done = true;
|
|
||||||
timeout = 0;
|
|
||||||
state = I2C_START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
state = I2C_START;
|
|
||||||
timeout = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
unlock();
|
unlock();
|
||||||
return timedout == false;
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
void I2C_EV_IRQ() {}
|
||||||
|
void I2C_ER_IRQ() {
|
||||||
|
// Error callbacks
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -411,10 +411,9 @@ PolicyEngine::policy_engine_state PolicyEngine::pe_sink_ready() {
|
|||||||
|
|
||||||
return PESinkSendSoftReset;
|
return PESinkSendSoftReset;
|
||||||
}
|
}
|
||||||
/* If we got an unknown message, send a soft reset ??? */
|
|
||||||
} else {
|
} else {
|
||||||
|
/* if we get an unknown message code, silently ignore it*/
|
||||||
return PESinkSendSoftReset;
|
return PESinkReady;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,6 +150,42 @@ const uint8_t disconnectedTipIcon[] = {
|
|||||||
* */
|
* */
|
||||||
const uint8_t SettingsMenuIcons[] = {
|
const uint8_t SettingsMenuIcons[] = {
|
||||||
|
|
||||||
|
// Power
|
||||||
|
// width = 16
|
||||||
|
// height = 16
|
||||||
|
0xC0,
|
||||||
|
0xB0,
|
||||||
|
0x8C,
|
||||||
|
0x83,
|
||||||
|
0x01,
|
||||||
|
0x01,
|
||||||
|
0x21,
|
||||||
|
0x31,
|
||||||
|
0xA9,
|
||||||
|
0x65,
|
||||||
|
0x03,
|
||||||
|
0x42,
|
||||||
|
0x62,
|
||||||
|
0x52,
|
||||||
|
0xCA,
|
||||||
|
0x06,
|
||||||
|
0x60,
|
||||||
|
0x58,
|
||||||
|
0x26,
|
||||||
|
0x11,
|
||||||
|
0x08,
|
||||||
|
0xC4,
|
||||||
|
0xB2,
|
||||||
|
0x4D,
|
||||||
|
0x23,
|
||||||
|
0x10,
|
||||||
|
0x08,
|
||||||
|
0x04,
|
||||||
|
0x02,
|
||||||
|
0x01,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
|
||||||
// Soldering
|
// Soldering
|
||||||
// width = 16
|
// width = 16
|
||||||
// height = 16
|
// height = 16
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public:
|
|||||||
static uint32_t convertTipRawADCToDegC(uint16_t rawADC);
|
static uint32_t convertTipRawADCToDegC(uint16_t rawADC);
|
||||||
static uint32_t convertTipRawADCToDegF(uint16_t rawADC);
|
static uint32_t convertTipRawADCToDegF(uint16_t rawADC);
|
||||||
// Returns the uV of the tip reading before the op-amp compensating for pullups
|
// Returns the uV of the tip reading before the op-amp compensating for pullups
|
||||||
static uint32_t convertTipRawADCTouV(uint16_t rawADC,bool skipCalOffset=false);
|
static uint32_t convertTipRawADCTouV(uint16_t rawADC, bool skipCalOffset = false);
|
||||||
static uint32_t convertCtoF(uint32_t degC);
|
static uint32_t convertCtoF(uint32_t degC);
|
||||||
static uint32_t convertFtoC(uint32_t degF);
|
static uint32_t convertFtoC(uint32_t degF);
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#ifndef SETTINGS_H_
|
#ifndef SETTINGS_H_
|
||||||
#define SETTINGS_H_
|
#define SETTINGS_H_
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#define SETTINGSVERSION (0x25)
|
#define SETTINGSVERSION (0x26)
|
||||||
/*Change this if you change the struct below to prevent people getting \
|
/*Change this if you change the struct below to prevent people getting \
|
||||||
out of sync*/
|
out of sync*/
|
||||||
|
|
||||||
@@ -25,6 +25,7 @@ typedef struct {
|
|||||||
uint16_t SleepTemp; // temp to drop to in sleep
|
uint16_t SleepTemp; // temp to drop to in sleep
|
||||||
uint8_t SleepTime; // minutes timeout to sleep
|
uint8_t SleepTime; // minutes timeout to sleep
|
||||||
uint8_t minDCVoltageCells; // The voltage we cut out at for under voltage when powered by DC jack
|
uint8_t minDCVoltageCells; // The voltage we cut out at for under voltage when powered by DC jack
|
||||||
|
uint8_t minVoltageCells; // Minimum allowed voltage per cell <3S - 3.0V (30)> <4S - 2.4V (24)> <...> (Minimum recommended 2.7V)
|
||||||
uint8_t QCIdealVoltage; // Desired QC3.0 voltage (9,12,20V)
|
uint8_t QCIdealVoltage; // Desired QC3.0 voltage (9,12,20V)
|
||||||
uint8_t OrientationMode : 2; // Selects between Auto,Right and left handed layouts
|
uint8_t OrientationMode : 2; // Selects between Auto,Right and left handed layouts
|
||||||
uint8_t sensitivity : 4; // Sensitivity of accelerometer (5 bits)
|
uint8_t sensitivity : 4; // Sensitivity of accelerometer (5 bits)
|
||||||
@@ -32,11 +33,11 @@ typedef struct {
|
|||||||
// into soldering mode when power is applied
|
// into soldering mode when power is applied
|
||||||
uint8_t ShutdownTime; // Time until unit shuts down if left alone
|
uint8_t ShutdownTime; // Time until unit shuts down if left alone
|
||||||
|
|
||||||
uint8_t coolingTempBlink : 1; // Should the temperature blink on the cool
|
uint8_t coolingTempBlink : 1; // Should the temperature blink on the cool
|
||||||
// down screen until its <50C
|
// down screen until its <50C
|
||||||
uint8_t detailedIDLE : 1; // Detailed idle screen
|
uint8_t detailedIDLE : 1; // Detailed idle screen
|
||||||
uint8_t detailedSoldering : 1; // Detailed soldering screens
|
uint8_t detailedSoldering : 1; // Detailed soldering screens
|
||||||
uint8_t temperatureInF : 1; // Should the temp be in F or C (true is F)
|
uint8_t temperatureInF : 1; // Should the temp be in F or C (true is F)
|
||||||
uint8_t descriptionScrollSpeed : 1; // Description scroll speed
|
uint8_t descriptionScrollSpeed : 1; // Description scroll speed
|
||||||
uint8_t lockingMode : 2; // Store the locking mode
|
uint8_t lockingMode : 2; // Store the locking mode
|
||||||
uint8_t KeepAwakePulse; // Keep Awake pulse power in 0.1 watts (10 = 1Watt)
|
uint8_t KeepAwakePulse; // Keep Awake pulse power in 0.1 watts (10 = 1Watt)
|
||||||
|
|||||||
@@ -10,11 +10,11 @@
|
|||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
extern const uint8_t USER_FONT_12[];
|
extern const uint8_t USER_FONT_12[];
|
||||||
extern const uint8_t USER_FONT_6x8[];
|
extern const uint8_t USER_FONT_6x8[];
|
||||||
extern const bool HasFahrenheit;
|
extern const bool HasFahrenheit;
|
||||||
|
|
||||||
extern const char *SettingsShortNames[29][2];
|
extern const char *SettingsShortNames[29][2];
|
||||||
extern const char *SettingsDescriptions[29];
|
extern const char *SettingsDescriptions[29];
|
||||||
extern const char *SettingsMenuEntries[4];
|
extern const char *SettingsMenuEntries[5];
|
||||||
|
|
||||||
extern const char *SettingsCalibrationDone;
|
extern const char *SettingsCalibrationDone;
|
||||||
extern const char *SettingsCalibrationWarning;
|
extern const char *SettingsCalibrationWarning;
|
||||||
@@ -60,6 +60,7 @@ extern const char *SettingSensitivityHigh;
|
|||||||
extern const char *SettingLockDisableChar;
|
extern const char *SettingLockDisableChar;
|
||||||
extern const char *SettingLockBoostChar;
|
extern const char *SettingLockBoostChar;
|
||||||
extern const char *SettingLockFullChar;
|
extern const char *SettingLockFullChar;
|
||||||
|
extern const char *SettingNAChar;
|
||||||
|
|
||||||
extern const char *SettingFastChar;
|
extern const char *SettingFastChar;
|
||||||
extern const char *SettingSlowChar;
|
extern const char *SettingSlowChar;
|
||||||
|
|||||||
@@ -46,28 +46,29 @@ uint8_t lookupVoltageLevel() {
|
|||||||
if (systemSettings.minDCVoltageCells == 0)
|
if (systemSettings.minDCVoltageCells == 0)
|
||||||
return 90; // 9V since iron does not function effectively below this
|
return 90; // 9V since iron does not function effectively below this
|
||||||
else
|
else
|
||||||
return (systemSettings.minDCVoltageCells * 33) + (33 * 2);
|
return (systemSettings.minDCVoltageCells * systemSettings.minVoltageCells) + (systemSettings.minVoltageCells * 2);
|
||||||
}
|
}
|
||||||
void resetSettings() {
|
void resetSettings() {
|
||||||
memset((void *)&systemSettings, 0, sizeof(systemSettingsType));
|
memset((void *)&systemSettings, 0, sizeof(systemSettingsType));
|
||||||
systemSettings.SleepTemp = SLEEP_TEMP; // Temperature the iron sleeps at - default 150.0 C
|
systemSettings.SleepTemp = SLEEP_TEMP; // Temperature the iron sleeps at - default 150.0 C
|
||||||
systemSettings.SleepTime = SLEEP_TIME; // How many seconds/minutes we wait until going
|
systemSettings.SleepTime = SLEEP_TIME; // How many seconds/minutes we wait until going
|
||||||
// to sleep - default 1 min
|
// to sleep - default 1 min
|
||||||
systemSettings.SolderingTemp = SOLDERING_TEMP; // Default soldering temp is 320.0 C
|
systemSettings.SolderingTemp = SOLDERING_TEMP; // Default soldering temp is 320.0 C
|
||||||
systemSettings.minDCVoltageCells = CUT_OUT_SETTING; // default to no cut-off voltage
|
systemSettings.minDCVoltageCells = CUT_OUT_SETTING; // default to no cut-off voltage
|
||||||
systemSettings.QCIdealVoltage = 0; // Default to 9V for QC3.0 Voltage
|
systemSettings.minVoltageCells = RECOM_VOL_CELL; // Minimum voltage per cell (Recommended 3.3V (33))
|
||||||
systemSettings.version = SETTINGSVERSION; // Store the version number to allow for easier upgrades
|
systemSettings.QCIdealVoltage = 0; // Default to 9V for QC3.0 Voltage
|
||||||
systemSettings.detailedSoldering = DETAILED_SOLDERING; // Detailed soldering screen
|
systemSettings.version = SETTINGSVERSION; // Store the version number to allow for easier upgrades
|
||||||
systemSettings.detailedIDLE = DETAILED_IDLE; // Detailed idle screen (off for first time users)
|
systemSettings.detailedSoldering = DETAILED_SOLDERING; // Detailed soldering screen
|
||||||
systemSettings.OrientationMode = ORIENTATION_MODE; // Default to automatic
|
systemSettings.detailedIDLE = DETAILED_IDLE; // Detailed idle screen (off for first time users)
|
||||||
systemSettings.sensitivity = SENSITIVITY; // Default high sensitivity
|
systemSettings.OrientationMode = ORIENTATION_MODE; // Default to automatic
|
||||||
systemSettings.voltageDiv = VOLTAGE_DIV; // Default divider from schematic
|
systemSettings.sensitivity = SENSITIVITY; // Default high sensitivity
|
||||||
systemSettings.ShutdownTime = SHUTDOWN_TIME; // How many minutes until the unit turns itself off
|
systemSettings.voltageDiv = VOLTAGE_DIV; // Default divider from schematic
|
||||||
systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
|
systemSettings.ShutdownTime = SHUTDOWN_TIME; // How many minutes until the unit turns itself off
|
||||||
systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety
|
systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
|
||||||
systemSettings.lockingMode = LOCKING_MODE; // Disable locking for safety
|
systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety
|
||||||
systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C
|
systemSettings.lockingMode = LOCKING_MODE; // Disable locking for safety
|
||||||
systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0
|
systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C
|
||||||
|
systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0
|
||||||
systemSettings.descriptionScrollSpeed = DESCRIPTION_SCROLL_SPEED; // default to slow
|
systemSettings.descriptionScrollSpeed = DESCRIPTION_SCROLL_SPEED; // default to slow
|
||||||
systemSettings.CalibrationOffset = CALIBRATION_OFFSET; // the adc offset in uV
|
systemSettings.CalibrationOffset = CALIBRATION_OFFSET; // the adc offset in uV
|
||||||
systemSettings.powerLimit = POWER_LIMIT; // 30 watts default limit
|
systemSettings.powerLimit = POWER_LIMIT; // 30 watts default limit
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ void gui_Menu(const menuitem *menu);
|
|||||||
#ifdef POW_DC
|
#ifdef POW_DC
|
||||||
static bool settings_setInputVRange(void);
|
static bool settings_setInputVRange(void);
|
||||||
static void settings_displayInputVRange(void);
|
static void settings_displayInputVRange(void);
|
||||||
|
static bool settings_setInputMinVRange(void);
|
||||||
|
static void settings_displayInputMinVRange(void);
|
||||||
#endif
|
#endif
|
||||||
#ifdef POW_QC
|
#ifdef POW_QC
|
||||||
static bool settings_setQCInputV(void);
|
static bool settings_setQCInputV(void);
|
||||||
@@ -73,10 +75,12 @@ static void settings_displayHallEffect(void);
|
|||||||
static bool settings_setHallEffect(void);
|
static bool settings_setHallEffect(void);
|
||||||
#endif
|
#endif
|
||||||
// Menu functions
|
// Menu functions
|
||||||
static void settings_displaySolderingMenu(void);
|
|
||||||
static bool settings_enterSolderingMenu(void);
|
|
||||||
static void settings_displayPowerMenu(void);
|
static void settings_displayPowerMenu(void);
|
||||||
static bool settings_enterPowerMenu(void);
|
static bool settings_enterPowerMenu(void);
|
||||||
|
static void settings_displaySolderingMenu(void);
|
||||||
|
static bool settings_enterSolderingMenu(void);
|
||||||
|
static void settings_displayPowerSavingMenu(void);
|
||||||
|
static bool settings_enterPowerSavingMenu(void);
|
||||||
static void settings_displayUIMenu(void);
|
static void settings_displayUIMenu(void);
|
||||||
static bool settings_enterUIMenu(void);
|
static bool settings_enterUIMenu(void);
|
||||||
static void settings_displayAdvancedMenu(void);
|
static void settings_displayAdvancedMenu(void);
|
||||||
@@ -84,7 +88,9 @@ static bool settings_enterAdvancedMenu(void);
|
|||||||
/*
|
/*
|
||||||
* Root Settings Menu
|
* Root Settings Menu
|
||||||
*
|
*
|
||||||
* Power Source
|
* Power Menu
|
||||||
|
* Power Source
|
||||||
|
*
|
||||||
* Soldering
|
* Soldering
|
||||||
* Boost Mode Enabled
|
* Boost Mode Enabled
|
||||||
* Boost Mode Temp
|
* Boost Mode Temp
|
||||||
@@ -121,26 +127,34 @@ static bool settings_enterAdvancedMenu(void);
|
|||||||
*/
|
*/
|
||||||
const menuitem rootSettingsMenu[]{
|
const menuitem rootSettingsMenu[]{
|
||||||
/*
|
/*
|
||||||
* Power Source
|
* Power Menu
|
||||||
* Soldering Menu
|
* Soldering Menu
|
||||||
* Power Saving Menu
|
* Power Saving Menu
|
||||||
* UI Menu
|
* UI Menu
|
||||||
* Advanced Menu
|
* Advanced Menu
|
||||||
* Exit
|
* Exit
|
||||||
*/
|
*/
|
||||||
#ifdef POW_DC
|
{(const char *)NULL, settings_enterPowerMenu, settings_displayPowerMenu}, /*Power*/
|
||||||
{(const char *)SettingsDescriptions[0], settings_setInputVRange, settings_displayInputVRange}, /*Voltage input*/
|
|
||||||
#endif
|
|
||||||
#ifdef POW_QC
|
|
||||||
{(const char *)SettingsDescriptions[19], settings_setQCInputV, settings_displayQCInputV}, /*Voltage input*/
|
|
||||||
#endif
|
|
||||||
{(const char *)NULL, settings_enterSolderingMenu, settings_displaySolderingMenu}, /*Soldering*/
|
{(const char *)NULL, settings_enterSolderingMenu, settings_displaySolderingMenu}, /*Soldering*/
|
||||||
{(const char *)NULL, settings_enterPowerMenu, settings_displayPowerMenu}, /*Sleep Options Menu*/
|
{(const char *)NULL, settings_enterPowerSavingMenu, settings_displayPowerSavingMenu}, /*Sleep Options Menu*/
|
||||||
{(const char *)NULL, settings_enterUIMenu, settings_displayUIMenu}, /*UI Menu*/
|
{(const char *)NULL, settings_enterUIMenu, settings_displayUIMenu}, /*UI Menu*/
|
||||||
{(const char *)NULL, settings_enterAdvancedMenu, settings_displayAdvancedMenu}, /*Advanced Menu*/
|
{(const char *)NULL, settings_enterAdvancedMenu, settings_displayAdvancedMenu}, /*Advanced Menu*/
|
||||||
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const menuitem powerMenu[] = {
|
||||||
|
/*
|
||||||
|
* Power Source
|
||||||
|
*/
|
||||||
|
#ifdef POW_DC
|
||||||
|
{(const char *)SettingsDescriptions[0], settings_setInputVRange, settings_displayInputVRange}, /*Voltage input*/
|
||||||
|
{(const char *)SettingsDescriptions[28], settings_setInputMinVRange, settings_displayInputMinVRange}, /*Minimum voltage input*/
|
||||||
|
#endif
|
||||||
|
#ifdef POW_QC
|
||||||
|
{(const char *)SettingsDescriptions[19], settings_setQCInputV, settings_displayQCInputV}, /*Voltage input*/
|
||||||
|
#endif
|
||||||
|
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
||||||
|
};
|
||||||
const menuitem solderingMenu[] = {
|
const menuitem solderingMenu[] = {
|
||||||
/*
|
/*
|
||||||
* Boost Mode Enabled
|
* Boost Mode Enabled
|
||||||
@@ -157,22 +171,23 @@ const menuitem solderingMenu[] = {
|
|||||||
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
||||||
};
|
};
|
||||||
const menuitem UIMenu[] = {
|
const menuitem UIMenu[] = {
|
||||||
/*
|
/*
|
||||||
// Language
|
// Language
|
||||||
* Scrolling Speed
|
* Scrolling Speed
|
||||||
* Temperature Unit
|
* Temperature Unit
|
||||||
* Display orientation
|
* Display orientation
|
||||||
* Cooldown blink
|
* Cooldown blink
|
||||||
* Reverse Temp change buttons + -
|
* Reverse Temp change buttons + -
|
||||||
*/
|
*/
|
||||||
{(const char *)SettingsDescriptions[5], settings_setTempF, settings_displayTempF}, /* Temperature units, this has to be the first element in the array to work with the logic in settings_enterUIMenu() */
|
{(const char *)SettingsDescriptions[5], settings_setTempF,
|
||||||
|
settings_displayTempF}, /* Temperature units, this has to be the first element in the array to work with the logic in settings_enterUIMenu() */
|
||||||
{(const char *)SettingsDescriptions[7], settings_setDisplayRotation, settings_displayDisplayRotation}, /*Display Rotation*/
|
{(const char *)SettingsDescriptions[7], settings_setDisplayRotation, settings_displayDisplayRotation}, /*Display Rotation*/
|
||||||
{(const char *)SettingsDescriptions[10], settings_setCoolingBlinkEnabled, settings_displayCoolingBlinkEnabled}, /*Cooling blink warning*/
|
{(const char *)SettingsDescriptions[10], settings_setCoolingBlinkEnabled, settings_displayCoolingBlinkEnabled}, /*Cooling blink warning*/
|
||||||
{(const char *)SettingsDescriptions[15], settings_setScrollSpeed, settings_displayScrollSpeed}, /*Scroll Speed for descriptions*/
|
{(const char *)SettingsDescriptions[15], settings_setScrollSpeed, settings_displayScrollSpeed}, /*Scroll Speed for descriptions*/
|
||||||
{(const char *)SettingsDescriptions[21], settings_setReverseButtonTempChangeEnabled, settings_displayReverseButtonTempChangeEnabled}, /* Reverse Temp change buttons + - */
|
{(const char *)SettingsDescriptions[21], settings_setReverseButtonTempChangeEnabled, settings_displayReverseButtonTempChangeEnabled}, /* Reverse Temp change buttons + - */
|
||||||
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
|
||||||
};
|
};
|
||||||
const menuitem PowerMenu[] = {
|
const menuitem PowerSavingMenu[] = {
|
||||||
/*
|
/*
|
||||||
* Sleep Temp
|
* Sleep Temp
|
||||||
* Sleep Time
|
* Sleep Time
|
||||||
@@ -293,6 +308,8 @@ static int userConfirmation(const char *message) {
|
|||||||
#ifdef POW_DC
|
#ifdef POW_DC
|
||||||
static bool settings_setInputVRange(void) {
|
static bool settings_setInputVRange(void) {
|
||||||
systemSettings.minDCVoltageCells = (systemSettings.minDCVoltageCells + 1) % 5;
|
systemSettings.minDCVoltageCells = (systemSettings.minDCVoltageCells + 1) % 5;
|
||||||
|
if (systemSettings.minDCVoltageCells == 1 && systemSettings.minVoltageCells < 30)
|
||||||
|
systemSettings.minVoltageCells = 30;
|
||||||
return systemSettings.minDCVoltageCells == 4;
|
return systemSettings.minDCVoltageCells == 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,6 +323,27 @@ static void settings_displayInputVRange(void) {
|
|||||||
OLED::print(SymbolDC);
|
OLED::print(SymbolDC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool settings_setInputMinVRange(void) {
|
||||||
|
systemSettings.minVoltageCells = (systemSettings.minVoltageCells + 1) % 38;
|
||||||
|
if (systemSettings.minDCVoltageCells == 1 && systemSettings.minVoltageCells < 30)
|
||||||
|
systemSettings.minVoltageCells = 30;
|
||||||
|
else if(systemSettings.minVoltageCells < 24)
|
||||||
|
systemSettings.minVoltageCells = 24;
|
||||||
|
return systemSettings.minVoltageCells == 37;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void settings_displayInputMinVRange(void) {
|
||||||
|
if (systemSettings.minDCVoltageCells) {
|
||||||
|
printShortDescription(28, 4);
|
||||||
|
OLED::printNumber(systemSettings.minVoltageCells / 10, 2);
|
||||||
|
OLED::print(SymbolDot);
|
||||||
|
OLED::printNumber(systemSettings.minVoltageCells % 10, 1);
|
||||||
|
} else {
|
||||||
|
printShortDescription(28, 5);
|
||||||
|
OLED::print(SettingNAChar);
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef POW_QC
|
#ifdef POW_QC
|
||||||
static bool settings_setQCInputV(void) {
|
static bool settings_setQCInputV(void) {
|
||||||
@@ -822,9 +860,15 @@ static void settings_displayTempChangeShortStep(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool settings_setTempChangeLongStep(void) {
|
static bool settings_setTempChangeLongStep(void) {
|
||||||
systemSettings.TempChangeLongStep += TEMP_CHANGE_LONG_STEP;
|
if (systemSettings.TempChangeLongStep == TEMP_CHANGE_SHORT_STEP) {
|
||||||
|
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP / 2;
|
||||||
|
} else if (systemSettings.TempChangeLongStep == TEMP_CHANGE_LONG_STEP / 2) {
|
||||||
|
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP;
|
||||||
|
} else {
|
||||||
|
systemSettings.TempChangeLongStep += TEMP_CHANGE_LONG_STEP;
|
||||||
|
}
|
||||||
if (systemSettings.TempChangeLongStep > TEMP_CHANGE_LONG_STEP_MAX) {
|
if (systemSettings.TempChangeLongStep > TEMP_CHANGE_LONG_STEP_MAX) {
|
||||||
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; // loop back at TEMP_CHANGE_LONG_STEP_MAX
|
systemSettings.TempChangeLongStep = TEMP_CHANGE_SHORT_STEP; // loop back at TEMP_CHANGE_LONG_STEP_MAX
|
||||||
}
|
}
|
||||||
return systemSettings.TempChangeLongStep == TEMP_CHANGE_LONG_STEP_MAX;
|
return systemSettings.TempChangeLongStep == TEMP_CHANGE_LONG_STEP_MAX;
|
||||||
}
|
}
|
||||||
@@ -897,22 +941,27 @@ static void displayMenu(size_t index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void settings_displayCalibrateVIN(void) { printShortDescription(13, 5); }
|
static void settings_displayCalibrateVIN(void) { printShortDescription(13, 5); }
|
||||||
static void settings_displaySolderingMenu(void) { displayMenu(0); }
|
static void settings_displayPowerMenu(void) { displayMenu(0); }
|
||||||
|
static bool settings_enterPowerMenu(void) {
|
||||||
|
gui_Menu(powerMenu);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
static void settings_displaySolderingMenu(void) { displayMenu(1); }
|
||||||
static bool settings_enterSolderingMenu(void) {
|
static bool settings_enterSolderingMenu(void) {
|
||||||
gui_Menu(solderingMenu);
|
gui_Menu(solderingMenu);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
static void settings_displayPowerMenu(void) { displayMenu(1); }
|
static void settings_displayPowerSavingMenu(void) { displayMenu(2); }
|
||||||
static bool settings_enterPowerMenu(void) {
|
static bool settings_enterPowerSavingMenu(void) {
|
||||||
gui_Menu(PowerMenu);
|
gui_Menu(PowerSavingMenu);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
static void settings_displayUIMenu(void) { displayMenu(2); }
|
static void settings_displayUIMenu(void) { displayMenu(3); }
|
||||||
static bool settings_enterUIMenu(void) {
|
static bool settings_enterUIMenu(void) {
|
||||||
gui_Menu(HasFahrenheit ? UIMenu : UIMenu + 1);
|
gui_Menu(HasFahrenheit ? UIMenu : UIMenu + 1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
static void settings_displayAdvancedMenu(void) { displayMenu(3); }
|
static void settings_displayAdvancedMenu(void) { displayMenu(4); }
|
||||||
static bool settings_enterAdvancedMenu(void) {
|
static bool settings_enterAdvancedMenu(void) {
|
||||||
gui_Menu(advancedMenu);
|
gui_Menu(advancedMenu);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -70,8 +70,7 @@ void gui_drawTipTemp(bool symbol) {
|
|||||||
uint32_t Temp = 0;
|
uint32_t Temp = 0;
|
||||||
if (systemSettings.temperatureInF) {
|
if (systemSettings.temperatureInF) {
|
||||||
Temp = TipThermoModel::getTipInF();
|
Temp = TipThermoModel::getTipInF();
|
||||||
} else
|
} else {
|
||||||
{
|
|
||||||
Temp = TipThermoModel::getTipInC();
|
Temp = TipThermoModel::getTipInC();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,10 +159,10 @@ static void gui_drawBatteryIcon() {
|
|||||||
uint8_t cellCount = systemSettings.minDCVoltageCells + 2;
|
uint8_t cellCount = systemSettings.minDCVoltageCells + 2;
|
||||||
uint32_t cellV = getInputVoltageX10(systemSettings.voltageDiv, 0) / cellCount;
|
uint32_t cellV = getInputVoltageX10(systemSettings.voltageDiv, 0) / cellCount;
|
||||||
// Should give us approx cell voltage X10
|
// Should give us approx cell voltage X10
|
||||||
// Range is 42 -> 33 = 9 steps therefore we will use battery 0-9
|
// Range is 42 -> Minimum voltage setting (systemSettings.minVoltageCells) = 9 steps therefore we will use battery 0-9
|
||||||
if (cellV < 33)
|
if (cellV < systemSettings.minVoltageCells)
|
||||||
cellV = 33;
|
cellV = systemSettings.minVoltageCells;
|
||||||
cellV -= 33; // Should leave us a number of 0-9
|
cellV -= systemSettings.minVoltageCells; // Should leave us a number of 0-9
|
||||||
if (cellV > 9)
|
if (cellV > 9)
|
||||||
cellV = 9;
|
cellV = 9;
|
||||||
OLED::drawBattery(cellV + 1);
|
OLED::drawBattery(cellV + 1);
|
||||||
@@ -274,8 +273,7 @@ static void gui_solderingTempAdjust() {
|
|||||||
OLED::printNumber(systemSettings.SolderingTemp, 3);
|
OLED::printNumber(systemSettings.SolderingTemp, 3);
|
||||||
if (systemSettings.temperatureInF)
|
if (systemSettings.temperatureInF)
|
||||||
OLED::drawSymbol(0);
|
OLED::drawSymbol(0);
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
OLED::drawSymbol(1);
|
OLED::drawSymbol(1);
|
||||||
}
|
}
|
||||||
OLED::print(SymbolSpace);
|
OLED::print(SymbolSpace);
|
||||||
@@ -410,7 +408,7 @@ static bool shouldBeSleeping(bool inAutoStart) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (lastMovementTime > 0 || lastButtonTime > 0) {
|
if (lastMovementTime > 0 || lastButtonTime > 0) {
|
||||||
if ((xTaskGetTickCount() - lastMovementTime) > getSleepTimeout() && (xTaskGetTickCount() - lastButtonTime) > getSleepTimeout()) {
|
if (((xTaskGetTickCount() - lastMovementTime) > getSleepTimeout()) && ((xTaskGetTickCount() - lastButtonTime) > getSleepTimeout())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -419,7 +417,7 @@ static bool shouldBeSleeping(bool inAutoStart) {
|
|||||||
#ifdef HALL_SENSOR
|
#ifdef HALL_SENSOR
|
||||||
// If the hall effect sensor is enabled in the build, check if its over
|
// If the hall effect sensor is enabled in the build, check if its over
|
||||||
// threshold, and if so then we force sleep
|
// threshold, and if so then we force sleep
|
||||||
if (lookupHallEffectThreshold()) {
|
if (getHallSensorFitted() && lookupHallEffectThreshold()) {
|
||||||
int16_t hallEffectStrength = getRawHallEffect();
|
int16_t hallEffectStrength = getRawHallEffect();
|
||||||
if (hallEffectStrength < 0)
|
if (hallEffectStrength < 0)
|
||||||
hallEffectStrength = -hallEffectStrength;
|
hallEffectStrength = -hallEffectStrength;
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ $(OUT_OBJS_S): $(OUTPUT_DIR)/%.o: %.S Makefile
|
|||||||
@echo 'Building file: $<'
|
@echo 'Building file: $<'
|
||||||
@$(AS) -c $(AFLAGS) $< -o $@
|
@$(AS) -c $(AFLAGS) $< -o $@
|
||||||
|
|
||||||
Core/Gen/Translation.%.cpp: ../Translations/translation_%.json Makefile ../Translations/make_translation.py ../Translations/translations_commons.js
|
Core/Gen/Translation.%.cpp: ../Translations/translation_%.json Makefile ../Translations/make_translation.py ../Translations/translations_commons.js ../Translations/fontTables.py ../Translations/wqy-bitmapsong/wenquanyi_9pt.bdf
|
||||||
@test -d $(@D) || mkdir -p $(@D)
|
@test -d $(@D) || mkdir -p $(@D)
|
||||||
@echo 'Generating translations for language $*'
|
@echo 'Generating translations for language $*'
|
||||||
@python3 ../Translations/make_translation.py -o $(PWD)/$@ $*
|
@python3 ../Translations/make_translation.py -o $(PWD)/$@ $*
|
||||||
|
|||||||
@@ -88,9 +88,10 @@
|
|||||||
#define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0
|
#define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0
|
||||||
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
|
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
|
||||||
|
|
||||||
#define CUT_OUT_SETTING 0 // default to no cut-off voltage
|
#define CUT_OUT_SETTING 0 // default to no cut-off voltage
|
||||||
#define TEMPERATURE_INF 0 // default to 0
|
#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33))
|
||||||
#define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow
|
#define TEMPERATURE_INF 0 // default to 0
|
||||||
|
#define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow
|
||||||
|
|
||||||
#define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1
|
#define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1
|
||||||
#define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2
|
#define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2
|
||||||
|
|||||||
@@ -4,4 +4,4 @@
|
|||||||
* i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4'
|
* i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4'
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BUILD_VERSION "v2.14"
|
#define BUILD_VERSION "v2.15"
|
||||||
|
|||||||
Reference in New Issue
Block a user