From afc1ad217dc62a54d7d06ccea2554d8918174027 Mon Sep 17 00:00:00 2001
From: 42loop <ulf.freyhoff@hfbk-hamburg.de>
Date: Tue, 29 Oct 2019 11:25:30 +0100
Subject: [PATCH] swapped lcd-r/w pin with output_enable which is now on LED
 pin

---
 default/VFD_Sinus_AT328.elf |  Bin 32444 -> 32600 bytes
 default/VFD_Sinus_AT328.hex |  171 +++---
 default/VFD_Sinus_AT328.lss | 1119 ++++++++++++++++-------------------
 default/VFD_Sinus_AT328.map |  260 ++++----
 default/lcd.o               |  Bin 13508 -> 13508 bytes
 default/main.o              |  Bin 40904 -> 41236 bytes
 lcd.h                       |    4 +-
 main.c                      |   12 +-
 vfd.h                       |    2 +-
 9 files changed, 745 insertions(+), 823 deletions(-)

diff --git a/default/VFD_Sinus_AT328.elf b/default/VFD_Sinus_AT328.elf
index 5c813f5471b283d704e9ee16fd5fc13e189a2caf..4047edc92a068b577581509a503b6b1b050d80f9 100755
GIT binary patch
delta 6477
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

delta 6240
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

diff --git a/default/VFD_Sinus_AT328.hex b/default/VFD_Sinus_AT328.hex
index d487a96..2247d84 100644
--- a/default/VFD_Sinus_AT328.hex
+++ b/default/VFD_Sinus_AT328.hex
@@ -54,14 +54,14 @@
 :10035000FC0052FA004AF80042F6003AF40032F18A
 :10036000002AEF0021EC0019E80011E50008E10087
 :1003700011241FBECFEFD8E0DEBFCDBF11E0A0E05B
-:10038000B1E0EAEBF3E102C005900D92A032B107B3
+:10038000B1E0E2EEF3E102C005900D92A032B107B8
 :10039000D9F721E0A0E2B1E001C01D92AD33B20770
-:1003A000E1F70E942B070C94DB090C940000CF931B
+:1003A000E1F70E942B070C94EF090C940000CF9307
 :1003B000DF93DC01FB01E9011A821B821C821D8292
 :1003C000198218829F838E83798768875B874A8723
-:1003D0008FEF9FE7BD010E94FE087D876C879F011C
+:1003D0008FEF9FE7BD010E9412097D876C879F0107
 :1003E000FF0F440B550B61E070E08FEF9FE70E9419
-:1003F00034092E873F87488B598BDF91CF91089521
+:1003F00048092E873F87488B598BDF91CF9108950D
 :10040000EF92FF920F931F93CF93DF938B01FA012B
 :100410009C01261B370B848595858217930784F0F2
 :10042000919581959109281739076CF086819781FC
@@ -74,12 +74,12 @@
 :1004900081959F4FAF4FBF4F281739074A075B071A
 :1004A0004CF482839383A483B5836FEF7FEF80E066
 :1004B00090E808C02283338344835583A085B185A7
-:1004C0000E94620920813181201B310BA285B385F6
+:1004C0000E94760920813181201B310BA285B385E2
 :1004D0002A9F70012B9FF00C3A9FF00C112411837E
 :1004E00000838E01DD0F220B330BAB01BC01400FEB
 :1004F000511F621F731FC701FF0CAA0BBB0B8A01A0
 :100500009B01080F191F2A1F3B1FC901B80120E0DA
-:1005100031E040E050E00E943409213010E831071A
+:1005100031E040E050E00E944809213010E8310706
 :100520001FEF4107510724F421E030E84FEF5FEF60
 :10053000DA01C901811520E89207A105B10524F06F
 :100540008FEF9FE7A0E0B0E0DF91CF911F910F9177
@@ -90,7 +90,7 @@
 :100590008081CF910C94C406CF93C82F892F0E94DD
 :1005A000B8028C2FCF910C94B80280E20C94C40650
 :1005B000DF92EF92FF920F931F93CF93DF934AE066
-:1005C00060E071E00E94750980933C01E0E0F1E099
+:1005C00060E071E00E94890980933C01E0E0F1E085
 :1005D00001900020E9F73197E050F140DE2E80E0F5
 :1005E000E82E81E0F82E8701FF27EF012197802F69
 :1005F0008E198D1578F4C801805091408C179D0795
@@ -103,13 +103,13 @@
 :100660002C9390911E01890F8083089589B1809504
 :100670008770089561E080E00E94B3068EED90E0FF
 :100680000E94E406F8940E94B102F999FECF6091AD
-:100690001E0188E090E00E94B809F999FECF682D0C
-:1006A00087E090E00E94B809F999FECF672D86E0B7
-:1006B00090E00E94B809F999FECF60912D017091E8
-:1006C0002E0184E090E00E94C609F999FECF609166
-:1006D0002F017091300182E090E00E94C609F999E3
+:100690001E0188E090E00E94CC09F999FECF682DF8
+:1006A00087E090E00E94CC09F999FECF672D86E0A3
+:1006B00090E00E94CC09F999FECF60912D017091D4
+:1006C0002E0184E090E00E94DA09F999FECF609152
+:1006D0002F017091300182E090E00E94DA09F999CF
 :1006E000FECF609131017091320180E090E00E9474
-:1006F000C609F999FECF292D2C60922E78948FEFA0
+:1006F000DA09F999FECF292D2C60922E78948FEF8C
 :1007000099E628E1815090402040E1F700C00000C8
 :1007100061E080E00E94B3068DEC90E00E94E40668
 :100720008FEF99E628E1815090402040E1F700C02A
@@ -182,15 +182,15 @@
 :100B500012038A818093B30089818093B4008091CD
 :100B600023018F5F80932301883C08F451C090FEDD
 :100B700016C020913B01C0903B01E82DF0E030E031
-:100B8000AFEFB0E00E945309BB27A92F982F872F02
+:100B8000AFEFB0E00E946709BB27A92F982F872FEE
 :100B900047E251E0BF010E9400028C0D882E682DB3
-:100BA00070E080E09BE40E94EA089B0140E050E096
-:100BB00066ED7CED81E090E00E9412093093260101
-:100BC00020932501C9016AE070E00E94EA08769E40
+:100BA00070E080E09BE40E94FE089B0140E050E082
+:100BB00066ED7CED81E090E00E94260930932601ED
+:100BC00020932501C9016AE070E00E94FE08769E2C
 :100BD0009001779E300D1124B90180E090E0232B25
 :100BE00059F0663FF9E07F078105910544F066EF13
 :100BF00079E080E090E003C060E070E0CB012AE0A3
-:100C000030E040E050E00E943409622E109223014F
+:100C000030E040E050E00E944809622E109223013B
 :100C10000F900F90DF91CF91FF91EF91BF91AF9126
 :100C20009F918F917F916F915F914F913F912F9104
 :100C30001F910F91FF90EF90DF90CF900F900FBE1C
@@ -202,11 +202,11 @@
 :100C900085E601C084E680937C008EED80937A0027
 :100CA0009F918F912F910F900FBE0F901F901895CD
 :100CB000289A00C0289808951F93CF93DF931F921E
-:100CC000CDB7DEB7662311F02C9A01C02C982D9871
+:100CC000CDB7DEB7662311F02C9A01C02C985C9842
 :100CD00097B19F6097B998B1192F107F982F92956F
 :100CE0009F70912B98B989830E94580689818F70D3
 :100CF000812B88B90E9458061F6018B90F90DF91A8
-:100D0000CF911F9108952C982D9A87B1807F87B934
+:100D0000CF911F9108952C985C9A87B1807F87B905
 :100D1000289A00C096B1289800C0289A00C026B131
 :100D20002F70892F8295807F2898822B08950E94AA
 :100D3000830687FDFCCF88E090E00197F1F70C94E3
@@ -221,7 +221,7 @@
 :100DC000FACFDF91CF910895CF93DF93FC01849107
 :100DD000EF012196882321F00E94C406FE01F7CF7F
 :100DE000DF91CF9108951F93CF93DF93182F97B181
-:100DF0009F6097B9249A259A209AE0E0FAEF3197FC
+:100DF0009F6097B9249A549A209AE0E0FAEF3197CD
 :100E0000F1F7419A409A0E945806E0E0FEE43197DB
 :100E1000F1F70E945806C0E0D1E0FE013197F1F7EA
 :100E20000E945806FE013197F1F740980E9458063B
@@ -229,7 +229,7 @@
 :100E40000E94BE0686E00E94A106812FDF91CF910D
 :100E50001F910C94A106F894612C10923B018824F8
 :100E60008394109222018FE087B985B1817F85B983
-:100E70008BB187798BB95C9A8AB1887F8AB9549A89
+:100E70008BB187798BB92D9A8AB1887F8AB9259AE7
 :100E80008BB187688BB98CE00E94F3060E94C10683
 :100E90008DEB90E00E94E40680E30E94C40681E0AE
 :100EA00084BD92E0909380008093B0002FEF30E0FB
@@ -248,72 +248,75 @@
 :100F700086BB80E280936F0086E30E94C406FFEF89
 :100F800029E688E1F15020408040E1F700C00000F0
 :100F900061E080E00E94B3068BE990E00E94E406E5
-:100FA00088E090E00E94AA0980931E0180911E01B2
+:100FA00088E090E00E94BE0980931E0180911E019E
 :100FB000883018F488E080931E0187E090E00E945A
-:100FC000AA09882E86E090E00E94AA09782E84E083
-:100FD00090E00E94B20990932E0180932D0182E04F
-:100FE00090E00E94B2099093300180932F0180E03D
-:100FF00090E00E94B20990933201809331019FEFFB
+:100FC000BE09882E86E090E00E94BE09782E84E05B
+:100FD00090E00E94C60990932E0180932D0182E03B
+:100FE00090E00E94C6099093300180932F0180E029
+:100FF00090E00E94C60990933201809331019FEFE7
 :10100000E9E6F8E19150E040F040E1F700C000006F
 :1010100061E080E00E94B3068AE890E00E94E40666
 :101020002FEF89E698E1215080409040E1F700C021
 :1010300000000E94360387E30E94C4060E94BE0699
 :101040008EE00E94A1068CEA90E00E94E40678946B
-:101050000BE0CFEFD0E00E94360390FC3FC082301F
-:10106000A9F018F4813031F03EC08330C9F18430EA
-:1010700001F139C0809122018F5F8093220180911C
-:101080002201823090F1109222012FC08091220122
-:10109000882319F0813039F028C0811002C08824DB
-:1010A00083948A9422C0711002C0772473947A9436
-:1010B0001CC080912201882319F0813041F015C0B5
-:1010C000EFEF8E1202C02EEF822E83940EC0FFEF40
-:1010D0007F1202C09EEF792E739407C0833019F4FB
-:1010E0000E949B0302C0109224010E9436038823B1
-:1010F000C9F0809124018F5F809324018A3050F4DD
-:101100002FEF8DEE92E0215080409040E1F700C03B
-:10111000000008C0EFE3FCE93197F1F700C00000E0
-:101120000093240161E080E00E94B30680912501D4
-:10113000909126010E94D8020E94D50261E086E0CB
-:101140000E94B306872D90E00E94D8020E94D5022B
-:101150000E94D50261E08CE00E94B306F4E66F9E27
-:10116000C0011124BE010E94EA08CB014AE060E000
-:1011700071E00E94750980933C01E0E0F1E001908C
-:101180000020E9F73197E050F1401E2F80E0E82E73
-:1011900081E0F82E67018C2D8E19811730F4F6014D
-:1011A00081916F010E94C406F6CF85E20E94C406B9
-:1011B0000E94D502E0912201F0E0E75DFE4F8491AC
-:1011C00061E00E94B3068FE19EE40197F1F700C051
-:1011D000000041CFAA1BBB1B51E107C0AA1FBB1FC8
-:1011E000A617B70710F0A61BB70B881F991F5A95B3
-:1011F000A9F780959095BC01CD01089597FB072E26
-:1012000016F4009407D077FD09D00E94EA0807FC85
-:1012100005D03EF4909581959F4F08957095619506
-:101220007F4F0895A1E21A2EAA1BBB1BFD010DC022
-:10123000AA1FBB1FEE1FFF1FA217B307E407F50786
-:1012400020F0A21BB30BE40BF50B661F771F881F62
-:10125000991F1A9469F760957095809590959B01F8
-:10126000AC01BD01CF010895052E97FB1EF400943B
-:101270000E944B0957FD07D00E94120907FC03D0BA
-:101280004EF40C944B0950954095309521953F4F65
-:101290004F4F5F4F089590958095709561957F4F62
-:1012A0008F4F9F4F0895A29FB001B39FC001A39F8E
-:1012B000700D811D1124911DB29F700D811D11248F
-:1012C000911D0895B7FF0C946A090E946A09821B58
-:1012D000930B08950E945309A59F900DB49F900D04
-:1012E000A49F800D911D11240895BB274A3031F42D
-:1012F000992322F4BDE2909581959F4F0C9481092A
-:10130000BB27FB015527AA27880F991FAA1FA417DF
-:1013100010F0A41B83955051B9F7A05DAA3308F0D3
-:10132000A95DA193009779F7B111B1931192CB0107
-:101330000C949A09DC01FC01672F71917723E1F786
-:10134000329704C07C916D9370836291AE17BF0792
-:10135000C8F30895F999FECF92BD81BDF89A9927F7
-:1013600080B50895A8E1B0E042E050E00C94CD09CA
-:10137000262FF999FECF1FBA92BD81BD20BD0FB6B1
-:10138000F894FA9AF99A0FBE019608950E94B80946
-:10139000272F0C94B909DC01CB01FC01F999FECF90
-:1013A00006C0F2BDE1BDF89A319600B40D924150ED
-:0A13B0005040B8F70895F894FFCFFD
-:1013BA00303030303030303030303030303132331D
-:1013CA003435363738394142434445460000140023
+:101050000BE0CFEFD0E00E94360390FC41C082301D
+:10106000B9F018F4813039F052C0833009F44CC023
+:10107000843009F14CC0809122018F5F809322015E
+:1010800080912201823008F444C01092220141C0B4
+:1010900080912201882319F0813039F03AC0811003
+:1010A00002C0882483948A9434C0711002C07724CB
+:1010B00073947A942EC080912201882319F0813094
+:1010C00041F027C0EFEF8E1202C02EEF822E8394E4
+:1010D00020C0FFEF7F1202C09EEF792E739419C0DB
+:1010E000813019F0833081F012C09091200181E0AD
+:1010F000911180E08093200180912001882311F0DC
+:101100002D9807C02D9A05C00E949B0302C0109223
+:1011100024010E9436038823C9F0809124018F5F47
+:10112000809324018A3050F42FEF8DEE92E021500D
+:1011300080409040E1F700C0000008C0EFE3FCE908
+:101140003197F1F700C000000093240161E080E0D6
+:101150000E94B30680912501909126010E94D80239
+:101160000E94D50261E086E00E94B306872D90E0E0
+:101170000E94D8020E94D5020E94D50261E08CE054
+:101180000E94B306F4E66F9EC0011124BE010E94C6
+:10119000FE08CB014AE060E071E00E94890980937B
+:1011A0003C01E0E0F1E001900020E9F73197E050E8
+:1011B000F1401E2F80E0E82E81E0F82E67018C2D93
+:1011C0008E19811730F4F60181916F010E94C406D7
+:1011D000F6CF85E20E94C4060E94D502E09122016A
+:1011E000F0E0E75DFE4F849161E00E94B3068FE17D
+:1011F0009EE40197F1F700C000002DCFAA1BBB1B96
+:1012000051E107C0AA1FBB1FA617B70710F0A61B06
+:10121000B70B881F991F5A95A9F780959095BC0127
+:10122000CD01089597FB072E16F4009407D077FDA3
+:1012300009D00E94FE0807FC05D03EF490958195E8
+:101240009F4F0895709561957F4F0895A1E21A2EE2
+:10125000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F5A
+:10126000A217B307E407F50720F0A21BB30BE40BAA
+:10127000F50B661F771F881F991F1A9469F76095F1
+:101280007095809590959B01AC01BD01CF010895AB
+:10129000052E97FB1EF400940E945F0957FD07D0AE
+:1012A0000E94260907FC03D04EF40C945F09509568
+:1012B0004095309521953F4F4F4F5F4F0895909542
+:1012C0008095709561957F4F8F4F9F4F0895A29F96
+:1012D000B001B39FC001A39F700D811D1124911D0A
+:1012E000B29F700D811D1124911D0895B7FF0C94BC
+:1012F0007E090E947E09821B930B08950E94670954
+:10130000A59F900DB49F900DA49F800D911D112459
+:101310000895BB274A3031F4992322F4BDE2909519
+:1013200081959F4F0C949509BB27FB015527AA2750
+:10133000880F991FAA1FA41710F0A41B8395505162
+:10134000B9F7A05DAA3308F0A95DA193009779F7DA
+:10135000B111B1931192CB010C94AE09DC01FC01E7
+:10136000672F71917723E1F7329704C07C916D93D9
+:1013700070836291AE17BF07C8F30895F999FECF45
+:1013800092BD81BDF89A992780B50895A8E1B0E093
+:1013900042E050E00C94E109262FF999FECF1FBAE4
+:1013A00092BD81BD20BD0FB6F894FA9AF99A0FBE8E
+:1013B000019608950E94CC09272F0C94CD09DC01D9
+:1013C000CB01FC01F999FECF06C0F2BDE1BDF89A50
+:1013D000319600B40D9241505040B8F70895F894FA
+:0213E000FFCF3D
+:1013E20030303030303030303030303030313233F5
+:1013F20034353637383941424344454600001400FB
 :00000001FF
