diff --git a/B15F.elf b/B15F.elf
index 2849f0e..01e941a 100644
Binary files a/B15F.elf and b/B15F.elf differ
diff --git a/B15F.hex b/B15F.hex
index d200a57..8e5321f 100644
--- a/B15F.hex
+++ b/B15F.hex
@@ -8,14 +8,14 @@
:100070000C9489000C9489000C9489000C948900DC
:100080000C9489000C9489000C948900F800FB0002
:10009000FE00EF000101040107010A010D0110013A
-:1000A000F50013018705840581053E057E057B0566
-:1000B0007805750572056F056C058A058D05112497
+:1000A000F5001301AA05A705A4056105A1059E0594
+:1000B0009B059805950592058F05AD05B0051124A2
:1000C0001FBECFEFD0E4DEBFCDBF11E0A0E0B1E0B6
-:1000D000EEE7FBE000E00BBF02C007900D92A232FA
+:1000D000E4ECFBE000E00BBF02C007900D92A232FF
:1000E000B107D9F721E0A2E2B1E001C01D92A4332B
:1000F000B207E1F710E0CFE5D0E004C02197FE01A0
-:100100000E94B405CE35D107C9F70E9427050C948B
-:10011000BD050C94000083E391E00E94170160E0AC
+:100100000E94D705CE35D107C9F70E944A050C9445
+:10011000E0050C94000083E391E00E94170160E089
:1001200080E391E00E945A016FEF80E391E00E942A
:100130007B0160E08DE291E00E945A016FEF8DE259
:1001400091E00E947B016FEF8AE291E00E947B01C7
@@ -24,15 +24,15 @@
:10017000A895809160008861809360001092600073
:100180000FBE0895CF930FB6F894A89580916000A4
:10019000886180936000109260000FBE6FEF8DE267
-:1001A00091E00E949C0182E291E00E94EB03C82F43
+:1001A00091E00E949C0182E291E00E940E04C82F1F
:1001B00060E08DE291E00E949C0199E288E10FB637
:1001C000F894A895809360000FBE90936000A89566
:1001D0008C2F90E0FC013197EC30F10510F0CF91BD
-:1001E0000895EA5BFF4F0C94B405CF910C94A304DF
-:1001F000CF910C940304CF910C941404CF910C94E0
-:100200003804CF910C944504CF910C945804CF91AD
-:100210000C946B04CF910C947404CF910C947D04D6
-:10022000CF910C949004CF910C94B104089584B1B3
+:1001E0000895EA5BFF4F0C94D705CF910C94C60499
+:1001F000CF910C942604CF910C943704CF910C949A
+:100200005B04CF910C946804CF910C947B04CF9144
+:100210000C948E04CF910C949704CF910C94A0046D
+:10022000CF910C94B304CF910C94D404089584B16D
:10023000806B84B926988AB18C618AB980E58CBDBF
:1002400081E08DBD8BB1837E8BB95A9A5B9A5C9AA3
:1002500008958BB1837E8BB98BB160FD10C090E0A7
@@ -104,85 +104,90 @@
:100670000E940102682F8DE291E00E949C01D9CF77
:100680000E9472020E949B020E94C4020E94E90220
:100690000E940E0382E08093C00088E18093C10035
-:1006A00086E08093C2001092C50084E18093C4006C
-:1006B00008958091C00085FFFCCF6093C600089527
-:1006C0008091C00085FFFCCF6093C6008091C00080
-:1006D00085FFFCCF7093C60008958091C00085FF10
-:1006E000FCCF4093C6009FEF940F442351F0FB01D1
-:1006F00021918091C00085FFFCCF2093C6009150CE
-:10070000B8F708958091C00085FFFCCF4093C600E4
-:100710005FEF540F442309F45CC0FB0120E041E982
-:10072000DF0190818091C00085FFFCCF9093C600CF
-:1007300031969C91822F892780FD842790E09595A2
-:100740008795282F80FF02C0242F2827822F90E032
-:1007500095958795282F80FF02C0242F282730E009
-:1007600035952795822F20FF02C0842F822790E0A5
-:1007700095958795282F80FF02C0242F282730E0E9
-:1007800035952795822F20FF02C0842F822790E085
-:1007900095958795282F80FF02C0242F282730E0C9
-:1007A00035952795822F20FF02C0842F8227282F7E
-:1007B0002695515008F0B4CF8091C00085FFFCCF42
-:1007C0002093C6008091C00087FFFCCF8091C600B7
-:1007D000089520E0F1CF8091C00087FFFCCF809189
-:1007E000C60008958091C00087FFFCCF2091C6000D
-:1007F00030E09091C00097FFFCCF8091C600A90126
-:10080000582BCA010895CF9382E291E00E94EB0336
-:10081000C82F6FEF82E291E00E9459036C2F82E2B1
-:1008200091E0CF910C94590363E082E291E00E9441
-:1008300059034CE066E171E082E291E00E946D03B1
-:1008400049E06DE071E082E291E00E946D034CE0CE
-:1008500061E071E082E291E00E946D03809100010D
-:10086000811101C008956FEF82E291E00C94590369
-:1008700082E291E00E94F203BC01660F771F680FCD
-:10088000791F82E291E00C94600382E291E00E9481
-:10089000EB03682F80E391E00E949C0180910001AE
-:1008A000811101C008956FEF82E291E00C94590329
-:1008B00082E291E00E94EB03682F8DE291E00E94BA
-:1008C0009C0180910001811101C008956FEF82E2C7
-:1008D00091E00C94590380E391E00E940102682F9B
-:1008E00082E291E00C9459038DE291E00E940102B2
-:1008F000682F82E291E00C94590382E291E00E9419
-:10090000F203BC0187E291E00E942902809100017C
-:10091000811101C008956FEF82E291E00C945903B8
-:1009200082E291E00E94F203BC0184E291E00E9425
-:10093000290280910001811101C008956FEF82E2C8
-:1009400091E00C94590382E291E00E94EB03682F3E
-:1009500083E291E00E945802BC0182E291E00C9493
-:1009600060038F929F92AF92BF92CF92DF92EF92ED
-:10097000FF920F931F93CF93DF9300D000D0CDB79A
-:10098000DEB782E291E00E94EB03B82E82E291E0B2
-:100990000E94EB03A82E82E291E00E94F2038C01F8
-:1009A00082E291E00E94F2037C0182E291E00E94E7
-:1009B000F2034C016FEF82E291E00E945903E89C40
-:1009C0006001E99CD00CF89CD00C11240C151D057D
-:1009D000C4F5B80187E291E00E942902A8956B2D29
-:1009E00083E291E00E9458029A8389836A2D83E210
-:1009F00091E00E9458029C838B8302C08F3FE1F0FC
-:100A0000A89544E0BE016F5F7F4F82E291E00E94B3
-:100A100082038111F3CF0F900F900F900F90DF9111
-:100A2000CF911F910F91FF90EF90DF90CF90BF90EB
-:100A3000AF909F908F9008950E0D1F1D0C151D05F2
-:100A400044F26FEF82E291E00E945903E4CF0E94EA
-:100A50008B006FEF80E391E00E949C012FE78AE119
-:100A600096E0215080409040E1F700C0000060E037
-:100A700080E391E00E949C0118E1D9E20FB6F8945E
-:100A8000A89580916000886180936000109260005A
-:100A90000FBE6FEF8DE291E00E949C0182E291E037
-:100AA0000E94EB03C82F60E08DE291E00E949C0160
-:100AB0000FB6F894A895109360000FBED093600015
-:100AC000A8958C2F90E0FC013197EC30F105B0F641
-:100AD000EE5AFF4F0C94B4050E94A304CFCF0E949E
-:100AE0009004CCCF0E947D04C9CF0E947404C6CF6D
-:100AF0000E946B04C3CF0E945804C0CF0E944504DB
-:100B0000BDCF0E943804BACF0E941404B7CF0E9410
-:100B10000304B4CF0E94B104B1CF83E391E00E94FB
-:100B2000160142E063E371E080E391E00E94550129
-:100B300043E063E371E08DE291E00E94550145E0FE
-:100B400063E371E08AE291E00E94550140E063E3D3
-:100B500071E087E291E00E94240241E063E371E0EA
-:100B600084E291E00C942402EE0FFF1F0024001C8D
-:0E0B70000BBE0790F691E02D0994F894FFCF8C
-:100B7E0001626F617264696E666F2E680031353A7C
-:100B8E0033363A3030004D617220323820323031F7
-:020B9E0039001C
+:1006A00086E08093C2001092C50080E48093C4006D
+:1006B00008958091C00085FFFCCF6093C6008091B3
+:1006C000C00086FFFCCF08958091C00085FFFCCF5D
+:1006D0006093C6008091C00085FFFCCF7093C60078
+:1006E0008091C00086FFFCCF87E893E10197F1F786
+:1006F00000C0000008958091C00085FFFCCF4093AA
+:10070000C6008091C00086FFFCCFFB019B01240F37
+:10071000311DE217F30761F091918091C00085FFD0
+:10072000FCCF9093C6008091C00086FFFCCFF1CF34
+:1007300008958091C00085FFFCCF4093C600809152
+:10074000C00086FFFCCF5FEF540F442309F464C060
+:10075000FB0120E041E9DF0190818091C00085FF2D
+:10076000FCCF9093C6008091C00086FFFCCF3196ED
+:100770009C91822F892780FD842790E0959587950D
+:10078000282F80FF02C0242F2827822F90E09595E4
+:100790008795282F80FF02C0242F282730E0359529
+:1007A0002795822F20FF02C0842F822790E0959505
+:1007B0008795282F80FF02C0242F282730E0359509
+:1007C0002795822F20FF02C0842F822790E09595E5
+:1007D0008795282F80FF02C0242F282730E03595E9
+:1007E0002795822F20FF02C0842F8227282F26954D
+:1007F000515008F0B0CF8091C00085FFFCCF20930E
+:10080000C6008091C00086FFFCCF8091C00087FFAA
+:10081000FCCF8091C600089520E0EDCF8091C0000C
+:1008200087FFFCCF8091C60008958091C00087FFAC
+:10083000FCCF2091C60030E09091C00097FFFCCF24
+:100840008091C600A901582BCA010895CF9382E276
+:1008500091E00E940E04C82F6FEF82E291E00E94A7
+:1008600059036C2F82E291E0CF910C94590363E01D
+:1008700082E291E00E9459034CE066E171E082E27D
+:1008800091E00E947B0349E06DE071E082E291E03B
+:100890000E947B034CE061E071E082E291E00E9403
+:1008A0007B0380910001811101C008956FEF82E206
+:1008B00091E00C94590382E291E00E941504BC017E
+:1008C000660F771F680F791F82E291E00C94640332
+:1008D00082E291E00E940E04682F80E391E00E9482
+:1008E0009C0180910001811101C008956FEF82E2A7
+:1008F00091E00C94590382E291E00E940E04682F6B
+:100900008DE291E00E949C0180910001811101C063
+:1009100008956FEF82E291E00C94590380E391E037
+:100920000E940102682F82E291E00C9459038DE24B
+:1009300091E00E940102682F82E291E00C94590339
+:1009400082E291E00E941504BC0187E291E00E94DE
+:10095000290280910001811101C008956FEF82E2A8
+:1009600091E00C94590382E291E00E941504BC01CD
+:1009700084E291E00E94290280910001811101C06E
+:1009800008956FEF82E291E00C94590382E291E0C6
+:100990000E940E04682F83E291E00E945802BC017D
+:1009A00082E291E00C9464038F929F92AF92BF9287
+:1009B000CF92DF92EF92FF920F931F93CF93DF932B
+:1009C00000D000D0CDB7DEB782E291E00E940E04E5
+:1009D000B82E82E291E00E940E04A82E82E291E0FD
+:1009E0000E9415048C0182E291E00E9415047C01B2
+:1009F00082E291E00E9415044C016FEF82E291E0E7
+:100A00000E945903E89C6001E99CD00CF89CD00C32
+:100A100011240C151D05C4F5B80187E291E00E9470
+:100A20002902A8956B2D83E291E00E9458029A83D7
+:100A300089836A2D83E291E00E9458029C838B8314
+:100A400002C08F3FE1F0A89544E0BE016F5F7F4F89
+:100A500082E291E00E9499038111F3CF0F900F90F1
+:100A60000F900F90DF91CF911F910F91FF90EF901A
+:100A7000DF90CF90BF90AF909F908F9008950E0D14
+:100A80001F1D0C151D0544F26FEF82E291E00E94DC
+:100A90005903E4CF0E948B006FEF80E391E00E9446
+:100AA0009C012FE78AE196E0215080409040E1F7D9
+:100AB00000C0000060E080E391E00E949C0118E12A
+:100AC000D9E20FB6F894A895809160008861809370
+:100AD0006000109260000FBE6FEF8DE291E00E9407
+:100AE0009C0182E291E00E940E04C82F60E08DE23A
+:100AF00091E00E949C010FB6F894A89510936000B5
+:100B00000FBED0936000A8958C2F90E0FC01319728
+:100B1000EC30F105B0F6EE5AFF4F0C94D7050E9469
+:100B2000C604CFCF0E94B304CCCF0E94A004C9CF8B
+:100B30000E949704C6CF0E948E04C3CF0E947B04FC
+:100B4000C0CF0E946804BDCF0E945B04BACF0E9450
+:100B50003704B7CF0E942604B4CF0E94D404B1CF8B
+:100B600083E391E00E94160142E063E371E080E3D9
+:100B700091E00E94550143E063E371E08DE291E072
+:100B80000E94550145E063E371E08AE291E00E9432
+:100B9000550140E063E371E087E291E00E942402A6
+:100BA00041E063E371E084E291E00C942402EE0FF3
+:100BB000FF1F0024001C0BBE0790F691E02D099446
+:040BC000F894FFCFD7
+:100BC40001626F617264696E666F2E680030383A34
+:100BD40033303A3434004D617220323920323031AE
+:020BE4003900D6
:00000001FF
diff --git a/b15f.aws b/b15f.aws
index 1120d7e..2372df2 100644
--- a/b15f.aws
+++ b/b15f.aws
@@ -1 +1 @@
-
+
diff --git a/usart.cpp b/usart.cpp
index 6f470b0..324e080 100644
--- a/usart.cpp
+++ b/usart.cpp
@@ -20,7 +20,7 @@ void USART::writeByte(uint8_t b)
while (!(UCSR0A & (1<
#include
-constexpr uint32_t BAUDRATE = 115200; // 38400
+constexpr uint32_t BAUDRATE = 38400; // 38400
constexpr uint8_t CRC7_POLY = 0x91;
class USART