diff --git a/default/VFD_Sinus_AT328.lss b/default/VFD_Sinus_AT328.lss
index 87275fc..1c85b9e 100644
--- a/default/VFD_Sinus_AT328.lss
+++ b/default/VFD_Sinus_AT328.lss
@@ -3,33 +3,33 @@ VFD_Sinus_AT328.elf:     file format elf32-avr
 
 Sections:
 Idx Name          Size      VMA       LMA       File off  Algn
-  0 .data         00000020  00800100  000013ba  0000146e  2**0
+  0 .data         00000020  00800100  000013e2  00001496  2**0
                   CONTENTS, ALLOC, LOAD, DATA
-  1 .text         000013ba  00000000  00000000  000000b4  2**1
+  1 .text         000013e2  00000000  00000000  000000b4  2**1
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
-  2 .bss          0000001d  00800120  00800120  0000148e  2**0
+  2 .bss          0000001d  00800120  00800120  000014b6  2**0
                   ALLOC
-  3 .eeprom       00000009  00810000  00810000  0000148e  2**0
+  3 .eeprom       00000009  00810000  00810000  000014b6  2**0
                   CONTENTS, ALLOC, LOAD, DATA
-  4 .comment      00000011  00000000  00000000  00001497  2**0
+  4 .comment      00000011  00000000  00000000  000014bf  2**0
                   CONTENTS, READONLY
-  5 .note.gnu.avr.deviceinfo 0000003c  00000000  00000000  000014a8  2**2
+  5 .note.gnu.avr.deviceinfo 0000003c  00000000  00000000  000014d0  2**2
                   CONTENTS, READONLY
-  6 .debug_aranges 00000068  00000000  00000000  000014e4  2**0
+  6 .debug_aranges 00000068  00000000  00000000  0000150c  2**0
                   CONTENTS, READONLY, DEBUGGING
-  7 .debug_info   00001f6e  00000000  00000000  0000154c  2**0
+  7 .debug_info   00001f87  00000000  00000000  00001574  2**0
                   CONTENTS, READONLY, DEBUGGING
-  8 .debug_abbrev 000007bf  00000000  00000000  000034ba  2**0
+  8 .debug_abbrev 000007bf  00000000  00000000  000034fb  2**0
                   CONTENTS, READONLY, DEBUGGING
-  9 .debug_line   00000c8d  00000000  00000000  00003c79  2**0
+  9 .debug_line   00000ca1  00000000  00000000  00003cba  2**0
                   CONTENTS, READONLY, DEBUGGING
- 10 .debug_frame  000003ec  00000000  00000000  00004908  2**2
+ 10 .debug_frame  000003ec  00000000  00000000  0000495c  2**2
                   CONTENTS, READONLY, DEBUGGING
- 11 .debug_str    00000781  00000000  00000000  00004cf4  2**0
+ 11 .debug_str    000007be  00000000  00000000  00004d48  2**0
                   CONTENTS, READONLY, DEBUGGING
- 12 .debug_loc    0000128f  00000000  00000000  00005475  2**0
+ 12 .debug_loc    0000129a  00000000  00000000  00005506  2**0
                   CONTENTS, READONLY, DEBUGGING
- 13 .debug_ranges 00000060  00000000  00000000  00006704  2**0
+ 13 .debug_ranges 00000060  00000000  00000000  000067a0  2**0
                   CONTENTS, READONLY, DEBUGGING
 
 Disassembly of section .text:
@@ -85,11 +85,11 @@ Disassembly of section .text:
       9b:	52 65 61 64 69 6e 67 20 45 45 50 52 4f 4d 20 20     Reading EEPROM  
 	...
 
-000000ac <__c.2429>:
+000000ac <__c.2430>:
       ac:	46 72 65 71 20 20 56 2f 48 7a 20 20 41 6d 70 20     Freq  V/Hz  Amp 
 	...
 
-000000bd <__c.2427>:
+000000bd <__c.2428>:
       bd:	56 46 20 4d 6f 74 6f 72 20 44 72 69 76 65 0a 00     VF Motor Drive..
 
 000000cd <__c.2341>:
@@ -166,7 +166,7 @@ Disassembly of section .text:
      37c:	11 e0       	ldi	r17, 0x01	; 1
      37e:	a0 e0       	ldi	r26, 0x00	; 0
      380:	b1 e0       	ldi	r27, 0x01	; 1
-     382:	ea eb       	ldi	r30, 0xBA	; 186
+     382:	e2 ee       	ldi	r30, 0xE2	; 226
      384:	f3 e1       	ldi	r31, 0x13	; 19
      386:	02 c0       	rjmp	.+4      	; 0x38c <__do_copy_data+0x10>
      388:	05 90       	lpm	r0, Z+
@@ -189,51 +189,35 @@ Disassembly of section .text:
      39e:	b2 07       	cpc	r27, r18
      3a0:	e1 f7       	brne	.-8      	; 0x39a <.do_clear_bss_loop>
      3a2:	0e 94 2b 07 	call	0xe56	; 0xe56 <main>
-     3a6:	0c 94 db 09 	jmp	0x13b6	; 0x13b6 <_exit>
+     3a6:	0c 94 ef 09 	jmp	0x13de	; 0x13de <_exit>
 
 000003aa <__bad_interrupt>:
      3aa:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>
 
 000003ae <PID_Init>:
- *  \param d_factor  Derivate term.
- *  \param pid  Struct with PID status.
- */
-void PID_Init(int16_t p_factor, int16_t i_factor, int16_t d_factor, pidData_t *pid)
-// Set up PID controller parameters
-{
      3ae:	cf 93       	push	r28
      3b0:	df 93       	push	r29
      3b2:	dc 01       	movw	r26, r24
      3b4:	fb 01       	movw	r30, r22
      3b6:	e9 01       	movw	r28, r18
-  // Start values for PID controller
-  pid->sumError = 0;
      3b8:	1a 82       	std	Y+2, r1	; 0x02
      3ba:	1b 82       	std	Y+3, r1	; 0x03
      3bc:	1c 82       	std	Y+4, r1	; 0x04
      3be:	1d 82       	std	Y+5, r1	; 0x05
-  pid->lastProcessValue = 0;
      3c0:	19 82       	std	Y+1, r1	; 0x01
      3c2:	18 82       	st	Y, r1
-  // Tuning constants for PID loop
-  pid->P_Factor = p_factor;
      3c4:	9f 83       	std	Y+7, r25	; 0x07
      3c6:	8e 83       	std	Y+6, r24	; 0x06
-  pid->I_Factor = i_factor;
      3c8:	79 87       	std	Y+9, r23	; 0x09
      3ca:	68 87       	std	Y+8, r22	; 0x08
-  pid->D_Factor = d_factor;
      3cc:	5b 87       	std	Y+11, r21	; 0x0b
      3ce:	4a 87       	std	Y+10, r20	; 0x0a
-  // Limits to avoid overflow
-  pid->maxError = MAX_INT / pid->P_Factor;
      3d0:	8f ef       	ldi	r24, 0xFF	; 255
      3d2:	9f e7       	ldi	r25, 0x7F	; 127
      3d4:	bd 01       	movw	r22, r26
-     3d6:	0e 94 fe 08 	call	0x11fc	; 0x11fc <__divmodhi4>
+     3d6:	0e 94 12 09 	call	0x1224	; 0x1224 <__divmodhi4>
      3da:	7d 87       	std	Y+13, r23	; 0x0d
      3dc:	6c 87       	std	Y+12, r22	; 0x0c
-  pid->maxSumError = MAX_I_TERM / pid->I_Factor;
      3de:	9f 01       	movw	r18, r30
      3e0:	ff 0f       	add	r31, r31
      3e2:	44 0b       	sbc	r20, r20
@@ -242,23 +226,16 @@ void PID_Init(int16_t p_factor, int16_t i_factor, int16_t d_factor, pidData_t *p
      3e8:	70 e0       	ldi	r23, 0x00	; 0
      3ea:	8f ef       	ldi	r24, 0xFF	; 255
      3ec:	9f e7       	ldi	r25, 0x7F	; 127
-     3ee:	0e 94 34 09 	call	0x1268	; 0x1268 <__divmodsi4>
+     3ee:	0e 94 48 09 	call	0x1290	; 0x1290 <__divmodsi4>
      3f2:	2e 87       	std	Y+14, r18	; 0x0e
      3f4:	3f 87       	std	Y+15, r19	; 0x0f
      3f6:	48 8b       	std	Y+16, r20	; 0x10
      3f8:	59 8b       	std	Y+17, r21	; 0x11
-}
      3fa:	df 91       	pop	r29
      3fc:	cf 91       	pop	r28
      3fe:	08 95       	ret
 
 00000400 <PID_Controller>:
- *  \param setPoint  Desired value.
- *  \param processValue  Measured value.
- *  \param pid_st  PID status struct.
- */
-int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st)
-{
      400:	ef 92       	push	r14
      402:	ff 92       	push	r15
      404:	0f 93       	push	r16
@@ -267,39 +244,20 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      40a:	df 93       	push	r29
      40c:	8b 01       	movw	r16, r22
      40e:	fa 01       	movw	r30, r20
-  int16_t error, p_term, d_term;
-  int32_t i_term;
-  int32_t ret;
-  int32_t temp;
-
-  error = setPoint - processValue;
      410:	9c 01       	movw	r18, r24
      412:	26 1b       	sub	r18, r22
      414:	37 0b       	sbc	r19, r23
-
-  // Calculate Pterm and limit error overflow
-  if (error > pid_st->maxError)
      416:	84 85       	ldd	r24, Z+12	; 0x0c
      418:	95 85       	ldd	r25, Z+13	; 0x0d
      41a:	82 17       	cp	r24, r18
      41c:	93 07       	cpc	r25, r19
      41e:	84 f0       	brlt	.+32     	; 0x440 <PID_Controller+0x40>
-  {
-    p_term = MAX_INT;
-  }
-  else if (error < -pid_st->maxError)
      420:	91 95       	neg	r25
      422:	81 95       	neg	r24
      424:	91 09       	sbc	r25, r1
      426:	28 17       	cp	r18, r24
      428:	39 07       	cpc	r19, r25
      42a:	6c f0       	brlt	.+26     	; 0x446 <PID_Controller+0x46>
-  {
-    p_term = -MAX_INT;
-  }
-  else
-  {
-    p_term = pid_st->P_Factor * error;
      42c:	86 81       	ldd	r24, Z+6	; 0x06
      42e:	97 81       	ldd	r25, Z+7	; 0x07
      430:	28 9f       	mul	r18, r24
@@ -310,27 +268,11 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      43a:	d0 0d       	add	r29, r0
      43c:	11 24       	eor	r1, r1
      43e:	05 c0       	rjmp	.+10     	; 0x44a <PID_Controller+0x4a>
-  error = setPoint - processValue;
-
-  // Calculate Pterm and limit error overflow
-  if (error > pid_st->maxError)
-  {
-    p_term = MAX_INT;
      440:	cf ef       	ldi	r28, 0xFF	; 255
      442:	df e7       	ldi	r29, 0x7F	; 127
      444:	02 c0       	rjmp	.+4      	; 0x44a <PID_Controller+0x4a>
-  }
-  else if (error < -pid_st->maxError)
-  {
-    p_term = -MAX_INT;
      446:	c1 e0       	ldi	r28, 0x01	; 1
      448:	d0 e8       	ldi	r29, 0x80	; 128
-  {
-    p_term = pid_st->P_Factor * error;
-  }
-
-  // Calculate Iterm and limit integral runaway
-  temp = pid_st->sumError + error;
      44a:	c9 01       	movw	r24, r18
      44c:	33 0f       	add	r19, r19
      44e:	aa 0b       	sbc	r26, r26
@@ -345,7 +287,6 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      460:	39 1f       	adc	r19, r25
      462:	4a 1f       	adc	r20, r26
      464:	5b 1f       	adc	r21, r27
-  if(temp > pid_st->maxSumError)
      466:	86 85       	ldd	r24, Z+14	; 0x0e
      468:	97 85       	ldd	r25, Z+15	; 0x0f
      46a:	a0 89       	ldd	r26, Z+16	; 0x10
@@ -355,27 +296,15 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      472:	a4 07       	cpc	r26, r20
      474:	b5 07       	cpc	r27, r21
      476:	4c f4       	brge	.+18     	; 0x48a <PID_Controller+0x8a>
-  {
-    i_term = MAX_I_TERM;
-    pid_st->sumError = pid_st->maxSumError;
      478:	82 83       	std	Z+2, r24	; 0x02
      47a:	93 83       	std	Z+3, r25	; 0x03
      47c:	a4 83       	std	Z+4, r26	; 0x04
      47e:	b5 83       	std	Z+5, r27	; 0x05
-
-  // Calculate Iterm and limit integral runaway
-  temp = pid_st->sumError + error;
-  if(temp > pid_st->maxSumError)
-  {
-    i_term = MAX_I_TERM;
      480:	61 e0       	ldi	r22, 0x01	; 1
      482:	70 e0       	ldi	r23, 0x00	; 0
      484:	8f ef       	ldi	r24, 0xFF	; 255
      486:	9f e7       	ldi	r25, 0x7F	; 127
      488:	1d c0       	rjmp	.+58     	; 0x4c4 <PID_Controller+0xc4>
-    pid_st->sumError = pid_st->maxSumError;
-  }
-  else if(temp < -pid_st->maxSumError)
      48a:	b0 95       	com	r27
      48c:	a0 95       	com	r26
      48e:	90 95       	com	r25
@@ -388,41 +317,22 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      49c:	4a 07       	cpc	r20, r26
      49e:	5b 07       	cpc	r21, r27
      4a0:	4c f4       	brge	.+18     	; 0x4b4 <PID_Controller+0xb4>
-  {
-    i_term = -MAX_I_TERM;
-    pid_st->sumError = -pid_st->maxSumError;
      4a2:	82 83       	std	Z+2, r24	; 0x02
      4a4:	93 83       	std	Z+3, r25	; 0x03
      4a6:	a4 83       	std	Z+4, r26	; 0x04
      4a8:	b5 83       	std	Z+5, r27	; 0x05
-    i_term = MAX_I_TERM;
-    pid_st->sumError = pid_st->maxSumError;
-  }
-  else if(temp < -pid_st->maxSumError)
-  {
-    i_term = -MAX_I_TERM;
      4aa:	6f ef       	ldi	r22, 0xFF	; 255
      4ac:	7f ef       	ldi	r23, 0xFF	; 255
      4ae:	80 e0       	ldi	r24, 0x00	; 0
      4b0:	90 e8       	ldi	r25, 0x80	; 128
      4b2:	08 c0       	rjmp	.+16     	; 0x4c4 <PID_Controller+0xc4>
-    pid_st->sumError = -pid_st->maxSumError;
-  }
-  else
-  {
-    pid_st->sumError = temp;
      4b4:	22 83       	std	Z+2, r18	; 0x02
      4b6:	33 83       	std	Z+3, r19	; 0x03
      4b8:	44 83       	std	Z+4, r20	; 0x04
      4ba:	55 83       	std	Z+5, r21	; 0x05
-    i_term = pid_st->I_Factor * pid_st->sumError;
      4bc:	a0 85       	ldd	r26, Z+8	; 0x08
      4be:	b1 85       	ldd	r27, Z+9	; 0x09
-     4c0:	0e 94 62 09 	call	0x12c4	; 0x12c4 <__mulshisi3>
-  }
-
-  // Calculate Dterm
-  d_term = pid_st->D_Factor * (pid_st->lastProcessValue - processValue);
+     4c0:	0e 94 76 09 	call	0x12ec	; 0x12ec <__mulshisi3>
      4c4:	20 81       	ld	r18, Z
      4c6:	31 81       	ldd	r19, Z+1	; 0x01
      4c8:	20 1b       	sub	r18, r16
@@ -436,12 +346,8 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      4d8:	3a 9f       	mul	r19, r26
      4da:	f0 0c       	add	r15, r0
      4dc:	11 24       	eor	r1, r1
-
-  pid_st->lastProcessValue = processValue;
      4de:	11 83       	std	Z+1, r17	; 0x01
      4e0:	00 83       	st	Z, r16
-
-  ret = (p_term + i_term + d_term) / SCALING_FACTOR;
      4e2:	8e 01       	movw	r16, r28
      4e4:	dd 0f       	add	r29, r29
      4e6:	22 0b       	sbc	r18, r18
@@ -468,7 +374,7 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      510:	31 e0       	ldi	r19, 0x01	; 1
      512:	40 e0       	ldi	r20, 0x00	; 0
      514:	50 e0       	ldi	r21, 0x00	; 0
-     516:	0e 94 34 09 	call	0x1268	; 0x1268 <__divmodsi4>
+     516:	0e 94 48 09 	call	0x1290	; 0x1290 <__divmodsi4>
      51a:	21 30       	cpi	r18, 0x01	; 1
      51c:	10 e8       	ldi	r17, 0x80	; 128
      51e:	31 07       	cpc	r19, r17
@@ -492,12 +398,6 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      542:	9f e7       	ldi	r25, 0x7F	; 127
      544:	a0 e0       	ldi	r26, 0x00	; 0
      546:	b0 e0       	ldi	r27, 0x00	; 0
-  {
-    ret = -MAX_INT;
-  }
-
-  return((int16_t)ret);
-}
      548:	df 91       	pop	r29
      54a:	cf 91       	pop	r28
      54c:	1f 91       	pop	r17
@@ -507,12 +407,6 @@ int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st
      554:	08 95       	ret
 
 00000556 <PID_Reset_Integrator>:
- *
- *  Calling this function will reset the integrator in the PID regulator.
- */
-void PID_Reset_Integrator(pidData_t *pid_st)
-{
-  pid_st->sumError = 0;
      556:	fc 01       	movw	r30, r24
      558:	12 82       	std	Z+2, r1	; 0x02
      55a:	13 82       	std	Z+3, r1	; 0x03
@@ -625,7 +519,7 @@ static void printdec(int16_t number) {
      5be:	4a e0       	ldi	r20, 0x0A	; 10
      5c0:	60 e0       	ldi	r22, 0x00	; 0
      5c2:	71 e0       	ldi	r23, 0x01	; 1
-     5c4:	0e 94 75 09 	call	0x12ea	; 0x12ea <__itoa_ncheck>
+     5c4:	0e 94 89 09 	call	0x1312	; 0x1312 <__itoa_ncheck>
 uint8_t n,i;
 /* yeah, yeah warning "pointer to integer without a cast" 
  * Am i tired of this or what 
@@ -782,7 +676,7 @@ void wrEEPROM(void) {
      68e:	60 91 1e 01 	lds	r22, 0x011E	; 0x80011e <DEAD_TIME_HALF>
      692:	88 e0       	ldi	r24, 0x08	; 8
      694:	90 e0       	ldi	r25, 0x00	; 0
-     696:	0e 94 b8 09 	call	0x1370	; 0x1370 <eeprom_write_byte>
+     696:	0e 94 cc 09 	call	0x1398	; 0x1398 <eeprom_write_byte>
 	eeprom_busy_wait();
      69a:	f9 99       	sbic	0x1f, 1	; 31
      69c:	fe cf       	rjmp	.-4      	; 0x69a <wrEEPROM+0x26>
@@ -790,7 +684,7 @@ void wrEEPROM(void) {
      69e:	68 2d       	mov	r22, r8
      6a0:	87 e0       	ldi	r24, 0x07	; 7
      6a2:	90 e0       	ldi	r25, 0x00	; 0
-     6a4:	0e 94 b8 09 	call	0x1370	; 0x1370 <eeprom_write_byte>
+     6a4:	0e 94 cc 09 	call	0x1398	; 0x1398 <eeprom_write_byte>
 	eeprom_busy_wait();
      6a8:	f9 99       	sbic	0x1f, 1	; 31
      6aa:	fe cf       	rjmp	.-4      	; 0x6a8 <wrEEPROM+0x34>
@@ -798,7 +692,7 @@ void wrEEPROM(void) {
      6ac:	67 2d       	mov	r22, r7
      6ae:	86 e0       	ldi	r24, 0x06	; 6
      6b0:	90 e0       	ldi	r25, 0x00	; 0
-     6b2:	0e 94 b8 09 	call	0x1370	; 0x1370 <eeprom_write_byte>
+     6b2:	0e 94 cc 09 	call	0x1398	; 0x1398 <eeprom_write_byte>
 	eeprom_busy_wait();
      6b6:	f9 99       	sbic	0x1f, 1	; 31
      6b8:	fe cf       	rjmp	.-4      	; 0x6b6 <wrEEPROM+0x42>
@@ -808,7 +702,7 @@ void wrEEPROM(void) {
      6be:	70 91 2e 01 	lds	r23, 0x012E	; 0x80012e <pidParameters+0x7>
      6c2:	84 e0       	ldi	r24, 0x04	; 4
      6c4:	90 e0       	ldi	r25, 0x00	; 0
-     6c6:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_write_word>
+     6c6:	0e 94 da 09 	call	0x13b4	; 0x13b4 <eeprom_write_word>
 	eeprom_busy_wait();
      6ca:	f9 99       	sbic	0x1f, 1	; 31
      6cc:	fe cf       	rjmp	.-4      	; 0x6ca <wrEEPROM+0x56>
@@ -817,7 +711,7 @@ void wrEEPROM(void) {
      6d2:	70 91 30 01 	lds	r23, 0x0130	; 0x800130 <pidParameters+0x9>
      6d6:	82 e0       	ldi	r24, 0x02	; 2
      6d8:	90 e0       	ldi	r25, 0x00	; 0
-     6da:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_write_word>
+     6da:	0e 94 da 09 	call	0x13b4	; 0x13b4 <eeprom_write_word>
 	eeprom_busy_wait();
      6de:	f9 99       	sbic	0x1f, 1	; 31
      6e0:	fe cf       	rjmp	.-4      	; 0x6de <wrEEPROM+0x6a>
@@ -826,7 +720,7 @@ void wrEEPROM(void) {
      6e6:	70 91 32 01 	lds	r23, 0x0132	; 0x800132 <pidParameters+0xb>
      6ea:	80 e0       	ldi	r24, 0x00	; 0
      6ec:	90 e0       	ldi	r25, 0x00	; 0
-     6ee:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_write_word>
+     6ee:	0e 94 da 09 	call	0x13b4	; 0x13b4 <eeprom_write_word>
 	eeprom_busy_wait();
      6f2:	f9 99       	sbic	0x1f, 1	; 31
      6f4:	fe cf       	rjmp	.-4      	; 0x6f2 <wrEEPROM+0x7e>
@@ -1586,9 +1480,9 @@ static void AdjustSineTableIndex(const uint16_t increment)
     }
 // regular task calls the SpeedController 
   	speedRegTicks++;
-     b5e:	80 91 23 01 	lds	r24, 0x0123	; 0x800123 <speedRegTicks.2488>
+     b5e:	80 91 23 01 	lds	r24, 0x0123	; 0x800123 <speedRegTicks.2489>
      b62:	8f 5f       	subi	r24, 0xFF	; 255
-     b64:	80 93 23 01 	sts	0x0123, r24	; 0x800123 <speedRegTicks.2488>
+     b64:	80 93 23 01 	sts	0x0123, r24	; 0x800123 <speedRegTicks.2489>
     if (speedRegTicks >= SPEED_CONTROLLER_TIME_BASE)
      b68:	88 3c       	cpi	r24, 0xC8	; 200
      b6a:	08 f4       	brcc	.+2      	; 0xb6e <__vector_10+0x176>
@@ -1619,7 +1513,7 @@ if (fastFlags.externalControl) {
      b7e:	30 e0       	ldi	r19, 0x00	; 0
      b80:	af ef       	ldi	r26, 0xFF	; 255
      b82:	b0 e0       	ldi	r27, 0x00	; 0
-     b84:	0e 94 53 09 	call	0x12a6	; 0x12a6 <__umulhisi3>
+     b84:	0e 94 67 09 	call	0x12ce	; 0x12ce <__umulhisi3>
      b88:	bb 27       	eor	r27, r27
      b8a:	a9 2f       	mov	r26, r25
      b8c:	98 2f       	mov	r25, r24
@@ -1641,7 +1535,7 @@ if (fastFlags.externalControl) {
      ba0:	70 e0       	ldi	r23, 0x00	; 0
      ba2:	80 e0       	ldi	r24, 0x00	; 0
      ba4:	9b e4       	ldi	r25, 0x4B	; 75
-     ba6:	0e 94 ea 08 	call	0x11d4	; 0x11d4 <__udivmodhi4>
+     ba6:	0e 94 fe 08 	call	0x11fc	; 0x11fc <__udivmodhi4>
      baa:	9b 01       	movw	r18, r22
      bac:	40 e0       	ldi	r20, 0x00	; 0
      bae:	50 e0       	ldi	r21, 0x00	; 0
@@ -1649,14 +1543,14 @@ if (fastFlags.externalControl) {
      bb2:	7c ed       	ldi	r23, 0xDC	; 220
      bb4:	81 e0       	ldi	r24, 0x01	; 1
      bb6:	90 e0       	ldi	r25, 0x00	; 0
-     bb8:	0e 94 12 09 	call	0x1224	; 0x1224 <__udivmodsi4>
+     bb8:	0e 94 26 09 	call	0x124c	; 0x124c <__udivmodsi4>
      bbc:	30 93 26 01 	sts	0x0126, r19	; 0x800126 <freq+0x1>
      bc0:	20 93 25 01 	sts	0x0125, r18	; 0x800125 <freq>
  amplitudeValue = (freq/10)*VperHz;
      bc4:	c9 01       	movw	r24, r18
      bc6:	6a e0       	ldi	r22, 0x0A	; 10
      bc8:	70 e0       	ldi	r23, 0x00	; 0
-     bca:	0e 94 ea 08 	call	0x11d4	; 0x11d4 <__udivmodhi4>
+     bca:	0e 94 fe 08 	call	0x11fc	; 0x11fc <__udivmodhi4>
      bce:	76 9e       	mul	r7, r22
      bd0:	90 01       	movw	r18, r0
      bd2:	77 9e       	mul	r7, r23
@@ -1704,7 +1598,7 @@ if (fastFlags.externalControl) {
      c00:	30 e0       	ldi	r19, 0x00	; 0
      c02:	40 e0       	ldi	r20, 0x00	; 0
      c04:	50 e0       	ldi	r21, 0x00	; 0
-     c06:	0e 94 34 09 	call	0x1268	; 0x1268 <__divmodsi4>
+     c06:	0e 94 48 09 	call	0x1290	; 0x1290 <__divmodsi4>
      c0a:	62 2e       	mov	r6, r18
 // regular task calls the SpeedController 
   	speedRegTicks++;
@@ -1712,7 +1606,7 @@ if (fastFlags.externalControl) {
     {
 		SpeedController();
      	speedRegTicks = 0; 
-     c0c:	10 92 23 01 	sts	0x0123, r1	; 0x800123 <speedRegTicks.2488>
+     c0c:	10 92 23 01 	sts	0x0123, r1	; 0x800123 <speedRegTicks.2489>
 	}
 }
      c10:	0f 90       	pop	r0
@@ -1865,7 +1759,7 @@ static void lcd_write(uint8_t data,uint8_t rs)
      ccc:	2c 98       	cbi	0x05, 4	; 5
     }
     lcd_rw_low();
-     cce:	2d 98       	cbi	0x05, 5	; 5
+     cce:	5c 98       	cbi	0x0b, 4	; 11
 
     if ( ( &LCD_DATA0_PORT == &LCD_DATA1_PORT) && ( &LCD_DATA1_PORT == &LCD_DATA2_PORT ) && ( &LCD_DATA2_PORT == &LCD_DATA3_PORT )
       && (LCD_DATA0_PIN == 0) && (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3) )
@@ -1925,7 +1819,7 @@ static void lcd_write(uint8_t data,uint8_t rs)
         lcd_rs_low();                        /* RS=0: read busy flag */
      d06:	2c 98       	cbi	0x05, 4	; 5
     lcd_rw_high();                           /* RW=1  read mode      */
-     d08:	2d 9a       	sbi	0x05, 5	; 5
+     d08:	5c 9a       	sbi	0x0b, 4	; 11
     
     if ( ( &LCD_DATA0_PORT == &LCD_DATA1_PORT) && ( &LCD_DATA1_PORT == &LCD_DATA2_PORT ) && ( &LCD_DATA2_PORT == &LCD_DATA3_PORT )
       && ( LCD_DATA0_PIN == 0 )&& (LCD_DATA1_PIN == 1) && (LCD_DATA2_PIN == 2) && (LCD_DATA3_PIN == 3) )
@@ -2260,7 +2154,7 @@ void lcd_init(uint8_t dispAttr)
         DDR(LCD_RS_PORT)    |= _BV(LCD_RS_PIN);
      df4:	24 9a       	sbi	0x04, 4	; 4
         DDR(LCD_RW_PORT)    |= _BV(LCD_RW_PIN);
-     df6:	25 9a       	sbi	0x04, 5	; 4
+     df6:	54 9a       	sbi	0x0a, 4	; 10
         DDR(LCD_E_PORT)     |= _BV(LCD_E_PIN);
      df8:	20 9a       	sbi	0x04, 0	; 4
 static inline void _delayFourCycles(unsigned int __count)
@@ -2414,8 +2308,8 @@ static void PortsInit(void)
      e72:	87 79       	andi	r24, 0x97	; 151
      e74:	8b b9       	out	0x0b, r24	; 11
 // output enable is active low:
-  PORTD |= _BV(OUTPUT_ENABLE_PIN);
-     e76:	5c 9a       	sbi	0x0b, 4	; 11
+  PORTB |= _BV(OUTPUT_ENABLE_PIN);
+     e76:	2d 9a       	sbi	0x05, 5	; 5
 
 // Set the inputs on Port D for the three buttons
   DDRD &= ~BUTTON_MASK;
@@ -2423,8 +2317,8 @@ static void PortsInit(void)
      e7a:	88 7f       	andi	r24, 0xF8	; 248
      e7c:	8a b9       	out	0x0a, r24	; 10
 
-  DDRD |= _BV(OUTPUT_ENABLE_PIN);
-     e7e:	54 9a       	sbi	0x0a, 4	; 10
+  DDRB |= _BV(OUTPUT_ENABLE_PIN);
+     e7e:	25 9a       	sbi	0x04, 5	; 4
 // Enable pull-up on input signals.
   PORTD |= _BV(DIRECTION_COMMAND_PIN) | _BV(EXTERNAL_CONTROL_PIN) | BUTTON_MASK ;
      e80:	8b b1       	in	r24, 0x0b	; 11
@@ -2660,7 +2554,7 @@ static void EEPROMInit(void)
 	DEAD_TIME_HALF = eeprom_read_byte(&ee_DEAD_TIME_HALF);
      fa0:	88 e0       	ldi	r24, 0x08	; 8
      fa2:	90 e0       	ldi	r25, 0x00	; 0
-     fa4:	0e 94 aa 09 	call	0x1354	; 0x1354 <eeprom_read_byte>
+     fa4:	0e 94 be 09 	call	0x137c	; 0x137c <eeprom_read_byte>
      fa8:	80 93 1e 01 	sts	0x011E, r24	; 0x80011e <DEAD_TIME_HALF>
 
 	if (DEAD_TIME_HALF < MIN_DEAD_TIME) DEAD_TIME_HALF = MIN_DEAD_TIME;
@@ -2673,30 +2567,30 @@ static void EEPROMInit(void)
 	Inco = eeprom_read_byte(&ee_Inco);
      fba:	87 e0       	ldi	r24, 0x07	; 7
      fbc:	90 e0       	ldi	r25, 0x00	; 0
-     fbe:	0e 94 aa 09 	call	0x1354	; 0x1354 <eeprom_read_byte>
+     fbe:	0e 94 be 09 	call	0x137c	; 0x137c <eeprom_read_byte>
      fc2:	88 2e       	mov	r8, r24
 	VperHz = eeprom_read_byte(&ee_VperHz);
      fc4:	86 e0       	ldi	r24, 0x06	; 6
      fc6:	90 e0       	ldi	r25, 0x00	; 0
-     fc8:	0e 94 aa 09 	call	0x1354	; 0x1354 <eeprom_read_byte>
+     fc8:	0e 94 be 09 	call	0x137c	; 0x137c <eeprom_read_byte>
      fcc:	78 2e       	mov	r7, r24
 // PID values
 	pidParameters.P_Factor = eeprom_read_word(&ee_pid_P);
      fce:	84 e0       	ldi	r24, 0x04	; 4
      fd0:	90 e0       	ldi	r25, 0x00	; 0
-     fd2:	0e 94 b2 09 	call	0x1364	; 0x1364 <eeprom_read_word>
+     fd2:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_read_word>
      fd6:	90 93 2e 01 	sts	0x012E, r25	; 0x80012e <pidParameters+0x7>
      fda:	80 93 2d 01 	sts	0x012D, r24	; 0x80012d <pidParameters+0x6>
 	pidParameters.I_Factor = eeprom_read_word(&ee_pid_I);
      fde:	82 e0       	ldi	r24, 0x02	; 2
      fe0:	90 e0       	ldi	r25, 0x00	; 0
-     fe2:	0e 94 b2 09 	call	0x1364	; 0x1364 <eeprom_read_word>
+     fe2:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_read_word>
      fe6:	90 93 30 01 	sts	0x0130, r25	; 0x800130 <pidParameters+0x9>
      fea:	80 93 2f 01 	sts	0x012F, r24	; 0x80012f <pidParameters+0x8>
 	pidParameters.D_Factor = eeprom_read_word(&ee_pid_D);
      fee:	80 e0       	ldi	r24, 0x00	; 0
      ff0:	90 e0       	ldi	r25, 0x00	; 0
-     ff2:	0e 94 b2 09 	call	0x1364	; 0x1364 <eeprom_read_word>
+     ff2:	0e 94 c6 09 	call	0x138c	; 0x138c <eeprom_read_word>
      ff6:	90 93 32 01 	sts	0x0132, r25	; 0x800132 <pidParameters+0xb>
      ffa:	80 93 31 01 	sts	0x0131, r24	; 0x800131 <pidParameters+0xa>
      ffe:	9f ef       	ldi	r25, 0xFF	; 255
@@ -2779,526 +2673,551 @@ n = keyin();
 // first make sure we get inputs from buttons and not from analog inputs
 if (!fastFlags.externalControl){
     105a:	90 fc       	sbrc	r9, 0
-    105c:	3f c0       	rjmp	.+126    	; 0x10dc <main+0x286>
+    105c:	41 c0       	rjmp	.+130    	; 0x10e0 <main+0x28a>
 		switch (n) 
     105e:	82 30       	cpi	r24, 0x02	; 2
-    1060:	a9 f0       	breq	.+42     	; 0x108c <main+0x236>
+    1060:	b9 f0       	breq	.+46     	; 0x1090 <main+0x23a>
     1062:	18 f4       	brcc	.+6      	; 0x106a <main+0x214>
     1064:	81 30       	cpi	r24, 0x01	; 1
-    1066:	31 f0       	breq	.+12     	; 0x1074 <main+0x21e>
-    1068:	3e c0       	rjmp	.+124    	; 0x10e6 <main+0x290>
+    1066:	39 f0       	breq	.+14     	; 0x1076 <main+0x220>
+    1068:	52 c0       	rjmp	.+164    	; 0x110e <main+0x2b8>
     106a:	83 30       	cpi	r24, 0x03	; 3
-    106c:	c9 f1       	breq	.+114    	; 0x10e0 <main+0x28a>
-    106e:	84 30       	cpi	r24, 0x04	; 4
-    1070:	01 f1       	breq	.+64     	; 0x10b2 <main+0x25c>
-    1072:	39 c0       	rjmp	.+114    	; 0x10e6 <main+0x290>
+    106c:	09 f4       	brne	.+2      	; 0x1070 <main+0x21a>
+    106e:	4c c0       	rjmp	.+152    	; 0x1108 <main+0x2b2>
+    1070:	84 30       	cpi	r24, 0x04	; 4
+    1072:	09 f1       	breq	.+66     	; 0x10b6 <main+0x260>
+    1074:	4c c0       	rjmp	.+152    	; 0x110e <main+0x2b8>
 		{
 // black button - cycle through parameters
 		case 1 : parameter++; if (parameter > NUMPARAMS) parameter = 0;
-    1074:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
-    1078:	8f 5f       	subi	r24, 0xFF	; 255
-    107a:	80 93 22 01 	sts	0x0122, r24	; 0x800122 <parameter>
-    107e:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
-    1082:	82 30       	cpi	r24, 0x02	; 2
-    1084:	90 f1       	brcs	.+100    	; 0x10ea <main+0x294>
-    1086:	10 92 22 01 	sts	0x0122, r1	; 0x800122 <parameter>
-    108a:	2f c0       	rjmp	.+94     	; 0x10ea <main+0x294>
+    1076:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
+    107a:	8f 5f       	subi	r24, 0xFF	; 255
+    107c:	80 93 22 01 	sts	0x0122, r24	; 0x800122 <parameter>
+    1080:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
+    1084:	82 30       	cpi	r24, 0x02	; 2
+    1086:	08 f4       	brcc	.+2      	; 0x108a <main+0x234>
+    1088:	44 c0       	rjmp	.+136    	; 0x1112 <main+0x2bc>
+    108a:	10 92 22 01 	sts	0x0122, r1	; 0x800122 <parameter>
+    108e:	41 c0       	rjmp	.+130    	; 0x1112 <main+0x2bc>
 			break;
 // red button  - decrement parameter
 		case 2 :
 			switch (parameter) {
-    108c:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
-    1090:	88 23       	and	r24, r24
-    1092:	19 f0       	breq	.+6      	; 0x109a <main+0x244>
-    1094:	81 30       	cpi	r24, 0x01	; 1
-    1096:	39 f0       	breq	.+14     	; 0x10a6 <main+0x250>
-    1098:	28 c0       	rjmp	.+80     	; 0x10ea <main+0x294>
+    1090:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
+    1094:	88 23       	and	r24, r24
+    1096:	19 f0       	breq	.+6      	; 0x109e <main+0x248>
+    1098:	81 30       	cpi	r24, 0x01	; 1
+    109a:	39 f0       	breq	.+14     	; 0x10aa <main+0x254>
+    109c:	3a c0       	rjmp	.+116    	; 0x1112 <main+0x2bc>
 			case 0 : if (Inco < 1) Inco = 1; 
-    109a:	81 10       	cpse	r8, r1
-    109c:	02 c0       	rjmp	.+4      	; 0x10a2 <main+0x24c>
-    109e:	88 24       	eor	r8, r8
-    10a0:	83 94       	inc	r8
+    109e:	81 10       	cpse	r8, r1
+    10a0:	02 c0       	rjmp	.+4      	; 0x10a6 <main+0x250>
+    10a2:	88 24       	eor	r8, r8
+    10a4:	83 94       	inc	r8
 				Inco--; 
-    10a2:	8a 94       	dec	r8
-    10a4:	22 c0       	rjmp	.+68     	; 0x10ea <main+0x294>
+    10a6:	8a 94       	dec	r8
+    10a8:	34 c0       	rjmp	.+104    	; 0x1112 <main+0x2bc>
 				break;
 			case 1 : if (VperHz < 1) VperHz = 1; 
-    10a6:	71 10       	cpse	r7, r1
-    10a8:	02 c0       	rjmp	.+4      	; 0x10ae <main+0x258>
-    10aa:	77 24       	eor	r7, r7
-    10ac:	73 94       	inc	r7
+    10aa:	71 10       	cpse	r7, r1
+    10ac:	02 c0       	rjmp	.+4      	; 0x10b2 <main+0x25c>
+    10ae:	77 24       	eor	r7, r7
+    10b0:	73 94       	inc	r7
  				VperHz--; 
-    10ae:	7a 94       	dec	r7
-    10b0:	1c c0       	rjmp	.+56     	; 0x10ea <main+0x294>
+    10b2:	7a 94       	dec	r7
+    10b4:	2e c0       	rjmp	.+92     	; 0x1112 <main+0x2bc>
 			default : break;
 			}
 			break;
 // green button - increment parameter
 		case 4 : 
 			switch (parameter) {
-    10b2:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
-    10b6:	88 23       	and	r24, r24
-    10b8:	19 f0       	breq	.+6      	; 0x10c0 <main+0x26a>
-    10ba:	81 30       	cpi	r24, 0x01	; 1
-    10bc:	41 f0       	breq	.+16     	; 0x10ce <main+0x278>
-    10be:	15 c0       	rjmp	.+42     	; 0x10ea <main+0x294>
+    10b6:	80 91 22 01 	lds	r24, 0x0122	; 0x800122 <parameter>
+    10ba:	88 23       	and	r24, r24
+    10bc:	19 f0       	breq	.+6      	; 0x10c4 <main+0x26e>
+    10be:	81 30       	cpi	r24, 0x01	; 1
+    10c0:	41 f0       	breq	.+16     	; 0x10d2 <main+0x27c>
+    10c2:	27 c0       	rjmp	.+78     	; 0x1112 <main+0x2bc>
 			case 0 :if (Inco > 254) Inco = 254; 
-    10c0:	ef ef       	ldi	r30, 0xFF	; 255
-    10c2:	8e 12       	cpse	r8, r30
-    10c4:	02 c0       	rjmp	.+4      	; 0x10ca <main+0x274>
-    10c6:	2e ef       	ldi	r18, 0xFE	; 254
-    10c8:	82 2e       	mov	r8, r18
+    10c4:	ef ef       	ldi	r30, 0xFF	; 255
+    10c6:	8e 12       	cpse	r8, r30
+    10c8:	02 c0       	rjmp	.+4      	; 0x10ce <main+0x278>
+    10ca:	2e ef       	ldi	r18, 0xFE	; 254
+    10cc:	82 2e       	mov	r8, r18
  				Inco++;  
-    10ca:	83 94       	inc	r8
-    10cc:	0e c0       	rjmp	.+28     	; 0x10ea <main+0x294>
+    10ce:	83 94       	inc	r8
+    10d0:	20 c0       	rjmp	.+64     	; 0x1112 <main+0x2bc>
 				break;
 			case 1 :if (VperHz > 254) VperHz = 254; 
-    10ce:	ff ef       	ldi	r31, 0xFF	; 255
-    10d0:	7f 12       	cpse	r7, r31
-    10d2:	02 c0       	rjmp	.+4      	; 0x10d8 <main+0x282>
-    10d4:	9e ef       	ldi	r25, 0xFE	; 254
-    10d6:	79 2e       	mov	r7, r25
+    10d2:	ff ef       	ldi	r31, 0xFF	; 255
+    10d4:	7f 12       	cpse	r7, r31
+    10d6:	02 c0       	rjmp	.+4      	; 0x10dc <main+0x286>
+    10d8:	9e ef       	ldi	r25, 0xFE	; 254
+    10da:	79 2e       	mov	r7, r25
  				VperHz++; 
-    10d8:	73 94       	inc	r7
-    10da:	07 c0       	rjmp	.+14     	; 0x10ea <main+0x294>
+    10dc:	73 94       	inc	r7
+    10de:	19 c0       	rjmp	.+50     	; 0x1112 <main+0x2bc>
 			 break;
 		default: i = 0; break;
 		} // switch
     } else { // external control
 // with external control we only can go to the extended menu
 		switch (n) 
-    10dc:	83 30       	cpi	r24, 0x03	; 3
-    10de:	19 f4       	brne	.+6      	; 0x10e6 <main+0x290>
+    10e0:	81 30       	cpi	r24, 0x01	; 1
+    10e2:	19 f0       	breq	.+6      	; 0x10ea <main+0x294>
+    10e4:	83 30       	cpi	r24, 0x03	; 3
+    10e6:	81 f0       	breq	.+32     	; 0x1108 <main+0x2b2>
+    10e8:	12 c0       	rjmp	.+36     	; 0x110e <main+0x2b8>
+}
+
+
+static void toggleOutputEnable(void)
+{
+OutputEnabled = !OutputEnabled;
+    10ea:	90 91 20 01 	lds	r25, 0x0120	; 0x800120 <__data_end>
+    10ee:	81 e0       	ldi	r24, 0x01	; 1
+    10f0:	91 11       	cpse	r25, r1
+    10f2:	80 e0       	ldi	r24, 0x00	; 0
+    10f4:	80 93 20 01 	sts	0x0120, r24	; 0x800120 <__data_end>
+if (OutputEnabled) PORTB &= ~(_BV(OUTPUT_ENABLE_PIN));
+    10f8:	80 91 20 01 	lds	r24, 0x0120	; 0x800120 <__data_end>
+    10fc:	88 23       	and	r24, r24
+    10fe:	11 f0       	breq	.+4      	; 0x1104 <main+0x2ae>
+    1100:	2d 98       	cbi	0x05, 5	; 5
+    1102:	07 c0       	rjmp	.+14     	; 0x1112 <main+0x2bc>
+    else PORTB |= _BV(OUTPUT_ENABLE_PIN);
+    1104:	2d 9a       	sbi	0x05, 5	; 5
+    1106:	05 c0       	rjmp	.+10     	; 0x1112 <main+0x2bc>
 		{
 // with external control first button is output enable/disable            
-//        case 1 : toggleOutputEnable();
-//             break;  
+        case 1 : toggleOutputEnable();
+             break;  
 // pressing black (1) and red (2) button simultaneously goes to sub menu
 		case 3 : execExtendedCommand();
-    10e0:	0e 94 9b 03 	call	0x736	; 0x736 <execExtendedCommand>
-    10e4:	02 c0       	rjmp	.+4      	; 0x10ea <main+0x294>
+    1108:	0e 94 9b 03 	call	0x736	; 0x736 <execExtendedCommand>
+    110c:	02 c0       	rjmp	.+4      	; 0x1112 <main+0x2bc>
 			 break;
 		default: i = 0; break;
-    10e6:	10 92 24 01 	sts	0x0124, r1	; 0x800124 <i.2400>
+    110e:	10 92 24 01 	sts	0x0124, r1	; 0x800124 <i.2400>
 		} // switch
    }  // external control
 // simple autorepeater
 	if (keyin() > 0) {
-    10ea:	0e 94 36 03 	call	0x66c	; 0x66c <keyin>
-    10ee:	88 23       	and	r24, r24
-    10f0:	c9 f0       	breq	.+50     	; 0x1124 <main+0x2ce>
+    1112:	0e 94 36 03 	call	0x66c	; 0x66c <keyin>
+    1116:	88 23       	and	r24, r24
+    1118:	c9 f0       	breq	.+50     	; 0x114c <main+0x2f6>
 	i++;
-    10f2:	80 91 24 01 	lds	r24, 0x0124	; 0x800124 <i.2400>
-    10f6:	8f 5f       	subi	r24, 0xFF	; 255
-    10f8:	80 93 24 01 	sts	0x0124, r24	; 0x800124 <i.2400>
+    111a:	80 91 24 01 	lds	r24, 0x0124	; 0x800124 <i.2400>
+    111e:	8f 5f       	subi	r24, 0xFF	; 255
+    1120:	80 93 24 01 	sts	0x0124, r24	; 0x800124 <i.2400>
 	if (i<10) _delay_ms(60);
-    10fc:	8a 30       	cpi	r24, 0x0A	; 10
-    10fe:	50 f4       	brcc	.+20     	; 0x1114 <main+0x2be>
-    1100:	2f ef       	ldi	r18, 0xFF	; 255
-    1102:	8d ee       	ldi	r24, 0xED	; 237
-    1104:	92 e0       	ldi	r25, 0x02	; 2
-    1106:	21 50       	subi	r18, 0x01	; 1
-    1108:	80 40       	sbci	r24, 0x00	; 0
-    110a:	90 40       	sbci	r25, 0x00	; 0
-    110c:	e1 f7       	brne	.-8      	; 0x1106 <main+0x2b0>
-    110e:	00 c0       	rjmp	.+0      	; 0x1110 <main+0x2ba>
-    1110:	00 00       	nop
-    1112:	08 c0       	rjmp	.+16     	; 0x1124 <main+0x2ce>
-    1114:	ef e3       	ldi	r30, 0x3F	; 63
-    1116:	fc e9       	ldi	r31, 0x9C	; 156
-    1118:	31 97       	sbiw	r30, 0x01	; 1
-    111a:	f1 f7       	brne	.-4      	; 0x1118 <main+0x2c2>
-    111c:	00 c0       	rjmp	.+0      	; 0x111e <main+0x2c8>
-    111e:	00 00       	nop
+    1124:	8a 30       	cpi	r24, 0x0A	; 10
+    1126:	50 f4       	brcc	.+20     	; 0x113c <main+0x2e6>
+    1128:	2f ef       	ldi	r18, 0xFF	; 255
+    112a:	8d ee       	ldi	r24, 0xED	; 237
+    112c:	92 e0       	ldi	r25, 0x02	; 2
+    112e:	21 50       	subi	r18, 0x01	; 1
+    1130:	80 40       	sbci	r24, 0x00	; 0
+    1132:	90 40       	sbci	r25, 0x00	; 0
+    1134:	e1 f7       	brne	.-8      	; 0x112e <main+0x2d8>
+    1136:	00 c0       	rjmp	.+0      	; 0x1138 <main+0x2e2>
+    1138:	00 00       	nop
+    113a:	08 c0       	rjmp	.+16     	; 0x114c <main+0x2f6>
+    113c:	ef e3       	ldi	r30, 0x3F	; 63
+    113e:	fc e9       	ldi	r31, 0x9C	; 156
+    1140:	31 97       	sbiw	r30, 0x01	; 1
+    1142:	f1 f7       	brne	.-4      	; 0x1140 <main+0x2ea>
+    1144:	00 c0       	rjmp	.+0      	; 0x1146 <main+0x2f0>
+    1146:	00 00       	nop
 	else {
 		_delay_ms(10);
 		i = 11;
-    1120:	00 93 24 01 	sts	0x0124, r16	; 0x800124 <i.2400>
+    1148:	00 93 24 01 	sts	0x0124, r16	; 0x800124 <i.2400>
  */
 static void showPars(void)
 {
 const uint8_t *p = cursorpos;
 
 	lcd_gotoxy(0,1);  	
-    1124:	61 e0       	ldi	r22, 0x01	; 1
-    1126:	80 e0       	ldi	r24, 0x00	; 0
-    1128:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
+    114c:	61 e0       	ldi	r22, 0x01	; 1
+    114e:	80 e0       	ldi	r24, 0x00	; 0
+    1150:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
 	printdec(freq);printspc();lcd_gotoxy(6,1);
-    112c:	80 91 25 01 	lds	r24, 0x0125	; 0x800125 <freq>
-    1130:	90 91 26 01 	lds	r25, 0x0126	; 0x800126 <freq+0x1>
-    1134:	0e 94 d8 02 	call	0x5b0	; 0x5b0 <printdec>
-    1138:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
-    113c:	61 e0       	ldi	r22, 0x01	; 1
-    113e:	86 e0       	ldi	r24, 0x06	; 6
-    1140:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
+    1154:	80 91 25 01 	lds	r24, 0x0125	; 0x800125 <freq>
+    1158:	90 91 26 01 	lds	r25, 0x0126	; 0x800126 <freq+0x1>
+    115c:	0e 94 d8 02 	call	0x5b0	; 0x5b0 <printdec>
+    1160:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
+    1164:	61 e0       	ldi	r22, 0x01	; 1
+    1166:	86 e0       	ldi	r24, 0x06	; 6
+    1168:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
 	printdec(VperHz);printspc();printspc();lcd_gotoxy(12,1);
-    1144:	87 2d       	mov	r24, r7
-    1146:	90 e0       	ldi	r25, 0x00	; 0
-    1148:	0e 94 d8 02 	call	0x5b0	; 0x5b0 <printdec>
-    114c:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
-    1150:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
-    1154:	61 e0       	ldi	r22, 0x01	; 1
-    1156:	8c e0       	ldi	r24, 0x0C	; 12
-    1158:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
+    116c:	87 2d       	mov	r24, r7
+    116e:	90 e0       	ldi	r25, 0x00	; 0
+    1170:	0e 94 d8 02 	call	0x5b0	; 0x5b0 <printdec>
+    1174:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
+    1178:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
+    117c:	61 e0       	ldi	r22, 0x01	; 1
+    117e:	8c e0       	ldi	r24, 0x0C	; 12
+    1180:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
 	printnum((uint16_t)(amplitude*100)/255);lcd_putc('%');printspc();
-    115c:	f4 e6       	ldi	r31, 0x64	; 100
-    115e:	6f 9e       	mul	r6, r31
-    1160:	c0 01       	movw	r24, r0
-    1162:	11 24       	eor	r1, r1
-    1164:	be 01       	movw	r22, r28
-    1166:	0e 94 ea 08 	call	0x11d4	; 0x11d4 <__udivmodhi4>
-    116a:	cb 01       	movw	r24, r22
-    116c:	4a e0       	ldi	r20, 0x0A	; 10
-    116e:	60 e0       	ldi	r22, 0x00	; 0
-    1170:	71 e0       	ldi	r23, 0x01	; 1
-    1172:	0e 94 75 09 	call	0x12ea	; 0x12ea <__itoa_ncheck>
+    1184:	f4 e6       	ldi	r31, 0x64	; 100
+    1186:	6f 9e       	mul	r6, r31
+    1188:	c0 01       	movw	r24, r0
+    118a:	11 24       	eor	r1, r1
+    118c:	be 01       	movw	r22, r28
+    118e:	0e 94 fe 08 	call	0x11fc	; 0x11fc <__udivmodhi4>
+    1192:	cb 01       	movw	r24, r22
+    1194:	4a e0       	ldi	r20, 0x0A	; 10
+    1196:	60 e0       	ldi	r22, 0x00	; 0
+    1198:	71 e0       	ldi	r23, 0x01	; 1
+    119a:	0e 94 89 09 	call	0x1312	; 0x1312 <__itoa_ncheck>
 		lcd_putc(dectable[n]);
 	}
 }
 static void printnum(int16_t number) {
 uint8_t n,i;
 	a = itoa(number,dectable,10);
-    1176:	80 93 3c 01 	sts	0x013C, r24	; 0x80013c <a>
+    119e:	80 93 3c 01 	sts	0x013C, r24	; 0x80013c <a>
 	i = strlen(dectable);
-    117a:	e0 e0       	ldi	r30, 0x00	; 0
-    117c:	f1 e0       	ldi	r31, 0x01	; 1
-    117e:	01 90       	ld	r0, Z+
-    1180:	00 20       	and	r0, r0
-    1182:	e9 f7       	brne	.-6      	; 0x117e <main+0x328>
-    1184:	31 97       	sbiw	r30, 0x01	; 1
-    1186:	e0 50       	subi	r30, 0x00	; 0
-    1188:	f1 40       	sbci	r31, 0x01	; 1
-    118a:	1e 2f       	mov	r17, r30
-    118c:	80 e0       	ldi	r24, 0x00	; 0
-    118e:	e8 2e       	mov	r14, r24
-    1190:	81 e0       	ldi	r24, 0x01	; 1
-    1192:	f8 2e       	mov	r15, r24
-    1194:	67 01       	movw	r12, r14
-    1196:	8c 2d       	mov	r24, r12
-    1198:	8e 19       	sub	r24, r14
+    11a2:	e0 e0       	ldi	r30, 0x00	; 0
+    11a4:	f1 e0       	ldi	r31, 0x01	; 1
+    11a6:	01 90       	ld	r0, Z+
+    11a8:	00 20       	and	r0, r0
+    11aa:	e9 f7       	brne	.-6      	; 0x11a6 <main+0x350>
+    11ac:	31 97       	sbiw	r30, 0x01	; 1
+    11ae:	e0 50       	subi	r30, 0x00	; 0
+    11b0:	f1 40       	sbci	r31, 0x01	; 1
+    11b2:	1e 2f       	mov	r17, r30
+    11b4:	80 e0       	ldi	r24, 0x00	; 0
+    11b6:	e8 2e       	mov	r14, r24
+    11b8:	81 e0       	ldi	r24, 0x01	; 1
+    11ba:	f8 2e       	mov	r15, r24
+    11bc:	67 01       	movw	r12, r14
+    11be:	8c 2d       	mov	r24, r12
+    11c0:	8e 19       	sub	r24, r14
 	for (n=0;n < i;n++) {
-    119a:	81 17       	cp	r24, r17
-    119c:	30 f4       	brcc	.+12     	; 0x11aa <main+0x354>
+    11c2:	81 17       	cp	r24, r17
+    11c4:	30 f4       	brcc	.+12     	; 0x11d2 <main+0x37c>
 		lcd_putc(dectable[n]);
-    119e:	f6 01       	movw	r30, r12
-    11a0:	81 91       	ld	r24, Z+
-    11a2:	6f 01       	movw	r12, r30
-    11a4:	0e 94 c4 06 	call	0xd88	; 0xd88 <lcd_putc>
-    11a8:	f6 cf       	rjmp	.-20     	; 0x1196 <main+0x340>
+    11c6:	f6 01       	movw	r30, r12
+    11c8:	81 91       	ld	r24, Z+
+    11ca:	6f 01       	movw	r12, r30
+    11cc:	0e 94 c4 06 	call	0xd88	; 0xd88 <lcd_putc>
+    11d0:	f6 cf       	rjmp	.-20     	; 0x11be <main+0x368>
 const uint8_t *p = cursorpos;
 
 	lcd_gotoxy(0,1);  	
 	printdec(freq);printspc();lcd_gotoxy(6,1);
 	printdec(VperHz);printspc();printspc();lcd_gotoxy(12,1);
 	printnum((uint16_t)(amplitude*100)/255);lcd_putc('%');printspc();
-    11aa:	85 e2       	ldi	r24, 0x25	; 37
-    11ac:	0e 94 c4 06 	call	0xd88	; 0xd88 <lcd_putc>
-    11b0:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
+    11d2:	85 e2       	ldi	r24, 0x25	; 37
+    11d4:	0e 94 c4 06 	call	0xd88	; 0xd88 <lcd_putc>
+    11d8:	0e 94 d5 02 	call	0x5aa	; 0x5aa <printspc>
 	lcd_gotoxy(pgm_read_byte(p+parameter),1); // set cursor below active parameter
-    11b4:	e0 91 22 01 	lds	r30, 0x0122	; 0x800122 <parameter>
-    11b8:	f0 e0       	ldi	r31, 0x00	; 0
-    11ba:	e7 5d       	subi	r30, 0xD7	; 215
-    11bc:	fe 4f       	sbci	r31, 0xFE	; 254
-    11be:	84 91       	lpm	r24, Z
-    11c0:	61 e0       	ldi	r22, 0x01	; 1
-    11c2:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
-    11c6:	8f e1       	ldi	r24, 0x1F	; 31
-    11c8:	9e e4       	ldi	r25, 0x4E	; 78
-    11ca:	01 97       	sbiw	r24, 0x01	; 1
-    11cc:	f1 f7       	brne	.-4      	; 0x11ca <main+0x374>
-    11ce:	00 c0       	rjmp	.+0      	; 0x11d0 <main+0x37a>
-    11d0:	00 00       	nop
-    11d2:	41 cf       	rjmp	.-382    	; 0x1056 <main+0x200>
-
-000011d4 <__udivmodhi4>:
-    11d4:	aa 1b       	sub	r26, r26
-    11d6:	bb 1b       	sub	r27, r27
-    11d8:	51 e1       	ldi	r21, 0x11	; 17
-    11da:	07 c0       	rjmp	.+14     	; 0x11ea <__udivmodhi4_ep>
-
-000011dc <__udivmodhi4_loop>:
-    11dc:	aa 1f       	adc	r26, r26
-    11de:	bb 1f       	adc	r27, r27
-    11e0:	a6 17       	cp	r26, r22
-    11e2:	b7 07       	cpc	r27, r23
-    11e4:	10 f0       	brcs	.+4      	; 0x11ea <__udivmodhi4_ep>
-    11e6:	a6 1b       	sub	r26, r22
-    11e8:	b7 0b       	sbc	r27, r23
-
-000011ea <__udivmodhi4_ep>:
-    11ea:	88 1f       	adc	r24, r24
-    11ec:	99 1f       	adc	r25, r25
-    11ee:	5a 95       	dec	r21
-    11f0:	a9 f7       	brne	.-22     	; 0x11dc <__udivmodhi4_loop>
-    11f2:	80 95       	com	r24
-    11f4:	90 95       	com	r25
-    11f6:	bc 01       	movw	r22, r24
-    11f8:	cd 01       	movw	r24, r26
-    11fa:	08 95       	ret
-
-000011fc <__divmodhi4>:
-    11fc:	97 fb       	bst	r25, 7
-    11fe:	07 2e       	mov	r0, r23
-    1200:	16 f4       	brtc	.+4      	; 0x1206 <__divmodhi4+0xa>
-    1202:	00 94       	com	r0
-    1204:	07 d0       	rcall	.+14     	; 0x1214 <__divmodhi4_neg1>
-    1206:	77 fd       	sbrc	r23, 7
-    1208:	09 d0       	rcall	.+18     	; 0x121c <__divmodhi4_neg2>
-    120a:	0e 94 ea 08 	call	0x11d4	; 0x11d4 <__udivmodhi4>
-    120e:	07 fc       	sbrc	r0, 7
-    1210:	05 d0       	rcall	.+10     	; 0x121c <__divmodhi4_neg2>
-    1212:	3e f4       	brtc	.+14     	; 0x1222 <__divmodhi4_exit>
-
-00001214 <__divmodhi4_neg1>:
-    1214:	90 95       	com	r25
-    1216:	81 95       	neg	r24
-    1218:	9f 4f       	sbci	r25, 0xFF	; 255
-    121a:	08 95       	ret
-
-0000121c <__divmodhi4_neg2>:
-    121c:	70 95       	com	r23
-    121e:	61 95       	neg	r22
-    1220:	7f 4f       	sbci	r23, 0xFF	; 255
-
-00001222 <__divmodhi4_exit>:
+    11dc:	e0 91 22 01 	lds	r30, 0x0122	; 0x800122 <parameter>
+    11e0:	f0 e0       	ldi	r31, 0x00	; 0
+    11e2:	e7 5d       	subi	r30, 0xD7	; 215
+    11e4:	fe 4f       	sbci	r31, 0xFE	; 254
+    11e6:	84 91       	lpm	r24, Z
+    11e8:	61 e0       	ldi	r22, 0x01	; 1
+    11ea:	0e 94 b3 06 	call	0xd66	; 0xd66 <lcd_gotoxy>
+    11ee:	8f e1       	ldi	r24, 0x1F	; 31
+    11f0:	9e e4       	ldi	r25, 0x4E	; 78
+    11f2:	01 97       	sbiw	r24, 0x01	; 1
+    11f4:	f1 f7       	brne	.-4      	; 0x11f2 <main+0x39c>
+    11f6:	00 c0       	rjmp	.+0      	; 0x11f8 <main+0x3a2>
+    11f8:	00 00       	nop
+    11fa:	2d cf       	rjmp	.-422    	; 0x1056 <main+0x200>
+
+000011fc <__udivmodhi4>:
+    11fc:	aa 1b       	sub	r26, r26
+    11fe:	bb 1b       	sub	r27, r27
+    1200:	51 e1       	ldi	r21, 0x11	; 17
+    1202:	07 c0       	rjmp	.+14     	; 0x1212 <__udivmodhi4_ep>
+
+00001204 <__udivmodhi4_loop>:
+    1204:	aa 1f       	adc	r26, r26
+    1206:	bb 1f       	adc	r27, r27
+    1208:	a6 17       	cp	r26, r22
+    120a:	b7 07       	cpc	r27, r23
+    120c:	10 f0       	brcs	.+4      	; 0x1212 <__udivmodhi4_ep>
+    120e:	a6 1b       	sub	r26, r22
+    1210:	b7 0b       	sbc	r27, r23
+
+00001212 <__udivmodhi4_ep>:
+    1212:	88 1f       	adc	r24, r24
+    1214:	99 1f       	adc	r25, r25
+    1216:	5a 95       	dec	r21
+    1218:	a9 f7       	brne	.-22     	; 0x1204 <__udivmodhi4_loop>
+    121a:	80 95       	com	r24
+    121c:	90 95       	com	r25
+    121e:	bc 01       	movw	r22, r24
+    1220:	cd 01       	movw	r24, r26
     1222:	08 95       	ret
 
-00001224 <__udivmodsi4>:
-    1224:	a1 e2       	ldi	r26, 0x21	; 33
-    1226:	1a 2e       	mov	r1, r26
-    1228:	aa 1b       	sub	r26, r26
-    122a:	bb 1b       	sub	r27, r27
-    122c:	fd 01       	movw	r30, r26
-    122e:	0d c0       	rjmp	.+26     	; 0x124a <__udivmodsi4_ep>
-
-00001230 <__udivmodsi4_loop>:
-    1230:	aa 1f       	adc	r26, r26
-    1232:	bb 1f       	adc	r27, r27
-    1234:	ee 1f       	adc	r30, r30
-    1236:	ff 1f       	adc	r31, r31
-    1238:	a2 17       	cp	r26, r18
-    123a:	b3 07       	cpc	r27, r19
-    123c:	e4 07       	cpc	r30, r20
-    123e:	f5 07       	cpc	r31, r21
-    1240:	20 f0       	brcs	.+8      	; 0x124a <__udivmodsi4_ep>
-    1242:	a2 1b       	sub	r26, r18
-    1244:	b3 0b       	sbc	r27, r19
-    1246:	e4 0b       	sbc	r30, r20
-    1248:	f5 0b       	sbc	r31, r21
-
-0000124a <__udivmodsi4_ep>:
-    124a:	66 1f       	adc	r22, r22
-    124c:	77 1f       	adc	r23, r23
-    124e:	88 1f       	adc	r24, r24
-    1250:	99 1f       	adc	r25, r25
-    1252:	1a 94       	dec	r1
-    1254:	69 f7       	brne	.-38     	; 0x1230 <__udivmodsi4_loop>
-    1256:	60 95       	com	r22
-    1258:	70 95       	com	r23
-    125a:	80 95       	com	r24
-    125c:	90 95       	com	r25
-    125e:	9b 01       	movw	r18, r22
-    1260:	ac 01       	movw	r20, r24
-    1262:	bd 01       	movw	r22, r26
-    1264:	cf 01       	movw	r24, r30
-    1266:	08 95       	ret
-
-00001268 <__divmodsi4>:
-    1268:	05 2e       	mov	r0, r21
-    126a:	97 fb       	bst	r25, 7
-    126c:	1e f4       	brtc	.+6      	; 0x1274 <__divmodsi4+0xc>
-    126e:	00 94       	com	r0
-    1270:	0e 94 4b 09 	call	0x1296	; 0x1296 <__negsi2>
-    1274:	57 fd       	sbrc	r21, 7
-    1276:	07 d0       	rcall	.+14     	; 0x1286 <__divmodsi4_neg2>
-    1278:	0e 94 12 09 	call	0x1224	; 0x1224 <__udivmodsi4>
-    127c:	07 fc       	sbrc	r0, 7
-    127e:	03 d0       	rcall	.+6      	; 0x1286 <__divmodsi4_neg2>
-    1280:	4e f4       	brtc	.+18     	; 0x1294 <__divmodsi4_exit>
-    1282:	0c 94 4b 09 	jmp	0x1296	; 0x1296 <__negsi2>
-
-00001286 <__divmodsi4_neg2>:
-    1286:	50 95       	com	r21
-    1288:	40 95       	com	r20
-    128a:	30 95       	com	r19
-    128c:	21 95       	neg	r18
-    128e:	3f 4f       	sbci	r19, 0xFF	; 255
-    1290:	4f 4f       	sbci	r20, 0xFF	; 255
-    1292:	5f 4f       	sbci	r21, 0xFF	; 255
-
-00001294 <__divmodsi4_exit>:
-    1294:	08 95       	ret
-
-00001296 <__negsi2>:
-    1296:	90 95       	com	r25
-    1298:	80 95       	com	r24
-    129a:	70 95       	com	r23
-    129c:	61 95       	neg	r22
-    129e:	7f 4f       	sbci	r23, 0xFF	; 255
-    12a0:	8f 4f       	sbci	r24, 0xFF	; 255
-    12a2:	9f 4f       	sbci	r25, 0xFF	; 255
-    12a4:	08 95       	ret
-
-000012a6 <__umulhisi3>:
-    12a6:	a2 9f       	mul	r26, r18
-    12a8:	b0 01       	movw	r22, r0
-    12aa:	b3 9f       	mul	r27, r19
-    12ac:	c0 01       	movw	r24, r0
-    12ae:	a3 9f       	mul	r26, r19
-    12b0:	70 0d       	add	r23, r0
-    12b2:	81 1d       	adc	r24, r1
-    12b4:	11 24       	eor	r1, r1
-    12b6:	91 1d       	adc	r25, r1
-    12b8:	b2 9f       	mul	r27, r18
-    12ba:	70 0d       	add	r23, r0
-    12bc:	81 1d       	adc	r24, r1
-    12be:	11 24       	eor	r1, r1
-    12c0:	91 1d       	adc	r25, r1
-    12c2:	08 95       	ret
-
-000012c4 <__mulshisi3>:
-    12c4:	b7 ff       	sbrs	r27, 7
-    12c6:	0c 94 6a 09 	jmp	0x12d4	; 0x12d4 <__muluhisi3>
-
-000012ca <__mulohisi3>:
-    12ca:	0e 94 6a 09 	call	0x12d4	; 0x12d4 <__muluhisi3>
-    12ce:	82 1b       	sub	r24, r18
-    12d0:	93 0b       	sbc	r25, r19
-    12d2:	08 95       	ret
-
-000012d4 <__muluhisi3>:
-    12d4:	0e 94 53 09 	call	0x12a6	; 0x12a6 <__umulhisi3>
-    12d8:	a5 9f       	mul	r26, r21
-    12da:	90 0d       	add	r25, r0
-    12dc:	b4 9f       	mul	r27, r20
-    12de:	90 0d       	add	r25, r0
-    12e0:	a4 9f       	mul	r26, r20
-    12e2:	80 0d       	add	r24, r0
-    12e4:	91 1d       	adc	r25, r1
+00001224 <__divmodhi4>:
+    1224:	97 fb       	bst	r25, 7
+    1226:	07 2e       	mov	r0, r23
+    1228:	16 f4       	brtc	.+4      	; 0x122e <__divmodhi4+0xa>
+    122a:	00 94       	com	r0
+    122c:	07 d0       	rcall	.+14     	; 0x123c <__divmodhi4_neg1>
+    122e:	77 fd       	sbrc	r23, 7
+    1230:	09 d0       	rcall	.+18     	; 0x1244 <__divmodhi4_neg2>
+    1232:	0e 94 fe 08 	call	0x11fc	; 0x11fc <__udivmodhi4>
+    1236:	07 fc       	sbrc	r0, 7
+    1238:	05 d0       	rcall	.+10     	; 0x1244 <__divmodhi4_neg2>
+    123a:	3e f4       	brtc	.+14     	; 0x124a <__divmodhi4_exit>
+
+0000123c <__divmodhi4_neg1>:
+    123c:	90 95       	com	r25
+    123e:	81 95       	neg	r24
+    1240:	9f 4f       	sbci	r25, 0xFF	; 255
+    1242:	08 95       	ret
+
+00001244 <__divmodhi4_neg2>:
+    1244:	70 95       	com	r23
+    1246:	61 95       	neg	r22
+    1248:	7f 4f       	sbci	r23, 0xFF	; 255
+
+0000124a <__divmodhi4_exit>:
+    124a:	08 95       	ret
+
+0000124c <__udivmodsi4>:
+    124c:	a1 e2       	ldi	r26, 0x21	; 33
+    124e:	1a 2e       	mov	r1, r26
+    1250:	aa 1b       	sub	r26, r26
+    1252:	bb 1b       	sub	r27, r27
+    1254:	fd 01       	movw	r30, r26
+    1256:	0d c0       	rjmp	.+26     	; 0x1272 <__udivmodsi4_ep>
+
+00001258 <__udivmodsi4_loop>:
+    1258:	aa 1f       	adc	r26, r26
+    125a:	bb 1f       	adc	r27, r27
+    125c:	ee 1f       	adc	r30, r30
+    125e:	ff 1f       	adc	r31, r31
+    1260:	a2 17       	cp	r26, r18
+    1262:	b3 07       	cpc	r27, r19
+    1264:	e4 07       	cpc	r30, r20
+    1266:	f5 07       	cpc	r31, r21
+    1268:	20 f0       	brcs	.+8      	; 0x1272 <__udivmodsi4_ep>
+    126a:	a2 1b       	sub	r26, r18
+    126c:	b3 0b       	sbc	r27, r19
+    126e:	e4 0b       	sbc	r30, r20
+    1270:	f5 0b       	sbc	r31, r21
+
+00001272 <__udivmodsi4_ep>:
+    1272:	66 1f       	adc	r22, r22
+    1274:	77 1f       	adc	r23, r23
+    1276:	88 1f       	adc	r24, r24
+    1278:	99 1f       	adc	r25, r25
+    127a:	1a 94       	dec	r1
+    127c:	69 f7       	brne	.-38     	; 0x1258 <__udivmodsi4_loop>
+    127e:	60 95       	com	r22
+    1280:	70 95       	com	r23
+    1282:	80 95       	com	r24
+    1284:	90 95       	com	r25
+    1286:	9b 01       	movw	r18, r22
+    1288:	ac 01       	movw	r20, r24
+    128a:	bd 01       	movw	r22, r26
+    128c:	cf 01       	movw	r24, r30
+    128e:	08 95       	ret
+
+00001290 <__divmodsi4>:
+    1290:	05 2e       	mov	r0, r21
+    1292:	97 fb       	bst	r25, 7
+    1294:	1e f4       	brtc	.+6      	; 0x129c <__divmodsi4+0xc>
+    1296:	00 94       	com	r0
+    1298:	0e 94 5f 09 	call	0x12be	; 0x12be <__negsi2>
+    129c:	57 fd       	sbrc	r21, 7
+    129e:	07 d0       	rcall	.+14     	; 0x12ae <__divmodsi4_neg2>
+    12a0:	0e 94 26 09 	call	0x124c	; 0x124c <__udivmodsi4>
+    12a4:	07 fc       	sbrc	r0, 7
+    12a6:	03 d0       	rcall	.+6      	; 0x12ae <__divmodsi4_neg2>
+    12a8:	4e f4       	brtc	.+18     	; 0x12bc <__divmodsi4_exit>
+    12aa:	0c 94 5f 09 	jmp	0x12be	; 0x12be <__negsi2>
+
+000012ae <__divmodsi4_neg2>:
+    12ae:	50 95       	com	r21
+    12b0:	40 95       	com	r20
+    12b2:	30 95       	com	r19
+    12b4:	21 95       	neg	r18
+    12b6:	3f 4f       	sbci	r19, 0xFF	; 255
+    12b8:	4f 4f       	sbci	r20, 0xFF	; 255
+    12ba:	5f 4f       	sbci	r21, 0xFF	; 255
+
+000012bc <__divmodsi4_exit>:
+    12bc:	08 95       	ret
+
+000012be <__negsi2>:
+    12be:	90 95       	com	r25
+    12c0:	80 95       	com	r24
+    12c2:	70 95       	com	r23
+    12c4:	61 95       	neg	r22
+    12c6:	7f 4f       	sbci	r23, 0xFF	; 255
+    12c8:	8f 4f       	sbci	r24, 0xFF	; 255
+    12ca:	9f 4f       	sbci	r25, 0xFF	; 255
+    12cc:	08 95       	ret
+
+000012ce <__umulhisi3>:
+    12ce:	a2 9f       	mul	r26, r18
+    12d0:	b0 01       	movw	r22, r0
+    12d2:	b3 9f       	mul	r27, r19
+    12d4:	c0 01       	movw	r24, r0
+    12d6:	a3 9f       	mul	r26, r19
+    12d8:	70 0d       	add	r23, r0
+    12da:	81 1d       	adc	r24, r1
+    12dc:	11 24       	eor	r1, r1
+    12de:	91 1d       	adc	r25, r1
+    12e0:	b2 9f       	mul	r27, r18
+    12e2:	70 0d       	add	r23, r0
+    12e4:	81 1d       	adc	r24, r1
     12e6:	11 24       	eor	r1, r1
-    12e8:	08 95       	ret
-
-000012ea <__itoa_ncheck>:
-    12ea:	bb 27       	eor	r27, r27
-    12ec:	4a 30       	cpi	r20, 0x0A	; 10
-    12ee:	31 f4       	brne	.+12     	; 0x12fc <__itoa_ncheck+0x12>
-    12f0:	99 23       	and	r25, r25
-    12f2:	22 f4       	brpl	.+8      	; 0x12fc <__itoa_ncheck+0x12>
-    12f4:	bd e2       	ldi	r27, 0x2D	; 45
-    12f6:	90 95       	com	r25
-    12f8:	81 95       	neg	r24
-    12fa:	9f 4f       	sbci	r25, 0xFF	; 255
-    12fc:	0c 94 81 09 	jmp	0x1302	; 0x1302 <__utoa_common>
-
-00001300 <__utoa_ncheck>:
-    1300:	bb 27       	eor	r27, r27
-
-00001302 <__utoa_common>:
-    1302:	fb 01       	movw	r30, r22
-    1304:	55 27       	eor	r21, r21
-    1306:	aa 27       	eor	r26, r26
-    1308:	88 0f       	add	r24, r24
-    130a:	99 1f       	adc	r25, r25
-    130c:	aa 1f       	adc	r26, r26
-    130e:	a4 17       	cp	r26, r20
-    1310:	10 f0       	brcs	.+4      	; 0x1316 <__utoa_common+0x14>
-    1312:	a4 1b       	sub	r26, r20
-    1314:	83 95       	inc	r24
-    1316:	50 51       	subi	r21, 0x10	; 16
-    1318:	b9 f7       	brne	.-18     	; 0x1308 <__utoa_common+0x6>
-    131a:	a0 5d       	subi	r26, 0xD0	; 208
-    131c:	aa 33       	cpi	r26, 0x3A	; 58
-    131e:	08 f0       	brcs	.+2      	; 0x1322 <__utoa_common+0x20>
-    1320:	a9 5d       	subi	r26, 0xD9	; 217
-    1322:	a1 93       	st	Z+, r26
-    1324:	00 97       	sbiw	r24, 0x00	; 0
-    1326:	79 f7       	brne	.-34     	; 0x1306 <__utoa_common+0x4>
-    1328:	b1 11       	cpse	r27, r1
-    132a:	b1 93       	st	Z+, r27
-    132c:	11 92       	st	Z+, r1
-    132e:	cb 01       	movw	r24, r22
-    1330:	0c 94 9a 09 	jmp	0x1334	; 0x1334 <strrev>
-
-00001334 <strrev>:
-    1334:	dc 01       	movw	r26, r24
-    1336:	fc 01       	movw	r30, r24
-    1338:	67 2f       	mov	r22, r23
-    133a:	71 91       	ld	r23, Z+
-    133c:	77 23       	and	r23, r23
-    133e:	e1 f7       	brne	.-8      	; 0x1338 <strrev+0x4>
-    1340:	32 97       	sbiw	r30, 0x02	; 2
-    1342:	04 c0       	rjmp	.+8      	; 0x134c <strrev+0x18>
-    1344:	7c 91       	ld	r23, X
-    1346:	6d 93       	st	X+, r22
-    1348:	70 83       	st	Z, r23
-    134a:	62 91       	ld	r22, -Z
-    134c:	ae 17       	cp	r26, r30
-    134e:	bf 07       	cpc	r27, r31
-    1350:	c8 f3       	brcs	.-14     	; 0x1344 <strrev+0x10>
-    1352:	08 95       	ret
-
-00001354 <eeprom_read_byte>:
-    1354:	f9 99       	sbic	0x1f, 1	; 31
-    1356:	fe cf       	rjmp	.-4      	; 0x1354 <eeprom_read_byte>
-    1358:	92 bd       	out	0x22, r25	; 34
-    135a:	81 bd       	out	0x21, r24	; 33
-    135c:	f8 9a       	sbi	0x1f, 0	; 31
-    135e:	99 27       	eor	r25, r25
-    1360:	80 b5       	in	r24, 0x20	; 32
-    1362:	08 95       	ret
-
-00001364 <eeprom_read_word>:
-    1364:	a8 e1       	ldi	r26, 0x18	; 24
-    1366:	b0 e0       	ldi	r27, 0x00	; 0
-    1368:	42 e0       	ldi	r20, 0x02	; 2
-    136a:	50 e0       	ldi	r21, 0x00	; 0
-    136c:	0c 94 cd 09 	jmp	0x139a	; 0x139a <eeprom_read_blraw>
-
-00001370 <eeprom_write_byte>:
-    1370:	26 2f       	mov	r18, r22
-
-00001372 <eeprom_write_r18>:
-    1372:	f9 99       	sbic	0x1f, 1	; 31
-    1374:	fe cf       	rjmp	.-4      	; 0x1372 <eeprom_write_r18>
-    1376:	1f ba       	out	0x1f, r1	; 31
-    1378:	92 bd       	out	0x22, r25	; 34
-    137a:	81 bd       	out	0x21, r24	; 33
-    137c:	20 bd       	out	0x20, r18	; 32
-    137e:	0f b6       	in	r0, 0x3f	; 63
-    1380:	f8 94       	cli
-    1382:	fa 9a       	sbi	0x1f, 2	; 31
-    1384:	f9 9a       	sbi	0x1f, 1	; 31
-    1386:	0f be       	out	0x3f, r0	; 63
-    1388:	01 96       	adiw	r24, 0x01	; 1
+    12e8:	91 1d       	adc	r25, r1
+    12ea:	08 95       	ret
+
+000012ec <__mulshisi3>:
+    12ec:	b7 ff       	sbrs	r27, 7
+    12ee:	0c 94 7e 09 	jmp	0x12fc	; 0x12fc <__muluhisi3>
+
+000012f2 <__mulohisi3>:
+    12f2:	0e 94 7e 09 	call	0x12fc	; 0x12fc <__muluhisi3>
+    12f6:	82 1b       	sub	r24, r18
+    12f8:	93 0b       	sbc	r25, r19
+    12fa:	08 95       	ret
+
+000012fc <__muluhisi3>:
+    12fc:	0e 94 67 09 	call	0x12ce	; 0x12ce <__umulhisi3>
+    1300:	a5 9f       	mul	r26, r21
+    1302:	90 0d       	add	r25, r0
+    1304:	b4 9f       	mul	r27, r20
+    1306:	90 0d       	add	r25, r0
+    1308:	a4 9f       	mul	r26, r20
+    130a:	80 0d       	add	r24, r0
+    130c:	91 1d       	adc	r25, r1
+    130e:	11 24       	eor	r1, r1
+    1310:	08 95       	ret
+
+00001312 <__itoa_ncheck>:
+    1312:	bb 27       	eor	r27, r27
+    1314:	4a 30       	cpi	r20, 0x0A	; 10
+    1316:	31 f4       	brne	.+12     	; 0x1324 <__itoa_ncheck+0x12>
+    1318:	99 23       	and	r25, r25
+    131a:	22 f4       	brpl	.+8      	; 0x1324 <__itoa_ncheck+0x12>
+    131c:	bd e2       	ldi	r27, 0x2D	; 45
+    131e:	90 95       	com	r25
+    1320:	81 95       	neg	r24
+    1322:	9f 4f       	sbci	r25, 0xFF	; 255
+    1324:	0c 94 95 09 	jmp	0x132a	; 0x132a <__utoa_common>
+
+00001328 <__utoa_ncheck>:
+    1328:	bb 27       	eor	r27, r27
+
+0000132a <__utoa_common>:
+    132a:	fb 01       	movw	r30, r22
+    132c:	55 27       	eor	r21, r21
+    132e:	aa 27       	eor	r26, r26
+    1330:	88 0f       	add	r24, r24
+    1332:	99 1f       	adc	r25, r25
+    1334:	aa 1f       	adc	r26, r26
+    1336:	a4 17       	cp	r26, r20
+    1338:	10 f0       	brcs	.+4      	; 0x133e <__utoa_common+0x14>
+    133a:	a4 1b       	sub	r26, r20
+    133c:	83 95       	inc	r24
+    133e:	50 51       	subi	r21, 0x10	; 16
+    1340:	b9 f7       	brne	.-18     	; 0x1330 <__utoa_common+0x6>
+    1342:	a0 5d       	subi	r26, 0xD0	; 208
+    1344:	aa 33       	cpi	r26, 0x3A	; 58
+    1346:	08 f0       	brcs	.+2      	; 0x134a <__utoa_common+0x20>
+    1348:	a9 5d       	subi	r26, 0xD9	; 217
+    134a:	a1 93       	st	Z+, r26
+    134c:	00 97       	sbiw	r24, 0x00	; 0
+    134e:	79 f7       	brne	.-34     	; 0x132e <__utoa_common+0x4>
+    1350:	b1 11       	cpse	r27, r1
+    1352:	b1 93       	st	Z+, r27
+    1354:	11 92       	st	Z+, r1
+    1356:	cb 01       	movw	r24, r22
+    1358:	0c 94 ae 09 	jmp	0x135c	; 0x135c <strrev>
+
+0000135c <strrev>:
+    135c:	dc 01       	movw	r26, r24
+    135e:	fc 01       	movw	r30, r24
+    1360:	67 2f       	mov	r22, r23
+    1362:	71 91       	ld	r23, Z+
+    1364:	77 23       	and	r23, r23
+    1366:	e1 f7       	brne	.-8      	; 0x1360 <strrev+0x4>
+    1368:	32 97       	sbiw	r30, 0x02	; 2
+    136a:	04 c0       	rjmp	.+8      	; 0x1374 <strrev+0x18>
+    136c:	7c 91       	ld	r23, X
+    136e:	6d 93       	st	X+, r22
+    1370:	70 83       	st	Z, r23
+    1372:	62 91       	ld	r22, -Z
+    1374:	ae 17       	cp	r26, r30
+    1376:	bf 07       	cpc	r27, r31
+    1378:	c8 f3       	brcs	.-14     	; 0x136c <strrev+0x10>
+    137a:	08 95       	ret
+
+0000137c <eeprom_read_byte>:
+    137c:	f9 99       	sbic	0x1f, 1	; 31
+    137e:	fe cf       	rjmp	.-4      	; 0x137c <eeprom_read_byte>
+    1380:	92 bd       	out	0x22, r25	; 34
+    1382:	81 bd       	out	0x21, r24	; 33
+    1384:	f8 9a       	sbi	0x1f, 0	; 31
+    1386:	99 27       	eor	r25, r25
+    1388:	80 b5       	in	r24, 0x20	; 32
     138a:	08 95       	ret
 
-0000138c <eeprom_write_word>:
-    138c:	0e 94 b8 09 	call	0x1370	; 0x1370 <eeprom_write_byte>
-    1390:	27 2f       	mov	r18, r23
-    1392:	0c 94 b9 09 	jmp	0x1372	; 0x1372 <eeprom_write_r18>
-
-00001396 <eeprom_read_block>:
-    1396:	dc 01       	movw	r26, r24
-    1398:	cb 01       	movw	r24, r22
-
-0000139a <eeprom_read_blraw>:
-    139a:	fc 01       	movw	r30, r24
-    139c:	f9 99       	sbic	0x1f, 1	; 31
-    139e:	fe cf       	rjmp	.-4      	; 0x139c <eeprom_read_blraw+0x2>
-    13a0:	06 c0       	rjmp	.+12     	; 0x13ae <eeprom_read_blraw+0x14>
-    13a2:	f2 bd       	out	0x22, r31	; 34
-    13a4:	e1 bd       	out	0x21, r30	; 33
-    13a6:	f8 9a       	sbi	0x1f, 0	; 31
-    13a8:	31 96       	adiw	r30, 0x01	; 1
-    13aa:	00 b4       	in	r0, 0x20	; 32
-    13ac:	0d 92       	st	X+, r0
-    13ae:	41 50       	subi	r20, 0x01	; 1
-    13b0:	50 40       	sbci	r21, 0x00	; 0
-    13b2:	b8 f7       	brcc	.-18     	; 0x13a2 <eeprom_read_blraw+0x8>
-    13b4:	08 95       	ret
-
-000013b6 <_exit>:
-    13b6:	f8 94       	cli
-
-000013b8 <__stop_program>:
-    13b8:	ff cf       	rjmp	.-2      	; 0x13b8 <__stop_program>
+0000138c <eeprom_read_word>:
+    138c:	a8 e1       	ldi	r26, 0x18	; 24
+    138e:	b0 e0       	ldi	r27, 0x00	; 0
+    1390:	42 e0       	ldi	r20, 0x02	; 2
+    1392:	50 e0       	ldi	r21, 0x00	; 0
+    1394:	0c 94 e1 09 	jmp	0x13c2	; 0x13c2 <eeprom_read_blraw>
+
+00001398 <eeprom_write_byte>:
+    1398:	26 2f       	mov	r18, r22
+
+0000139a <eeprom_write_r18>:
+    139a:	f9 99       	sbic	0x1f, 1	; 31
+    139c:	fe cf       	rjmp	.-4      	; 0x139a <eeprom_write_r18>
+    139e:	1f ba       	out	0x1f, r1	; 31
+    13a0:	92 bd       	out	0x22, r25	; 34
+    13a2:	81 bd       	out	0x21, r24	; 33
+    13a4:	20 bd       	out	0x20, r18	; 32
+    13a6:	0f b6       	in	r0, 0x3f	; 63
+    13a8:	f8 94       	cli
+    13aa:	fa 9a       	sbi	0x1f, 2	; 31
+    13ac:	f9 9a       	sbi	0x1f, 1	; 31
+    13ae:	0f be       	out	0x3f, r0	; 63
+    13b0:	01 96       	adiw	r24, 0x01	; 1
+    13b2:	08 95       	ret
+
+000013b4 <eeprom_write_word>:
+    13b4:	0e 94 cc 09 	call	0x1398	; 0x1398 <eeprom_write_byte>
+    13b8:	27 2f       	mov	r18, r23
+    13ba:	0c 94 cd 09 	jmp	0x139a	; 0x139a <eeprom_write_r18>
+
+000013be <eeprom_read_block>:
+    13be:	dc 01       	movw	r26, r24
+    13c0:	cb 01       	movw	r24, r22
+
+000013c2 <eeprom_read_blraw>:
+    13c2:	fc 01       	movw	r30, r24
+    13c4:	f9 99       	sbic	0x1f, 1	; 31
+    13c6:	fe cf       	rjmp	.-4      	; 0x13c4 <eeprom_read_blraw+0x2>
+    13c8:	06 c0       	rjmp	.+12     	; 0x13d6 <eeprom_read_blraw+0x14>
+    13ca:	f2 bd       	out	0x22, r31	; 34
+    13cc:	e1 bd       	out	0x21, r30	; 33
+    13ce:	f8 9a       	sbi	0x1f, 0	; 31
+    13d0:	31 96       	adiw	r30, 0x01	; 1
+    13d2:	00 b4       	in	r0, 0x20	; 32
+    13d4:	0d 92       	st	X+, r0
+    13d6:	41 50       	subi	r20, 0x01	; 1
+    13d8:	50 40       	sbci	r21, 0x00	; 0
+    13da:	b8 f7       	brcc	.-18     	; 0x13ca <eeprom_read_blraw+0x8>
+    13dc:	08 95       	ret
+
+000013de <_exit>:
+    13de:	f8 94       	cli
+
+000013e0 <__stop_program>:
+    13e0:	ff cf       	rjmp	.-2      	; 0x13e0 <__stop_program>
diff --git a/default/VFD_Sinus_AT328.map b/default/VFD_Sinus_AT328.map
index c7fa057..d41f3e7 100644
--- a/default/VFD_Sinus_AT328.map
+++ b/default/VFD_Sinus_AT328.map
@@ -171,7 +171,7 @@ END GROUP
 .rela.plt
  *(.rela.plt)
 
-.text           0x0000000000000000     0x13ba
+.text           0x0000000000000000     0x13e2
  *(.vectors)
  .vectors       0x0000000000000000       0x68 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328.o
                 0x0000000000000000                __vectors
@@ -302,193 +302,193 @@ END GROUP
  .text          0x0000000000000e56        0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_block.o)
                 0x0000000000000e56                . = ALIGN (0x2)
  *(.text.*)
- .text.startup  0x0000000000000e56      0x37e main.o
+ .text.startup  0x0000000000000e56      0x3a6 main.o
                 0x0000000000000e56                main
  .text.libgcc.mul
-                0x00000000000011d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.div
-                0x00000000000011d4       0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
-                0x00000000000011d4                __udivmodhi4
- .text.libgcc   0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x00000000000011fc       0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x00000000000011fc                __udivmodhi4
+ .text.libgcc   0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.prologue
-                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.builtins
-                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.fmul
-                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.fixed
-                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
+                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
  .text.libgcc.mul
-                0x00000000000011fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.div
-                0x00000000000011fc       0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
-                0x00000000000011fc                __divmodhi4
-                0x00000000000011fc                _div
- .text.libgcc   0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x0000000000001224       0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x0000000000001224                __divmodhi4
+                0x0000000000001224                _div
+ .text.libgcc   0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.prologue
-                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.builtins
-                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.fmul
-                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.fixed
-                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
+                0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
  .text.libgcc.mul
-                0x0000000000001224        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x000000000000124c        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.div
-                0x0000000000001224       0x44 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
-                0x0000000000001224                __udivmodsi4
- .text.libgcc   0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x000000000000124c       0x44 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x000000000000124c                __udivmodsi4
+ .text.libgcc   0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.prologue
-                0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.builtins
-                0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.fmul
-                0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.fixed
-                0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
+                0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodsi4.o)
  .text.libgcc.mul
-                0x0000000000001268        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x0000000000001290        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.div
-                0x0000000000001268       0x2e /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
-                0x0000000000001268                __divmodsi4
- .text.libgcc   0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x0000000000001290       0x2e /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x0000000000001290                __divmodsi4
+ .text.libgcc   0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.prologue
-                0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.builtins
-                0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.fmul
-                0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.fixed
-                0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
+                0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodsi4.o)
  .text.libgcc.mul
-                0x0000000000001296        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012be        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.div
-                0x0000000000001296       0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
-                0x0000000000001296                __negsi2
- .text.libgcc   0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012be       0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012be                __negsi2
+ .text.libgcc   0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.prologue
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.builtins
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.fmul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.fixed
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_negsi2.o)
  .text.libgcc.mul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.div
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
- .text.libgcc   0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+ .text.libgcc   0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.prologue
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.builtins
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.fmul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.fixed
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  .text.libgcc.mul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.div
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
- .text.libgcc   0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+ .text.libgcc   0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.prologue
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.builtins
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.fmul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.fixed
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
  .text.libgcc.mul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.div
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
- .text.libgcc   0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+ .text.libgcc   0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.prologue
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.builtins
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.fmul
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.fixed
-                0x00000000000012a6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
+                0x00000000000012ce        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
  .text.libgcc.mul
-                0x00000000000012a6       0x1e /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
-                0x00000000000012a6                __umulhisi3
+                0x00000000000012ce       0x1e /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ce                __umulhisi3
  .text.libgcc.div
-                0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
- .text.libgcc   0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+ .text.libgcc   0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
  .text.libgcc.prologue
-                0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
  .text.libgcc.builtins
-                0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
  .text.libgcc.fmul
-                0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
  .text.libgcc.fixed
-                0x00000000000012c4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
+                0x00000000000012ec        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_umulhisi3.o)
  .text.libgcc.mul
-                0x00000000000012c4       0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
-                0x00000000000012c4                __mulshisi3
-                0x00000000000012ca                __mulohisi3
+                0x00000000000012ec       0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012ec                __mulshisi3
+                0x00000000000012f2                __mulohisi3
  .text.libgcc.div
-                0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
- .text.libgcc   0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+ .text.libgcc   0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
  .text.libgcc.prologue
-                0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
  .text.libgcc.builtins
-                0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
  .text.libgcc.fmul
-                0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
  .text.libgcc.fixed
-                0x00000000000012d4        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
+                0x00000000000012fc        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_mulshisi3.o)
  .text.libgcc.mul
-                0x00000000000012d4       0x16 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
-                0x00000000000012d4                __muluhisi3
+                0x00000000000012fc       0x16 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x00000000000012fc                __muluhisi3
  .text.libgcc.div
-                0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
- .text.libgcc   0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+ .text.libgcc   0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
  .text.libgcc.prologue
-                0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
  .text.libgcc.builtins
-                0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
  .text.libgcc.fmul
-                0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
  .text.libgcc.fixed
-                0x00000000000012ea        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
+                0x0000000000001312        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_muluhisi3.o)
  .text.avr-libc
-                0x00000000000012ea       0x16 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
-                0x00000000000012ea                __itoa_ncheck
+                0x0000000000001312       0x16 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
+                0x0000000000001312                __itoa_ncheck
  .text.avr-libc
-                0x0000000000001300       0x34 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
-                0x0000000000001300                __utoa_ncheck
-                0x0000000000001302                __utoa_common
+                0x0000000000001328       0x34 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
+                0x0000000000001328                __utoa_ncheck
+                0x000000000000132a                __utoa_common
  .text.avr-libc
-                0x0000000000001334       0x20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
-                0x0000000000001334                strrev
+                0x000000000000135c       0x20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
+                0x000000000000135c                strrev
  .text.avr-libc
-                0x0000000000001354       0x10 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_byte.o)
-                0x0000000000001354                eeprom_read_byte
+                0x000000000000137c       0x10 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_byte.o)
+                0x000000000000137c                eeprom_read_byte
  .text.avr-libc
-                0x0000000000001364        0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_word.o)
-                0x0000000000001364                eeprom_read_word
+                0x000000000000138c        0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_word.o)
+                0x000000000000138c                eeprom_read_word
  .text.avr-libc
-                0x0000000000001370       0x1c /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eewr_byte.o)
-                0x0000000000001370                eeprom_write_byte
-                0x0000000000001372                eeprom_write_r18
+                0x0000000000001398       0x1c /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eewr_byte.o)
+                0x0000000000001398                eeprom_write_byte
+                0x000000000000139a                eeprom_write_r18
  .text.avr-libc
-                0x000000000000138c        0xa /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eewr_word.o)
-                0x000000000000138c                eeprom_write_word
+                0x00000000000013b4        0xa /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eewr_word.o)
+                0x00000000000013b4                eeprom_write_word
  .text.avr-libc
-                0x0000000000001396       0x20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_block.o)
-                0x0000000000001396                eeprom_read_block
-                0x000000000000139a                eeprom_read_blraw
-                0x00000000000013b6                . = ALIGN (0x2)
+                0x00000000000013be       0x20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328.a(eerd_block.o)
+                0x00000000000013be                eeprom_read_block
+                0x00000000000013c2                eeprom_read_blraw
+                0x00000000000013de                . = ALIGN (0x2)
  *(.fini9)
- .fini9         0x00000000000013b6        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
-                0x00000000000013b6                exit
-                0x00000000000013b6                _exit
+ .fini9         0x00000000000013de        0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+                0x00000000000013de                exit
+                0x00000000000013de                _exit
  *(.fini9)
  *(.fini8)
  *(.fini8)
@@ -507,11 +507,11 @@ END GROUP
  *(.fini1)
  *(.fini1)
  *(.fini0)
- .fini0         0x00000000000013b6        0x4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
+ .fini0         0x00000000000013de        0x4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
  *(.fini0)
-                0x00000000000013ba                _etext = .
+                0x00000000000013e2                _etext = .
 
-.data           0x0000000000800100       0x20 load address 0x00000000000013ba
+.data           0x0000000000800100       0x20 load address 0x00000000000013e2
                 0x0000000000800100                PROVIDE (__data_start, .)
  *(.data)
  .data          0x0000000000800100        0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328.o
@@ -587,8 +587,8 @@ END GROUP
                 0x000000000080013b                speedInput
                 0x000000000080013c                a
                 0x000000000080013d                PROVIDE (__bss_end, .)
-                0x00000000000013ba                __data_load_start = LOADADDR (.data)
-                0x00000000000013da                __data_load_end = (__data_load_start + SIZEOF (.data))
+                0x00000000000013e2                __data_load_start = LOADADDR (.data)
+                0x0000000000001402                __data_load_end = (__data_load_start + SIZEOF (.data))
 
 .noinit         0x000000000080013d        0x0
                 [!provide]                        PROVIDE (__noinit_start, .)
@@ -680,11 +680,11 @@ END GROUP
 .debug_pubnames
  *(.debug_pubnames)
 
-.debug_info     0x0000000000000000     0x1f6e
+.debug_info     0x0000000000000000     0x1f87
  *(.debug_info .gnu.linkonce.wi.*)
  .debug_info    0x0000000000000000      0x21d pid.o
- .debug_info    0x000000000000021d     0x179e main.o
- .debug_info    0x00000000000019bb      0x5b3 lcd.o
+ .debug_info    0x000000000000021d     0x17b7 main.o
+ .debug_info    0x00000000000019d4      0x5b3 lcd.o
 
 .debug_abbrev   0x0000000000000000      0x7bf
  *(.debug_abbrev)
@@ -692,11 +692,11 @@ END GROUP
  .debug_abbrev  0x00000000000000f7      0x451 main.o
  .debug_abbrev  0x0000000000000548      0x277 lcd.o
 
-.debug_line     0x0000000000000000      0xc8d
+.debug_line     0x0000000000000000      0xca1
  *(.debug_line .debug_line.* .debug_line_end)
  .debug_line    0x0000000000000000      0x114 pid.o
- .debug_line    0x0000000000000114      0x8b5 main.o
- .debug_line    0x00000000000009c9      0x2c4 lcd.o
+ .debug_line    0x0000000000000114      0x8c9 main.o
+ .debug_line    0x00000000000009dd      0x2c4 lcd.o
 
 .debug_frame    0x0000000000000000      0x3ec
  *(.debug_frame)
@@ -704,20 +704,20 @@ END GROUP
  .debug_frame   0x0000000000000070      0x230 main.o
  .debug_frame   0x00000000000002a0      0x14c lcd.o
 
-.debug_str      0x0000000000000000      0x781
+.debug_str      0x0000000000000000      0x7be
  *(.debug_str)
  .debug_str     0x0000000000000000      0x1d2 pid.o
                                         0x216 (size before relaxing)
- .debug_str     0x00000000000001d2      0x511 main.o
-                                        0x6db (size before relaxing)
- .debug_str     0x00000000000006e3       0x9e lcd.o
+ .debug_str     0x00000000000001d2      0x54e main.o
+                                        0x6ee (size before relaxing)
+ .debug_str     0x0000000000000720       0x9e lcd.o
                                         0x22f (size before relaxing)
 
-.debug_loc      0x0000000000000000     0x128f
+.debug_loc      0x0000000000000000     0x129a
  *(.debug_loc)
  .debug_loc     0x0000000000000000      0x397 pid.o
- .debug_loc     0x0000000000000397      0x9e7 main.o
- .debug_loc     0x0000000000000d7e      0x511 lcd.o
+ .debug_loc     0x0000000000000397      0x9f2 main.o
+ .debug_loc     0x0000000000000d89      0x511 lcd.o
 
 .debug_macinfo
  *(.debug_macinfo)
diff --git a/default/lcd.o b/default/lcd.o
index 7d84c7f0b781c7d9411474c9bf77c44eebdcebd5..79f27febbdfb97bdbca3e7f78e76d76e1a9caf2a 100644
GIT binary patch
delta 124
zcmX?-c_ec}5M#{5U`xiBiM?+bLpE14?iUbFNi0cZNK8p7N-ZvS&M(a?NiCY3FC@=x
zY-FLIlA4xSno}~_S4esDETJ$CM%&3BrQ8_{CR<9!^J+3MFwACPU|<wsU`U_5R63YZ
ebMsH>dPYXg$(6GDjCGS&%06b)+uSQ>E(QR9^(XrP

delta 124
zcmX?-c_ec}5TowIU`s~biM?+bRX0~N?iUbFOi3w9EiQJ>FU>1SEn-MXEJ>VPE~Gr!
zPe_j2(9A+VB{eOvG^b?qOrdZN#`wt}rQ8|aCR<9!^I9-4FwACPU|<wsV6dIMR63Z^
eV)IYwdPYWz$(6GDj3JX(%06b)+}tZ?E(QQaXD37e

diff --git a/default/main.o b/default/main.o
index 795ce93abd4fe043e0de9b7b9f265130c602f2a4..bd8560a1e180c7f8eb089f6854c47b4bf98d495a 100644
GIT binary patch
delta 11061
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
N)D#9`&{_r%4FDW3FsT3l

delta 10765
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
VZh;!3$K<OE)R|s*PyV++3;;)j=gj~B

diff --git a/lcd.h b/lcd.h
index 373730b..755c680 100644
--- a/lcd.h
+++ b/lcd.h
@@ -95,8 +95,8 @@
 #define LCD_DATA3_PIN    3            /**< pin for 4bit data bit 3  */
 #define LCD_RS_PORT      LCD_CTRL_PORT     /**< port for RS line         */
 #define LCD_RS_PIN       4            /**< pin  for RS line         */
-#define LCD_RW_PORT      LCD_CTRL_PORT     /**< port for RW line         */
-#define LCD_RW_PIN       5            /**< pin  for RW line         */
+#define LCD_RW_PORT      PORTD        /**< port for RW line         */
+#define LCD_RW_PIN       4            /**< pin  for RW line         */
 #define LCD_E_PORT       LCD_CTRL_PORT     /**< port for Enable line     */
 #define LCD_E_PIN        0            /**< pin  for Enable line     */
 
diff --git a/main.c b/main.c
index 508be59..84d2cbd 100644
--- a/main.c
+++ b/main.c
@@ -185,12 +185,12 @@ static void PortsInit(void)
   PORTB &= ~(PWM_PATTERN_PORTB);
   PORTD &= ~(PWM_PATTERN_PORTD);
 // output enable is active low:
-  PORTD |= _BV(OUTPUT_ENABLE_PIN);
+  PORTB |= _BV(OUTPUT_ENABLE_PIN);
 
 // Set the inputs on Port D for the three buttons
   DDRD &= ~BUTTON_MASK;
 
-  DDRD |= _BV(OUTPUT_ENABLE_PIN);
+  DDRB |= _BV(OUTPUT_ENABLE_PIN);
 // Enable pull-up on input signals.
   PORTD |= _BV(DIRECTION_COMMAND_PIN) | _BV(EXTERNAL_CONTROL_PIN) | BUTTON_MASK ;
 
@@ -200,8 +200,8 @@ static void PortsInit(void)
 static void toggleOutputEnable(void)
 {
 OutputEnabled = !OutputEnabled;
-if (OutputEnabled) PORTD &= ~(_BV(OUTPUT_ENABLE_PIN));
-    else PORTD |= _BV(OUTPUT_ENABLE_PIN);
+if (OutputEnabled) PORTB &= ~(_BV(OUTPUT_ENABLE_PIN));
+    else PORTB |= _BV(OUTPUT_ENABLE_PIN);
 }
 
 
@@ -577,8 +577,8 @@ if (!fastFlags.externalControl){
 		switch (n) 
 		{
 // with external control first button is output enable/disable            
-//        case 1 : toggleOutputEnable();
-//             break;  
+        case 1 : toggleOutputEnable();
+             break;  
 // pressing black (1) and red (2) button simultaneously goes to sub menu
 		case 3 : execExtendedCommand();
 			 break;
diff --git a/vfd.h b/vfd.h
index d57ed31..fdde9cb 100644
--- a/vfd.h
+++ b/vfd.h
@@ -128,7 +128,7 @@
 
 //////add output enable for line driver instead:
 
-#define OUTPUT_ENABLE_PIN    PD4
+#define OUTPUT_ENABLE_PIN    PB5
 
 // button inputs
 #define BUTTON_PORT PIND
-- 
GitLab