diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 14484fa..0000000 --- a/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -hdlc1.c -hdlc1.h -hdlc_frame.c -hdlc_frame.h -main1.c -uart.c -uart.h - -!./hdlc -/.idea/Display_Avr_3.iml -/.idea/.gitignore -/.idea/vcs.xml -/.idea/modules.xml -/CMakeLists.txt diff --git a/.vs/hdlc_screen/v14/.atsuo b/.vs/hdlc_screen/v14/.atsuo index 638c5df..0688922 100644 Binary files a/.vs/hdlc_screen/v14/.atsuo and b/.vs/hdlc_screen/v14/.atsuo differ diff --git a/Lcd_print.ino b/Lcd_print.ino new file mode 100644 index 0000000..35d46da --- /dev/null +++ b/Lcd_print.ino @@ -0,0 +1,84 @@ +#include "MyLCD.h" + +struct TextCounter { + unsigned long startTime; + int incrementValue; + int startIndex; // Новая переменная для отслеживания начального индекса строки +}; + +struct TextCounter textCounter; + +void init_lcd(){ + lcd_init(LCD_DISP_ON_BLINK); // инициализация дисплея + lcd_home(); // домой курсор + lcd_led(0); // вкл подсветки + textCounter.startTime = millis(); // Запоминаем время запуска программы + textCounter.startIndex = 0; // Инициализируем начальный индекс +} + +void fillBuffer1(const char* source, char* buffer, size_t bufferSize, int incrementValue) { + int startIndex = incrementValue % strlen(source); // Определяем начальный индекс на основе incrementValue + int endIndex = startIndex + 16; + + for (int i = 0; i < 16; ++i) { + buffer[i] = source[(startIndex + i) % strlen(source)]; + } + buffer[16] = '\0'; +} + +void fillBuffer2(float value1, float value2, float value3, char* buffer, size_t bufferSize){ + int val1_int = (int) value1; + float val1_float = (abs(value1) - abs(val1_int)) * 10; + int val1_fra = (int)val1_float; + + int val2_int = (int) value2; + float val2_float = (abs(value2) - abs(val2_int)) * 10; + int val2_fra = (int)val2_float; + + int val3_int = (int) value3; + float val3_float = (abs(value3) - abs(val3_int)) * 10; + int val3_fra = (int)val3_float; + + snprintf(buffer, bufferSize, "%d.%d:%d.%d:%d.%d", + val1_int, val1_fra, + val2_int, val2_fra, + val3_int, val3_fra); +} + +void print_lcd(struct DisplayData* disp){ + unsigned long currentTime = millis(); // Текущее время + // Проверяем, прошло ли 500 мс с момента последнего увеличения incrementValue + if (currentTime - textCounter.startTime >= 500) { + textCounter.incrementValue++; // Увеличиваем incrementValue на 1 + textCounter.startTime = currentTime; // Обновляем время + } + + struct DisplayData displayData; + strncpy(displayData.topLine, disp->topLine, sizeof(displayData.topLine) - 1); + displayData.topLine[sizeof(displayData.topLine) - 1] = '\0'; + displayData.value1 = disp->value1; + displayData.value2 = disp->value2; + displayData.value3 = disp->value3; + + // Буферы для заполнения данных + char buffer1[17]; + char buffer2[17]; + + // Заполнение буфера 1 + fillBuffer1(displayData.topLine, buffer1, sizeof(buffer1), textCounter.incrementValue); + + // Заполнение буфера 2 + fillBuffer2(displayData.value1, displayData.value2, displayData.value3, buffer2, sizeof(buffer2)); + + // Создание массива для вывода на дисплей + char displayArray[32]; + strncpy(displayArray, buffer1, 16); // Копирование первых 16 символов из buffer1 в displayArray + strncpy(displayArray + 16, buffer2, 16); // Копирование первых 16 символов из buffer2 в displayArray, начиная с позиции 16 + + // Вывод данных на экран + lcd_gotoxy(0, 0); + lcd_puts(displayArray); + + lcd_gotoxy(0, 1); + lcd_puts(displayArray + 16); +} \ No newline at end of file diff --git a/hdlc_screen/LCD/lcd_headers.h b/MyLCD.h similarity index 66% rename from hdlc_screen/LCD/lcd_headers.h rename to MyLCD.h index d4d9291..37a54a4 100644 --- a/hdlc_screen/LCD/lcd_headers.h +++ b/MyLCD.h @@ -1,14 +1,9 @@ -/* - * lcd_headers.h - * - * Created: 22.02.2024 15:16:19 - * Author: 79513 - */ + +#ifndef MYLCD_H_ +#define MYLCD_H_ -#ifndef LCD_HEADERS_H_ -#define LCD_HEADERS_H_ - +// ���������� ��� ���� #include #include #include @@ -22,5 +17,6 @@ #include "lcdpcf8574.h" #include "pcf8574.h" #include "i2cmaster.h" +#include "lcd.h" -#endif /* LCD_HEADERS_H_ */ \ No newline at end of file +#endif \ No newline at end of file diff --git a/hdlc_screen/UART/circular_buf.c b/circular_buf.cpp similarity index 96% rename from hdlc_screen/UART/circular_buf.c rename to circular_buf.cpp index e1b91c7..4a58bde 100644 --- a/hdlc_screen/UART/circular_buf.c +++ b/circular_buf.cpp @@ -2,8 +2,7 @@ #include #include "circular_buf.h" - -void initialize_buffer(struct circular_buffer* cb) { +void clear_buffer(struct circular_buffer* cb) { cb->buf_head = 0; cb->buf_tail = 0; } @@ -31,6 +30,4 @@ int read_buffer(struct circular_buffer* cb) { int value = cb->buffer[cb->buf_head]; // чтение по индексу головы cb->buf_head = (cb->buf_head + 1) % BUFFER_SIZE; // увеличиваем индекс на 1 return value; -} - - +} \ No newline at end of file diff --git a/hdlc_screen/UART/circular_buf.h b/circular_buf.h similarity index 82% rename from hdlc_screen/UART/circular_buf.h rename to circular_buf.h index 22dc139..5a9628f 100644 --- a/hdlc_screen/UART/circular_buf.h +++ b/circular_buf.h @@ -9,10 +9,10 @@ struct circular_buffer{ unsigned char buf_tail; }; -void initialize_buffer(struct circular_buffer* cb); +void clear_buffer(struct circular_buffer* cb); int buffer_empty(const struct circular_buffer* cb); int buffer_full(const struct circular_buffer* cb); void write_buffer(struct circular_buffer* cb, int value); int read_buffer(struct circular_buffer* cb); -#endif /* CIRCULAR_BUFFER_H */ +#endif /* CIRCULAR_BUFFER_H */ \ No newline at end of file diff --git a/hdlc_screen/hdlc/client.c b/client.cpp similarity index 99% rename from hdlc_screen/hdlc/client.c rename to client.cpp index b2b7318..6339369 100644 --- a/hdlc_screen/hdlc/client.c +++ b/client.cpp @@ -1,6 +1,5 @@ #include "client.h" -#include "hdlc.h" -#include "stdio.h" +#include #define SIZE_DATA_BUFFERS 64 diff --git a/hdlc_screen/hdlc/client.h b/client.h similarity index 100% rename from hdlc_screen/hdlc/client.h rename to client.h diff --git a/hdlc_screen/hdlc/fcs.c b/fcs.cpp similarity index 100% rename from hdlc_screen/hdlc/fcs.c rename to fcs.cpp diff --git a/hdlc_screen/hdlc/fcs.h b/fcs.h similarity index 100% rename from hdlc_screen/hdlc/fcs.h rename to fcs.h diff --git a/hdlc_screen/hdlc/hdlc.c b/hdlc.cpp similarity index 100% rename from hdlc_screen/hdlc/hdlc.c rename to hdlc.cpp diff --git a/hdlc_screen/hdlc/hdlc.h b/hdlc.h similarity index 100% rename from hdlc_screen/hdlc/hdlc.h rename to hdlc.h diff --git a/hdlc_screen.atsln b/hdlc_screen.atsln deleted file mode 100644 index 012050c..0000000 --- a/hdlc_screen.atsln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Atmel Studio Solution File, Format Version 11.00 -VisualStudioVersion = 14.0.23107.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "hdlc_screen", "hdlc_screen\hdlc_screen.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|AVR = Debug|AVR - Release|AVR = Release|AVR - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR - {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR - {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR - {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/hdlc_screen/.gitignore b/hdlc_screen/.gitignore deleted file mode 100644 index 14484fa..0000000 --- a/hdlc_screen/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -hdlc1.c -hdlc1.h -hdlc_frame.c -hdlc_frame.h -main1.c -uart.c -uart.h - -!./hdlc -/.idea/Display_Avr_3.iml -/.idea/.gitignore -/.idea/vcs.xml -/.idea/modules.xml -/CMakeLists.txt diff --git a/hdlc_screen/Debug/LCD/Lcd_print.d b/hdlc_screen/Debug/LCD/Lcd_print.d deleted file mode 100644 index 6bc7f0f..0000000 --- a/hdlc_screen/Debug/LCD/Lcd_print.d +++ /dev/null @@ -1,155 +0,0 @@ -LCD/Lcd_print.d LCD/Lcd_print.o: ../LCD/Lcd_print.c ../LCD/lcd_headers.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - ../LCD/lcdpcf8574.h ../LCD/pcf8574.h ../LCD/i2cmaster.h ../LCD/lcd.h - -../LCD/lcd_headers.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../LCD/lcdpcf8574.h: - -../LCD/pcf8574.h: - -../LCD/i2cmaster.h: - -../LCD/lcd.h: diff --git a/hdlc_screen/Debug/LCD/Lcd_print.o b/hdlc_screen/Debug/LCD/Lcd_print.o deleted file mode 100644 index 111ed77..0000000 Binary files a/hdlc_screen/Debug/LCD/Lcd_print.o and /dev/null differ diff --git a/hdlc_screen/Debug/LCD/lcdpcf8574.d b/hdlc_screen/Debug/LCD/lcdpcf8574.d deleted file mode 100644 index 6fcc597..0000000 --- a/hdlc_screen/Debug/LCD/lcdpcf8574.d +++ /dev/null @@ -1,154 +0,0 @@ -LCD/lcdpcf8574.d LCD/lcdpcf8574.o: ../LCD/lcdpcf8574.c \ - ../LCD/lcd_headers.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - ../LCD/lcdpcf8574.h ../LCD/pcf8574.h ../LCD/i2cmaster.h - -../LCD/lcd_headers.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../LCD/lcdpcf8574.h: - -../LCD/pcf8574.h: - -../LCD/i2cmaster.h: diff --git a/hdlc_screen/Debug/LCD/lcdpcf8574.o b/hdlc_screen/Debug/LCD/lcdpcf8574.o deleted file mode 100644 index 27e9af2..0000000 Binary files a/hdlc_screen/Debug/LCD/lcdpcf8574.o and /dev/null differ diff --git a/hdlc_screen/Debug/LCD/pcf8574.d b/hdlc_screen/Debug/LCD/pcf8574.d deleted file mode 100644 index 70f94d6..0000000 --- a/hdlc_screen/Debug/LCD/pcf8574.d +++ /dev/null @@ -1,153 +0,0 @@ -LCD/pcf8574.d LCD/pcf8574.o: ../LCD/pcf8574.c ../LCD/lcd_headers.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - ../LCD/lcdpcf8574.h ../LCD/pcf8574.h ../LCD/i2cmaster.h - -../LCD/lcd_headers.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../LCD/lcdpcf8574.h: - -../LCD/pcf8574.h: - -../LCD/i2cmaster.h: diff --git a/hdlc_screen/Debug/LCD/pcf8574.o b/hdlc_screen/Debug/LCD/pcf8574.o deleted file mode 100644 index 7e76237..0000000 Binary files a/hdlc_screen/Debug/LCD/pcf8574.o and /dev/null differ diff --git a/hdlc_screen/Debug/LCD/twimaster.d b/hdlc_screen/Debug/LCD/twimaster.d deleted file mode 100644 index 1d9a9c4..0000000 --- a/hdlc_screen/Debug/LCD/twimaster.d +++ /dev/null @@ -1,153 +0,0 @@ -LCD/twimaster.d LCD/twimaster.o: ../LCD/twimaster.c ../LCD/lcd_headers.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - ../LCD/lcdpcf8574.h ../LCD/pcf8574.h ../LCD/i2cmaster.h - -../LCD/lcd_headers.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\compat\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\twi.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../LCD/lcdpcf8574.h: - -../LCD/pcf8574.h: - -../LCD/i2cmaster.h: diff --git a/hdlc_screen/Debug/LCD/twimaster.o b/hdlc_screen/Debug/LCD/twimaster.o deleted file mode 100644 index 95ff637..0000000 Binary files a/hdlc_screen/Debug/LCD/twimaster.o and /dev/null differ diff --git a/hdlc_screen/Debug/Makefile b/hdlc_screen/Debug/Makefile deleted file mode 100644 index 77f097f..0000000 --- a/hdlc_screen/Debug/Makefile +++ /dev/null @@ -1,305 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -SHELL := cmd.exe -RM := rm -rf - -USER_OBJS := - -LIBS := -PROJ := - -O_SRCS := -C_SRCS := -S_SRCS := -S_UPPER_SRCS := -OBJ_SRCS := -ASM_SRCS := -PREPROCESSING_SRCS := -OBJS := -OBJS_AS_ARGS := -C_DEPS := -C_DEPS_AS_ARGS := -EXECUTABLES := -OUTPUT_FILE_PATH := -OUTPUT_FILE_PATH_AS_ARGS := -AVR_APP_PATH :=$$$AVR_APP_PATH$$$ -QUOTE := " -ADDITIONAL_DEPENDENCIES:= -OUTPUT_FILE_DEP:= -LIB_DEP:= -LINKER_SCRIPT_DEP:= - -# Every subdirectory with source files must be described here -SUBDIRS := \ -../hdlc \ -../LCD \ -../UART \ -../protocol - - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../hdlc/client.c \ -../hdlc/fcs.c \ -../hdlc/hdlc.c \ -../LCD/lcdpcf8574.c \ -../LCD/Lcd_print.c \ -../LCD/pcf8574.c \ -../LCD/twimaster.c \ -../main.c \ -../protocol/protocol.c \ -../UART/circular_buf.c \ -../UART/uart.c - - -PREPROCESSING_SRCS += - - -ASM_SRCS += - - -OBJS += \ -hdlc/client.o \ -hdlc/fcs.o \ -hdlc/hdlc.o \ -LCD/lcdpcf8574.o \ -LCD/Lcd_print.o \ -LCD/pcf8574.o \ -LCD/twimaster.o \ -main.o \ -protocol/protocol.o \ -UART/circular_buf.o \ -UART/uart.o - -OBJS_AS_ARGS += \ -hdlc/client.o \ -hdlc/fcs.o \ -hdlc/hdlc.o \ -LCD/lcdpcf8574.o \ -LCD/Lcd_print.o \ -LCD/pcf8574.o \ -LCD/twimaster.o \ -main.o \ -protocol/protocol.o \ -UART/circular_buf.o \ -UART/uart.o - -C_DEPS += \ -hdlc/client.d \ -hdlc/fcs.d \ -hdlc/hdlc.d \ -LCD/lcdpcf8574.d \ -LCD/Lcd_print.d \ -LCD/pcf8574.d \ -LCD/twimaster.d \ -main.d \ -protocol/protocol.d \ -UART/circular_buf.d \ -UART/uart.d - -C_DEPS_AS_ARGS += \ -hdlc/client.d \ -hdlc/fcs.d \ -hdlc/hdlc.d \ -LCD/lcdpcf8574.d \ -LCD/Lcd_print.d \ -LCD/pcf8574.d \ -LCD/twimaster.d \ -main.d \ -protocol/protocol.d \ -UART/circular_buf.d \ -UART/uart.d - -OUTPUT_FILE_PATH +=hdlc_screen.elf - -OUTPUT_FILE_PATH_AS_ARGS +=hdlc_screen.elf - -ADDITIONAL_DEPENDENCIES:= - -OUTPUT_FILE_DEP:= ./makedep.mk - -LIB_DEP+= - -LINKER_SCRIPT_DEP+= - - -# AVR32/GNU C Compiler -hdlc/client.o: ../hdlc/client.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -hdlc/fcs.o: ../hdlc/fcs.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -hdlc/hdlc.o: ../hdlc/hdlc.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -LCD/lcdpcf8574.o: ../LCD/lcdpcf8574.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -LCD/Lcd_print.o: ../LCD/Lcd_print.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -LCD/pcf8574.o: ../LCD/pcf8574.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -LCD/twimaster.o: ../LCD/twimaster.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -./main.o: .././main.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -protocol/protocol.o: ../protocol/protocol.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -UART/circular_buf.o: ../UART/circular_buf.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - -UART/uart.o: ../UART/uart.c - @echo Building file: $< - @echo Invoking: AVR/GNU C Compiler : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - @echo Finished building: $< - - - - - -# AVR32/GNU Preprocessing Assembler - - - -# AVR32/GNU Assembler - - - - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -endif - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) - -$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) - @echo Building target: $@ - @echo Invoking: AVR/GNU Linker : 5.4.0 -<<<<<<< HEAD - $(QUOTE)D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="hdlc_screen.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega328p -B "D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" - @echo Finished building target: $@ - "D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "hdlc_screen.elf" "hdlc_screen.hex" - "D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "hdlc_screen.elf" "hdlc_screen.eep" || exit 0 - "D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "hdlc_screen.elf" > "hdlc_screen.lss" - "D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "hdlc_screen.elf" "hdlc_screen.srec" - "D:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "hdlc_screen.elf" -======= - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="hdlc_screen.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" - @echo Finished building target: $@ - "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "hdlc_screen.elf" "hdlc_screen.hex" - "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "hdlc_screen.elf" "hdlc_screen.eep" || exit 0 - "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "hdlc_screen.elf" > "hdlc_screen.lss" - "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "hdlc_screen.elf" "hdlc_screen.srec" - "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "hdlc_screen.elf" ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - - - - - - - -# Other Targets -clean: - -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) - -$(RM) $(C_DEPS_AS_ARGS) - rm -rf "hdlc_screen.elf" "hdlc_screen.a" "hdlc_screen.hex" "hdlc_screen.lss" "hdlc_screen.eep" "hdlc_screen.map" "hdlc_screen.srec" "hdlc_screen.usersignatures" - \ No newline at end of file diff --git a/hdlc_screen/Debug/UART/circular_buf.d b/hdlc_screen/Debug/UART/circular_buf.d deleted file mode 100644 index 7115b76..0000000 --- a/hdlc_screen/Debug/UART/circular_buf.d +++ /dev/null @@ -1,50 +0,0 @@ -UART/circular_buf.d UART/circular_buf.o: ../UART/circular_buf.c \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - ../UART/circular_buf.h - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - ../UART/circular_buf.h - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../UART/circular_buf.h: diff --git a/hdlc_screen/Debug/UART/circular_buf.o b/hdlc_screen/Debug/UART/circular_buf.o deleted file mode 100644 index 60f1aaf..0000000 Binary files a/hdlc_screen/Debug/UART/circular_buf.o and /dev/null differ diff --git a/hdlc_screen/Debug/UART/uart.d b/hdlc_screen/Debug/UART/uart.d deleted file mode 100644 index df51e53..0000000 --- a/hdlc_screen/Debug/UART/uart.d +++ /dev/null @@ -1,94 +0,0 @@ -UART/uart.d UART/uart.o: ../UART/uart.c \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - ../UART/circular_buf.h ../UART/uart.h - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -D:\atmel\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - ../UART/circular_buf.h ../UART/uart.h - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include/avr/iom328p.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../UART/circular_buf.h: - -../UART/uart.h: diff --git a/hdlc_screen/Debug/UART/uart.o b/hdlc_screen/Debug/UART/uart.o deleted file mode 100644 index 34f763b..0000000 Binary files a/hdlc_screen/Debug/UART/uart.o and /dev/null differ diff --git a/hdlc_screen/Debug/hdlc/client.d b/hdlc_screen/Debug/hdlc/client.d deleted file mode 100644 index 9d9053e..0000000 --- a/hdlc_screen/Debug/hdlc/client.d +++ /dev/null @@ -1,64 +0,0 @@ -hdlc/client.d hdlc/client.o: ../hdlc/client.c ../hdlc/client.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ - ../hdlc/hdlc.h ../hdlc/fcs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -../hdlc/client.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ - ../hdlc/hdlc.h ../hdlc/fcs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -../hdlc/client.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../hdlc/hdlc.h: - -../hdlc/fcs.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 diff --git a/hdlc_screen/Debug/hdlc/client.o b/hdlc_screen/Debug/hdlc/client.o deleted file mode 100644 index 50cde8e..0000000 Binary files a/hdlc_screen/Debug/hdlc/client.o and /dev/null differ diff --git a/hdlc_screen/Debug/hdlc/fcs.d b/hdlc_screen/Debug/hdlc/fcs.d deleted file mode 100644 index 3b73636..0000000 --- a/hdlc_screen/Debug/hdlc/fcs.d +++ /dev/null @@ -1,3 +0,0 @@ -hdlc/fcs.d hdlc/fcs.o: ../hdlc/fcs.c ../hdlc/fcs.h - -../hdlc/fcs.h: diff --git a/hdlc_screen/Debug/hdlc/fcs.o b/hdlc_screen/Debug/hdlc/fcs.o deleted file mode 100644 index 0ab82ea..0000000 Binary files a/hdlc_screen/Debug/hdlc/fcs.o and /dev/null differ diff --git a/hdlc_screen/Debug/hdlc/hdlc.d b/hdlc_screen/Debug/hdlc/hdlc.d deleted file mode 100644 index f5a6c9e..0000000 --- a/hdlc_screen/Debug/hdlc/hdlc.d +++ /dev/null @@ -1,34 +0,0 @@ -hdlc/hdlc.d hdlc/hdlc.o: ../hdlc/hdlc.c ../hdlc/hdlc.h ../hdlc/fcs.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -../hdlc/hdlc.h: - -../hdlc/fcs.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 diff --git a/hdlc_screen/Debug/hdlc/hdlc.o b/hdlc_screen/Debug/hdlc/hdlc.o deleted file mode 100644 index 94187cc..0000000 Binary files a/hdlc_screen/Debug/hdlc/hdlc.o and /dev/null differ diff --git a/hdlc_screen/Debug/hdlc_screen.eep b/hdlc_screen/Debug/hdlc_screen.eep deleted file mode 100644 index 7c166a1..0000000 --- a/hdlc_screen/Debug/hdlc_screen.eep +++ /dev/null @@ -1 +0,0 @@ -:00000001FF diff --git a/hdlc_screen/Debug/hdlc_screen.elf b/hdlc_screen/Debug/hdlc_screen.elf deleted file mode 100644 index a459b27..0000000 Binary files a/hdlc_screen/Debug/hdlc_screen.elf and /dev/null differ diff --git a/hdlc_screen/Debug/hdlc_screen.hex b/hdlc_screen/Debug/hdlc_screen.hex deleted file mode 100644 index bbba2b5..0000000 --- a/hdlc_screen/Debug/hdlc_screen.hex +++ /dev/null @@ -1,508 +0,0 @@ -:100000000C9434000C9451000C9451000C94510049 -:100010000C9451000C9451000C9451000C9451001C -:100020000C9451000C9451000C9451000C9451000C -:100030000C9451000C9451000C9451000C945100FC -:100040000C9451000C9451000C94100B0C94510022 -:100050000C94420B0C9451000C9451000C945100E0 -:100060000C9451000C94510011241FBECFEFD8E026 -:10007000DEBFCDBF13E0A0E0B1E0E2E5FDE102C0EC -:1000800005900D92A234B107D9F723E0A2E4B3E0C2 -:1000900001C01D92A639B207E1F70E9426070C9411 -:1000A000A70E0C940000FC0181E0808372836183C1 -:1000B000709344036093430384E1838314828FEF3E -:1000C0009FEF9683858390878783928781871486A5 -:1000D0001386168615860895FC0183E08083808947 -:1000E000887F808B81E0878713820895FC0180815F -:1000F000823089F485E080834134510578F4828927 -:10010000887F828B118A748B638B568B458B13820D -:1001100080E090E008958CEF9FEF08958FEF9FEFC0 -:100120000895CF92DF92EF92FF920F931F93CF9398 -:10013000DF9300D0CDB7DEB77C016B015A834983D2 -:10014000FC0180818530D1F44589568963897489A1 -:100150008E010F5F1F4F9601C70141960E94480311 -:10016000992364F49F938F9380E091E09F938F9302 -:100170000E94990B0F900F900F900F90F7018081C4 -:100180008330D1F48E010F5F1F4F960140E050E0A5 -:1001900060E070E0C7010F960E944803992364F461 -:1001A0009F938F9380E091E09F938F930E94990B90 -:1001B0000F900F900F900F90F70180818430D1F451 -:1001C0008E010F5F1F4F960140E050E060E070E04D -:1001D000C70147960E944803992364F49F938F9325 -:1001E00080E091E09F938F930E94990B0F900F9066 -:1001F0000F900F9080E090E00F900F90DF91CF91E3 -:100200001F910F91FF90EF90DF90CF9008952F9264 -:100210003F924F925F926F927F928F929F92AF9296 -:10022000BF92CF92DF92EF92FF920F931F93CF93E3 -:10023000DF9300D000D0CDB7DEB75C015C834B8389 -:10024000222E332E38018DB69EB6C42ED52E8DB7F4 -:100250009EB78C199D090FB6F8949EBF0FBE8DBF37 -:10026000EDB7FEB731962F01CE0103967C018F01C9 -:100270009601AB01BE016F5F7F4FC50104960E94DE -:10028000220299230CF448C08A81877090E0F5011E -:10029000238130E08217930751F084E08083808DC2 -:1002A000887F808F82E0878B8AEF9FEF35C08981BE -:1002B000813049F018F08230D9F025C0F2E0CF1A31 -:1002C000D10829F40EC082E0F50180831CC0F20140 -:1002D000A22DB32D4C0C5D1C81918D93E415F50579 -:1002E000D9F7F301D182C08286E0F50180830BC08B -:1002F00084E0F5018083808D887F808F82E0878B0A -:100300008AEF9FEF09C08091430390914403F50168 -:100310009283818380E090E00FB6F8949EBE0FBE7A -:100320008DBE0F900F900F900F90DF91CF911F9186 -:100330000F91FF90EF90DF90CF90BF90AF909F9084 -:100340008F907F906F905F904F903F902F90089587 -:10035000FC0121813281261B370B32832183121647 -:1003600013061CF480E090E008958BEF9FEF089552 -:10037000FC01E627FF27EE0FFF1FEA5EFE4F892FE5 -:10038000992720813181822793270895FA0193E8E4 -:10039000980F923070F420813181A9014F5F5F4F37 -:1003A00051834083DB01A20FB31F9DE79C9390E232 -:1003B000892720813181A9014F5F5F4F518340839D -:1003C000FB01E20FF31F80830895982F80FF0BC07D -:1003D00086958695837011F082E001C081E0929548 -:1003E0009695977003C09695977080E097700895E2 -:1003F000FC019081913049F018F0923061F011C009 -:1004000081818770880F8061089581818295880F2E -:10041000807E8160089581818295880F807E8960C9 -:10042000089580E00895FC018FEF9FEF9283818310 -:100430009683858394838383128611861086178220 -:10044000108208953F924F925F926F927F928F92A7 -:100450009F92AF92BF92CF92DF92EF92FF920F9353 -:100460001F93CF93DF9300D000D0CDB7DEB70097B6 -:1004700009F4EAC06115710509F4E9C04115510597 -:1004800009F4E8C00115110509F4E7C0E114F1040D -:1004900009F4E6C0380149017A8369839C838B8320 -:1004A0002115310509F499C08A01C12CD12C689419 -:1004B000442445F833243394590121E0A21AB108A9 -:1004C000AB81BC8113968D919C91149799239CF4D8 -:1004D000F80180818E3709F070C0CA14DB0420F463 -:1004E00081818E3709F470C0EB81FC818781908512 -:1004F0009483838362C0F80150802EE7521219C0A2 -:10050000CA14DB0420F421812E3709F45DC0AB81CD -:10051000BC8117962D913C911897AC014F5F5F4FAE -:100520004217530709F450C016963C932E93159723 -:100530005DC0BDE75B1204C0EB81FC8130823DC031 -:10054000AB81BC818C91882319F01C92508054247B -:10055000652DEB81FC81818192810E94B801AB8184 -:10056000BC8112969C938E93119717962D913C9176 -:10057000189713968D919C91149702962817390716 -:1005800041F4852D0E94E501E981FA819183808300 -:1005900014C0821793078CF4AB81BC8119968D919E -:1005A0009C911A979C012F5F3F4F1A963C932E9374 -:1005B0001997F301E80FF91F5082EB81FC818781C5 -:1005C0009085019690878783FFEFCF1ADF0A0F5F30 -:1005D0001F4F8C149D0409F073CFAB81BC8113961F -:1005E0008D919C91149799233CF06401EB81FC81DF -:1005F00025813681332334F4D7011D921C928EE07D -:1006000092ED30C00496281739073CF0EB81FC814D -:1006100081819281883B904F31F0D701CD92DC925D -:100620000EE012ED0AC0EB81FC8181859285029774 -:10063000D7018D939C930C2D1D2D8B819C810E9445 -:100640001302802F912F0EC08EE092ED0BC08EE032 -:1006500092ED08C08EE092ED05C08EE092ED02C0F2 -:100660008EE092ED0F900F900F900F90DF91CF9151 -:100670001F910F91FF90EF90DF90CF90BF90AF90C0 -:100680009F908F907F906F905F904F903F900895D4 -:100690005F926F927F928F929F92AF92BF92CF9212 -:1006A000DF92EF92FF920F931F93CF93DF9300D0CF -:1006B000CDB7DEB7009709F473C06115710521F459 -:1006C0004115510509F06FC02115310509F46EC0BF -:1006D0000115110509F46DC0380179015A014B016A -:1006E0008C0181E090E09A8389838EE7F901808311 -:1006F0006FEF8FEF9FEF0E94B8016C01AE014F5F6B -:100700005F4FB7018FEF0E94C601C8010E94F80138 -:10071000582E682FC6010E94B8016C01AE014F5FD0 -:100720005F4FB701852D0E94C601F80180818111BC -:1007300019C0A114B104B1F084018A0C9B1C5801AA -:10074000F80161918F01C6010E94B8016C01AE01F0 -:100750004F5F5F4FB701F50180810E94C60180168F -:10076000910669F7C094D094AE014F5F5F4FB70117 -:100770008C2D0E94C601AE014F5F5F4FB7018D2DDA -:100780000E94C60189819A81F701E80FF91F2EE7BF -:1007900020830196F3019183808380E090E00BC079 -:1007A0008EE092ED08C08EE092ED05C08EE092EDF5 -:1007B00002C08EE092ED0F900F90DF91CF911F91CC -:1007C0000F91FF90EF90DF90CF90BF90AF909F90F0 -:1007D0008F907F906F905F900895CF93882331F032 -:1007E0008091420381608093420305C0809142035F -:1007F0008E7F809342038091420382608093420304 -:100800006091420380E00E94950662E080E00E94D1 -:10081000D60600C064E080E00E948106C82F62E036 -:1008200080E00E94DA0600C062E080E00E94D60606 -:1008300000C064E080E00E948106C295C07F8F7096 -:10084000C82B62E080E00E94DA068C2FCF910895D9 -:1008500080E00E94ED038823DCF300C080E00E946A -:10086000ED03089562E080E00E94D60600C062E0D9 -:1008700080E00E94DA060895CF93C82F662331F0F6 -:100880008091420381608093420305C080914203BE -:100890008E7F80934203809142038D7F8093420339 -:1008A0006091420380E00E949506809142038F7719 -:1008B00080934203809142038F7B80934203809117 -:1008C00042038F7D80934203809142038F7E809309 -:1008D0004203CC232CF4809142038068809342032E -:1008E000C6FF05C080914203806480934203C5FF28 -:1008F00005C080914203806280934203C4FF05C01B -:10090000809142038061809342036091420380E0C2 -:100910000E9495060E943204809142038F77809353 -:100920004203809142038F7B809342038091420374 -:100930008F7D80934203809142038F7E8093420398 -:10094000C3FF05C080914203806880934203C2FFC9 -:1009500005C080914203806480934203C1FF05C0BB -:1009600080914203806280934203C0FF05C0809162 -:1009700042038061809342036091420380E00E94C1 -:1009800095060E9432048091420380618093420365 -:10099000809142038062809342038091420380648D -:1009A0008093420380914203806880934203609168 -:1009B000420380E00E949506CF910895CF93C82FFF -:1009C0000E94280460E08C2F0E943C04CF9108957F -:1009D000611104C080580E94DE04089580540E9472 -:1009E000DE04089581E00E94DE040895882331F03A -:1009F00080914203877F8093420305C08091420328 -:100A00008860809342036091420380E00E949506D3 -:100A1000089582E00E94DE040895CF93C82F0E94BB -:100A20002804CA3049F4803410F080E001C080E42A -:100A300080580E94DE0413C0803129F460E080EC0D -:100A40000E943C0406C0803521F460E080E80E94EA -:100A50003C040E94280461E08C2F0E943C04CF914A -:100A60000895CF93DF93EC012196FC0180818823C8 -:100A700029F00E940D0589918111FBCFDF91CF9163 -:100A800008951F93CF93DF93182F0E94780610923A -:100A900042036091420380E00E94950680EA9FE055 -:100AA0000197F1F780914203806280934203809125 -:100AB00042038061809342036091420380E00E9480 -:100AC00095060E94320480EE94E00197F1F70E94AF -:100AD0003204C0E1D0E0CE010197F1F70E94320468 -:100AE000CE010197F1F7809142038F7E80934203FC -:100AF0006091420380E00E9495060E943204219793 -:100B0000F1F788E20E94DE0488E00E94DE040E9481 -:100B1000F20486E00E94DE04812F0E94DE04DF9151 -:100B2000CF911F9108958DE00E9441050E94090513 -:100B300080E00E94F6040895CF92DF92EF92FF9238 -:100B40000F931F93CF93DF938C017B01C901F801B1 -:100B500001900020E9F73197BF01601B710B0E94E3 -:100B6000760B670120E1C20ED11CE7019C012E1912 -:100B70003F09F80101900020E9F73197BF01601BA0 -:100B8000710BC9018C0F9D1F0E94760BF801E80FB5 -:100B9000F91F80818993CC15DD0559F7F701108A7B -:100BA000DF91CF911F910F91FF90EF90DF90CF9049 -:100BB0000895AF92BF92CF92DF92EF92FF920F9380 -:100BC0001F931F930F93FF92EF925F934F933F9367 -:100BD0002F939F938F937F936F9386E193E09F93DF -:100BE0008F93BF92AF92DF92CF920E94AF0B8DB7DF -:100BF0009EB742960FB6F8949EBF0FBE8DBF1F9151 -:100C00000F91FF90EF90DF90CF90BF90AF9008953D -:100C10006F927F92AF92BF92CF92DF92EF92FF924C -:100C20000F931F93CF93DF93CDB7DEB7C254D10993 -:100C30000FB6F894DEBF0FBECDBF3C012091490333 -:100C400030914A0341E150E0BE016F5F7F4F0E9447 -:100C50009C05F301E85BFF4FE080F1800281138186 -:100C60003497208131814281538134976081718131 -:100C7000828193810F2EF1E1AF2EB12CF02DFE0178 -:100C800072966F010E94D90540E150E0BE016F5F8E -:100C90007F4FCE0183960E948A0B40E150E0B6015F -:100CA000CE01C3960E948A0B60E080E00E94E804B7 -:100CB000CE0183960E94310561E080E00E94E80445 -:100CC000CE01C3960E943105CE5BDF4F0FB6F8947C -:100CD000DEBF0FBECDBFDF91CF911F910F91FF906F -:100CE000EF90DF90CF90BF90AF907F906F9008957E -:100CF0000E94DE0683E08A95F1F7000010924B0314 -:100D0000089581110EC0683070F480914B03082E55 -:100D1000000C990B02C0959587956A95E2F7817052 -:100D200008958FEF08958FEF0895CF9381110DC02F -:100D3000C62F60934B038EE40E94E4068C2F0E9422 -:100D400014070E940B0780E001C08FEFCF91089538 -:100D5000CF93DF93811124C0683020F580914B033D -:100D6000442349F0C1E0D0E002C0CC0FDD1F6A95FA -:100D7000E2F7C82B09C0C1E0D0E002C0CC0FDD1FF4 -:100D80006A95E2F7C095C823C0934B038EE40E9496 -:100D9000E4068C2F0E9414070E940B0780E003C01A -:100DA0008FEF01C08FEFDF91CF91089541E00E9456 -:100DB000A806089540E00E94A80608951092B90080 -:100DC0008DEF8093B800089594EA9093BC00ECEB0B -:100DD000F0E090819923ECF79091B900987F9830DA -:100DE00011F09031A1F48093BB0084E88093BC00A3 -:100DF000ECEBF0E080818823ECF79091B900987FCC -:100E0000983139F081E0903429F480E0089581E050 -:100E1000089580E0089584E98093BC00ECEBF0E055 -:100E2000808184FDFDCF08958093BB0084E880938A -:100E3000BC00ECEBF0E080818823ECF79091B900E6 -:100E4000987F81E0983209F480E008954F925F9294 -:100E50006F927F928F929F92AF92BF92CF92DF92CA -:100E6000EF92FF920F931F93CF93DF93CDB7DEB72F -:100E7000C350D2400FB6F894DEBF0FBECDBF0E9464 -:100E800093050E949E0A68EC70E0CE0101960E94D4 -:100E90005300CE0101960E946C004AE050E0BE0172 -:100EA000665E7F4FCE0101960E9491006AE070E07D -:100EB000CE014A960E94AA0A64E170E0CE018051F8 -:100EC0009E4F0E94CE0A61E070E0CE0101960E9422 -:100ED000A801059681F44AE050E0BE01665E7F4FAE -:100EE000CE0101960E9491006AE070E0CE014A9620 -:100EF0000E94AA0AE1CF00E010E020E030E044E1E7 -:100F000050E0BE0160517E4FCE0101960E94070164 -:100F10008C019923ACF40A3F8FEF1807B1F444E138 -:100F200050E0BE01605A7E4FCE0101960E949100B2 -:100F300064E170E0CE01805A9E4F0E94AA0A05C06B -:100F40008981823009F0B8CF03C0802F912FFEC075 -:100F500084EA90E7ADE9BFE38CA39DA3AEA3BFA352 -:100F60008DEC9CECA0EBB1E488A799A7AAA7BBA73E -:100F700080E090E0A8ECB2E48CA79DA7AEA7BFA745 -:100F800083E090E099AB88AB85E293E09BAB8AABC2 -:100F900082E090E09DAB8CAB2E01E6E74E0E511C3B -:100FA0005F924F923E01F6E36F0E711C7F926F923B -:100FB0008CA09DA0AEA0BFA0C8A4D9A4EAA4FBA405 -:100FC0000CA51DA52EA53FA548A959A96AA97BA9CD -:100FD0008CA99DA90E945C09F20140815181B30155 -:100FE000CE0101960E94760048E450E0BE016858A8 -:100FF0007F4FCE0101960E94910068E470E0CE011F -:1010000088589F4F0E94AA0A0F900F900F900F9040 -:1010100060E970E0CE01805A9E4F0E94CE0A61E0E6 -:1010200070E0CE0101960E94A801059689F448E47B -:1010300050E0BE0168587F4FCE0101960E9491009A -:1010400068E470E0CE0188589F4F0E94AA0AE0CF62 -:101050008E0113959E0120543F4F40E950E0BE01A0 -:10106000605A7E4FCE0101960E9407018C019923A0 -:101070009CF40696B1F444E150E0BE0160517E4F0D -:10108000CE0101960E94910064E170E0CE01805192 -:101090009E4F0E94AA0A05C08981863009F0B8CF08 -:1010A00003C0802F912F52C0C050DF4F68817981DB -:1010B000C050D140AE014E5F5E4FCE0180549F4F75 -:1010C0000E94BE08CE5FDE4F88819981AA81BB81D4 -:1010D000C250D140CC5ADE4F88839983AA83BB8308 -:1010E000C455D140CA5FDE4F88819981AA81BB81F6 -:1010F000C650D140C85ADE4F88839983AA83BB83E8 -:10110000C855D140C65FDE4F88819981AA81BB81D5 -:10111000CA50D140C45ADE4F88839983AA83BB83C7 -:10112000CC55D140C05FDE4F68817981C051D1403C -:101130004FE350E0CE018C5E9E4F0E948A0BCE01A1 -:101140008C5E9E4F0E94080680E090E0CD5FDD4FF0 -:101150000FB6F894DEBF0FBECDBFDF91CF911F91C8 -:101160000F91FF90EF90DF90CF90BF90AF909F9046 -:101170008F907F906F905F904F9008958F929F9285 -:10118000AF92BF92CF92DF92EF92FF920F931F9395 -:10119000CF93DF93CDB7DEB7C054D1090FB6F89423 -:1011A000DEBF0FBECDBF4B01672B09F46CC020E042 -:1011B00030E060E070E0A12CB12C6E01E5E0CE0ED5 -:1011C000D11CFE0131967F01FC01E20FF31F20814B -:1011D000211127C0DB011196A80FB91FFE0131961E -:1011E0002D912193EC15FD05D9F76C5F7F4FF5012B -:1011F000EE0FFF1FEE0FFF1FE40FF51F09811A818D -:101200002B813C810083118322833383FA0124855F -:1012100035852F5F3F4F3587248795012F5F3F4FDF -:101220005901FC01E60FF71F2081213021F59B01B8 -:101230002F5F3F4FFC01E20FF31FE081EE2399F097 -:101240006E5F7F4FDC01A60FB71FF701B9016F5F1B -:101250007F4F2D91219330E08F010E191F09021746 -:101260001307ACF301C0B90129813A81FA0137872C -:101270002687118A108A6F5F7F4F9B016815790559 -:1012800008F4A2CF02C0A12CB12CFA01B586A48625 -:10129000C05CDF4F0FB6F894DEBF0FBECDBFDF914D -:1012A000CF911F910F91FF90EF90DF90CF90BF9063 -:1012B000AF909F908F9008954F925F926F927F9220 -:1012C0008F929F92AF92BF92CF92DF92EF92FF9256 -:1012D0000F931F93CF93DF93CDB7DEB7C255D109DC -:1012E0000FB6F894DEBF0FBECDBF22968FAE229709 -:1012F00023969FAE23972496AFAE24972596BFAE34 -:1013000025972696CFAE26972796DFAE2797289665 -:10131000EFAE28972996FFAE29972A960FAF2A9706 -:101320002B961FAF2B972C962FAF2C972D963FAF58 -:101330002D972E964FAF2E972F965FAF2F976096D3 -:101340006FAF609761967FAF619762968FAF62973C -:1013500063969FAF6397A7960EAD1FADA7972F9685 -:10136000CEACDFAC2F9763966EAD7FAD6397C114A3 -:10137000D10409F466C07801CE018F5B9F4F5601FE -:10138000AA0CBB1CAA0CBB1CA80EB91EAE014B5F5D -:101390005F4FF7011192DC014D905D906D907D9053 -:1013A000CD0149825A826B827C82DE0111963D9189 -:1013B0003193A417B507D9F7B5E0EB0EF11C8A15E8 -:1013C0009B0539F79601220F331F220F331F2C0D77 -:1013D0003D1D6115710509F1D801A20FB31F81E010 -:1013E0008C93D9011196A00FB11F2E5F3F4F6C93C4 -:1013F00061968EAD9FAD61979A838983DE011196C8 -:10140000F801E20FF31F80E090E02F5F3F4F4D9116 -:101410004193019686179707C0F3A996EEADFFADED -:10142000A9973183208313C081E0F8018083618311 -:1014300061968EAD9FAD61979A83898322E030E0FB -:10144000DDCF6115710581F720E030E0E6CFCE5A9F -:10145000DF4F0FB6F894DEBF0FBECDBFDF91CF9147 -:101460001F910F91FF90EF90DF90CF90BF90AF90C2 -:101470009F908F907F906F905F904F900895FC01A8 -:1014800081E090E030A121A1321711F080E090E0DE -:101490000895FC0121A130E02F5F3F4F2F7130787C -:1014A000332334F421503109206E3F6F2F5F3F4FBB -:1014B000FC0140A150E081E090E02417350711F0D5 -:1014C00080E090E008951F93CF93DF93EC01162FF7 -:1014D0000E94490A892B81F489A190E0FE01E80F5E -:1014E000F91F108301968F719078992324F4019746 -:1014F000806E9F6F019689A3DF91CF911F91089510 -:10150000FC0120A181A12817B1F030E0DF01A20F7A -:10151000B31F4C9150E02F5F3F4F2F713078332332 -:1015200034F421503109206E3F6F2F5F3F4F20A3CD -:10153000842F952F08958FEF9FEF089588EF809364 -:10154000C10086E08093C2001092C50087E68093B8 -:10155000C40008950F931F93CF93DF936115710516 -:1015600099F08C01EC01060F171F8EE693E00E94A4 -:10157000490A892B49F4699170E08EE693E00E9454 -:10158000630AC017D10789F7E1ECF0E0808180643D -:101590008083DF91CF911F910F9108958F929F9239 -:1015A000AF92BF92CF92DF92EF92FF920F931F9371 -:1015B000CF93DF938B01EC01C12CD12C76014B0131 -:1015C000A12CB12C0AC08CE493E00E94800A89937C -:1015D0008FEFC81AD80AE80AF80A8CE493E00E9450 -:1015E0003F0A892B29F4C814D904EA04FB0458F3F0 -:1015F00020E030E00C151D052E053F0510F0C6015A -:1016000002C08FEF9FEFDF91CF911F910F91FF905D -:10161000EF90DF90CF90BF90AF909F908F90089504 -:101620001F920F920FB60F9211242F933F934F9357 -:101630005F936F937F938F939F93AF93BF93CF935A -:10164000EF93FF93C091C6008CE493E00E94490A97 -:10165000892B31F46C2F70E08CE493E00E94630AD4 -:10166000FF91EF91CF91BF91AF919F918F917F911A -:101670006F915F914F913F912F910F900FBE0F90FF -:101680001F9018951F920F920FB60F9211242F934F -:101690003F934F935F936F937F938F939F93AF93FA -:1016A000BF93EF93FF938EE693E00E943F0A892B4E -:1016B00039F48EE693E00E94800A8093C60005C04C -:1016C000E1ECF0E080818F7B8083FF91EF91BF910F -:1016D000AF919F918F917F916F915F914F913F91CA -:1016E0002F910F900FBE0F901F901895AA1BBB1B38 -:1016F00051E107C0AA1FBB1FA617B70710F0A61B12 -:10170000B70B881F991F5A95A9F780959095BC0132 -:10171000CD010895FB01DC014150504048F001909B -:101720000D920020C9F701C01D9241505040E0F7D2 -:101730000895A0E0B0E0EFE9FBE00C94800EAE016C -:101740004B5F5F4FFA0161917191AF0180919203FC -:10175000909193030E94DF0BE2E00C949C0EAEE0AC -:10176000B0E0E5EBFBE00C947E0E0D891E898F89BD -:10177000988D26E02C831A83098397FF02C080E0AE -:1017800090E801979E838D83AE01455E5F4F698D22 -:101790007A8DCE0101960E94DF0B4D815E8157FD4F -:1017A0000AC02F813885421753070CF49A01F801BB -:1017B000E20FF31F10822E96E4E00C949A0EABE039 -:1017C000B0E0E5EEFBE00C94700E6C017B018A0149 -:1017D000FC0117821682838181FFCCC1CE01019664 -:1017E0003C01F6019381F70193FD859193FF81916F -:1017F0007F01882309F4BAC1853239F493FD8591BC -:1018000093FF81917F01853229F4B60190E00E9417 -:10181000D60DE7CF912C212C312CFFE1F315D8F018 -:101820008B3279F038F4803279F08332A1F4232DB1 -:1018300020611DC08D3261F0803369F4232D216059 -:1018400016C0832D8260382EE32DE4603E2E2AC020 -:10185000F32DF8601DC037FC2DC020ED280F2A3075 -:1018600040F08E32B9F436FC81C1232D2064322E33 -:1018700019C036FE06C08AE0989E200D1124922ED3 -:1018800011C0EAE02E9E200D1124222EF32DF062CD -:101890003F2E08C08C3621F4832D8068382E02C07C -:1018A000883641F4F70193FD859193FF81917F0183 -:1018B0008111B3CF982F9F7D9554933028F40C5FFE -:1018C0001F4F9FE399830DC0833631F0833771F04A -:1018D000833509F059C021C0F801808189830E5FEA -:1018E0001F4F88248394912C530113C02801F2E0E8 -:1018F0004F0E511CF801A080B18036FE03C0692D47 -:1019000070E002C06FEF7FEFC5010E94CB0D4C016C -:101910008201F32DFF773F2E16C0280122E0420EF0 -:10192000511CF801A080B18036FE03C0692D70E023 -:1019300002C06FEF7FEFC5010E94C00D4C01F32D77 -:10194000F0683F2E820133FC1BC0822D90E0881688 -:101950009906B0F4B60180E290E00E94D60D2A9478 -:10196000F4CFF50137FC859137FE81915F01B60117 -:1019700090E00E94D60D21102A9421E0821A91084D -:101980008114910471F7E8C0843611F0893641F56D -:10199000F80137FE07C060817181828193810C5FFD -:1019A0001F4F08C060817181072E000C880B990BB6 -:1019B0000E5F1F4FF32DFF763F2E97FF09C09095C6 -:1019C0008095709561957F4F8F4F9F4FF0683F2EA8 -:1019D0002AE030E0A3010E94120E882E861845C02E -:1019E000853731F4232D2F7EB22E2AE030E025C03A -:1019F000932D997FB92E8F36C1F018F4883579F080 -:101A0000B5C0803719F0883721F0B0C0E92FE06108 -:101A1000BE2EB4FE0DC0FB2DF460BF2E09C034FEF7 -:101A20000AC0292F2660B22E06C028E030E005C08B -:101A300020E130E002C020E132E0F801B7FE07C04B -:101A400060817181828193810C5F1F4F06C060812C -:101A5000718180E090E00E5F1F4FA3010E94120E83 -:101A6000882E8618FB2DFF773F2E36FE0DC0232DC6 -:101A70002E7FA22E891458F434FE0BC032FC09C00C -:101A8000832D8E7EA82E05C0B82CA32C03C0B82CA5 -:101A900001C0B92CA4FE0FC0FE01E80DF11D80812C -:101AA000803321F49A2D997EA92E09C0A2FE06C08A -:101AB000B394B39404C08A2D867809F0B394A3FC40 -:101AC00011C0A0FE06C0B21488F4280C922C9B18FA -:101AD0000EC0B21460F4B60180E290E00E94D60D10 -:101AE000B394F7CFB21418F42B1802C0982C212C01 -:101AF000A4FE10C0B60180E390E00E94D60DA2FEC5 -:101B000017C0A1FC03C088E790E002C088E590E020 -:101B1000B6010CC08A2D867859F0A1FE02C08BE276 -:101B200001C080E2A7FC8DE2B60190E00E94D60DD4 -:101B3000891438F4B60180E390E00E94D60D9A949F -:101B4000F7CF8A94F301E80DF11D8081B60190E092 -:101B50000E94D60D8110F5CF222009F442CEB601A5 -:101B600080E290E00E94D60D2A94F6CFF60186819D -:101B7000978102C08FEF9FEF2B96E2E10C948C0EC1 -:101B8000FC010590615070400110D8F78095909548 -:101B90008E0F9F1F0895FC0161507040019001104D -:101BA000D8F7809590958E0F9F1F08950F931F93E0 -:101BB000CF93DF93FB01238121FD03C08FEF9FEFC4 -:101BC0002CC022FF16C046815781248135814217DF -:101BD000530744F4A081B1819D012F5F3F4F3183B2 -:101BE00020838C93268137812F5F3F4F3783268355 -:101BF00014C08B01EC01FB010084F185E02D0995F7 -:101C0000892BE1F6D80116968D919C911797019634 -:101C100017969C938E931697CE01DF91CF911F91CB -:101C20000F910895FA01AA27283051F1203181F14E -:101C3000E8946F936E7F6E5F7F4F8F4F9F4FAF4FD4 -:101C4000B1E03ED0B4E03CD0670F781F891F9A1FE7 -:101C5000A11D680F791F8A1F911DA11D6A0F711D9B -:101C6000811D911DA11D20D009F468943F912AE0A7 -:101C7000269F11243019305D3193DEF6CF0108958F -:101C8000462F4770405D4193B3E00FD0C9F7F6CFC0 -:101C9000462F4F70405D4A3318F0495D31FD405288 -:101CA000419302D0A9F7EACFB4E0A695979587951E -:101CB00077956795BA95C9F70097610571050895FD -:101CC0009B01AC010A2E06945795479537952795A9 -:101CD000BA95C9F7620F731F841F951FA01D089541 -:101CE0002F923F924F925F926F927F928F929F922C -:101CF000AF92BF92CF92DF92EF92FF920F931F931A -:101D0000CF93DF93CDB7DEB7CA1BDB0B0FB6F894CA -:101D1000DEBF0FBECDBF09942A88398848885F840A -:101D20006E847D848C849B84AA84B984C884DF807B -:101D3000EE80FD800C811B81AA81B981CE0FD11D5F -:101D40000FB6F894DEBF0FBECDBFED010895F89435 -:021D5000FFCFC3 -:101D520065727220696E206765745F6672616D6577 -:101D62003A2025640A000000891112239B3224467E -:101D7200AD573665BF74488CC19D5AAFD3BE6CCA8D -:101D8200E5DB7EE9F7F88110080193331A22A556A4 -:101D92002C47B7753E64C99C408DDBBF52AEEDDA6D -:101DA20064CBFFF976E802218B3010029913266783 -:101DB200AF763444BD554AADC3BC588ED19F6EEB4D -:101DC200E7FA7CC8F5D983310A2091121803A77764 -:101DD2002E66B5543C45CBBD42ACD99E508FEFFB2D -:101DE20066EAFDD874C904428D5316619F702004BF -:101DF200A9153227BB364CCEC5DF5EEDD7FC68880D -:101E0200E1997AABF3BA85520C4397711E60A11423 -:101E12002805B3373A26CDDE44CFDFFD56ECE998EC -:101E22006089FBBB72AA06638F7214409D51222502 -:101E3200AB343006B9174EEFC7FE5CCCD5DD6AA9CC -:101E4200E3B8788AF19B87730E6295501C41A335E3 -:101E52002A24B1163807CFFF46EEDDDC54CDEBB9AC -:101E620062A8F99A708B088481951AA793B62CC23E -:101E7200A5D33EE1B7F04008C919522BDB3A644EB4 -:101E8200ED5F766DFF7C899400859BB712A6ADD27B -:101E920024C3BFF136E0C1184809D33B5A2AE55E94 -:101EA2006C4FF77D7E6C0AA583B4188691972EE35A -:101EB200A7F23CC0B5D14229CB38500AD91B666F74 -:101EC200EF7E744CFD5D8BB502A499961087AFF33B -:101ED20026E2BDD034C1C3394A28D11A580BE77F54 -:101EE2006E6EF55C7C4D0CC685D71EE597F4288096 -:101EF200A1913AA3B3B2444ACD5B5669DF78600C34 -:101F0200E91D722FFB3E8DD604C79FF516E4A990FA -:101F12002081BBB332A2C55A4C4BD7795E68E11C13 -:101F2200680DF33F7A2E0EE787F61CC495D52AA1D9 -:101F3200A3B03882B193466BCF7A5448DD59622DF3 -:101F4200EB3C700EF91F8FF706E69DD414C5ABB1BA -:101F520022A0B9923083C77B4E6AD5585C49E33DD3 -:101F62006A2CF11E780F252E32662E252E32662E11 -:101F7200252E326600776F72642077617220696E57 -:101F8200206E657720776F726C6420696F206578A8 -:021F920000004D -:00000001FF diff --git a/hdlc_screen/Debug/hdlc_screen.lss b/hdlc_screen/Debug/hdlc_screen.lss deleted file mode 100644 index 6805628..0000000 --- a/hdlc_screen/Debug/hdlc_screen.lss +++ /dev/null @@ -1,4545 +0,0 @@ - -hdlc_screen.elf: file format elf32-avr - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .data 00000242 00800100 00001d52 00001de6 2**0 - CONTENTS, ALLOC, LOAD, DATA - 1 .text 00001d52 00000000 00000000 00000094 2**1 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000054 00800342 00800342 00002028 2**0 - ALLOC - 3 .comment 0000008c 00000000 00000000 00002028 2**0 - CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000020b4 2**2 - CONTENTS, READONLY - 5 .debug_aranges 00000320 00000000 00000000 000020f4 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_info 0000378f 00000000 00000000 00002414 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00001589 00000000 00000000 00005ba3 2**0 - CONTENTS, READONLY, DEBUGGING -<<<<<<< HEAD - 8 .debug_line 00001c87 00000000 00000000 0000712c 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000009a0 00000000 00000000 00008db4 2**2 - CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00000cc5 00000000 00000000 00009754 2**0 - CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00002fe7 00000000 00000000 0000a419 2**0 - CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000002e8 00000000 00000000 0000d400 2**0 -======= - 8 .debug_line 00001e37 00000000 00000000 0000712c 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000009a0 00000000 00000000 00008f64 2**2 - CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00000cc5 00000000 00000000 00009904 2**0 - CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00002fe7 00000000 00000000 0000a5c9 2**0 - CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000002e8 00000000 00000000 0000d5b0 2**0 ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - CONTENTS, READONLY, DEBUGGING - -Disassembly of section .text: - -00000000 <__vectors>: - 0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end> - 4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 2c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 48: 0c 94 10 0b jmp 0x1620 ; 0x1620 <__vector_18> - 4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 50: 0c 94 42 0b jmp 0x1684 ; 0x1684 <__vector_20> - 54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - 64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> - -00000068 <__ctors_end>: - 68: 11 24 eor r1, r1 - 6a: 1f be out 0x3f, r1 ; 63 - 6c: cf ef ldi r28, 0xFF ; 255 - 6e: d8 e0 ldi r29, 0x08 ; 8 - 70: de bf out 0x3e, r29 ; 62 - 72: cd bf out 0x3d, r28 ; 61 - -00000074 <__do_copy_data>: - 74: 13 e0 ldi r17, 0x03 ; 3 - 76: a0 e0 ldi r26, 0x00 ; 0 - 78: b1 e0 ldi r27, 0x01 ; 1 - 7a: e2 e5 ldi r30, 0x52 ; 82 - 7c: fd e1 ldi r31, 0x1D ; 29 - 7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10> - 80: 05 90 lpm r0, Z+ - 82: 0d 92 st X+, r0 - 84: a2 34 cpi r26, 0x42 ; 66 - 86: b1 07 cpc r27, r17 - 88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc> - -0000008a <__do_clear_bss>: - 8a: 23 e0 ldi r18, 0x03 ; 3 - 8c: a2 e4 ldi r26, 0x42 ; 66 - 8e: b3 e0 ldi r27, 0x03 ; 3 - 90: 01 c0 rjmp .+2 ; 0x94 <.do_clear_bss_start> - -00000092 <.do_clear_bss_loop>: - 92: 1d 92 st X+, r1 - -00000094 <.do_clear_bss_start>: - 94: a6 39 cpi r26, 0x96 ; 150 - 96: b2 07 cpc r27, r18 - 98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop> - 9a: 0e 94 26 07 call 0xe4c ; 0xe4c
- 9e: 0c 94 a7 0e jmp 0x1d4e ; 0x1d4e <_exit> - -000000a2 <__bad_interrupt>: - a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> - -000000a6 : - -#define SIZE_DATA_BUFFERS 64 - -int connecting_frame_timeout_bf; - -void init_hdlc_client(struct Client* client, int connecting_frame_timeout){ - a6: fc 01 movw r30, r24 - client->state = IDLE_STATE; - a8: 81 e0 ldi r24, 0x01 ; 1 - aa: 80 83 st Z, r24 - client->connecting_frame_timeout = connecting_frame_timeout; - ac: 72 83 std Z+2, r23 ; 0x02 - ae: 61 83 std Z+1, r22 ; 0x01 - connecting_frame_timeout_bf = connecting_frame_timeout; - b0: 70 93 44 03 sts 0x0344, r23 ; 0x800344 - b4: 60 93 43 03 sts 0x0343, r22 ; 0x800343 - client->current_index_frame = 20; - b8: 84 e1 ldi r24, 0x14 ; 20 - ba: 83 83 std Z+3, r24 ; 0x03 - - client->current_state_hdlc.control_escape = 0; - bc: 14 82 std Z+4, r1 ; 0x04 - client->current_state_hdlc.fcs = FCS_INIT_VALUE; - be: 8f ef ldi r24, 0xFF ; 255 - c0: 9f ef ldi r25, 0xFF ; 255 - c2: 96 83 std Z+6, r25 ; 0x06 - c4: 85 83 std Z+5, r24 ; 0x05 - client->current_state_hdlc.start_index = -1; - c6: 90 87 std Z+8, r25 ; 0x08 - c8: 87 83 std Z+7, r24 ; 0x07 - client->current_state_hdlc.end_index = -1; - ca: 92 87 std Z+10, r25 ; 0x0a - cc: 81 87 std Z+9, r24 ; 0x09 - client->current_state_hdlc.src_index = 0; - ce: 14 86 std Z+12, r1 ; 0x0c - d0: 13 86 std Z+11, r1 ; 0x0b - client->current_state_hdlc.dest_index = 0; - d2: 16 86 std Z+14, r1 ; 0x0e - d4: 15 86 std Z+13, r1 ; 0x0d - d6: 08 95 ret - -000000d8 : -} - -void hdlc_connect(struct Client* client){ - d8: fc 01 movw r30, r24 - client->state = CONNECTING; - da: 83 e0 ldi r24, 0x03 ; 3 - dc: 80 83 st Z, r24 - - client->frameS.seq_no = 0; - de: 80 89 ldd r24, Z+16 ; 0x10 - e0: 88 7f andi r24, 0xF8 ; 248 - e2: 80 8b std Z+16, r24 ; 0x10 - client->frameS.frame = S_FRAME; - e4: 81 e0 ldi r24, 0x01 ; 1 - e6: 87 87 std Z+15, r24 ; 0x0f - client->current_index_frame = client->frameS.seq_no; - e8: 13 82 std Z+3, r1 ; 0x03 - ea: 08 95 ret - -000000ec : -} - -int hdlc_send_data(struct Client* client, uint8_t data[], size_t data_len){ - ec: fc 01 movw r30, r24 - if (client->state != READY_STATE){ - ee: 80 81 ld r24, Z - f0: 82 30 cpi r24, 0x02 ; 2 - f2: 89 f4 brne .+34 ; 0x116 - return ERR_INVALID_STATE; - } - - client->state = RECIVING; - f4: 85 e0 ldi r24, 0x05 ; 5 - f6: 80 83 st Z, r24 - - if (SIZE_DATA_BUFFERS < data_len){ - f8: 41 34 cpi r20, 0x41 ; 65 - fa: 51 05 cpc r21, r1 - fc: 78 f4 brcc .+30 ; 0x11c - return ERR_INVALID_DATA_SIZE; - } - - client->frameI.seq_no = 0; - fe: 82 89 ldd r24, Z+18 ; 0x12 - 100: 88 7f andi r24, 0xF8 ; 248 - 102: 82 8b std Z+18, r24 ; 0x12 - client->frameI.frame = I_FRAME; - 104: 11 8a std Z+17, r1 ; 0x11 - client->data_i_frame = data; - 106: 74 8b std Z+20, r23 ; 0x14 - 108: 63 8b std Z+19, r22 ; 0x13 - client->len_data_i_frame = data_len; - 10a: 56 8b std Z+22, r21 ; 0x16 - 10c: 45 8b std Z+21, r20 ; 0x15 - client->current_index_frame = client->frameI.seq_no; - 10e: 13 82 std Z+3, r1 ; 0x03 - - client->state = RECIVING; - return 0; - 110: 80 e0 ldi r24, 0x00 ; 0 - 112: 90 e0 ldi r25, 0x00 ; 0 - 114: 08 95 ret - client->current_index_frame = client->frameS.seq_no; -} - -int hdlc_send_data(struct Client* client, uint8_t data[], size_t data_len){ - if (client->state != READY_STATE){ - return ERR_INVALID_STATE; - 116: 8c ef ldi r24, 0xFC ; 252 - 118: 9f ef ldi r25, 0xFF ; 255 - 11a: 08 95 ret - } - - client->state = RECIVING; - - if (SIZE_DATA_BUFFERS < data_len){ - return ERR_INVALID_DATA_SIZE; - 11c: 8f ef ldi r24, 0xFF ; 255 - 11e: 9f ef ldi r25, 0xFF ; 255 - client->len_data_i_frame = data_len; - client->current_index_frame = client->frameI.seq_no; - - client->state = RECIVING; - return 0; -} - 120: 08 95 ret - -00000122 : - -int hdlc_get_raw_frame(struct Client *client, uint8_t* buffer, size_t lenBuffer) { - 122: cf 92 push r12 - 124: df 92 push r13 - 126: ef 92 push r14 - 128: ff 92 push r15 - 12a: 0f 93 push r16 - 12c: 1f 93 push r17 - 12e: cf 93 push r28 - 130: df 93 push r29 - 132: 00 d0 rcall .+0 ; 0x134 - 134: cd b7 in r28, 0x3d ; 61 - 136: de b7 in r29, 0x3e ; 62 - 138: 7c 01 movw r14, r24 - 13a: 6b 01 movw r12, r22 - 13c: 5a 83 std Y+2, r21 ; 0x02 - 13e: 49 83 std Y+1, r20 ; 0x01 - if(client->state == RECIVING){ - 140: fc 01 movw r30, r24 - 142: 80 81 ld r24, Z - 144: 85 30 cpi r24, 0x05 ; 5 - 146: d1 f4 brne .+52 ; 0x17c - int ret = hdlc_frame_data(&client->frameI, client->data_i_frame, - 148: 45 89 ldd r20, Z+21 ; 0x15 - 14a: 56 89 ldd r21, Z+22 ; 0x16 - 14c: 63 89 ldd r22, Z+19 ; 0x13 - 14e: 74 89 ldd r23, Z+20 ; 0x14 - 150: 8e 01 movw r16, r28 - 152: 0f 5f subi r16, 0xFF ; 255 - 154: 1f 4f sbci r17, 0xFF ; 255 - 156: 96 01 movw r18, r12 - 158: c7 01 movw r24, r14 - 15a: 41 96 adiw r24, 0x11 ; 17 - 15c: 0e 94 48 03 call 0x690 ; 0x690 - client->len_data_i_frame, buffer, &lenBuffer); - if (ret < 0){ - 160: 99 23 and r25, r25 - 162: 64 f4 brge .+24 ; 0x17c - printf("err in get_frame: %d\n", ret); - 164: 9f 93 push r25 - 166: 8f 93 push r24 - 168: 80 e0 ldi r24, 0x00 ; 0 - 16a: 91 e0 ldi r25, 0x01 ; 1 - 16c: 9f 93 push r25 - 16e: 8f 93 push r24 - 170: 0e 94 99 0b call 0x1732 ; 0x1732 - 174: 0f 90 pop r0 - 176: 0f 90 pop r0 - 178: 0f 90 pop r0 - 17a: 0f 90 pop r0 - } - } - - if (client->state == CONNECTING){ - 17c: f7 01 movw r30, r14 - 17e: 80 81 ld r24, Z - 180: 83 30 cpi r24, 0x03 ; 3 - 182: d1 f4 brne .+52 ; 0x1b8 - int ret = hdlc_frame_data(&client->frameS, NULL, 0, buffer, &lenBuffer); - 184: 8e 01 movw r16, r28 - 186: 0f 5f subi r16, 0xFF ; 255 - 188: 1f 4f sbci r17, 0xFF ; 255 - 18a: 96 01 movw r18, r12 - 18c: 40 e0 ldi r20, 0x00 ; 0 - 18e: 50 e0 ldi r21, 0x00 ; 0 - 190: 60 e0 ldi r22, 0x00 ; 0 - 192: 70 e0 ldi r23, 0x00 ; 0 - 194: c7 01 movw r24, r14 - 196: 0f 96 adiw r24, 0x0f ; 15 - 198: 0e 94 48 03 call 0x690 ; 0x690 - - if (ret < 0){ - 19c: 99 23 and r25, r25 - 19e: 64 f4 brge .+24 ; 0x1b8 - printf("err in get_frame: %d\n", ret); - 1a0: 9f 93 push r25 - 1a2: 8f 93 push r24 - 1a4: 80 e0 ldi r24, 0x00 ; 0 - 1a6: 91 e0 ldi r25, 0x01 ; 1 - 1a8: 9f 93 push r25 - 1aa: 8f 93 push r24 - 1ac: 0e 94 99 0b call 0x1732 ; 0x1732 - 1b0: 0f 90 pop r0 - 1b2: 0f 90 pop r0 - 1b4: 0f 90 pop r0 - 1b6: 0f 90 pop r0 - } - } - - if (client->state == DISCONNECTING){ - 1b8: f7 01 movw r30, r14 - 1ba: 80 81 ld r24, Z - 1bc: 84 30 cpi r24, 0x04 ; 4 - 1be: d1 f4 brne .+52 ; 0x1f4 - int ret = hdlc_frame_data(&client->frame_rej, NULL, 0, buffer, &lenBuffer); - 1c0: 8e 01 movw r16, r28 - 1c2: 0f 5f subi r16, 0xFF ; 255 - 1c4: 1f 4f sbci r17, 0xFF ; 255 - 1c6: 96 01 movw r18, r12 - 1c8: 40 e0 ldi r20, 0x00 ; 0 - 1ca: 50 e0 ldi r21, 0x00 ; 0 - 1cc: 60 e0 ldi r22, 0x00 ; 0 - 1ce: 70 e0 ldi r23, 0x00 ; 0 - 1d0: c7 01 movw r24, r14 - 1d2: 47 96 adiw r24, 0x17 ; 23 - 1d4: 0e 94 48 03 call 0x690 ; 0x690 - - if (ret < 0){ - 1d8: 99 23 and r25, r25 - 1da: 64 f4 brge .+24 ; 0x1f4 - printf("err in get_frame: %d\n", ret); - 1dc: 9f 93 push r25 - 1de: 8f 93 push r24 - 1e0: 80 e0 ldi r24, 0x00 ; 0 - 1e2: 91 e0 ldi r25, 0x01 ; 1 - 1e4: 9f 93 push r25 - 1e6: 8f 93 push r24 - 1e8: 0e 94 99 0b call 0x1732 ; 0x1732 - 1ec: 0f 90 pop r0 - 1ee: 0f 90 pop r0 - 1f0: 0f 90 pop r0 - 1f2: 0f 90 pop r0 - } - } - - return 0; -} - 1f4: 80 e0 ldi r24, 0x00 ; 0 - 1f6: 90 e0 ldi r25, 0x00 ; 0 - 1f8: 0f 90 pop r0 - 1fa: 0f 90 pop r0 - 1fc: df 91 pop r29 - 1fe: cf 91 pop r28 - 200: 1f 91 pop r17 - 202: 0f 91 pop r16 - 204: ff 90 pop r15 - 206: ef 90 pop r14 - 208: df 90 pop r13 - 20a: cf 90 pop r12 - 20c: 08 95 ret - -0000020e : - -int hdlc_decode_recived_raw_data(struct Client* client, uint8_t* buffer, size_t len_buffer, uint8_t* recived_data, size_t* len_recived_data){ - 20e: 2f 92 push r2 - 210: 3f 92 push r3 - 212: 4f 92 push r4 - 214: 5f 92 push r5 - 216: 6f 92 push r6 - 218: 7f 92 push r7 - 21a: 8f 92 push r8 - 21c: 9f 92 push r9 - 21e: af 92 push r10 - 220: bf 92 push r11 - 222: cf 92 push r12 - 224: df 92 push r13 - 226: ef 92 push r14 - 228: ff 92 push r15 - 22a: 0f 93 push r16 - 22c: 1f 93 push r17 - 22e: cf 93 push r28 - 230: df 93 push r29 - 232: 00 d0 rcall .+0 ; 0x234 - 234: 00 d0 rcall .+0 ; 0x236 - 236: cd b7 in r28, 0x3d ; 61 - 238: de b7 in r29, 0x3e ; 62 - 23a: 5c 01 movw r10, r24 - 23c: 5c 83 std Y+4, r21 ; 0x04 - 23e: 4b 83 std Y+3, r20 ; 0x03 - 240: 22 2e mov r2, r18 - 242: 33 2e mov r3, r19 - 244: 38 01 movw r6, r16 - return ERR_INVALID_SEQ_NUMBER_FRAME; - } - - client->connecting_frame_timeout = connecting_frame_timeout_bf; - return 0; -} - 246: 8d b6 in r8, 0x3d ; 61 - 248: 9e b6 in r9, 0x3e ; 62 - return 0; -} - -int hdlc_decode_recived_raw_data(struct Client* client, uint8_t* buffer, size_t len_buffer, uint8_t* recived_data, size_t* len_recived_data){ - hdlc_control_t recv_control; - uint8_t recive[len_buffer]; - 24a: c4 2e mov r12, r20 - 24c: d5 2e mov r13, r21 - 24e: 8d b7 in r24, 0x3d ; 61 - 250: 9e b7 in r25, 0x3e ; 62 - 252: 8c 19 sub r24, r12 - 254: 9d 09 sbc r25, r13 - 256: 0f b6 in r0, 0x3f ; 63 - 258: f8 94 cli - 25a: 9e bf out 0x3e, r25 ; 62 - 25c: 0f be out 0x3f, r0 ; 63 - 25e: 8d bf out 0x3d, r24 ; 61 - 260: ed b7 in r30, 0x3d ; 61 - 262: fe b7 in r31, 0x3e ; 62 - 264: 31 96 adiw r30, 0x01 ; 1 - 266: 2f 01 movw r4, r30 - - int ret = hdlc_get_data_with_state(&client->current_state_hdlc,&recv_control, buffer, len_buffer, recive, - 268: ce 01 movw r24, r28 - 26a: 03 96 adiw r24, 0x03 ; 3 - 26c: 7c 01 movw r14, r24 - 26e: 8f 01 movw r16, r30 - 270: 96 01 movw r18, r12 - 272: ab 01 movw r20, r22 - 274: be 01 movw r22, r28 - 276: 6f 5f subi r22, 0xFF ; 255 - 278: 7f 4f sbci r23, 0xFF ; 255 - 27a: c5 01 movw r24, r10 - 27c: 04 96 adiw r24, 0x04 ; 4 - 27e: 0e 94 22 02 call 0x444 ; 0x444 - &len_buffer); - - if (ret < 0) { - 282: 99 23 and r25, r25 - 284: 0c f4 brge .+2 ; 0x288 - 286: 48 c0 rjmp .+144 ; 0x318 - return ret; - } - - if (recv_control.seq_no != client->current_index_frame){ - 288: 8a 81 ldd r24, Y+2 ; 0x02 - 28a: 87 70 andi r24, 0x07 ; 7 - 28c: 90 e0 ldi r25, 0x00 ; 0 - 28e: f5 01 movw r30, r10 - 290: 23 81 ldd r18, Z+3 ; 0x03 - 292: 30 e0 ldi r19, 0x00 ; 0 - 294: 82 17 cp r24, r18 - 296: 93 07 cpc r25, r19 - 298: 51 f0 breq .+20 ; 0x2ae - client->state = DISCONNECTING; - 29a: 84 e0 ldi r24, 0x04 ; 4 - 29c: 80 83 st Z, r24 - client->frame_rej.seq_no = 0; - 29e: 80 8d ldd r24, Z+24 ; 0x18 - 2a0: 88 7f andi r24, 0xF8 ; 248 - 2a2: 80 8f std Z+24, r24 ; 0x18 - client->frame_rej.frame = S_FRAME_NACK; - 2a4: 82 e0 ldi r24, 0x02 ; 2 - 2a6: 87 8b std Z+23, r24 ; 0x17 - return ERR_INVALID_SEQ_NUMBER_FRAME; - 2a8: 8a ef ldi r24, 0xFA ; 250 - 2aa: 9f ef ldi r25, 0xFF ; 255 - 2ac: 35 c0 rjmp .+106 ; 0x318 - } - - switch (recv_control.frame) { - 2ae: 89 81 ldd r24, Y+1 ; 0x01 - 2b0: 81 30 cpi r24, 0x01 ; 1 - 2b2: 49 f0 breq .+18 ; 0x2c6 - 2b4: 18 f0 brcs .+6 ; 0x2bc - 2b6: 82 30 cpi r24, 0x02 ; 2 - 2b8: d9 f0 breq .+54 ; 0x2f0 - 2ba: 25 c0 rjmp .+74 ; 0x306 - case S_FRAME: - client->state = READY_STATE; - break; - case I_FRAME: - for (int i = 0; i < sizeof(recive)-2; i++){ - 2bc: f2 e0 ldi r31, 0x02 ; 2 - 2be: cf 1a sub r12, r31 - 2c0: d1 08 sbc r13, r1 - 2c2: 29 f4 brne .+10 ; 0x2ce - 2c4: 0e c0 rjmp .+28 ; 0x2e2 - return ERR_INVALID_SEQ_NUMBER_FRAME; - } - - switch (recv_control.frame) { - case S_FRAME: - client->state = READY_STATE; - 2c6: 82 e0 ldi r24, 0x02 ; 2 - 2c8: f5 01 movw r30, r10 - 2ca: 80 83 st Z, r24 - break; - 2cc: 1c c0 rjmp .+56 ; 0x306 - 2ce: f2 01 movw r30, r4 - 2d0: a2 2d mov r26, r2 - 2d2: b3 2d mov r27, r3 - 2d4: 4c 0c add r4, r12 - 2d6: 5d 1c adc r5, r13 - case I_FRAME: - for (int i = 0; i < sizeof(recive)-2; i++){ - recived_data[i] = recive[i]; - 2d8: 81 91 ld r24, Z+ - 2da: 8d 93 st X+, r24 - switch (recv_control.frame) { - case S_FRAME: - client->state = READY_STATE; - break; - case I_FRAME: - for (int i = 0; i < sizeof(recive)-2; i++){ - 2dc: e4 15 cp r30, r4 - 2de: f5 05 cpc r31, r5 - 2e0: d9 f7 brne .-10 ; 0x2d8 - recived_data[i] = recive[i]; - } - - *len_recived_data = sizeof(recive)-2; - 2e2: f3 01 movw r30, r6 - 2e4: d1 82 std Z+1, r13 ; 0x01 - 2e6: c0 82 st Z, r12 - - client->state = SEND; - 2e8: 86 e0 ldi r24, 0x06 ; 6 - 2ea: f5 01 movw r30, r10 - 2ec: 80 83 st Z, r24 - break; - 2ee: 0b c0 rjmp .+22 ; 0x306 - case S_FRAME_NACK: - client->state = DISCONNECTING; - 2f0: 84 e0 ldi r24, 0x04 ; 4 - 2f2: f5 01 movw r30, r10 - 2f4: 80 83 st Z, r24 - client->frame_rej.seq_no = 0; - 2f6: 80 8d ldd r24, Z+24 ; 0x18 - 2f8: 88 7f andi r24, 0xF8 ; 248 - 2fa: 80 8f std Z+24, r24 ; 0x18 - client->frame_rej.frame = S_FRAME_NACK; - 2fc: 82 e0 ldi r24, 0x02 ; 2 - 2fe: 87 8b std Z+23, r24 ; 0x17 - return ERR_INVALID_SEQ_NUMBER_FRAME; - 300: 8a ef ldi r24, 0xFA ; 250 - 302: 9f ef ldi r25, 0xFF ; 255 - 304: 09 c0 rjmp .+18 ; 0x318 - } - - client->connecting_frame_timeout = connecting_frame_timeout_bf; - 306: 80 91 43 03 lds r24, 0x0343 ; 0x800343 - 30a: 90 91 44 03 lds r25, 0x0344 ; 0x800344 - 30e: f5 01 movw r30, r10 - 310: 92 83 std Z+2, r25 ; 0x02 - 312: 81 83 std Z+1, r24 ; 0x01 - return 0; - 314: 80 e0 ldi r24, 0x00 ; 0 - 316: 90 e0 ldi r25, 0x00 ; 0 -} - 318: 0f b6 in r0, 0x3f ; 63 - 31a: f8 94 cli - 31c: 9e be out 0x3e, r9 ; 62 - 31e: 0f be out 0x3f, r0 ; 63 - 320: 8d be out 0x3d, r8 ; 61 - 322: 0f 90 pop r0 - 324: 0f 90 pop r0 - 326: 0f 90 pop r0 - 328: 0f 90 pop r0 - 32a: df 91 pop r29 - 32c: cf 91 pop r28 - 32e: 1f 91 pop r17 - 330: 0f 91 pop r16 - 332: ff 90 pop r15 - 334: ef 90 pop r14 - 336: df 90 pop r13 - 338: cf 90 pop r12 - 33a: bf 90 pop r11 - 33c: af 90 pop r10 - 33e: 9f 90 pop r9 - 340: 8f 90 pop r8 - 342: 7f 90 pop r7 - 344: 6f 90 pop r6 - 346: 5f 90 pop r5 - 348: 4f 90 pop r4 - 34a: 3f 90 pop r3 - 34c: 2f 90 pop r2 - 34e: 08 95 ret - -00000350 : - -int hdlc_timeout_handler(struct Client* client, int delta_time){ - client->connecting_frame_timeout -= delta_time; - 350: fc 01 movw r30, r24 - 352: 21 81 ldd r18, Z+1 ; 0x01 - 354: 32 81 ldd r19, Z+2 ; 0x02 - 356: 26 1b sub r18, r22 - 358: 37 0b sbc r19, r23 - 35a: 32 83 std Z+2, r19 ; 0x02 - 35c: 21 83 std Z+1, r18 ; 0x01 - - if (client->connecting_frame_timeout <= 0){ - 35e: 12 16 cp r1, r18 - 360: 13 06 cpc r1, r19 - 362: 1c f4 brge .+6 ; 0x36a - return ERR_FRAME_TIME_OUT; - } - return 0; - 364: 80 e0 ldi r24, 0x00 ; 0 - 366: 90 e0 ldi r25, 0x00 ; 0 - 368: 08 95 ret - -int hdlc_timeout_handler(struct Client* client, int delta_time){ - client->connecting_frame_timeout -= delta_time; - - if (client->connecting_frame_timeout <= 0){ - return ERR_FRAME_TIME_OUT; - 36a: 8b ef ldi r24, 0xFB ; 251 - 36c: 9f ef ldi r25, 0xFF ; 255 - } - return 0; - 36e: 08 95 ret - -00000370 : - 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, - 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, - 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78 }; - -FCS_SIZE calc_fcs(FCS_SIZE fcs, unsigned char value) { - return (fcs >> 8) ^ fcstab[(fcs ^ value) & 0xff]; - 370: fc 01 movw r30, r24 - 372: e6 27 eor r30, r22 - 374: ff 27 eor r31, r31 - 376: ee 0f add r30, r30 - 378: ff 1f adc r31, r31 - 37a: ea 5e subi r30, 0xEA ; 234 - 37c: fe 4f sbci r31, 0xFE ; 254 - 37e: 89 2f mov r24, r25 - 380: 99 27 eor r25, r25 - 382: 20 81 ld r18, Z - 384: 31 81 ldd r19, Z+1 ; 0x01 - 386: 82 27 eor r24, r18 - 388: 93 27 eor r25, r19 - 38a: 08 95 ret - -0000038c : -//int hdlc_get_data(hdlc_control_t *control, const char *src, -// unsigned int src_len, char *dest, unsigned int *dest_len) -int hdlc_get_data(hdlc_control_t *control, uint8_t *src, - size_t src_len, uint8_t *dest, size_t *dest_len){ - return hdlc_get_data_with_state(&hdlc_state, control, src, src_len, dest, dest_len); -} - 38c: fa 01 movw r30, r20 - 38e: 93 e8 ldi r25, 0x83 ; 131 - 390: 98 0f add r25, r24 - 392: 92 30 cpi r25, 0x02 ; 2 - 394: 70 f4 brcc .+28 ; 0x3b2 - 396: 20 81 ld r18, Z - 398: 31 81 ldd r19, Z+1 ; 0x01 - 39a: a9 01 movw r20, r18 - 39c: 4f 5f subi r20, 0xFF ; 255 - 39e: 5f 4f sbci r21, 0xFF ; 255 - 3a0: 51 83 std Z+1, r21 ; 0x01 - 3a2: 40 83 st Z, r20 - 3a4: db 01 movw r26, r22 - 3a6: a2 0f add r26, r18 - 3a8: b3 1f adc r27, r19 - 3aa: 9d e7 ldi r25, 0x7D ; 125 - 3ac: 9c 93 st X, r25 - 3ae: 90 e2 ldi r25, 0x20 ; 32 - 3b0: 89 27 eor r24, r25 - 3b2: 20 81 ld r18, Z - 3b4: 31 81 ldd r19, Z+1 ; 0x01 - 3b6: a9 01 movw r20, r18 - 3b8: 4f 5f subi r20, 0xFF ; 255 - 3ba: 5f 4f sbci r21, 0xFF ; 255 - 3bc: 51 83 std Z+1, r21 ; 0x01 - 3be: 40 83 st Z, r20 - 3c0: fb 01 movw r30, r22 - 3c2: e2 0f add r30, r18 - 3c4: f3 1f adc r31, r19 - 3c6: 80 83 st Z, r24 - 3c8: 08 95 ret - -000003ca : - 3ca: 98 2f mov r25, r24 - 3cc: 80 ff sbrs r24, 0 - 3ce: 0b c0 rjmp .+22 ; 0x3e6 - 3d0: 86 95 lsr r24 - 3d2: 86 95 lsr r24 - 3d4: 83 70 andi r24, 0x03 ; 3 - 3d6: 11 f0 breq .+4 ; 0x3dc - 3d8: 82 e0 ldi r24, 0x02 ; 2 - 3da: 01 c0 rjmp .+2 ; 0x3de - 3dc: 81 e0 ldi r24, 0x01 ; 1 - 3de: 92 95 swap r25 - 3e0: 96 95 lsr r25 - 3e2: 97 70 andi r25, 0x07 ; 7 - 3e4: 03 c0 rjmp .+6 ; 0x3ec - 3e6: 96 95 lsr r25 - 3e8: 97 70 andi r25, 0x07 ; 7 - 3ea: 80 e0 ldi r24, 0x00 ; 0 - 3ec: 97 70 andi r25, 0x07 ; 7 - 3ee: 08 95 ret - -000003f0 : - 3f0: fc 01 movw r30, r24 - 3f2: 90 81 ld r25, Z - 3f4: 91 30 cpi r25, 0x01 ; 1 - 3f6: 49 f0 breq .+18 ; 0x40a <__LOCK_REGION_LENGTH__+0xa> - 3f8: 18 f0 brcs .+6 ; 0x400 <__LOCK_REGION_LENGTH__> - 3fa: 92 30 cpi r25, 0x02 ; 2 - 3fc: 61 f0 breq .+24 ; 0x416 <__LOCK_REGION_LENGTH__+0x16> - 3fe: 11 c0 rjmp .+34 ; 0x422 <__LOCK_REGION_LENGTH__+0x22> - 400: 81 81 ldd r24, Z+1 ; 0x01 - 402: 87 70 andi r24, 0x07 ; 7 - 404: 88 0f add r24, r24 - 406: 80 61 ori r24, 0x10 ; 16 - 408: 08 95 ret - 40a: 81 81 ldd r24, Z+1 ; 0x01 - 40c: 82 95 swap r24 - 40e: 88 0f add r24, r24 - 410: 80 7e andi r24, 0xE0 ; 224 - 412: 81 60 ori r24, 0x01 ; 1 - 414: 08 95 ret - 416: 81 81 ldd r24, Z+1 ; 0x01 - 418: 82 95 swap r24 - 41a: 88 0f add r24, r24 - 41c: 80 7e andi r24, 0xE0 ; 224 - 41e: 89 60 ori r24, 0x09 ; 9 - 420: 08 95 ret - 422: 80 e0 ldi r24, 0x00 ; 0 - 424: 08 95 ret - -00000426 : - 426: fc 01 movw r30, r24 - 428: 8f ef ldi r24, 0xFF ; 255 - 42a: 9f ef ldi r25, 0xFF ; 255 - 42c: 92 83 std Z+2, r25 ; 0x02 - 42e: 81 83 std Z+1, r24 ; 0x01 - 430: 96 83 std Z+6, r25 ; 0x06 - 432: 85 83 std Z+5, r24 ; 0x05 - 434: 94 83 std Z+4, r25 ; 0x04 - 436: 83 83 std Z+3, r24 ; 0x03 - 438: 12 86 std Z+10, r1 ; 0x0a - 43a: 11 86 std Z+9, r1 ; 0x09 - 43c: 10 86 std Z+8, r1 ; 0x08 - 43e: 17 82 std Z+7, r1 ; 0x07 - 440: 10 82 st Z, r1 - 442: 08 95 ret - -00000444 : - 444: 3f 92 push r3 - 446: 4f 92 push r4 - 448: 5f 92 push r5 - 44a: 6f 92 push r6 - 44c: 7f 92 push r7 - 44e: 8f 92 push r8 - 450: 9f 92 push r9 - 452: af 92 push r10 - 454: bf 92 push r11 - 456: cf 92 push r12 - 458: df 92 push r13 - 45a: ef 92 push r14 - 45c: ff 92 push r15 - 45e: 0f 93 push r16 - 460: 1f 93 push r17 - 462: cf 93 push r28 - 464: df 93 push r29 - 466: 00 d0 rcall .+0 ; 0x468 - 468: 00 d0 rcall .+0 ; 0x46a - 46a: cd b7 in r28, 0x3d ; 61 - 46c: de b7 in r29, 0x3e ; 62 - 46e: 00 97 sbiw r24, 0x00 ; 0 - 470: 09 f4 brne .+2 ; 0x474 - 472: ea c0 rjmp .+468 ; 0x648 - 474: 61 15 cp r22, r1 - 476: 71 05 cpc r23, r1 - 478: 09 f4 brne .+2 ; 0x47c - 47a: e9 c0 rjmp .+466 ; 0x64e - 47c: 41 15 cp r20, r1 - 47e: 51 05 cpc r21, r1 - 480: 09 f4 brne .+2 ; 0x484 - 482: e8 c0 rjmp .+464 ; 0x654 - 484: 01 15 cp r16, r1 - 486: 11 05 cpc r17, r1 - 488: 09 f4 brne .+2 ; 0x48c - 48a: e7 c0 rjmp .+462 ; 0x65a - 48c: e1 14 cp r14, r1 - 48e: f1 04 cpc r15, r1 - 490: 09 f4 brne .+2 ; 0x494 - 492: e6 c0 rjmp .+460 ; 0x660 - 494: 38 01 movw r6, r16 - 496: 49 01 movw r8, r18 - 498: 7a 83 std Y+2, r23 ; 0x02 - 49a: 69 83 std Y+1, r22 ; 0x01 - 49c: 9c 83 std Y+4, r25 ; 0x04 - 49e: 8b 83 std Y+3, r24 ; 0x03 - 4a0: 21 15 cp r18, r1 - 4a2: 31 05 cpc r19, r1 - 4a4: 09 f4 brne .+2 ; 0x4a8 - 4a6: 99 c0 rjmp .+306 ; 0x5da - 4a8: 8a 01 movw r16, r20 - 4aa: c1 2c mov r12, r1 - 4ac: d1 2c mov r13, r1 - 4ae: 68 94 set - 4b0: 44 24 eor r4, r4 - 4b2: 45 f8 bld r4, 5 - 4b4: 33 24 eor r3, r3 - 4b6: 33 94 inc r3 - 4b8: 59 01 movw r10, r18 - 4ba: 21 e0 ldi r18, 0x01 ; 1 - 4bc: a2 1a sub r10, r18 - 4be: b1 08 sbc r11, r1 - 4c0: ab 81 ldd r26, Y+3 ; 0x03 - 4c2: bc 81 ldd r27, Y+4 ; 0x04 - 4c4: 13 96 adiw r26, 0x03 ; 3 - 4c6: 8d 91 ld r24, X+ - 4c8: 9c 91 ld r25, X - 4ca: 14 97 sbiw r26, 0x04 ; 4 - 4cc: 99 23 and r25, r25 - 4ce: 9c f4 brge .+38 ; 0x4f6 - 4d0: f8 01 movw r30, r16 - 4d2: 80 81 ld r24, Z - 4d4: 8e 37 cpi r24, 0x7E ; 126 - 4d6: 09 f0 breq .+2 ; 0x4da - 4d8: 70 c0 rjmp .+224 ; 0x5ba - 4da: ca 14 cp r12, r10 - 4dc: db 04 cpc r13, r11 - 4de: 20 f4 brcc .+8 ; 0x4e8 - 4e0: 81 81 ldd r24, Z+1 ; 0x01 - 4e2: 8e 37 cpi r24, 0x7E ; 126 - 4e4: 09 f4 brne .+2 ; 0x4e8 - 4e6: 70 c0 rjmp .+224 ; 0x5c8 - 4e8: eb 81 ldd r30, Y+3 ; 0x03 - 4ea: fc 81 ldd r31, Y+4 ; 0x04 - 4ec: 87 81 ldd r24, Z+7 ; 0x07 - 4ee: 90 85 ldd r25, Z+8 ; 0x08 - 4f0: 94 83 std Z+4, r25 ; 0x04 - 4f2: 83 83 std Z+3, r24 ; 0x03 - 4f4: 62 c0 rjmp .+196 ; 0x5ba - 4f6: f8 01 movw r30, r16 - 4f8: 50 80 ld r5, Z - 4fa: 2e e7 ldi r18, 0x7E ; 126 - 4fc: 52 12 cpse r5, r18 - 4fe: 19 c0 rjmp .+50 ; 0x532 - 500: ca 14 cp r12, r10 - 502: db 04 cpc r13, r11 - 504: 20 f4 brcc .+8 ; 0x50e - 506: 21 81 ldd r18, Z+1 ; 0x01 - 508: 2e 37 cpi r18, 0x7E ; 126 - 50a: 09 f4 brne .+2 ; 0x50e - 50c: 5d c0 rjmp .+186 ; 0x5c8 - 50e: ab 81 ldd r26, Y+3 ; 0x03 - 510: bc 81 ldd r27, Y+4 ; 0x04 - 512: 17 96 adiw r26, 0x07 ; 7 - 514: 2d 91 ld r18, X+ - 516: 3c 91 ld r19, X - 518: 18 97 sbiw r26, 0x08 ; 8 - 51a: ac 01 movw r20, r24 - 51c: 4f 5f subi r20, 0xFF ; 255 - 51e: 5f 4f sbci r21, 0xFF ; 255 - 520: 42 17 cp r20, r18 - 522: 53 07 cpc r21, r19 - 524: 09 f4 brne .+2 ; 0x528 - 526: 50 c0 rjmp .+160 ; 0x5c8 - 528: 16 96 adiw r26, 0x06 ; 6 - 52a: 3c 93 st X, r19 - 52c: 2e 93 st -X, r18 - 52e: 15 97 sbiw r26, 0x05 ; 5 - 530: 5d c0 rjmp .+186 ; 0x5ec - 532: bd e7 ldi r27, 0x7D ; 125 - 534: 5b 12 cpse r5, r27 - 536: 04 c0 rjmp .+8 ; 0x540 - 538: eb 81 ldd r30, Y+3 ; 0x03 - 53a: fc 81 ldd r31, Y+4 ; 0x04 - 53c: 30 82 st Z, r3 - 53e: 3d c0 rjmp .+122 ; 0x5ba - 540: ab 81 ldd r26, Y+3 ; 0x03 - 542: bc 81 ldd r27, Y+4 ; 0x04 - 544: 8c 91 ld r24, X - 546: 88 23 and r24, r24 - 548: 19 f0 breq .+6 ; 0x550 - 54a: 1c 92 st X, r1 - 54c: 50 80 ld r5, Z - 54e: 54 24 eor r5, r4 - 550: 65 2d mov r22, r5 - 552: eb 81 ldd r30, Y+3 ; 0x03 - 554: fc 81 ldd r31, Y+4 ; 0x04 - 556: 81 81 ldd r24, Z+1 ; 0x01 - 558: 92 81 ldd r25, Z+2 ; 0x02 - 55a: 0e 94 b8 01 call 0x370 ; 0x370 - 55e: ab 81 ldd r26, Y+3 ; 0x03 - 560: bc 81 ldd r27, Y+4 ; 0x04 - 562: 12 96 adiw r26, 0x02 ; 2 - 564: 9c 93 st X, r25 - 566: 8e 93 st -X, r24 - 568: 11 97 sbiw r26, 0x01 ; 1 - 56a: 17 96 adiw r26, 0x07 ; 7 - 56c: 2d 91 ld r18, X+ - 56e: 3c 91 ld r19, X - 570: 18 97 sbiw r26, 0x08 ; 8 - 572: 13 96 adiw r26, 0x03 ; 3 - 574: 8d 91 ld r24, X+ - 576: 9c 91 ld r25, X - 578: 14 97 sbiw r26, 0x04 ; 4 - 57a: 02 96 adiw r24, 0x02 ; 2 - 57c: 28 17 cp r18, r24 - 57e: 39 07 cpc r19, r25 - 580: 41 f4 brne .+16 ; 0x592 - 582: 85 2d mov r24, r5 - 584: 0e 94 e5 01 call 0x3ca ; 0x3ca - 588: e9 81 ldd r30, Y+1 ; 0x01 - 58a: fa 81 ldd r31, Y+2 ; 0x02 - 58c: 91 83 std Z+1, r25 ; 0x01 - 58e: 80 83 st Z, r24 - 590: 14 c0 rjmp .+40 ; 0x5ba - 592: 82 17 cp r24, r18 - 594: 93 07 cpc r25, r19 - 596: 8c f4 brge .+34 ; 0x5ba - 598: ab 81 ldd r26, Y+3 ; 0x03 - 59a: bc 81 ldd r27, Y+4 ; 0x04 - 59c: 19 96 adiw r26, 0x09 ; 9 - 59e: 8d 91 ld r24, X+ - 5a0: 9c 91 ld r25, X - 5a2: 1a 97 sbiw r26, 0x0a ; 10 - 5a4: 9c 01 movw r18, r24 - 5a6: 2f 5f subi r18, 0xFF ; 255 - 5a8: 3f 4f sbci r19, 0xFF ; 255 - 5aa: 1a 96 adiw r26, 0x0a ; 10 - 5ac: 3c 93 st X, r19 - 5ae: 2e 93 st -X, r18 - 5b0: 19 97 sbiw r26, 0x09 ; 9 - 5b2: f3 01 movw r30, r6 - 5b4: e8 0f add r30, r24 - 5b6: f9 1f adc r31, r25 - 5b8: 50 82 st Z, r5 - 5ba: eb 81 ldd r30, Y+3 ; 0x03 - 5bc: fc 81 ldd r31, Y+4 ; 0x04 - 5be: 87 81 ldd r24, Z+7 ; 0x07 - 5c0: 90 85 ldd r25, Z+8 ; 0x08 - 5c2: 01 96 adiw r24, 0x01 ; 1 - 5c4: 90 87 std Z+8, r25 ; 0x08 - 5c6: 87 83 std Z+7, r24 ; 0x07 - 5c8: ff ef ldi r31, 0xFF ; 255 - 5ca: cf 1a sub r12, r31 - 5cc: df 0a sbc r13, r31 - 5ce: 0f 5f subi r16, 0xFF ; 255 - 5d0: 1f 4f sbci r17, 0xFF ; 255 - 5d2: 8c 14 cp r8, r12 - 5d4: 9d 04 cpc r9, r13 - 5d6: 09 f0 breq .+2 ; 0x5da - 5d8: 73 cf rjmp .-282 ; 0x4c0 - 5da: ab 81 ldd r26, Y+3 ; 0x03 - 5dc: bc 81 ldd r27, Y+4 ; 0x04 - 5de: 13 96 adiw r26, 0x03 ; 3 - 5e0: 8d 91 ld r24, X+ - 5e2: 9c 91 ld r25, X - 5e4: 14 97 sbiw r26, 0x04 ; 4 - 5e6: 99 23 and r25, r25 - 5e8: 3c f0 brlt .+14 ; 0x5f8 - 5ea: 64 01 movw r12, r8 - 5ec: eb 81 ldd r30, Y+3 ; 0x03 - 5ee: fc 81 ldd r31, Y+4 ; 0x04 - 5f0: 25 81 ldd r18, Z+5 ; 0x05 - 5f2: 36 81 ldd r19, Z+6 ; 0x06 - 5f4: 33 23 and r19, r19 - 5f6: 34 f4 brge .+12 ; 0x604 - 5f8: d7 01 movw r26, r14 - 5fa: 1d 92 st X+, r1 - 5fc: 1c 92 st X, r1 - 5fe: 8e e0 ldi r24, 0x0E ; 14 - 600: 92 ed ldi r25, 0xD2 ; 210 - 602: 30 c0 rjmp .+96 ; 0x664 - 604: 04 96 adiw r24, 0x04 ; 4 - 606: 28 17 cp r18, r24 - 608: 39 07 cpc r19, r25 - 60a: 3c f0 brlt .+14 ; 0x61a - 60c: eb 81 ldd r30, Y+3 ; 0x03 - 60e: fc 81 ldd r31, Y+4 ; 0x04 - 610: 81 81 ldd r24, Z+1 ; 0x01 - 612: 92 81 ldd r25, Z+2 ; 0x02 - 614: 88 3b cpi r24, 0xB8 ; 184 - 616: 90 4f sbci r25, 0xF0 ; 240 - 618: 31 f0 breq .+12 ; 0x626 - 61a: d7 01 movw r26, r14 - 61c: cd 92 st X+, r12 - 61e: dc 92 st X, r13 - 620: 0e e0 ldi r16, 0x0E ; 14 - 622: 12 ed ldi r17, 0xD2 ; 210 - 624: 0a c0 rjmp .+20 ; 0x63a - 626: eb 81 ldd r30, Y+3 ; 0x03 - 628: fc 81 ldd r31, Y+4 ; 0x04 - 62a: 81 85 ldd r24, Z+9 ; 0x09 - 62c: 92 85 ldd r25, Z+10 ; 0x0a - 62e: 02 97 sbiw r24, 0x02 ; 2 - 630: d7 01 movw r26, r14 - 632: 8d 93 st X+, r24 - 634: 9c 93 st X, r25 - 636: 0c 2d mov r16, r12 - 638: 1d 2d mov r17, r13 - 63a: 8b 81 ldd r24, Y+3 ; 0x03 - 63c: 9c 81 ldd r25, Y+4 ; 0x04 - 63e: 0e 94 13 02 call 0x426 ; 0x426 - 642: 80 2f mov r24, r16 - 644: 91 2f mov r25, r17 - 646: 0e c0 rjmp .+28 ; 0x664 - 648: 8e e0 ldi r24, 0x0E ; 14 - 64a: 92 ed ldi r25, 0xD2 ; 210 - 64c: 0b c0 rjmp .+22 ; 0x664 - 64e: 8e e0 ldi r24, 0x0E ; 14 - 650: 92 ed ldi r25, 0xD2 ; 210 - 652: 08 c0 rjmp .+16 ; 0x664 - 654: 8e e0 ldi r24, 0x0E ; 14 - 656: 92 ed ldi r25, 0xD2 ; 210 - 658: 05 c0 rjmp .+10 ; 0x664 - 65a: 8e e0 ldi r24, 0x0E ; 14 - 65c: 92 ed ldi r25, 0xD2 ; 210 - 65e: 02 c0 rjmp .+4 ; 0x664 - 660: 8e e0 ldi r24, 0x0E ; 14 - 662: 92 ed ldi r25, 0xD2 ; 210 - 664: 0f 90 pop r0 - 666: 0f 90 pop r0 - 668: 0f 90 pop r0 - 66a: 0f 90 pop r0 - 66c: df 91 pop r29 - 66e: cf 91 pop r28 - 670: 1f 91 pop r17 - 672: 0f 91 pop r16 - 674: ff 90 pop r15 - 676: ef 90 pop r14 - 678: df 90 pop r13 - 67a: cf 90 pop r12 - 67c: bf 90 pop r11 - 67e: af 90 pop r10 - 680: 9f 90 pop r9 - 682: 8f 90 pop r8 - 684: 7f 90 pop r7 - 686: 6f 90 pop r6 - 688: 5f 90 pop r5 - 68a: 4f 90 pop r4 - 68c: 3f 90 pop r3 - 68e: 08 95 ret - -00000690 : -} - -//int hdlc_frame_data(hdlc_control_t *control, const char *src, -// unsigned int src_len, char *dest, unsigned int *dest_len) -int hdlc_frame_data(hdlc_control_t *control, uint8_t *src, - size_t src_len, uint8_t *dest, size_t *dest_len){ - 690: 5f 92 push r5 - 692: 6f 92 push r6 - 694: 7f 92 push r7 - 696: 8f 92 push r8 - 698: 9f 92 push r9 - 69a: af 92 push r10 - 69c: bf 92 push r11 - 69e: cf 92 push r12 - 6a0: df 92 push r13 - 6a2: ef 92 push r14 - 6a4: ff 92 push r15 - 6a6: 0f 93 push r16 - 6a8: 1f 93 push r17 - 6aa: cf 93 push r28 - 6ac: df 93 push r29 - 6ae: 00 d0 rcall .+0 ; 0x6b0 - 6b0: cd b7 in r28, 0x3d ; 61 - 6b2: de b7 in r29, 0x3e ; 62 - int dest_index = 0; - unsigned char value = 0; - FCS_SIZE fcs = FCS_INIT_VALUE; - - // Make sure that all parameters are valid - if (!control || (!src && (src_len > 0)) || !dest || !dest_len) { - 6b4: 00 97 sbiw r24, 0x00 ; 0 - 6b6: 09 f4 brne .+2 ; 0x6ba - 6b8: 73 c0 rjmp .+230 ; 0x7a0 - 6ba: 61 15 cp r22, r1 - 6bc: 71 05 cpc r23, r1 - 6be: 21 f4 brne .+8 ; 0x6c8 - 6c0: 41 15 cp r20, r1 - 6c2: 51 05 cpc r21, r1 - 6c4: 09 f0 breq .+2 ; 0x6c8 - 6c6: 6f c0 rjmp .+222 ; 0x7a6 - 6c8: 21 15 cp r18, r1 - 6ca: 31 05 cpc r19, r1 - 6cc: 09 f4 brne .+2 ; 0x6d0 - 6ce: 6e c0 rjmp .+220 ; 0x7ac - 6d0: 01 15 cp r16, r1 - 6d2: 11 05 cpc r17, r1 - 6d4: 09 f4 brne .+2 ; 0x6d8 - 6d6: 6d c0 rjmp .+218 ; 0x7b2 - 6d8: 38 01 movw r6, r16 - 6da: 79 01 movw r14, r18 - 6dc: 5a 01 movw r10, r20 - 6de: 4b 01 movw r8, r22 - 6e0: 8c 01 movw r16, r24 - return -EINVAL; - } - - // Start by adding the start flag sequence - dest[dest_index++] = HDLC_FLAG_SEQUENCE; - 6e2: 81 e0 ldi r24, 0x01 ; 1 - 6e4: 90 e0 ldi r25, 0x00 ; 0 - 6e6: 9a 83 std Y+2, r25 ; 0x02 - 6e8: 89 83 std Y+1, r24 ; 0x01 - 6ea: 8e e7 ldi r24, 0x7E ; 126 - 6ec: f9 01 movw r30, r18 - 6ee: 80 83 st Z, r24 - - // Add the all-station address from HDLC (broadcast) - fcs = calc_fcs(fcs, HDLC_ALL_STATION_ADDR); - 6f0: 6f ef ldi r22, 0xFF ; 255 - 6f2: 8f ef ldi r24, 0xFF ; 255 - 6f4: 9f ef ldi r25, 0xFF ; 255 - 6f6: 0e 94 b8 01 call 0x370 ; 0x370 - 6fa: 6c 01 movw r12, r24 - hdlc_escape_value(HDLC_ALL_STATION_ADDR, dest, &dest_index); - 6fc: ae 01 movw r20, r28 - 6fe: 4f 5f subi r20, 0xFF ; 255 - 700: 5f 4f sbci r21, 0xFF ; 255 - 702: b7 01 movw r22, r14 - 704: 8f ef ldi r24, 0xFF ; 255 - 706: 0e 94 c6 01 call 0x38c ; 0x38c - - // Add the framed control field value - value = hdlc_frame_control_type(control); - 70a: c8 01 movw r24, r16 - 70c: 0e 94 f8 01 call 0x3f0 ; 0x3f0 - 710: 58 2e mov r5, r24 - fcs = calc_fcs(fcs, value); - 712: 68 2f mov r22, r24 - 714: c6 01 movw r24, r12 - 716: 0e 94 b8 01 call 0x370 ; 0x370 - 71a: 6c 01 movw r12, r24 - hdlc_escape_value(value, dest, &dest_index); - 71c: ae 01 movw r20, r28 - 71e: 4f 5f subi r20, 0xFF ; 255 - 720: 5f 4f sbci r21, 0xFF ; 255 - 722: b7 01 movw r22, r14 - 724: 85 2d mov r24, r5 - 726: 0e 94 c6 01 call 0x38c ; 0x38c - - // Only DATA frames should contain data - if (control->frame == I_FRAME) { - 72a: f8 01 movw r30, r16 - 72c: 80 81 ld r24, Z - 72e: 81 11 cpse r24, r1 - 730: 19 c0 rjmp .+50 ; 0x764 - // Calculate FCS and escape data - for (i = 0; i < src_len; i++) { - 732: a1 14 cp r10, r1 - 734: b1 04 cpc r11, r1 - 736: b1 f0 breq .+44 ; 0x764 - 738: 84 01 movw r16, r8 - 73a: 8a 0c add r8, r10 - 73c: 9b 1c adc r9, r11 - 73e: 58 01 movw r10, r16 - fcs = calc_fcs(fcs, src[i]); - 740: f8 01 movw r30, r16 - 742: 61 91 ld r22, Z+ - 744: 8f 01 movw r16, r30 - 746: c6 01 movw r24, r12 - 748: 0e 94 b8 01 call 0x370 ; 0x370 - 74c: 6c 01 movw r12, r24 - hdlc_escape_value(src[i], dest, &dest_index); - 74e: ae 01 movw r20, r28 - 750: 4f 5f subi r20, 0xFF ; 255 - 752: 5f 4f sbci r21, 0xFF ; 255 - 754: b7 01 movw r22, r14 - 756: f5 01 movw r30, r10 - 758: 80 81 ld r24, Z - 75a: 0e 94 c6 01 call 0x38c ; 0x38c - hdlc_escape_value(value, dest, &dest_index); - - // Only DATA frames should contain data - if (control->frame == I_FRAME) { - // Calculate FCS and escape data - for (i = 0; i < src_len; i++) { - 75e: 80 16 cp r8, r16 - 760: 91 06 cpc r9, r17 - 762: 69 f7 brne .-38 ; 0x73e - hdlc_escape_value(src[i], dest, &dest_index); - } - } - - // Invert the FCS value accordingly to the specification - fcs ^= FCS_INVERT_MASK; - 764: c0 94 com r12 - 766: d0 94 com r13 - - // Run through the FCS bytes and escape the values - for (i = 0; i < sizeof(fcs); i++) { - value = ((fcs >> (8 * i)) & 0xFF); - hdlc_escape_value(value, dest, &dest_index); - 768: ae 01 movw r20, r28 - 76a: 4f 5f subi r20, 0xFF ; 255 - 76c: 5f 4f sbci r21, 0xFF ; 255 - 76e: b7 01 movw r22, r14 - 770: 8c 2d mov r24, r12 - 772: 0e 94 c6 01 call 0x38c ; 0x38c - 776: ae 01 movw r20, r28 - 778: 4f 5f subi r20, 0xFF ; 255 - 77a: 5f 4f sbci r21, 0xFF ; 255 - 77c: b7 01 movw r22, r14 - 77e: 8d 2d mov r24, r13 - 780: 0e 94 c6 01 call 0x38c ; 0x38c - } - - // Add end flag sequence and update length of frame - dest[dest_index++] = HDLC_FLAG_SEQUENCE; - 784: 89 81 ldd r24, Y+1 ; 0x01 - 786: 9a 81 ldd r25, Y+2 ; 0x02 - 788: f7 01 movw r30, r14 - 78a: e8 0f add r30, r24 - 78c: f9 1f adc r31, r25 - 78e: 2e e7 ldi r18, 0x7E ; 126 - 790: 20 83 st Z, r18 - *dest_len = dest_index; - 792: 01 96 adiw r24, 0x01 ; 1 - 794: f3 01 movw r30, r6 - 796: 91 83 std Z+1, r25 ; 0x01 - 798: 80 83 st Z, r24 - - return 0; - 79a: 80 e0 ldi r24, 0x00 ; 0 - 79c: 90 e0 ldi r25, 0x00 ; 0 - 79e: 0b c0 rjmp .+22 ; 0x7b6 - unsigned char value = 0; - FCS_SIZE fcs = FCS_INIT_VALUE; - - // Make sure that all parameters are valid - if (!control || (!src && (src_len > 0)) || !dest || !dest_len) { - return -EINVAL; - 7a0: 8e e0 ldi r24, 0x0E ; 14 - 7a2: 92 ed ldi r25, 0xD2 ; 210 - 7a4: 08 c0 rjmp .+16 ; 0x7b6 - 7a6: 8e e0 ldi r24, 0x0E ; 14 - 7a8: 92 ed ldi r25, 0xD2 ; 210 - 7aa: 05 c0 rjmp .+10 ; 0x7b6 - 7ac: 8e e0 ldi r24, 0x0E ; 14 - 7ae: 92 ed ldi r25, 0xD2 ; 210 - 7b0: 02 c0 rjmp .+4 ; 0x7b6 - 7b2: 8e e0 ldi r24, 0x0E ; 14 - 7b4: 92 ed ldi r25, 0xD2 ; 210 - // Add end flag sequence and update length of frame - dest[dest_index++] = HDLC_FLAG_SEQUENCE; - *dest_len = dest_index; - - return 0; - 7b6: 0f 90 pop r0 - 7b8: 0f 90 pop r0 - 7ba: df 91 pop r29 - 7bc: cf 91 pop r28 - 7be: 1f 91 pop r17 - 7c0: 0f 91 pop r16 - 7c2: ff 90 pop r15 - 7c4: ef 90 pop r14 - 7c6: df 90 pop r13 - 7c8: cf 90 pop r12 - 7ca: bf 90 pop r11 - 7cc: af 90 pop r10 - 7ce: 9f 90 pop r9 - 7d0: 8f 90 pop r8 - 7d2: 7f 90 pop r7 - 7d4: 6f 90 pop r6 - 7d6: 5f 90 pop r5 - 7d8: 08 95 ret - -000007da : - register char c; - - while ( (c = pgm_read_byte(progmem_s++)) ) { - lcd_putc(c); - } -} - 7da: cf 93 push r28 - 7dc: 88 23 and r24, r24 - 7de: 31 f0 breq .+12 ; 0x7ec - 7e0: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 7e4: 81 60 ori r24, 0x01 ; 1 - 7e6: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 7ea: 05 c0 rjmp .+10 ; 0x7f6 - 7ec: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 7f0: 8e 7f andi r24, 0xFE ; 254 - 7f2: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 7f6: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 7fa: 82 60 ori r24, 0x02 ; 2 - 7fc: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 800: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - 804: 80 e0 ldi r24, 0x00 ; 0 - 806: 0e 94 95 06 call 0xd2a ; 0xd2a - 80a: 62 e0 ldi r22, 0x02 ; 2 - 80c: 80 e0 ldi r24, 0x00 ; 0 - 80e: 0e 94 d6 06 call 0xdac ; 0xdac - 812: 00 c0 rjmp .+0 ; 0x814 - 814: 64 e0 ldi r22, 0x04 ; 4 - 816: 80 e0 ldi r24, 0x00 ; 0 - 818: 0e 94 81 06 call 0xd02 ; 0xd02 - 81c: c8 2f mov r28, r24 - 81e: 62 e0 ldi r22, 0x02 ; 2 - 820: 80 e0 ldi r24, 0x00 ; 0 - 822: 0e 94 da 06 call 0xdb4 ; 0xdb4 - 826: 00 c0 rjmp .+0 ; 0x828 - 828: 62 e0 ldi r22, 0x02 ; 2 - 82a: 80 e0 ldi r24, 0x00 ; 0 - 82c: 0e 94 d6 06 call 0xdac ; 0xdac - 830: 00 c0 rjmp .+0 ; 0x832 - 832: 64 e0 ldi r22, 0x04 ; 4 - 834: 80 e0 ldi r24, 0x00 ; 0 - 836: 0e 94 81 06 call 0xd02 ; 0xd02 - 83a: c2 95 swap r28 - 83c: c0 7f andi r28, 0xF0 ; 240 - 83e: 8f 70 andi r24, 0x0F ; 15 - 840: c8 2b or r28, r24 - 842: 62 e0 ldi r22, 0x02 ; 2 - 844: 80 e0 ldi r24, 0x00 ; 0 - 846: 0e 94 da 06 call 0xdb4 ; 0xdb4 - 84a: 8c 2f mov r24, r28 - 84c: cf 91 pop r28 - 84e: 08 95 ret - -00000850 : - 850: 80 e0 ldi r24, 0x00 ; 0 - 852: 0e 94 ed 03 call 0x7da ; 0x7da - 856: 88 23 and r24, r24 - 858: dc f3 brlt .-10 ; 0x850 - 85a: 00 c0 rjmp .+0 ; 0x85c - 85c: 80 e0 ldi r24, 0x00 ; 0 - 85e: 0e 94 ed 03 call 0x7da ; 0x7da - 862: 08 95 ret - -00000864 : - 864: 62 e0 ldi r22, 0x02 ; 2 - 866: 80 e0 ldi r24, 0x00 ; 0 - 868: 0e 94 d6 06 call 0xdac ; 0xdac - 86c: 00 c0 rjmp .+0 ; 0x86e - 86e: 62 e0 ldi r22, 0x02 ; 2 - 870: 80 e0 ldi r24, 0x00 ; 0 - 872: 0e 94 da 06 call 0xdb4 ; 0xdb4 - 876: 08 95 ret - -00000878 : - 878: cf 93 push r28 - 87a: c8 2f mov r28, r24 - 87c: 66 23 and r22, r22 - 87e: 31 f0 breq .+12 ; 0x88c - 880: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 884: 81 60 ori r24, 0x01 ; 1 - 886: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 88a: 05 c0 rjmp .+10 ; 0x896 - 88c: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 890: 8e 7f andi r24, 0xFE ; 254 - 892: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 896: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 89a: 8d 7f andi r24, 0xFD ; 253 - 89c: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8a0: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - 8a4: 80 e0 ldi r24, 0x00 ; 0 - 8a6: 0e 94 95 06 call 0xd2a ; 0xd2a - 8aa: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8ae: 8f 77 andi r24, 0x7F ; 127 - 8b0: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8b4: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8b8: 8f 7b andi r24, 0xBF ; 191 - 8ba: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8be: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8c2: 8f 7d andi r24, 0xDF ; 223 - 8c4: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8c8: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8cc: 8f 7e andi r24, 0xEF ; 239 - 8ce: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8d2: cc 23 and r28, r28 - 8d4: 2c f4 brge .+10 ; 0x8e0 - 8d6: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8da: 80 68 ori r24, 0x80 ; 128 - 8dc: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8e0: c6 ff sbrs r28, 6 - 8e2: 05 c0 rjmp .+10 ; 0x8ee - 8e4: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8e8: 80 64 ori r24, 0x40 ; 64 - 8ea: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8ee: c5 ff sbrs r28, 5 - 8f0: 05 c0 rjmp .+10 ; 0x8fc - 8f2: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 8f6: 80 62 ori r24, 0x20 ; 32 - 8f8: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 8fc: c4 ff sbrs r28, 4 - 8fe: 05 c0 rjmp .+10 ; 0x90a <__stack+0xb> - 900: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 904: 80 61 ori r24, 0x10 ; 16 - 906: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 90a: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - 90e: 80 e0 ldi r24, 0x00 ; 0 - 910: 0e 94 95 06 call 0xd2a ; 0xd2a - 914: 0e 94 32 04 call 0x864 ; 0x864 - 918: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 91c: 8f 77 andi r24, 0x7F ; 127 - 91e: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 922: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 926: 8f 7b andi r24, 0xBF ; 191 - 928: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 92c: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 930: 8f 7d andi r24, 0xDF ; 223 - 932: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 936: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 93a: 8f 7e andi r24, 0xEF ; 239 - 93c: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 940: c3 ff sbrs r28, 3 - 942: 05 c0 rjmp .+10 ; 0x94e <__stack+0x4f> - 944: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 948: 80 68 ori r24, 0x80 ; 128 - 94a: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 94e: c2 ff sbrs r28, 2 - 950: 05 c0 rjmp .+10 ; 0x95c <__stack+0x5d> - 952: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 956: 80 64 ori r24, 0x40 ; 64 - 958: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 95c: c1 ff sbrs r28, 1 - 95e: 05 c0 rjmp .+10 ; 0x96a <__stack+0x6b> - 960: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 964: 80 62 ori r24, 0x20 ; 32 - 966: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 96a: c0 ff sbrs r28, 0 - 96c: 05 c0 rjmp .+10 ; 0x978 <__stack+0x79> - 96e: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 972: 80 61 ori r24, 0x10 ; 16 - 974: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 978: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - 97c: 80 e0 ldi r24, 0x00 ; 0 - 97e: 0e 94 95 06 call 0xd2a ; 0xd2a - 982: 0e 94 32 04 call 0x864 ; 0x864 - 986: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 98a: 80 61 ori r24, 0x10 ; 16 - 98c: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 990: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 994: 80 62 ori r24, 0x20 ; 32 - 996: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 99a: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 99e: 80 64 ori r24, 0x40 ; 64 - 9a0: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 9a4: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 9a8: 80 68 ori r24, 0x80 ; 128 - 9aa: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 9ae: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - 9b2: 80 e0 ldi r24, 0x00 ; 0 - 9b4: 0e 94 95 06 call 0xd2a ; 0xd2a - 9b8: cf 91 pop r28 - 9ba: 08 95 ret - -000009bc : - 9bc: cf 93 push r28 - 9be: c8 2f mov r28, r24 - 9c0: 0e 94 28 04 call 0x850 ; 0x850 - 9c4: 60 e0 ldi r22, 0x00 ; 0 - 9c6: 8c 2f mov r24, r28 - 9c8: 0e 94 3c 04 call 0x878 ; 0x878 - 9cc: cf 91 pop r28 - 9ce: 08 95 ret - -000009d0 : - 9d0: 61 11 cpse r22, r1 - 9d2: 04 c0 rjmp .+8 ; 0x9dc - 9d4: 80 58 subi r24, 0x80 ; 128 - 9d6: 0e 94 de 04 call 0x9bc ; 0x9bc - 9da: 08 95 ret - 9dc: 80 54 subi r24, 0x40 ; 64 - 9de: 0e 94 de 04 call 0x9bc ; 0x9bc - 9e2: 08 95 ret - -000009e4 : - 9e4: 81 e0 ldi r24, 0x01 ; 1 - 9e6: 0e 94 de 04 call 0x9bc ; 0x9bc - 9ea: 08 95 ret - -000009ec : - 9ec: 88 23 and r24, r24 - 9ee: 31 f0 breq .+12 ; 0x9fc - 9f0: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - 9f4: 87 7f andi r24, 0xF7 ; 247 - 9f6: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - 9fa: 05 c0 rjmp .+10 ; 0xa06 - 9fc: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - a00: 88 60 ori r24, 0x08 ; 8 - a02: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - a06: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - a0a: 80 e0 ldi r24, 0x00 ; 0 - a0c: 0e 94 95 06 call 0xd2a ; 0xd2a - a10: 08 95 ret - -00000a12 : - a12: 82 e0 ldi r24, 0x02 ; 2 - a14: 0e 94 de 04 call 0x9bc ; 0x9bc - a18: 08 95 ret - -00000a1a : - a1a: cf 93 push r28 - a1c: c8 2f mov r28, r24 - a1e: 0e 94 28 04 call 0x850 ; 0x850 - a22: ca 30 cpi r28, 0x0A ; 10 - a24: 49 f4 brne .+18 ; 0xa38 - a26: 80 34 cpi r24, 0x40 ; 64 - a28: 10 f0 brcs .+4 ; 0xa2e - a2a: 80 e0 ldi r24, 0x00 ; 0 - a2c: 01 c0 rjmp .+2 ; 0xa30 - a2e: 80 e4 ldi r24, 0x40 ; 64 - a30: 80 58 subi r24, 0x80 ; 128 - a32: 0e 94 de 04 call 0x9bc ; 0x9bc - a36: 13 c0 rjmp .+38 ; 0xa5e - a38: 80 31 cpi r24, 0x10 ; 16 - a3a: 29 f4 brne .+10 ; 0xa46 - a3c: 60 e0 ldi r22, 0x00 ; 0 - a3e: 80 ec ldi r24, 0xC0 ; 192 - a40: 0e 94 3c 04 call 0x878 ; 0x878 - a44: 06 c0 rjmp .+12 ; 0xa52 - a46: 80 35 cpi r24, 0x50 ; 80 - a48: 21 f4 brne .+8 ; 0xa52 - a4a: 60 e0 ldi r22, 0x00 ; 0 - a4c: 80 e8 ldi r24, 0x80 ; 128 - a4e: 0e 94 3c 04 call 0x878 ; 0x878 - a52: 0e 94 28 04 call 0x850 ; 0x850 - a56: 61 e0 ldi r22, 0x01 ; 1 - a58: 8c 2f mov r24, r28 - a5a: 0e 94 3c 04 call 0x878 ; 0x878 - a5e: cf 91 pop r28 - a60: 08 95 ret - -00000a62 : - a62: cf 93 push r28 - a64: df 93 push r29 - a66: ec 01 movw r28, r24 - a68: 21 96 adiw r28, 0x01 ; 1 - a6a: fc 01 movw r30, r24 - a6c: 80 81 ld r24, Z - a6e: 88 23 and r24, r24 - a70: 29 f0 breq .+10 ; 0xa7c - a72: 0e 94 0d 05 call 0xa1a ; 0xa1a - a76: 89 91 ld r24, Y+ - a78: 81 11 cpse r24, r1 - a7a: fb cf rjmp .-10 ; 0xa72 - a7c: df 91 pop r29 - a7e: cf 91 pop r28 - a80: 08 95 ret - -00000a82 : - -// инициализация дисплея -void lcd_init(uint8_t dispAttr) -{ - a82: 1f 93 push r17 - a84: cf 93 push r28 - a86: df 93 push r29 - a88: 18 2f mov r17, r24 - #if LCD_PCF8574_INIT == 1 - //инициализация pcf - pcf8574_init(); - a8a: 0e 94 78 06 call 0xcf0 ; 0xcf0 - #endif - - dataport = 0; - a8e: 10 92 42 03 sts 0x0342, r1 ; 0x800342 <__data_end> - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - a92: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - a96: 80 e0 ldi r24, 0x00 ; 0 - a98: 0e 94 95 06 call 0xd2a ; 0xd2a -static inline void _delayFourCycles(unsigned int __count) -{ - if ( __count == 0 ) - __asm__ __volatile__( "rjmp 1f\n 1:" ); - else - __asm__ __volatile__ ( - a9c: 80 ea ldi r24, 0xA0 ; 160 - a9e: 9f e0 ldi r25, 0x0F ; 15 - aa0: 01 97 sbiw r24, 0x01 ; 1 - aa2: f1 f7 brne .-4 ; 0xaa0 - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - - delay(16000); - - // первоначальная запись на ЖК-дисплей — 8 бит - dataport |= _BV(LCD_DATA1_PIN); // _BV(LCD_FUNCTION)>>4; - aa4: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - aa8: 80 62 ori r24, 0x20 ; 32 - aaa: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - dataport |= _BV(LCD_DATA0_PIN); // _BV(LCD_FUNCTION_8BIT)>>4; - aae: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - ab2: 80 61 ori r24, 0x10 ; 16 - ab4: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - ab8: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - abc: 80 e0 ldi r24, 0x00 ; 0 - abe: 0e 94 95 06 call 0xd2a ; 0xd2a - - // дрючим дисплей чтобы он начал работать - lcd_e_toggle(); - ac2: 0e 94 32 04 call 0x864 ; 0x864 -static inline void _delayFourCycles(unsigned int __count) -{ - if ( __count == 0 ) - __asm__ __volatile__( "rjmp 1f\n 1:" ); - else - __asm__ __volatile__ ( - ac6: 80 ee ldi r24, 0xE0 ; 224 - ac8: 94 e0 ldi r25, 0x04 ; 4 - aca: 01 97 sbiw r24, 0x01 ; 1 - acc: f1 f7 brne .-4 ; 0xaca - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - - // дрючим дисплей чтобы он начал работать - lcd_e_toggle(); - delay(4992); - lcd_e_toggle(); - ace: 0e 94 32 04 call 0x864 ; 0x864 -static inline void _delayFourCycles(unsigned int __count) -{ - if ( __count == 0 ) - __asm__ __volatile__( "rjmp 1f\n 1:" ); - else - __asm__ __volatile__ ( - ad2: c0 e1 ldi r28, 0x10 ; 16 - ad4: d0 e0 ldi r29, 0x00 ; 0 - ad6: ce 01 movw r24, r28 - ad8: 01 97 sbiw r24, 0x01 ; 1 - ada: f1 f7 brne .-4 ; 0xad8 - // дрючим дисплей чтобы он начал работать - lcd_e_toggle(); - delay(4992); - lcd_e_toggle(); - delay(64); - lcd_e_toggle(); - adc: 0e 94 32 04 call 0x864 ; 0x864 -static inline void _delayFourCycles(unsigned int __count) -{ - if ( __count == 0 ) - __asm__ __volatile__( "rjmp 1f\n 1:" ); - else - __asm__ __volatile__ ( - ae0: ce 01 movw r24, r28 - ae2: 01 97 sbiw r24, 0x01 ; 1 - ae4: f1 f7 brne .-4 ; 0xae2 - delay(64); - lcd_e_toggle(); - delay(64); - - // переходим в 4 битный режим - dataport &= ~_BV(LCD_DATA0_PIN); - ae6: 80 91 42 03 lds r24, 0x0342 ; 0x800342 <__data_end> - aea: 8f 7e andi r24, 0xEF ; 239 - aec: 80 93 42 03 sts 0x0342, r24 ; 0x800342 <__data_end> - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - af0: 60 91 42 03 lds r22, 0x0342 ; 0x800342 <__data_end> - af4: 80 e0 ldi r24, 0x00 ; 0 - af6: 0e 94 95 06 call 0xd2a ; 0xd2a - lcd_e_toggle(); - afa: 0e 94 32 04 call 0x864 ; 0x864 -static inline void _delayFourCycles(unsigned int __count) -{ - if ( __count == 0 ) - __asm__ __volatile__( "rjmp 1f\n 1:" ); - else - __asm__ __volatile__ ( - afe: 21 97 sbiw r28, 0x01 ; 1 - b00: f1 f7 brne .-4 ; 0xafe - pcf8574_setoutput(LCD_PCF8574_DEVICEID, dataport); - lcd_e_toggle(); - delay(64); - - - lcd_command(LCD_FUNCTION_DEFAULT); // настраиваем кол-во строк - b02: 88 e2 ldi r24, 0x28 ; 40 - b04: 0e 94 de 04 call 0x9bc ; 0x9bc - lcd_command(LCD_DISP_OFF); // вырубаем дисплей - b08: 88 e0 ldi r24, 0x08 ; 8 - b0a: 0e 94 de 04 call 0x9bc ; 0x9bc - lcd_clrscr(); // чистим экран - b0e: 0e 94 f2 04 call 0x9e4 ; 0x9e4 - lcd_command(LCD_MODE_DEFAULT); // запускаемся в стандартном режиме - b12: 86 e0 ldi r24, 0x06 ; 6 - b14: 0e 94 de 04 call 0x9bc ; 0x9bc - lcd_command(dispAttr); // отправляем настройки - b18: 81 2f mov r24, r17 - b1a: 0e 94 de 04 call 0x9bc ; 0x9bc -} - b1e: df 91 pop r29 - b20: cf 91 pop r28 - b22: 1f 91 pop r17 - b24: 08 95 ret - -00000b26 : -struct TextCounter textCounter; - -//struct TextCounter textCounter; - -void Lcd_inciliation() { - lcd_init(LCD_DISP_ON_BLINK); // инициализация дисплея - b26: 8d e0 ldi r24, 0x0D ; 13 - b28: 0e 94 41 05 call 0xa82 ; 0xa82 - lcd_home(); // домой курсор - b2c: 0e 94 09 05 call 0xa12 ; 0xa12 - lcd_led(0); // вкл подсветки - b30: 80 e0 ldi r24, 0x00 ; 0 - b32: 0e 94 f6 04 call 0x9ec ; 0x9ec - b36: 08 95 ret - -00000b38 : - //textCounter.startTime = millis(); // Запоминаем время запуска программы - //Из за строчки выше все ломается -} - -void fillBuffer1(const char* source, char* buffer, size_t bufferSize, int incrementValue) { - b38: cf 92 push r12 - b3a: df 92 push r13 - b3c: ef 92 push r14 - b3e: ff 92 push r15 - b40: 0f 93 push r16 - b42: 1f 93 push r17 - b44: cf 93 push r28 - b46: df 93 push r29 - b48: 8c 01 movw r16, r24 - b4a: 7b 01 movw r14, r22 - b4c: c9 01 movw r24, r18 - int startIndex = incrementValue % strlen(source); // Определяем начальный индекс на основе incrementValue - b4e: f8 01 movw r30, r16 - b50: 01 90 ld r0, Z+ - b52: 00 20 and r0, r0 - b54: e9 f7 brne .-6 ; 0xb50 - b56: 31 97 sbiw r30, 0x01 ; 1 - b58: bf 01 movw r22, r30 - b5a: 60 1b sub r22, r16 - b5c: 71 0b sbc r23, r17 - b5e: 0e 94 76 0b call 0x16ec ; 0x16ec <__udivmodhi4> - b62: 67 01 movw r12, r14 - b64: 20 e1 ldi r18, 0x10 ; 16 - b66: c2 0e add r12, r18 - b68: d1 1c adc r13, r1 - b6a: e7 01 movw r28, r14 - int endIndex = startIndex + 16; - - for (int i = 0; i < 16; ++i) { - buffer[i] = source[(startIndex + i) % strlen(source)]; - b6c: 9c 01 movw r18, r24 - b6e: 2e 19 sub r18, r14 - b70: 3f 09 sbc r19, r15 - b72: f8 01 movw r30, r16 - b74: 01 90 ld r0, Z+ - b76: 00 20 and r0, r0 - b78: e9 f7 brne .-6 ; 0xb74 - b7a: 31 97 sbiw r30, 0x01 ; 1 - b7c: bf 01 movw r22, r30 - b7e: 60 1b sub r22, r16 - b80: 71 0b sbc r23, r17 - b82: c9 01 movw r24, r18 - b84: 8c 0f add r24, r28 - b86: 9d 1f adc r25, r29 - b88: 0e 94 76 0b call 0x16ec ; 0x16ec <__udivmodhi4> - b8c: f8 01 movw r30, r16 - b8e: e8 0f add r30, r24 - b90: f9 1f adc r31, r25 - b92: 80 81 ld r24, Z - b94: 89 93 st Y+, r24 - -void fillBuffer1(const char* source, char* buffer, size_t bufferSize, int incrementValue) { - int startIndex = incrementValue % strlen(source); // Определяем начальный индекс на основе incrementValue - int endIndex = startIndex + 16; - - for (int i = 0; i < 16; ++i) { - b96: cc 15 cp r28, r12 - b98: dd 05 cpc r29, r13 - b9a: 59 f7 brne .-42 ; 0xb72 - buffer[i] = source[(startIndex + i) % strlen(source)]; - } - buffer[16] = '\0'; // Установка нулевого символа в конце буфера - b9c: f7 01 movw r30, r14 - b9e: 10 8a std Z+16, r1 ; 0x10 -} - ba0: df 91 pop r29 - ba2: cf 91 pop r28 - ba4: 1f 91 pop r17 - ba6: 0f 91 pop r16 - ba8: ff 90 pop r15 - baa: ef 90 pop r14 - bac: df 90 pop r13 - bae: cf 90 pop r12 - bb0: 08 95 ret - -00000bb2 : - -void fillBuffer2(float value1, float value2, float value3, char* buffer, size_t bufferSize) { - bb2: af 92 push r10 - bb4: bf 92 push r11 - bb6: cf 92 push r12 - bb8: df 92 push r13 - bba: ef 92 push r14 - bbc: ff 92 push r15 - bbe: 0f 93 push r16 - bc0: 1f 93 push r17 - snprintf(buffer, bufferSize, "%.2f.%.2f.%.2f", value1, value2, value3); - bc2: 1f 93 push r17 - bc4: 0f 93 push r16 - bc6: ff 92 push r15 - bc8: ef 92 push r14 - bca: 5f 93 push r21 - bcc: 4f 93 push r20 - bce: 3f 93 push r19 - bd0: 2f 93 push r18 - bd2: 9f 93 push r25 - bd4: 8f 93 push r24 - bd6: 7f 93 push r23 - bd8: 6f 93 push r22 - bda: 86 e1 ldi r24, 0x16 ; 22 - bdc: 93 e0 ldi r25, 0x03 ; 3 - bde: 9f 93 push r25 - be0: 8f 93 push r24 - be2: bf 92 push r11 - be4: af 92 push r10 - be6: df 92 push r13 - be8: cf 92 push r12 - bea: 0e 94 af 0b call 0x175e ; 0x175e -} - bee: 8d b7 in r24, 0x3d ; 61 - bf0: 9e b7 in r25, 0x3e ; 62 - bf2: 42 96 adiw r24, 0x12 ; 18 - bf4: 0f b6 in r0, 0x3f ; 63 - bf6: f8 94 cli - bf8: 9e bf out 0x3e, r25 ; 62 - bfa: 0f be out 0x3f, r0 ; 63 - bfc: 8d bf out 0x3d, r24 ; 61 - bfe: 1f 91 pop r17 - c00: 0f 91 pop r16 - c02: ff 90 pop r15 - c04: ef 90 pop r14 - c06: df 90 pop r13 - c08: cf 90 pop r12 - c0a: bf 90 pop r11 - c0c: af 90 pop r10 - c0e: 08 95 ret - -00000c10 : - -void printLcd(struct DisplayData* displayData) { - c10: 6f 92 push r6 - c12: 7f 92 push r7 - c14: af 92 push r10 - c16: bf 92 push r11 - c18: cf 92 push r12 - c1a: df 92 push r13 - c1c: ef 92 push r14 - c1e: ff 92 push r15 - c20: 0f 93 push r16 - c22: 1f 93 push r17 - c24: cf 93 push r28 - c26: df 93 push r29 - c28: cd b7 in r28, 0x3d ; 61 - c2a: de b7 in r29, 0x3e ; 62 - c2c: c2 54 subi r28, 0x42 ; 66 - c2e: d1 09 sbc r29, r1 - c30: 0f b6 in r0, 0x3f ; 63 - c32: f8 94 cli - c34: de bf out 0x3e, r29 ; 62 - c36: 0f be out 0x3f, r0 ; 63 - c38: cd bf out 0x3d, r28 ; 61 - c3a: 3c 01 movw r6, r24 - // Буферы для заполнения данных - char buffer1[17]; - char buffer2[17]; - - // Заполнение буфера 1 - fillBuffer1(displayData->topLine, buffer1, sizeof(buffer1), textCounter.incrementValue); - c3c: 20 91 49 03 lds r18, 0x0349 ; 0x800349 - c40: 30 91 4a 03 lds r19, 0x034A ; 0x80034a - c44: 41 e1 ldi r20, 0x11 ; 17 - c46: 50 e0 ldi r21, 0x00 ; 0 - c48: be 01 movw r22, r28 - c4a: 6f 5f subi r22, 0xFF ; 255 - c4c: 7f 4f sbci r23, 0xFF ; 255 - c4e: 0e 94 9c 05 call 0xb38 ; 0xb38 - - // Заполнение буфера 2 - fillBuffer2(displayData->value1, displayData->value2, displayData->value3, buffer2, sizeof(buffer2)); - c52: f3 01 movw r30, r6 - c54: e8 5b subi r30, 0xB8 ; 184 - c56: ff 4f sbci r31, 0xFF ; 255 - c58: e0 80 ld r14, Z - c5a: f1 80 ldd r15, Z+1 ; 0x01 - c5c: 02 81 ldd r16, Z+2 ; 0x02 - c5e: 13 81 ldd r17, Z+3 ; 0x03 - c60: 34 97 sbiw r30, 0x04 ; 4 - c62: 20 81 ld r18, Z - c64: 31 81 ldd r19, Z+1 ; 0x01 - c66: 42 81 ldd r20, Z+2 ; 0x02 - c68: 53 81 ldd r21, Z+3 ; 0x03 - c6a: 34 97 sbiw r30, 0x04 ; 4 - c6c: 60 81 ld r22, Z - c6e: 71 81 ldd r23, Z+1 ; 0x01 - c70: 82 81 ldd r24, Z+2 ; 0x02 - c72: 93 81 ldd r25, Z+3 ; 0x03 - c74: 0f 2e mov r0, r31 - c76: f1 e1 ldi r31, 0x11 ; 17 - c78: af 2e mov r10, r31 - c7a: b1 2c mov r11, r1 - c7c: f0 2d mov r31, r0 - c7e: fe 01 movw r30, r28 - c80: 72 96 adiw r30, 0x12 ; 18 - c82: 6f 01 movw r12, r30 - c84: 0e 94 d9 05 call 0xbb2 ; 0xbb2 - - // Создание массива для вывода на дисплей - char displayArray[32]; - strncpy(displayArray, buffer1, 16); // Копирование первых 16 символов из buffer1 в displayArray - c88: 40 e1 ldi r20, 0x10 ; 16 - c8a: 50 e0 ldi r21, 0x00 ; 0 - c8c: be 01 movw r22, r28 - c8e: 6f 5f subi r22, 0xFF ; 255 - c90: 7f 4f sbci r23, 0xFF ; 255 - c92: ce 01 movw r24, r28 - c94: 83 96 adiw r24, 0x23 ; 35 - c96: 0e 94 8a 0b call 0x1714 ; 0x1714 - strncpy(displayArray + 16, buffer2, 16); // Копирование первых 16 символов из buffer2 в displayArray, начиная с позиции 16 - c9a: 40 e1 ldi r20, 0x10 ; 16 - c9c: 50 e0 ldi r21, 0x00 ; 0 - c9e: b6 01 movw r22, r12 - ca0: ce 01 movw r24, r28 - ca2: c3 96 adiw r24, 0x33 ; 51 - ca4: 0e 94 8a 0b call 0x1714 ; 0x1714 - - // Вывод данных на экран - lcd_gotoxy(0, 0); - ca8: 60 e0 ldi r22, 0x00 ; 0 - caa: 80 e0 ldi r24, 0x00 ; 0 - cac: 0e 94 e8 04 call 0x9d0 ; 0x9d0 - lcd_puts(displayArray); - cb0: ce 01 movw r24, r28 - cb2: 83 96 adiw r24, 0x23 ; 35 - cb4: 0e 94 31 05 call 0xa62 ; 0xa62 - - lcd_gotoxy(0, 1); - cb8: 61 e0 ldi r22, 0x01 ; 1 - cba: 80 e0 ldi r24, 0x00 ; 0 - cbc: 0e 94 e8 04 call 0x9d0 ; 0x9d0 - lcd_puts(displayArray + 16); // Вывод второй половины displayArray - cc0: ce 01 movw r24, r28 - cc2: c3 96 adiw r24, 0x33 ; 51 - cc4: 0e 94 31 05 call 0xa62 ; 0xa62 -} - cc8: ce 5b subi r28, 0xBE ; 190 - cca: df 4f sbci r29, 0xFF ; 255 - ccc: 0f b6 in r0, 0x3f ; 63 - cce: f8 94 cli - cd0: de bf out 0x3e, r29 ; 62 - cd2: 0f be out 0x3f, r0 ; 63 - cd4: cd bf out 0x3d, r28 ; 61 - cd6: df 91 pop r29 - cd8: cf 91 pop r28 - cda: 1f 91 pop r17 - cdc: 0f 91 pop r16 - cde: ff 90 pop r15 - ce0: ef 90 pop r14 - ce2: df 90 pop r13 - ce4: cf 90 pop r12 - ce6: bf 90 pop r11 - ce8: af 90 pop r10 - cea: 7f 90 pop r7 - cec: 6f 90 pop r6 - cee: 08 95 ret - -00000cf0 : - i2c_write(b); - i2c_stop(); - return 0; - } - return -1; -} - cf0: 0e 94 de 06 call 0xdbc ; 0xdbc - cf4: 83 e0 ldi r24, 0x03 ; 3 - cf6: 8a 95 dec r24 - cf8: f1 f7 brne .-4 ; 0xcf6 - cfa: 00 00 nop - cfc: 10 92 4b 03 sts 0x034B, r1 ; 0x80034b - d00: 08 95 ret - -00000d02 : - d02: 81 11 cpse r24, r1 - d04: 0e c0 rjmp .+28 ; 0xd22 - d06: 68 30 cpi r22, 0x08 ; 8 - d08: 70 f4 brcc .+28 ; 0xd26 - d0a: 80 91 4b 03 lds r24, 0x034B ; 0x80034b - d0e: 08 2e mov r0, r24 - d10: 00 0c add r0, r0 - d12: 99 0b sbc r25, r25 - d14: 02 c0 rjmp .+4 ; 0xd1a - d16: 95 95 asr r25 - d18: 87 95 ror r24 - d1a: 6a 95 dec r22 - d1c: e2 f7 brpl .-8 ; 0xd16 - d1e: 81 70 andi r24, 0x01 ; 1 - d20: 08 95 ret - d22: 8f ef ldi r24, 0xFF ; 255 - d24: 08 95 ret - d26: 8f ef ldi r24, 0xFF ; 255 - d28: 08 95 ret - -00000d2a : - d2a: cf 93 push r28 - d2c: 81 11 cpse r24, r1 - d2e: 0d c0 rjmp .+26 ; 0xd4a - d30: c6 2f mov r28, r22 - d32: 60 93 4b 03 sts 0x034B, r22 ; 0x80034b - d36: 8e e4 ldi r24, 0x4E ; 78 - d38: 0e 94 e4 06 call 0xdc8 ; 0xdc8 - d3c: 8c 2f mov r24, r28 - d3e: 0e 94 14 07 call 0xe28 ; 0xe28 - d42: 0e 94 0b 07 call 0xe16 ; 0xe16 - d46: 80 e0 ldi r24, 0x00 ; 0 - d48: 01 c0 rjmp .+2 ; 0xd4c - d4a: 8f ef ldi r24, 0xFF ; 255 - d4c: cf 91 pop r28 - d4e: 08 95 ret - -00000d50 : - -// настройка пинов вывода -int8_t pcf8574_setoutputpin(uint8_t deviceid, uint8_t pin, uint8_t data) { - d50: cf 93 push r28 - d52: df 93 push r29 - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { - d54: 81 11 cpse r24, r1 - d56: 24 c0 rjmp .+72 ; 0xda0 - d58: 68 30 cpi r22, 0x08 ; 8 - d5a: 20 f5 brcc .+72 ; 0xda4 - uint8_t b = 0; - b = pcf8574_pinstatus[deviceid]; - d5c: 80 91 4b 03 lds r24, 0x034B ; 0x80034b - b = (data != 0) ? (b | (1 << pin)) : (b & ~(1 << pin)); - d60: 44 23 and r20, r20 - d62: 49 f0 breq .+18 ; 0xd76 - d64: c1 e0 ldi r28, 0x01 ; 1 - d66: d0 e0 ldi r29, 0x00 ; 0 - d68: 02 c0 rjmp .+4 ; 0xd6e - d6a: cc 0f add r28, r28 - d6c: dd 1f adc r29, r29 - d6e: 6a 95 dec r22 - d70: e2 f7 brpl .-8 ; 0xd6a - d72: c8 2b or r28, r24 - d74: 09 c0 rjmp .+18 ; 0xd88 - d76: c1 e0 ldi r28, 0x01 ; 1 - d78: d0 e0 ldi r29, 0x00 ; 0 - d7a: 02 c0 rjmp .+4 ; 0xd80 - d7c: cc 0f add r28, r28 - d7e: dd 1f adc r29, r29 - d80: 6a 95 dec r22 - d82: e2 f7 brpl .-8 ; 0xd7c - d84: c0 95 com r28 - d86: c8 23 and r28, r24 - pcf8574_pinstatus[deviceid] = b; - d88: c0 93 4b 03 sts 0x034B, r28 ; 0x80034b - //рестартим - i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); - d8c: 8e e4 ldi r24, 0x4E ; 78 - d8e: 0e 94 e4 06 call 0xdc8 ; 0xdc8 - i2c_write(b); - d92: 8c 2f mov r24, r28 - d94: 0e 94 14 07 call 0xe28 ; 0xe28 - i2c_stop(); - d98: 0e 94 0b 07 call 0xe16 ; 0xe16 - return 0; - d9c: 80 e0 ldi r24, 0x00 ; 0 - d9e: 03 c0 rjmp .+6 ; 0xda6 - } - return -1; - da0: 8f ef ldi r24, 0xFF ; 255 - da2: 01 c0 rjmp .+2 ; 0xda6 - da4: 8f ef ldi r24, 0xFF ; 255 -} - da6: df 91 pop r29 - da8: cf 91 pop r28 - daa: 08 95 ret - -00000dac : - -// установка высокого уровня на выходных пинах -int8_t pcf8574_setoutputpinhigh(uint8_t deviceid, uint8_t pin) { - return pcf8574_setoutputpin(deviceid, pin, 1); - dac: 41 e0 ldi r20, 0x01 ; 1 - dae: 0e 94 a8 06 call 0xd50 ; 0xd50 -} - db2: 08 95 ret - -00000db4 : - -// установка низкого уровня на выходных пинах -int8_t pcf8574_setoutputpinlow(uint8_t deviceid, uint8_t pin) { - return pcf8574_setoutputpin(deviceid, pin, 0); - db4: 40 e0 ldi r20, 0x00 ; 0 - db6: 0e 94 a8 06 call 0xd50 ; 0xd50 -} - dba: 08 95 ret - -00000dbc : - -// тупа повторяем условие СТАРТ -unsigned char i2c_rep_start(unsigned char address) -{ - return i2c_start(address); -} - dbc: 10 92 b9 00 sts 0x00B9, r1 ; 0x8000b9 <__DATA_REGION_ORIGIN__+0x59> - dc0: 8d ef ldi r24, 0xFD ; 253 - dc2: 80 93 b8 00 sts 0x00B8, r24 ; 0x8000b8 <__DATA_REGION_ORIGIN__+0x58> - dc6: 08 95 ret - -00000dc8 : - dc8: 94 ea ldi r25, 0xA4 ; 164 - dca: 90 93 bc 00 sts 0x00BC, r25 ; 0x8000bc <__DATA_REGION_ORIGIN__+0x5c> - dce: ec eb ldi r30, 0xBC ; 188 - dd0: f0 e0 ldi r31, 0x00 ; 0 - dd2: 90 81 ld r25, Z - dd4: 99 23 and r25, r25 - dd6: ec f7 brge .-6 ; 0xdd2 - dd8: 90 91 b9 00 lds r25, 0x00B9 ; 0x8000b9 <__DATA_REGION_ORIGIN__+0x59> - ddc: 98 7f andi r25, 0xF8 ; 248 - dde: 98 30 cpi r25, 0x08 ; 8 - de0: 11 f0 breq .+4 ; 0xde6 - de2: 90 31 cpi r25, 0x10 ; 16 - de4: a1 f4 brne .+40 ; 0xe0e - de6: 80 93 bb 00 sts 0x00BB, r24 ; 0x8000bb <__DATA_REGION_ORIGIN__+0x5b> - dea: 84 e8 ldi r24, 0x84 ; 132 - dec: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__DATA_REGION_ORIGIN__+0x5c> - df0: ec eb ldi r30, 0xBC ; 188 - df2: f0 e0 ldi r31, 0x00 ; 0 - df4: 80 81 ld r24, Z - df6: 88 23 and r24, r24 - df8: ec f7 brge .-6 ; 0xdf4 - dfa: 90 91 b9 00 lds r25, 0x00B9 ; 0x8000b9 <__DATA_REGION_ORIGIN__+0x59> - dfe: 98 7f andi r25, 0xF8 ; 248 - e00: 98 31 cpi r25, 0x18 ; 24 - e02: 39 f0 breq .+14 ; 0xe12 - e04: 81 e0 ldi r24, 0x01 ; 1 - e06: 90 34 cpi r25, 0x40 ; 64 - e08: 29 f4 brne .+10 ; 0xe14 - e0a: 80 e0 ldi r24, 0x00 ; 0 - e0c: 08 95 ret - e0e: 81 e0 ldi r24, 0x01 ; 1 - e10: 08 95 ret - e12: 80 e0 ldi r24, 0x00 ; 0 - e14: 08 95 ret - -00000e16 : - -// передача условия СТОП на шину -void i2c_stop(void) -{ - // отправка условия СТОП - TWCR = (1< - // ждем выполнения условия остановки - while(TWCR & (1< -} - e26: 08 95 ret - -00000e28 : -unsigned char i2c_write( unsigned char data ) -{ - uint8_t twst; - - // отправляем данные на уст-во - TWDR = data; - e28: 80 93 bb 00 sts 0x00BB, r24 ; 0x8000bb <__DATA_REGION_ORIGIN__+0x5b> - TWCR = (1< - // ждем завершения передачи - while(!(TWCR & (1< - // записываем ответ от ведомого уст-ва - twst = TW_STATUS & 0xF8; - e3c: 90 91 b9 00 lds r25, 0x00B9 ; 0x8000b9 <__DATA_REGION_ORIGIN__+0x59> - e40: 98 7f andi r25, 0xF8 ; 248 - e42: 81 e0 ldi r24, 0x01 ; 1 - e44: 98 32 cpi r25, 0x28 ; 40 - e46: 09 f4 brne .+2 ; 0xe4a - e48: 80 e0 ldi r24, 0x00 ; 0 - if( twst != TW_MT_DATA_ACK) return 1; - return 0; -} - e4a: 08 95 ret - -00000e4c
: -#include "UART/uart.h" -#include "stdbool.h" -#include "LCD/lcd.h" -#include "Protocol/protocol.h" - -int main(void) { - e4c: 4f 92 push r4 - e4e: 5f 92 push r5 - e50: 6f 92 push r6 - e52: 7f 92 push r7 - e54: 8f 92 push r8 - e56: 9f 92 push r9 - e58: af 92 push r10 - e5a: bf 92 push r11 - e5c: cf 92 push r12 - e5e: df 92 push r13 - e60: ef 92 push r14 - e62: ff 92 push r15 - e64: 0f 93 push r16 - e66: 1f 93 push r17 - e68: cf 93 push r28 - e6a: df 93 push r29 - e6c: cd b7 in r28, 0x3d ; 61 - e6e: de b7 in r29, 0x3e ; 62 - e70: c3 50 subi r28, 0x03 ; 3 - e72: d2 40 sbci r29, 0x02 ; 2 - e74: 0f b6 in r0, 0x3f ; 63 - e76: f8 94 cli - e78: de bf out 0x3e, r29 ; 62 - e7a: 0f be out 0x3f, r0 ; 63 - e7c: cd bf out 0x3d, r28 ; 61 - struct Client hdlc; - bool flag_connection = false; - - Lcd_inciliation(); - e7e: 0e 94 93 05 call 0xb26 ; 0xb26 - UART_init(); - e82: 0e 94 9e 0a call 0x153c ; 0x153c - init_hdlc_client(&hdlc, 200); - e86: 68 ec ldi r22, 0xC8 ; 200 - e88: 70 e0 ldi r23, 0x00 ; 0 - e8a: ce 01 movw r24, r28 - e8c: 01 96 adiw r24, 0x01 ; 1 - e8e: 0e 94 53 00 call 0xa6 ; 0xa6 -<<<<<<< HEAD -======= -// while(true){ -// if (!flag_connection){ -// } -// } ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - - hdlc_connect(&hdlc); - e92: ce 01 movw r24, r28 - e94: 01 96 adiw r24, 0x01 ; 1 - e96: 0e 94 6c 00 call 0xd8 ; 0xd8 - uint8_t buffer[10]; - - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - e9a: 4a e0 ldi r20, 0x0A ; 10 - e9c: 50 e0 ldi r21, 0x00 ; 0 - e9e: be 01 movw r22, r28 - ea0: 66 5e subi r22, 0xE6 ; 230 - ea2: 7f 4f sbci r23, 0xFF ; 255 - ea4: ce 01 movw r24, r28 - ea6: 01 96 adiw r24, 0x01 ; 1 - ea8: 0e 94 91 00 call 0x122 ; 0x122 - - UART_send(buffer, sizeof buffer); - eac: 6a e0 ldi r22, 0x0A ; 10 - eae: 70 e0 ldi r23, 0x00 ; 0 - eb0: ce 01 movw r24, r28 - eb2: 4a 96 adiw r24, 0x1a ; 26 - eb4: 0e 94 aa 0a call 0x1554 ; 0x1554 - - while(!flag_connection){ - uint8_t* buffer_recive[10]; - UART_receive(buffer_recive, sizeof buffer_recive); - eb8: 64 e1 ldi r22, 0x14 ; 20 - eba: 70 e0 ldi r23, 0x00 ; 0 - ebc: ce 01 movw r24, r28 - ebe: 80 51 subi r24, 0x10 ; 16 - ec0: 9e 4f sbci r25, 0xFE ; 254 - ec2: 0e 94 ce 0a call 0x159c ; 0x159c - - int err = hdlc_timeout_handler(&hdlc, 1); - ec6: 61 e0 ldi r22, 0x01 ; 1 - ec8: 70 e0 ldi r23, 0x00 ; 0 - eca: ce 01 movw r24, r28 - ecc: 01 96 adiw r24, 0x01 ; 1 - ece: 0e 94 a8 01 call 0x350 ; 0x350 - if (err == ERR_FRAME_TIME_OUT){ - ed2: 05 96 adiw r24, 0x05 ; 5 - ed4: 81 f4 brne .+32 ; 0xef6 - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - ed6: 4a e0 ldi r20, 0x0A ; 10 - ed8: 50 e0 ldi r21, 0x00 ; 0 - eda: be 01 movw r22, r28 - edc: 66 5e subi r22, 0xE6 ; 230 - ede: 7f 4f sbci r23, 0xFF ; 255 - ee0: ce 01 movw r24, r28 - ee2: 01 96 adiw r24, 0x01 ; 1 - ee4: 0e 94 91 00 call 0x122 ; 0x122 - UART_send(buffer, sizeof buffer); - ee8: 6a e0 ldi r22, 0x0A ; 10 - eea: 70 e0 ldi r23, 0x00 ; 0 - eec: ce 01 movw r24, r28 - eee: 4a 96 adiw r24, 0x1a ; 26 - ef0: 0e 94 aa 0a call 0x1554 ; 0x1554 - ef4: e1 cf rjmp .-62 ; 0xeb8 - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive, sizeof buffer_recive, 0, 0); - ef6: 00 e0 ldi r16, 0x00 ; 0 - ef8: 10 e0 ldi r17, 0x00 ; 0 - efa: 20 e0 ldi r18, 0x00 ; 0 - efc: 30 e0 ldi r19, 0x00 ; 0 - efe: 44 e1 ldi r20, 0x14 ; 20 - f00: 50 e0 ldi r21, 0x00 ; 0 - f02: be 01 movw r22, r28 - f04: 60 51 subi r22, 0x10 ; 16 - f06: 7e 4f sbci r23, 0xFE ; 254 - f08: ce 01 movw r24, r28 - f0a: 01 96 adiw r24, 0x01 ; 1 - f0c: 0e 94 07 01 call 0x20e ; 0x20e - f10: 8c 01 movw r16, r24 - if (err < 0){ - f12: 99 23 and r25, r25 - f14: ac f4 brge .+42 ; 0xf40 - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - f16: 0a 3f cpi r16, 0xFA ; 250 - f18: 8f ef ldi r24, 0xFF ; 255 - f1a: 18 07 cpc r17, r24 - f1c: b1 f4 brne .+44 ; 0xf4a - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - f1e: 44 e1 ldi r20, 0x14 ; 20 - f20: 50 e0 ldi r21, 0x00 ; 0 - f22: be 01 movw r22, r28 - f24: 60 5a subi r22, 0xA0 ; 160 - f26: 7e 4f sbci r23, 0xFE ; 254 - f28: ce 01 movw r24, r28 - f2a: 01 96 adiw r24, 0x01 ; 1 - f2c: 0e 94 91 00 call 0x122 ; 0x122 - UART_send(buffer_rej, sizeof buffer_rej); - f30: 64 e1 ldi r22, 0x14 ; 20 - f32: 70 e0 ldi r23, 0x00 ; 0 - f34: ce 01 movw r24, r28 - f36: 80 5a subi r24, 0xA0 ; 160 - f38: 9e 4f sbci r25, 0xFE ; 254 - f3a: 0e 94 aa 0a call 0x1554 ; 0x1554 - f3e: 05 c0 rjmp .+10 ; 0xf4a - return err; - } - return err; - } - - if (hdlc.state == READY_STATE){ - f40: 89 81 ldd r24, Y+1 ; 0x01 - - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - - UART_send(buffer, sizeof buffer); - - while(!flag_connection){ - f42: 82 30 cpi r24, 0x02 ; 2 - f44: 09 f0 breq .+2 ; 0xf48 - f46: b8 cf rjmp .-144 ; 0xeb8 - f48: 03 c0 rjmp .+6 ; 0xf50 - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - UART_send(buffer, sizeof buffer); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive, sizeof buffer_recive, 0, 0); - f4a: 80 2f mov r24, r16 - f4c: 91 2f mov r25, r17 - f4e: fe c0 rjmp .+508 ; 0x114c - flag_connection = true; - } - } - - struct message mess; - mess.numbers[0] = 1.23; - f50: 84 ea ldi r24, 0xA4 ; 164 - f52: 90 e7 ldi r25, 0x70 ; 112 - f54: ad e9 ldi r26, 0x9D ; 157 - f56: bf e3 ldi r27, 0x3F ; 63 - f58: 8c a3 std Y+36, r24 ; 0x24 - f5a: 9d a3 std Y+37, r25 ; 0x25 - f5c: ae a3 std Y+38, r26 ; 0x26 - f5e: bf a3 std Y+39, r27 ; 0x27 - mess.numbers[1] = 22.1; - f60: 8d ec ldi r24, 0xCD ; 205 - f62: 9c ec ldi r25, 0xCC ; 204 - f64: a0 eb ldi r26, 0xB0 ; 176 - f66: b1 e4 ldi r27, 0x41 ; 65 - f68: 88 a7 std Y+40, r24 ; 0x28 - f6a: 99 a7 std Y+41, r25 ; 0x29 - f6c: aa a7 std Y+42, r26 ; 0x2a - f6e: bb a7 std Y+43, r27 ; 0x2b - mess.numbers[2] = 100; - f70: 80 e0 ldi r24, 0x00 ; 0 - f72: 90 e0 ldi r25, 0x00 ; 0 - f74: a8 ec ldi r26, 0xC8 ; 200 - f76: b2 e4 ldi r27, 0x42 ; 66 - f78: 8c a7 std Y+44, r24 ; 0x2c - f7a: 9d a7 std Y+45, r25 ; 0x2d - f7c: ae a7 std Y+46, r26 ; 0x2e - f7e: bf a7 std Y+47, r27 ; 0x2f - mess.len_numbers = 3; - f80: 83 e0 ldi r24, 0x03 ; 3 - f82: 90 e0 ldi r25, 0x00 ; 0 - f84: 99 ab std Y+49, r25 ; 0x31 - f86: 88 ab std Y+48, r24 ; 0x30 - mess.str = "word war in new world io ex"; - f88: 85 e2 ldi r24, 0x25 ; 37 - f8a: 93 e0 ldi r25, 0x03 ; 3 - f8c: 9b ab std Y+51, r25 ; 0x33 - f8e: 8a ab std Y+50, r24 ; 0x32 - mess.len_str = sizeof mess.str; - f90: 82 e0 ldi r24, 0x02 ; 2 - f92: 90 e0 ldi r25, 0x00 ; 0 - f94: 9d ab std Y+53, r25 ; 0x35 - f96: 8c ab std Y+52, r24 ; 0x34 - - uint8_t data[64]; - size_t len_data; - protocol_encode(mess, data, &len_data); - f98: 2e 01 movw r4, r28 - f9a: e6 e7 ldi r30, 0x76 ; 118 - f9c: 4e 0e add r4, r30 - f9e: 51 1c adc r5, r1 - fa0: 5f 92 push r5 - fa2: 4f 92 push r4 - fa4: 3e 01 movw r6, r28 - fa6: f6 e3 ldi r31, 0x36 ; 54 - fa8: 6f 0e add r6, r31 - faa: 71 1c adc r7, r1 - fac: 7f 92 push r7 - fae: 6f 92 push r6 - fb0: 8c a0 ldd r8, Y+36 ; 0x24 - fb2: 9d a0 ldd r9, Y+37 ; 0x25 - fb4: ae a0 ldd r10, Y+38 ; 0x26 - fb6: bf a0 ldd r11, Y+39 ; 0x27 - fb8: c8 a4 ldd r12, Y+40 ; 0x28 - fba: d9 a4 ldd r13, Y+41 ; 0x29 - fbc: ea a4 ldd r14, Y+42 ; 0x2a - fbe: fb a4 ldd r15, Y+43 ; 0x2b - fc0: 0c a5 ldd r16, Y+44 ; 0x2c - fc2: 1d a5 ldd r17, Y+45 ; 0x2d - fc4: 2e a5 ldd r18, Y+46 ; 0x2e - fc6: 3f a5 ldd r19, Y+47 ; 0x2f - fc8: 48 a9 ldd r20, Y+48 ; 0x30 - fca: 59 a9 ldd r21, Y+49 ; 0x31 - fcc: 6a a9 ldd r22, Y+50 ; 0x32 - fce: 7b a9 ldd r23, Y+51 ; 0x33 - fd0: 8c a9 ldd r24, Y+52 ; 0x34 - fd2: 9d a9 ldd r25, Y+53 ; 0x35 - fd4: 0e 94 5c 09 call 0x12b8 ; 0x12b8 - - hdlc_send_data(&hdlc, data, len_data); - fd8: f2 01 movw r30, r4 - fda: 40 81 ld r20, Z - fdc: 51 81 ldd r21, Z+1 ; 0x01 - fde: b3 01 movw r22, r6 - fe0: ce 01 movw r24, r28 - fe2: 01 96 adiw r24, 0x01 ; 1 - fe4: 0e 94 76 00 call 0xec ; 0xec - uint8_t buffer_data[72]; - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - fe8: 48 e4 ldi r20, 0x48 ; 72 - fea: 50 e0 ldi r21, 0x00 ; 0 - fec: be 01 movw r22, r28 - fee: 68 58 subi r22, 0x88 ; 136 - ff0: 7f 4f sbci r23, 0xFF ; 255 - ff2: ce 01 movw r24, r28 - ff4: 01 96 adiw r24, 0x01 ; 1 - ff6: 0e 94 91 00 call 0x122 ; 0x122 - - UART_send(buffer_data, sizeof buffer_data); - ffa: 68 e4 ldi r22, 0x48 ; 72 - ffc: 70 e0 ldi r23, 0x00 ; 0 - ffe: ce 01 movw r24, r28 - 1000: 88 58 subi r24, 0x88 ; 136 - 1002: 9f 4f sbci r25, 0xFF ; 255 - 1004: 0e 94 aa 0a call 0x1554 ; 0x1554 - 1008: 0f 90 pop r0 - 100a: 0f 90 pop r0 - 100c: 0f 90 pop r0 - 100e: 0f 90 pop r0 - bool flag_recive = false; - uint8_t data_recive[64]; - size_t len_data_recive; - while (!flag_recive){ - uint8_t* buffer_recive_data[72]; - UART_receive(buffer_recive_data, sizeof buffer_recive_data); - 1010: 60 e9 ldi r22, 0x90 ; 144 - 1012: 70 e0 ldi r23, 0x00 ; 0 - 1014: ce 01 movw r24, r28 - 1016: 80 5a subi r24, 0xA0 ; 160 - 1018: 9e 4f sbci r25, 0xFE ; 254 - 101a: 0e 94 ce 0a call 0x159c ; 0x159c - - int err = hdlc_timeout_handler(&hdlc, 1); - 101e: 61 e0 ldi r22, 0x01 ; 1 - 1020: 70 e0 ldi r23, 0x00 ; 0 - 1022: ce 01 movw r24, r28 - 1024: 01 96 adiw r24, 0x01 ; 1 - 1026: 0e 94 a8 01 call 0x350 ; 0x350 - if (err == ERR_FRAME_TIME_OUT){ - 102a: 05 96 adiw r24, 0x05 ; 5 - 102c: 89 f4 brne .+34 ; 0x1050 - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - 102e: 48 e4 ldi r20, 0x48 ; 72 - 1030: 50 e0 ldi r21, 0x00 ; 0 - 1032: be 01 movw r22, r28 - 1034: 68 58 subi r22, 0x88 ; 136 - 1036: 7f 4f sbci r23, 0xFF ; 255 - 1038: ce 01 movw r24, r28 - 103a: 01 96 adiw r24, 0x01 ; 1 - 103c: 0e 94 91 00 call 0x122 ; 0x122 - UART_send(buffer_data, sizeof buffer_data); - 1040: 68 e4 ldi r22, 0x48 ; 72 - 1042: 70 e0 ldi r23, 0x00 ; 0 - 1044: ce 01 movw r24, r28 - 1046: 88 58 subi r24, 0x88 ; 136 - 1048: 9f 4f sbci r25, 0xFF ; 255 - 104a: 0e 94 aa 0a call 0x1554 ; 0x1554 - 104e: e0 cf rjmp .-64 ; 0x1010 - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, data_recive, &len_data_recive); - 1050: 8e 01 movw r16, r28 - 1052: 13 95 inc r17 - 1054: 9e 01 movw r18, r28 - 1056: 20 54 subi r18, 0x40 ; 64 - 1058: 3f 4f sbci r19, 0xFF ; 255 - 105a: 40 e9 ldi r20, 0x90 ; 144 - 105c: 50 e0 ldi r21, 0x00 ; 0 - 105e: be 01 movw r22, r28 - 1060: 60 5a subi r22, 0xA0 ; 160 - 1062: 7e 4f sbci r23, 0xFE ; 254 - 1064: ce 01 movw r24, r28 - 1066: 01 96 adiw r24, 0x01 ; 1 - 1068: 0e 94 07 01 call 0x20e ; 0x20e - 106c: 8c 01 movw r16, r24 - if (err < 0){ - 106e: 99 23 and r25, r25 - 1070: 9c f4 brge .+38 ; 0x1098 - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - 1072: 06 96 adiw r24, 0x06 ; 6 - 1074: b1 f4 brne .+44 ; 0x10a2 - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - 1076: 44 e1 ldi r20, 0x14 ; 20 - 1078: 50 e0 ldi r21, 0x00 ; 0 - 107a: be 01 movw r22, r28 - 107c: 60 51 subi r22, 0x10 ; 16 - 107e: 7e 4f sbci r23, 0xFE ; 254 - 1080: ce 01 movw r24, r28 - 1082: 01 96 adiw r24, 0x01 ; 1 - 1084: 0e 94 91 00 call 0x122 ; 0x122 - UART_send(buffer_rej, sizeof buffer_rej); - 1088: 64 e1 ldi r22, 0x14 ; 20 - 108a: 70 e0 ldi r23, 0x00 ; 0 - 108c: ce 01 movw r24, r28 - 108e: 80 51 subi r24, 0x10 ; 16 - 1090: 9e 4f sbci r25, 0xFE ; 254 - 1092: 0e 94 aa 0a call 0x1554 ; 0x1554 - 1096: 05 c0 rjmp .+10 ; 0x10a2 - return err; - } - return err; - } - - if (hdlc.state == SEND){ - 1098: 89 81 ldd r24, Y+1 ; 0x01 - UART_send(buffer_data, sizeof buffer_data); - - bool flag_recive = false; - uint8_t data_recive[64]; - size_t len_data_recive; - while (!flag_recive){ - 109a: 86 30 cpi r24, 0x06 ; 6 - 109c: 09 f0 breq .+2 ; 0x10a0 - 109e: b8 cf rjmp .-144 ; 0x1010 - 10a0: 03 c0 rjmp .+6 ; 0x10a8 - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - UART_send(buffer_data, sizeof buffer_data); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, data_recive, &len_data_recive); - 10a2: 80 2f mov r24, r16 - 10a4: 91 2f mov r25, r17 - 10a6: 52 c0 rjmp .+164 ; 0x114c - flag_recive = true; - } - } - - struct message resp; - protocol_decode(data_recive, len_data_recive, &resp); - 10a8: c0 50 subi r28, 0x00 ; 0 - 10aa: df 4f sbci r29, 0xFF ; 255 - 10ac: 68 81 ld r22, Y - 10ae: 79 81 ldd r23, Y+1 ; 0x01 - 10b0: c0 50 subi r28, 0x00 ; 0 - 10b2: d1 40 sbci r29, 0x01 ; 1 - 10b4: ae 01 movw r20, r28 - 10b6: 4e 5f subi r20, 0xFE ; 254 - 10b8: 5e 4f sbci r21, 0xFE ; 254 - 10ba: ce 01 movw r24, r28 - 10bc: 80 54 subi r24, 0x40 ; 64 - 10be: 9f 4f sbci r25, 0xFF ; 255 - 10c0: 0e 94 be 08 call 0x117c ; 0x117c - - struct DisplayData disp; - disp.value1 = resp.numbers[0]; - 10c4: ce 5f subi r28, 0xFE ; 254 - 10c6: de 4f sbci r29, 0xFE ; 254 - 10c8: 88 81 ld r24, Y - 10ca: 99 81 ldd r25, Y+1 ; 0x01 - 10cc: aa 81 ldd r26, Y+2 ; 0x02 - 10ce: bb 81 ldd r27, Y+3 ; 0x03 - 10d0: c2 50 subi r28, 0x02 ; 2 - 10d2: d1 40 sbci r29, 0x01 ; 1 - 10d4: cc 5a subi r28, 0xAC ; 172 - 10d6: de 4f sbci r29, 0xFE ; 254 - 10d8: 88 83 st Y, r24 - 10da: 99 83 std Y+1, r25 ; 0x01 - 10dc: aa 83 std Y+2, r26 ; 0x02 - 10de: bb 83 std Y+3, r27 ; 0x03 - 10e0: c4 55 subi r28, 0x54 ; 84 - 10e2: d1 40 sbci r29, 0x01 ; 1 - disp.value2 = resp.numbers[1]; - 10e4: ca 5f subi r28, 0xFA ; 250 - 10e6: de 4f sbci r29, 0xFE ; 254 - 10e8: 88 81 ld r24, Y - 10ea: 99 81 ldd r25, Y+1 ; 0x01 - 10ec: aa 81 ldd r26, Y+2 ; 0x02 - 10ee: bb 81 ldd r27, Y+3 ; 0x03 - 10f0: c6 50 subi r28, 0x06 ; 6 - 10f2: d1 40 sbci r29, 0x01 ; 1 - 10f4: c8 5a subi r28, 0xA8 ; 168 - 10f6: de 4f sbci r29, 0xFE ; 254 - 10f8: 88 83 st Y, r24 - 10fa: 99 83 std Y+1, r25 ; 0x01 - 10fc: aa 83 std Y+2, r26 ; 0x02 - 10fe: bb 83 std Y+3, r27 ; 0x03 - 1100: c8 55 subi r28, 0x58 ; 88 - 1102: d1 40 sbci r29, 0x01 ; 1 - disp.value3 = resp.numbers[2]; - 1104: c6 5f subi r28, 0xF6 ; 246 - 1106: de 4f sbci r29, 0xFE ; 254 - 1108: 88 81 ld r24, Y - 110a: 99 81 ldd r25, Y+1 ; 0x01 - 110c: aa 81 ldd r26, Y+2 ; 0x02 - 110e: bb 81 ldd r27, Y+3 ; 0x03 - 1110: ca 50 subi r28, 0x0A ; 10 - 1112: d1 40 sbci r29, 0x01 ; 1 - 1114: c4 5a subi r28, 0xA4 ; 164 - 1116: de 4f sbci r29, 0xFE ; 254 - 1118: 88 83 st Y, r24 - 111a: 99 83 std Y+1, r25 ; 0x01 - 111c: aa 83 std Y+2, r26 ; 0x02 - 111e: bb 83 std Y+3, r27 ; 0x03 - 1120: cc 55 subi r28, 0x5C ; 92 - 1122: d1 40 sbci r29, 0x01 ; 1 - //disp.topLine = *resp.str; - strncpy(disp.topLine, resp.str, sizeof(disp.topLine) - 1); - 1124: c0 5f subi r28, 0xF0 ; 240 - 1126: de 4f sbci r29, 0xFE ; 254 - 1128: 68 81 ld r22, Y - 112a: 79 81 ldd r23, Y+1 ; 0x01 - 112c: c0 51 subi r28, 0x10 ; 16 - 112e: d1 40 sbci r29, 0x01 ; 1 - 1130: 4f e3 ldi r20, 0x3F ; 63 - 1132: 50 e0 ldi r21, 0x00 ; 0 - 1134: ce 01 movw r24, r28 - 1136: 8c 5e subi r24, 0xEC ; 236 - 1138: 9e 4f sbci r25, 0xFE ; 254 - 113a: 0e 94 8a 0b call 0x1714 ; 0x1714 - - printLcd(&disp); - 113e: ce 01 movw r24, r28 - 1140: 8c 5e subi r24, 0xEC ; 236 - 1142: 9e 4f sbci r25, 0xFE ; 254 - 1144: 0e 94 08 06 call 0xc10 ; 0xc10 - - return 0; - 1148: 80 e0 ldi r24, 0x00 ; 0 - 114a: 90 e0 ldi r25, 0x00 ; 0 - 114c: cd 5f subi r28, 0xFD ; 253 - 114e: dd 4f sbci r29, 0xFD ; 253 - 1150: 0f b6 in r0, 0x3f ; 63 - 1152: f8 94 cli - 1154: de bf out 0x3e, r29 ; 62 - 1156: 0f be out 0x3f, r0 ; 63 - 1158: cd bf out 0x3d, r28 ; 61 - 115a: df 91 pop r29 - 115c: cf 91 pop r28 - 115e: 1f 91 pop r17 - 1160: 0f 91 pop r16 - 1162: ff 90 pop r15 - 1164: ef 90 pop r14 - 1166: df 90 pop r13 - 1168: cf 90 pop r12 - 116a: bf 90 pop r11 - 116c: af 90 pop r10 - 116e: 9f 90 pop r9 - 1170: 8f 90 pop r8 - 1172: 7f 90 pop r7 - 1174: 6f 90 pop r6 - 1176: 5f 90 pop r5 - 1178: 4f 90 pop r4 - 117a: 08 95 ret - -0000117c : -#include "protocol.h" - -void protocol_decode(uint8_t encode_message[], size_t len_encode_message, struct message* decode_message){ - 117c: 8f 92 push r8 - 117e: 9f 92 push r9 - 1180: af 92 push r10 - 1182: bf 92 push r11 - 1184: cf 92 push r12 - 1186: df 92 push r13 - 1188: ef 92 push r14 - 118a: ff 92 push r15 - 118c: 0f 93 push r16 - 118e: 1f 93 push r17 - 1190: cf 93 push r28 - 1192: df 93 push r29 - 1194: cd b7 in r28, 0x3d ; 61 - 1196: de b7 in r29, 0x3e ; 62 - 1198: c0 54 subi r28, 0x40 ; 64 - 119a: d1 09 sbc r29, r1 - 119c: 0f b6 in r0, 0x3f ; 63 - 119e: f8 94 cli - 11a0: de bf out 0x3e, r29 ; 62 - 11a2: 0f be out 0x3f, r0 ; 63 - 11a4: cd bf out 0x3d, r28 ; 61 - 11a6: 4b 01 movw r8, r22 - int count_number = 0; - for(int i = 0; i < len_encode_message; i++){ - 11a8: 67 2b or r22, r23 - 11aa: 09 f4 brne .+2 ; 0x11ae - 11ac: 6c c0 rjmp .+216 ; 0x1286 - 11ae: 20 e0 ldi r18, 0x00 ; 0 - 11b0: 30 e0 ldi r19, 0x00 ; 0 - 11b2: 60 e0 ldi r22, 0x00 ; 0 - 11b4: 70 e0 ldi r23, 0x00 ; 0 - 11b6: a1 2c mov r10, r1 - 11b8: b1 2c mov r11, r1 - 11ba: 6e 01 movw r12, r28 - 11bc: e5 e0 ldi r30, 0x05 ; 5 - 11be: ce 0e add r12, r30 - 11c0: d1 1c adc r13, r1 - 11c2: fe 01 movw r30, r28 - 11c4: 31 96 adiw r30, 0x01 ; 1 - 11c6: 7f 01 movw r14, r30 - if (encode_message[i] == FLAG_NUMBER){ - 11c8: fc 01 movw r30, r24 - 11ca: e2 0f add r30, r18 - 11cc: f3 1f adc r31, r19 - 11ce: 20 81 ld r18, Z - 11d0: 21 11 cpse r18, r1 - 11d2: 27 c0 rjmp .+78 ; 0x1222 - 11d4: db 01 movw r26, r22 - 11d6: 11 96 adiw r26, 0x01 ; 1 - 11d8: a8 0f add r26, r24 - 11da: b9 1f adc r27, r25 - 11dc: fe 01 movw r30, r28 - 11de: 31 96 adiw r30, 0x01 ; 1 - union convert_float sample; - for (int z = 0; z < sizeof sample.buf; z++){ - i++; - sample.buf[z] = encode_message[i]; - 11e0: 2d 91 ld r18, X+ - 11e2: 21 93 st Z+, r18 -void protocol_decode(uint8_t encode_message[], size_t len_encode_message, struct message* decode_message){ - int count_number = 0; - for(int i = 0; i < len_encode_message; i++){ - if (encode_message[i] == FLAG_NUMBER){ - union convert_float sample; - for (int z = 0; z < sizeof sample.buf; z++){ - 11e4: ec 15 cp r30, r12 - 11e6: fd 05 cpc r31, r13 - 11e8: d9 f7 brne .-10 ; 0x11e0 - 11ea: 6c 5f subi r22, 0xFC ; 252 - 11ec: 7f 4f sbci r23, 0xFF ; 255 - i++; - sample.buf[z] = encode_message[i]; - } - decode_message->numbers[count_number++] = sample.fVal; - 11ee: f5 01 movw r30, r10 - 11f0: ee 0f add r30, r30 - 11f2: ff 1f adc r31, r31 - 11f4: ee 0f add r30, r30 - 11f6: ff 1f adc r31, r31 - 11f8: e4 0f add r30, r20 - 11fa: f5 1f adc r31, r21 - 11fc: 09 81 ldd r16, Y+1 ; 0x01 - 11fe: 1a 81 ldd r17, Y+2 ; 0x02 - 1200: 2b 81 ldd r18, Y+3 ; 0x03 - 1202: 3c 81 ldd r19, Y+4 ; 0x04 - 1204: 00 83 st Z, r16 - 1206: 11 83 std Z+1, r17 ; 0x01 - 1208: 22 83 std Z+2, r18 ; 0x02 - 120a: 33 83 std Z+3, r19 ; 0x03 - decode_message->len_numbers++; - 120c: fa 01 movw r30, r20 - 120e: 24 85 ldd r18, Z+12 ; 0x0c - 1210: 35 85 ldd r19, Z+13 ; 0x0d - 1212: 2f 5f subi r18, 0xFF ; 255 - 1214: 3f 4f sbci r19, 0xFF ; 255 - 1216: 35 87 std Z+13, r19 ; 0x0d - 1218: 24 87 std Z+12, r18 ; 0x0c - union convert_float sample; - for (int z = 0; z < sizeof sample.buf; z++){ - i++; - sample.buf[z] = encode_message[i]; - } - decode_message->numbers[count_number++] = sample.fVal; - 121a: 95 01 movw r18, r10 - 121c: 2f 5f subi r18, 0xFF ; 255 - 121e: 3f 4f sbci r19, 0xFF ; 255 - 1220: 59 01 movw r10, r18 - decode_message->len_numbers++; - } - - - if (encode_message[i] == FLAG_WORD){ - 1222: fc 01 movw r30, r24 - 1224: e6 0f add r30, r22 - 1226: f7 1f adc r31, r23 - 1228: 20 81 ld r18, Z - 122a: 21 30 cpi r18, 0x01 ; 1 - 122c: 21 f5 brne .+72 ; 0x1276 - int count_word = 0; - i++; - 122e: 9b 01 movw r18, r22 - 1230: 2f 5f subi r18, 0xFF ; 255 - 1232: 3f 4f sbci r19, 0xFF ; 255 - union convert_char sample; - for (int z = 0; z < encode_message[i]; z++){ - 1234: fc 01 movw r30, r24 - 1236: e2 0f add r30, r18 - 1238: f3 1f adc r31, r19 - 123a: e0 81 ld r30, Z - 123c: ee 23 and r30, r30 - 123e: 99 f0 breq .+38 ; 0x1266 - 1240: 6e 5f subi r22, 0xFE ; 254 - 1242: 7f 4f sbci r23, 0xFF ; 255 - 1244: dc 01 movw r26, r24 - 1246: a6 0f add r26, r22 - 1248: b7 1f adc r27, r23 - 124a: f7 01 movw r30, r14 - 124c: b9 01 movw r22, r18 - i++; - 124e: 6f 5f subi r22, 0xFF ; 255 - 1250: 7f 4f sbci r23, 0xFF ; 255 - sample.buf[z] = encode_message[i]; - 1252: 2d 91 ld r18, X+ - 1254: 21 93 st Z+, r18 - - if (encode_message[i] == FLAG_WORD){ - int count_word = 0; - i++; - union convert_char sample; - for (int z = 0; z < encode_message[i]; z++){ - 1256: 30 e0 ldi r19, 0x00 ; 0 - 1258: 8f 01 movw r16, r30 - 125a: 0e 19 sub r16, r14 - 125c: 1f 09 sbc r17, r15 - 125e: 02 17 cp r16, r18 - 1260: 13 07 cpc r17, r19 - 1262: ac f3 brlt .-22 ; 0x124e - 1264: 01 c0 rjmp .+2 ; 0x1268 - } - - - if (encode_message[i] == FLAG_WORD){ - int count_word = 0; - i++; - 1266: b9 01 movw r22, r18 - union convert_char sample; - for (int z = 0; z < encode_message[i]; z++){ - i++; - sample.buf[z] = encode_message[i]; - } - decode_message->str = sample.cVal; - 1268: 29 81 ldd r18, Y+1 ; 0x01 - 126a: 3a 81 ldd r19, Y+2 ; 0x02 - 126c: fa 01 movw r30, r20 - 126e: 37 87 std Z+15, r19 ; 0x0f - 1270: 26 87 std Z+14, r18 ; 0x0e - decode_message->len_str = count_word; - 1272: 11 8a std Z+17, r1 ; 0x11 - 1274: 10 8a std Z+16, r1 ; 0x10 -#include "protocol.h" - -void protocol_decode(uint8_t encode_message[], size_t len_encode_message, struct message* decode_message){ - int count_number = 0; - for(int i = 0; i < len_encode_message; i++){ - 1276: 6f 5f subi r22, 0xFF ; 255 - 1278: 7f 4f sbci r23, 0xFF ; 255 - 127a: 9b 01 movw r18, r22 - 127c: 68 15 cp r22, r8 - 127e: 79 05 cpc r23, r9 - 1280: 08 f4 brcc .+2 ; 0x1284 - 1282: a2 cf rjmp .-188 ; 0x11c8 - 1284: 02 c0 rjmp .+4 ; 0x128a -#include "protocol.h" - -void protocol_decode(uint8_t encode_message[], size_t len_encode_message, struct message* decode_message){ - int count_number = 0; - 1286: a1 2c mov r10, r1 - 1288: b1 2c mov r11, r1 - } - decode_message->str = sample.cVal; - decode_message->len_str = count_word; - } - } - decode_message->len_numbers = count_number; - 128a: fa 01 movw r30, r20 - 128c: b5 86 std Z+13, r11 ; 0x0d - 128e: a4 86 std Z+12, r10 ; 0x0c -} - 1290: c0 5c subi r28, 0xC0 ; 192 - 1292: df 4f sbci r29, 0xFF ; 255 - 1294: 0f b6 in r0, 0x3f ; 63 - 1296: f8 94 cli - 1298: de bf out 0x3e, r29 ; 62 - 129a: 0f be out 0x3f, r0 ; 63 - 129c: cd bf out 0x3d, r28 ; 61 - 129e: df 91 pop r29 - 12a0: cf 91 pop r28 - 12a2: 1f 91 pop r17 - 12a4: 0f 91 pop r16 - 12a6: ff 90 pop r15 - 12a8: ef 90 pop r14 - 12aa: df 90 pop r13 - 12ac: cf 90 pop r12 - 12ae: bf 90 pop r11 - 12b0: af 90 pop r10 - 12b2: 9f 90 pop r9 - 12b4: 8f 90 pop r8 - 12b6: 08 95 ret - -000012b8 : - -void protocol_encode(struct message message, uint8_t encode_message[], size_t* len_encode_message){ - 12b8: 4f 92 push r4 - 12ba: 5f 92 push r5 - 12bc: 6f 92 push r6 - 12be: 7f 92 push r7 - 12c0: 8f 92 push r8 - 12c2: 9f 92 push r9 - 12c4: af 92 push r10 - 12c6: bf 92 push r11 - 12c8: cf 92 push r12 - 12ca: df 92 push r13 - 12cc: ef 92 push r14 - 12ce: ff 92 push r15 - 12d0: 0f 93 push r16 - 12d2: 1f 93 push r17 - 12d4: cf 93 push r28 - 12d6: df 93 push r29 - 12d8: cd b7 in r28, 0x3d ; 61 - 12da: de b7 in r29, 0x3e ; 62 - 12dc: c2 55 subi r28, 0x52 ; 82 - 12de: d1 09 sbc r29, r1 - 12e0: 0f b6 in r0, 0x3f ; 63 - 12e2: f8 94 cli - 12e4: de bf out 0x3e, r29 ; 62 - 12e6: 0f be out 0x3f, r0 ; 63 - 12e8: cd bf out 0x3d, r28 ; 61 - 12ea: 22 96 adiw r28, 0x02 ; 2 - 12ec: 8f ae std Y+63, r8 ; 0x3f - 12ee: 22 97 sbiw r28, 0x02 ; 2 - 12f0: 23 96 adiw r28, 0x03 ; 3 - 12f2: 9f ae std Y+63, r9 ; 0x3f - 12f4: 23 97 sbiw r28, 0x03 ; 3 - 12f6: 24 96 adiw r28, 0x04 ; 4 - 12f8: af ae std Y+63, r10 ; 0x3f - 12fa: 24 97 sbiw r28, 0x04 ; 4 - 12fc: 25 96 adiw r28, 0x05 ; 5 - 12fe: bf ae std Y+63, r11 ; 0x3f - 1300: 25 97 sbiw r28, 0x05 ; 5 - 1302: 26 96 adiw r28, 0x06 ; 6 - 1304: cf ae std Y+63, r12 ; 0x3f - 1306: 26 97 sbiw r28, 0x06 ; 6 - 1308: 27 96 adiw r28, 0x07 ; 7 - 130a: df ae std Y+63, r13 ; 0x3f - 130c: 27 97 sbiw r28, 0x07 ; 7 - 130e: 28 96 adiw r28, 0x08 ; 8 - 1310: ef ae std Y+63, r14 ; 0x3f - 1312: 28 97 sbiw r28, 0x08 ; 8 - 1314: 29 96 adiw r28, 0x09 ; 9 - 1316: ff ae std Y+63, r15 ; 0x3f - 1318: 29 97 sbiw r28, 0x09 ; 9 - 131a: 2a 96 adiw r28, 0x0a ; 10 - 131c: 0f af std Y+63, r16 ; 0x3f - 131e: 2a 97 sbiw r28, 0x0a ; 10 - 1320: 2b 96 adiw r28, 0x0b ; 11 - 1322: 1f af std Y+63, r17 ; 0x3f - 1324: 2b 97 sbiw r28, 0x0b ; 11 - 1326: 2c 96 adiw r28, 0x0c ; 12 - 1328: 2f af std Y+63, r18 ; 0x3f - 132a: 2c 97 sbiw r28, 0x0c ; 12 - 132c: 2d 96 adiw r28, 0x0d ; 13 - 132e: 3f af std Y+63, r19 ; 0x3f - 1330: 2d 97 sbiw r28, 0x0d ; 13 - 1332: 2e 96 adiw r28, 0x0e ; 14 - 1334: 4f af std Y+63, r20 ; 0x3f - 1336: 2e 97 sbiw r28, 0x0e ; 14 - 1338: 2f 96 adiw r28, 0x0f ; 15 - 133a: 5f af std Y+63, r21 ; 0x3f - 133c: 2f 97 sbiw r28, 0x0f ; 15 - 133e: 60 96 adiw r28, 0x10 ; 16 - 1340: 6f af std Y+63, r22 ; 0x3f - 1342: 60 97 sbiw r28, 0x10 ; 16 - 1344: 61 96 adiw r28, 0x11 ; 17 - 1346: 7f af std Y+63, r23 ; 0x3f - 1348: 61 97 sbiw r28, 0x11 ; 17 - 134a: 62 96 adiw r28, 0x12 ; 18 - 134c: 8f af std Y+63, r24 ; 0x3f - 134e: 62 97 sbiw r28, 0x12 ; 18 - 1350: 63 96 adiw r28, 0x13 ; 19 - 1352: 9f af std Y+63, r25 ; 0x3f - 1354: 63 97 sbiw r28, 0x13 ; 19 - 1356: a7 96 adiw r28, 0x27 ; 39 - 1358: 0e ad ldd r16, Y+62 ; 0x3e - 135a: 1f ad ldd r17, Y+63 ; 0x3f - 135c: a7 97 sbiw r28, 0x27 ; 39 - 135e: 2f 96 adiw r28, 0x0f ; 15 - 1360: ce ac ldd r12, Y+62 ; 0x3e - 1362: df ac ldd r13, Y+63 ; 0x3f - 1364: 2f 97 sbiw r28, 0x0f ; 15 - 1366: 63 96 adiw r28, 0x13 ; 19 - 1368: 6e ad ldd r22, Y+62 ; 0x3e - 136a: 7f ad ldd r23, Y+63 ; 0x3f - 136c: 63 97 sbiw r28, 0x13 ; 19 - size_t count = 0; - if (message.len_numbers > 0){ - 136e: c1 14 cp r12, r1 - 1370: d1 04 cpc r13, r1 - 1372: 09 f4 brne .+2 ; 0x1376 - 1374: 66 c0 rjmp .+204 ; 0x1442 - 1376: 78 01 movw r14, r16 - 1378: ce 01 movw r24, r28 - 137a: 8f 5b subi r24, 0xBF ; 191 - 137c: 9f 4f sbci r25, 0xFF ; 255 - 137e: 56 01 movw r10, r12 - 1380: aa 0c add r10, r10 - 1382: bb 1c adc r11, r11 - 1384: aa 0c add r10, r10 - 1386: bb 1c adc r11, r11 - 1388: a8 0e add r10, r24 - 138a: b9 1e adc r11, r25 - 138c: ae 01 movw r20, r28 - 138e: 4b 5f subi r20, 0xFB ; 251 - 1390: 5f 4f sbci r21, 0xFF ; 255 - for (int i = 0; i < message.len_numbers; i++){ - encode_message[count++] = FLAG_NUMBER; - 1392: f7 01 movw r30, r14 - 1394: 11 92 st Z+, r1 - union convert_float sample; - sample.fVal = message.numbers[i]; - 1396: dc 01 movw r26, r24 - 1398: 4d 90 ld r4, X+ - 139a: 5d 90 ld r5, X+ - 139c: 6d 90 ld r6, X+ - 139e: 7d 90 ld r7, X+ - 13a0: cd 01 movw r24, r26 - 13a2: 49 82 std Y+1, r4 ; 0x01 - 13a4: 5a 82 std Y+2, r5 ; 0x02 - 13a6: 6b 82 std Y+3, r6 ; 0x03 - 13a8: 7c 82 std Y+4, r7 ; 0x04 - 13aa: de 01 movw r26, r28 - 13ac: 11 96 adiw r26, 0x01 ; 1 - for (int z = 0; z < sizeof sample.buf; z++){ - encode_message[count++] = sample.buf[z]; - 13ae: 3d 91 ld r19, X+ - 13b0: 31 93 st Z+, r19 - if (message.len_numbers > 0){ - for (int i = 0; i < message.len_numbers; i++){ - encode_message[count++] = FLAG_NUMBER; - union convert_float sample; - sample.fVal = message.numbers[i]; - for (int z = 0; z < sizeof sample.buf; z++){ - 13b2: a4 17 cp r26, r20 - 13b4: b5 07 cpc r27, r21 - 13b6: d9 f7 brne .-10 ; 0x13ae - 13b8: b5 e0 ldi r27, 0x05 ; 5 - 13ba: eb 0e add r14, r27 - 13bc: f1 1c adc r15, r1 -} - -void protocol_encode(struct message message, uint8_t encode_message[], size_t* len_encode_message){ - size_t count = 0; - if (message.len_numbers > 0){ - for (int i = 0; i < message.len_numbers; i++){ - 13be: 8a 15 cp r24, r10 - 13c0: 9b 05 cpc r25, r11 - 13c2: 39 f7 brne .-50 ; 0x1392 - 13c4: 96 01 movw r18, r12 - 13c6: 22 0f add r18, r18 - 13c8: 33 1f adc r19, r19 - 13ca: 22 0f add r18, r18 - 13cc: 33 1f adc r19, r19 - 13ce: 2c 0d add r18, r12 - 13d0: 3d 1d adc r19, r13 - encode_message[count++] = sample.buf[z]; - } - } - } - - if (message.len_str > 0){ - 13d2: 61 15 cp r22, r1 - 13d4: 71 05 cpc r23, r1 - 13d6: 09 f1 breq .+66 ; 0x141a - encode_message[count++] = FLAG_WORD; - 13d8: d8 01 movw r26, r16 - 13da: a2 0f add r26, r18 - 13dc: b3 1f adc r27, r19 - 13de: 81 e0 ldi r24, 0x01 ; 1 - 13e0: 8c 93 st X, r24 - encode_message[count++] = message.len_str; - 13e2: d9 01 movw r26, r18 - 13e4: 11 96 adiw r26, 0x01 ; 1 - 13e6: a0 0f add r26, r16 - 13e8: b1 1f adc r27, r17 - 13ea: 2e 5f subi r18, 0xFE ; 254 - 13ec: 3f 4f sbci r19, 0xFF ; 255 - 13ee: 6c 93 st X, r22 - union convert_char sample; - sample.cVal = message.str; - 13f0: 61 96 adiw r28, 0x11 ; 17 - 13f2: 8e ad ldd r24, Y+62 ; 0x3e - 13f4: 9f ad ldd r25, Y+63 ; 0x3f - 13f6: 61 97 sbiw r28, 0x11 ; 17 - 13f8: 9a 83 std Y+2, r25 ; 0x02 - 13fa: 89 83 std Y+1, r24 ; 0x01 - 13fc: de 01 movw r26, r28 - 13fe: 11 96 adiw r26, 0x01 ; 1 - 1400: f8 01 movw r30, r16 - 1402: e2 0f add r30, r18 - 1404: f3 1f adc r31, r19 - } - } - - if (message.len_str > 0){ - encode_message[count++] = FLAG_WORD; - encode_message[count++] = message.len_str; - 1406: 80 e0 ldi r24, 0x00 ; 0 - 1408: 90 e0 ldi r25, 0x00 ; 0 - union convert_char sample; - sample.cVal = message.str; - for (int i = 0; i < message.len_str; i++){ - encode_message[count++] = sample.buf[i]; - 140a: 2f 5f subi r18, 0xFF ; 255 - 140c: 3f 4f sbci r19, 0xFF ; 255 - 140e: 4d 91 ld r20, X+ - 1410: 41 93 st Z+, r20 - if (message.len_str > 0){ - encode_message[count++] = FLAG_WORD; - encode_message[count++] = message.len_str; - union convert_char sample; - sample.cVal = message.str; - for (int i = 0; i < message.len_str; i++){ - 1412: 01 96 adiw r24, 0x01 ; 1 - 1414: 86 17 cp r24, r22 - 1416: 97 07 cpc r25, r23 - 1418: c0 f3 brcs .-16 ; 0x140a - encode_message[count++] = sample.buf[i]; - } - } - - *len_encode_message = count; - 141a: a9 96 adiw r28, 0x29 ; 41 - 141c: ee ad ldd r30, Y+62 ; 0x3e - 141e: ff ad ldd r31, Y+63 ; 0x3f - 1420: a9 97 sbiw r28, 0x29 ; 41 - 1422: 31 83 std Z+1, r19 ; 0x01 - 1424: 20 83 st Z, r18 - 1426: 13 c0 rjmp .+38 ; 0x144e - } - } - } - - if (message.len_str > 0){ - encode_message[count++] = FLAG_WORD; - 1428: 81 e0 ldi r24, 0x01 ; 1 - 142a: f8 01 movw r30, r16 - 142c: 80 83 st Z, r24 - encode_message[count++] = message.len_str; - 142e: 61 83 std Z+1, r22 ; 0x01 - union convert_char sample; - sample.cVal = message.str; - 1430: 61 96 adiw r28, 0x11 ; 17 - 1432: 8e ad ldd r24, Y+62 ; 0x3e - 1434: 9f ad ldd r25, Y+63 ; 0x3f - 1436: 61 97 sbiw r28, 0x11 ; 17 - 1438: 9a 83 std Y+2, r25 ; 0x02 - 143a: 89 83 std Y+1, r24 ; 0x01 - } - } - - if (message.len_str > 0){ - encode_message[count++] = FLAG_WORD; - encode_message[count++] = message.len_str; - 143c: 22 e0 ldi r18, 0x02 ; 2 - 143e: 30 e0 ldi r19, 0x00 ; 0 - 1440: dd cf rjmp .-70 ; 0x13fc - encode_message[count++] = sample.buf[z]; - } - } - } - - if (message.len_str > 0){ - 1442: 61 15 cp r22, r1 - 1444: 71 05 cpc r23, r1 - 1446: 81 f7 brne .-32 ; 0x1428 - } - decode_message->len_numbers = count_number; -} - -void protocol_encode(struct message message, uint8_t encode_message[], size_t* len_encode_message){ - size_t count = 0; - 1448: 20 e0 ldi r18, 0x00 ; 0 - 144a: 30 e0 ldi r19, 0x00 ; 0 - 144c: e6 cf rjmp .-52 ; 0x141a - encode_message[count++] = sample.buf[i]; - } - } - - *len_encode_message = count; - 144e: ce 5a subi r28, 0xAE ; 174 - 1450: df 4f sbci r29, 0xFF ; 255 - 1452: 0f b6 in r0, 0x3f ; 63 - 1454: f8 94 cli - 1456: de bf out 0x3e, r29 ; 62 - 1458: 0f be out 0x3f, r0 ; 63 - 145a: cd bf out 0x3d, r28 ; 61 - 145c: df 91 pop r29 - 145e: cf 91 pop r28 - 1460: 1f 91 pop r17 - 1462: 0f 91 pop r16 - 1464: ff 90 pop r15 - 1466: ef 90 pop r14 - 1468: df 90 pop r13 - 146a: cf 90 pop r12 - 146c: bf 90 pop r11 - 146e: af 90 pop r10 - 1470: 9f 90 pop r9 - 1472: 8f 90 pop r8 - 1474: 7f 90 pop r7 - 1476: 6f 90 pop r6 - 1478: 5f 90 pop r5 - 147a: 4f 90 pop r4 - 147c: 08 95 ret - -0000147e : -void initialize_buffer(struct circular_buffer* cb) { - cb->buf_head = 0; - cb->buf_tail = 0; -} -// Проверка, пустой ли буфер -int buffer_empty(const struct circular_buffer* cb) { - 147e: fc 01 movw r30, r24 - return cb->buf_head == cb->buf_tail; - 1480: 81 e0 ldi r24, 0x01 ; 1 - 1482: 90 e0 ldi r25, 0x00 ; 0 - 1484: 30 a1 ldd r19, Z+32 ; 0x20 - 1486: 21 a1 ldd r18, Z+33 ; 0x21 - 1488: 32 17 cp r19, r18 - 148a: 11 f0 breq .+4 ; 0x1490 - 148c: 80 e0 ldi r24, 0x00 ; 0 - 148e: 90 e0 ldi r25, 0x00 ; 0 -} - 1490: 08 95 ret - -00001492 : -// Проверка, заполнен ли буфер -int buffer_full(const struct circular_buffer* cb) { - return (cb->buf_tail + 1) % BUFFER_SIZE == cb->buf_head; //проверяем следующее число, если оно будет совпадать с индексом головы то будет false, при совпадении вывод true - 1492: fc 01 movw r30, r24 - 1494: 21 a1 ldd r18, Z+33 ; 0x21 - 1496: 30 e0 ldi r19, 0x00 ; 0 - 1498: 2f 5f subi r18, 0xFF ; 255 - 149a: 3f 4f sbci r19, 0xFF ; 255 - 149c: 2f 71 andi r18, 0x1F ; 31 - 149e: 30 78 andi r19, 0x80 ; 128 - 14a0: 33 23 and r19, r19 - 14a2: 34 f4 brge .+12 ; 0x14b0 - 14a4: 21 50 subi r18, 0x01 ; 1 - 14a6: 31 09 sbc r19, r1 - 14a8: 20 6e ori r18, 0xE0 ; 224 - 14aa: 3f 6f ori r19, 0xFF ; 255 - 14ac: 2f 5f subi r18, 0xFF ; 255 - 14ae: 3f 4f sbci r19, 0xFF ; 255 - 14b0: fc 01 movw r30, r24 - 14b2: 40 a1 ldd r20, Z+32 ; 0x20 - 14b4: 50 e0 ldi r21, 0x00 ; 0 - 14b6: 81 e0 ldi r24, 0x01 ; 1 - 14b8: 90 e0 ldi r25, 0x00 ; 0 - 14ba: 24 17 cp r18, r20 - 14bc: 35 07 cpc r19, r21 - 14be: 11 f0 breq .+4 ; 0x14c4 - 14c0: 80 e0 ldi r24, 0x00 ; 0 - 14c2: 90 e0 ldi r25, 0x00 ; 0 -} - 14c4: 08 95 ret - -000014c6 : -// Запись в буфер -void write_buffer(struct circular_buffer* cb, int value) { - 14c6: 1f 93 push r17 - 14c8: cf 93 push r28 - 14ca: df 93 push r29 - 14cc: ec 01 movw r28, r24 - 14ce: 16 2f mov r17, r22 - if (buffer_full(cb)) { // проверяем, заполнен ли буфер - 14d0: 0e 94 49 0a call 0x1492 ; 0x1492 - 14d4: 89 2b or r24, r25 - 14d6: 81 f4 brne .+32 ; 0x14f8 - return; - } - cb->buffer[cb->buf_tail] = value;// записываем значение в элемент массива в хвост - 14d8: 89 a1 ldd r24, Y+33 ; 0x21 - 14da: 90 e0 ldi r25, 0x00 ; 0 - 14dc: fe 01 movw r30, r28 - 14de: e8 0f add r30, r24 - 14e0: f9 1f adc r31, r25 - 14e2: 10 83 st Z, r17 - cb->buf_tail = (cb->buf_tail + 1) % BUFFER_SIZE;// присваивается cb->buf_tail, обновляется его значение на следующий индекс в буфере - 14e4: 01 96 adiw r24, 0x01 ; 1 - 14e6: 8f 71 andi r24, 0x1F ; 31 - 14e8: 90 78 andi r25, 0x80 ; 128 - 14ea: 99 23 and r25, r25 - 14ec: 24 f4 brge .+8 ; 0x14f6 - 14ee: 01 97 sbiw r24, 0x01 ; 1 - 14f0: 80 6e ori r24, 0xE0 ; 224 - 14f2: 9f 6f ori r25, 0xFF ; 255 - 14f4: 01 96 adiw r24, 0x01 ; 1 - 14f6: 89 a3 std Y+33, r24 ; 0x21 -} - 14f8: df 91 pop r29 - 14fa: cf 91 pop r28 - 14fc: 1f 91 pop r17 - 14fe: 08 95 ret - -00001500 : -// Чтение элемента -int read_buffer(struct circular_buffer* cb) { - 1500: fc 01 movw r30, r24 - cb->buf_head = 0; - cb->buf_tail = 0; -} -// Проверка, пустой ли буфер -int buffer_empty(const struct circular_buffer* cb) { - return cb->buf_head == cb->buf_tail; - 1502: 20 a1 ldd r18, Z+32 ; 0x20 - cb->buffer[cb->buf_tail] = value;// записываем значение в элемент массива в хвост - cb->buf_tail = (cb->buf_tail + 1) % BUFFER_SIZE;// присваивается cb->buf_tail, обновляется его значение на следующий индекс в буфере -} -// Чтение элемента -int read_buffer(struct circular_buffer* cb) { - if (buffer_empty(cb)) { // проверка на пустоту - 1504: 81 a1 ldd r24, Z+33 ; 0x21 - 1506: 28 17 cp r18, r24 - 1508: b1 f0 breq .+44 ; 0x1536 - return -1;// -1 как индикатор в случае ошибки - } - int value = cb->buffer[cb->buf_head]; // чтение по индексу головы - 150a: 30 e0 ldi r19, 0x00 ; 0 - 150c: df 01 movw r26, r30 - 150e: a2 0f add r26, r18 - 1510: b3 1f adc r27, r19 - 1512: 4c 91 ld r20, X - 1514: 50 e0 ldi r21, 0x00 ; 0 - cb->buf_head = (cb->buf_head + 1) % BUFFER_SIZE; // увеличиваем индекс на 1 - 1516: 2f 5f subi r18, 0xFF ; 255 - 1518: 3f 4f sbci r19, 0xFF ; 255 - 151a: 2f 71 andi r18, 0x1F ; 31 - 151c: 30 78 andi r19, 0x80 ; 128 - 151e: 33 23 and r19, r19 - 1520: 34 f4 brge .+12 ; 0x152e - 1522: 21 50 subi r18, 0x01 ; 1 - 1524: 31 09 sbc r19, r1 - 1526: 20 6e ori r18, 0xE0 ; 224 - 1528: 3f 6f ori r19, 0xFF ; 255 - 152a: 2f 5f subi r18, 0xFF ; 255 - 152c: 3f 4f sbci r19, 0xFF ; 255 - 152e: 20 a3 std Z+32, r18 ; 0x20 - return value; - 1530: 84 2f mov r24, r20 - 1532: 95 2f mov r25, r21 - 1534: 08 95 ret - cb->buf_tail = (cb->buf_tail + 1) % BUFFER_SIZE;// присваивается cb->buf_tail, обновляется его значение на следующий индекс в буфере -} -// Чтение элемента -int read_buffer(struct circular_buffer* cb) { - if (buffer_empty(cb)) { // проверка на пустоту - return -1;// -1 как индикатор в случае ошибки - 1536: 8f ef ldi r24, 0xFF ; 255 - 1538: 9f ef ldi r25, 0xFF ; 255 - } - int value = cb->buffer[cb->buf_head]; // чтение по индексу головы - cb->buf_head = (cb->buf_head + 1) % BUFFER_SIZE; // увеличиваем индекс на 1 - return value; -} - 153a: 08 95 ret - -0000153c : - -struct circular_buffer uartRxBuffer; -struct circular_buffer uartTxBuffer; - -void UART_init(void) { - UCSR0B = (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0) | (1< - UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); - 1542: 86 e0 ldi r24, 0x06 ; 6 - 1544: 80 93 c2 00 sts 0x00C2, r24 ; 0x8000c2 <__DATA_REGION_ORIGIN__+0x62> - UBRR0H = 0; - 1548: 10 92 c5 00 sts 0x00C5, r1 ; 0x8000c5 <__DATA_REGION_ORIGIN__+0x65> - UBRR0L = 103; - 154c: 87 e6 ldi r24, 0x67 ; 103 - 154e: 80 93 c4 00 sts 0x00C4, r24 ; 0x8000c4 <__DATA_REGION_ORIGIN__+0x64> - 1552: 08 95 ret - -00001554 : -} - -void UART_send(uint8_t* data, size_t length) { - 1554: 0f 93 push r16 - 1556: 1f 93 push r17 - 1558: cf 93 push r28 - 155a: df 93 push r29 - for (size_t i = 0; i < length; i++) { - 155c: 61 15 cp r22, r1 - 155e: 71 05 cpc r23, r1 - 1560: 99 f0 breq .+38 ; 0x1588 - 1562: 8c 01 movw r16, r24 - 1564: ec 01 movw r28, r24 - 1566: 06 0f add r16, r22 - 1568: 17 1f adc r17, r23 - if (!buffer_full(&uartTxBuffer)) { - 156a: 8e e6 ldi r24, 0x6E ; 110 - 156c: 93 e0 ldi r25, 0x03 ; 3 - 156e: 0e 94 49 0a call 0x1492 ; 0x1492 - 1572: 89 2b or r24, r25 - 1574: 49 f4 brne .+18 ; 0x1588 - write_buffer(&uartTxBuffer, data[i]); - 1576: 69 91 ld r22, Y+ - 1578: 70 e0 ldi r23, 0x00 ; 0 - 157a: 8e e6 ldi r24, 0x6E ; 110 - 157c: 93 e0 ldi r25, 0x03 ; 3 - 157e: 0e 94 63 0a call 0x14c6 ; 0x14c6 - UBRR0H = 0; - UBRR0L = 103; -} - -void UART_send(uint8_t* data, size_t length) { - for (size_t i = 0; i < length; i++) { - 1582: c0 17 cp r28, r16 - 1584: d1 07 cpc r29, r17 - 1586: 89 f7 brne .-30 ; 0x156a - write_buffer(&uartTxBuffer, data[i]); - } else { - break; // если буфер передачи заполнен, то отправка прерывается - } - } - UCSR0B |= (1 << TXCIE0); // включаем прерывание по завершении передачи - 1588: e1 ec ldi r30, 0xC1 ; 193 - 158a: f0 e0 ldi r31, 0x00 ; 0 - 158c: 80 81 ld r24, Z - 158e: 80 64 ori r24, 0x40 ; 64 - 1590: 80 83 st Z, r24 -} - 1592: df 91 pop r29 - 1594: cf 91 pop r28 - 1596: 1f 91 pop r17 - 1598: 0f 91 pop r16 - 159a: 08 95 ret - -0000159c : - -// Получение данных из буфера -int UART_receive(uint8_t* data, size_t length) { - 159c: 8f 92 push r8 - 159e: 9f 92 push r9 - 15a0: af 92 push r10 - 15a2: bf 92 push r11 - 15a4: cf 92 push r12 - 15a6: df 92 push r13 - 15a8: ef 92 push r14 - 15aa: ff 92 push r15 - 15ac: 0f 93 push r16 - 15ae: 1f 93 push r17 - 15b0: cf 93 push r28 - 15b2: df 93 push r29 - 15b4: 8b 01 movw r16, r22 - 15b6: ec 01 movw r28, r24 - char overflow = 0; // Флаг переполнения, который устанавливается, если превышен размер массива - uint32_t byteCount = 0; // Счетчик байтов, принятых из буфера приема - 15b8: c1 2c mov r12, r1 - 15ba: d1 2c mov r13, r1 - 15bc: 76 01 movw r14, r12 - // Пока буфер приема не пуст и не превышен лимит длины массива, - // функция продолжает читать байты из буфера и сохранять их в массив data. - while (!buffer_empty(&uartRxBuffer) && byteCount < length) { - 15be: 4b 01 movw r8, r22 - 15c0: a1 2c mov r10, r1 - 15c2: b1 2c mov r11, r1 - 15c4: 0a c0 rjmp .+20 ; 0x15da - int reader = read_buffer(&uartRxBuffer); // Прием и запись символа в переменную - 15c6: 8c e4 ldi r24, 0x4C ; 76 - 15c8: 93 e0 ldi r25, 0x03 ; 3 - 15ca: 0e 94 80 0a call 0x1500 ; 0x1500 - data[byteCount] = reader; // Запись в массив с индексом byteCount - 15ce: 89 93 st Y+, r24 - byteCount++; - 15d0: 8f ef ldi r24, 0xFF ; 255 - 15d2: c8 1a sub r12, r24 - 15d4: d8 0a sbc r13, r24 - 15d6: e8 0a sbc r14, r24 - 15d8: f8 0a sbc r15, r24 -int UART_receive(uint8_t* data, size_t length) { - char overflow = 0; // Флаг переполнения, который устанавливается, если превышен размер массива - uint32_t byteCount = 0; // Счетчик байтов, принятых из буфера приема - // Пока буфер приема не пуст и не превышен лимит длины массива, - // функция продолжает читать байты из буфера и сохранять их в массив data. - while (!buffer_empty(&uartRxBuffer) && byteCount < length) { - 15da: 8c e4 ldi r24, 0x4C ; 76 - 15dc: 93 e0 ldi r25, 0x03 ; 3 - 15de: 0e 94 3f 0a call 0x147e ; 0x147e - 15e2: 89 2b or r24, r25 - 15e4: 29 f4 brne .+10 ; 0x15f0 - 15e6: c8 14 cp r12, r8 - 15e8: d9 04 cpc r13, r9 - 15ea: ea 04 cpc r14, r10 - 15ec: fb 04 cpc r15, r11 - 15ee: 58 f3 brcs .-42 ; 0x15c6 - } - // Проверка переполнения - if (byteCount > length) { - overflow = 1; - } - return overflow ? -1 : byteCount; // Возвращает количество успешно принятых байт или -1 в случае переполнения - 15f0: 20 e0 ldi r18, 0x00 ; 0 - 15f2: 30 e0 ldi r19, 0x00 ; 0 - 15f4: 0c 15 cp r16, r12 - 15f6: 1d 05 cpc r17, r13 - 15f8: 2e 05 cpc r18, r14 - 15fa: 3f 05 cpc r19, r15 - 15fc: 10 f0 brcs .+4 ; 0x1602 - 15fe: c6 01 movw r24, r12 - 1600: 02 c0 rjmp .+4 ; 0x1606 - 1602: 8f ef ldi r24, 0xFF ; 255 - 1604: 9f ef ldi r25, 0xFF ; 255 -} - 1606: df 91 pop r29 - 1608: cf 91 pop r28 - 160a: 1f 91 pop r17 - 160c: 0f 91 pop r16 - 160e: ff 90 pop r15 - 1610: ef 90 pop r14 - 1612: df 90 pop r13 - 1614: cf 90 pop r12 - 1616: bf 90 pop r11 - 1618: af 90 pop r10 - 161a: 9f 90 pop r9 - 161c: 8f 90 pop r8 - 161e: 08 95 ret - -00001620 <__vector_18>: - -// прерывание по завершению приема -ISR(USART_RX_vect) { - 1620: 1f 92 push r1 - 1622: 0f 92 push r0 - 1624: 0f b6 in r0, 0x3f ; 63 - 1626: 0f 92 push r0 - 1628: 11 24 eor r1, r1 - 162a: 2f 93 push r18 - 162c: 3f 93 push r19 - 162e: 4f 93 push r20 - 1630: 5f 93 push r21 - 1632: 6f 93 push r22 - 1634: 7f 93 push r23 - 1636: 8f 93 push r24 - 1638: 9f 93 push r25 - 163a: af 93 push r26 - 163c: bf 93 push r27 - 163e: cf 93 push r28 - 1640: ef 93 push r30 - 1642: ff 93 push r31 - uint8_t data = UDR0; // читаем из регистра UDR0 - 1644: c0 91 c6 00 lds r28, 0x00C6 ; 0x8000c6 <__DATA_REGION_ORIGIN__+0x66> - if (!buffer_full(&uartRxBuffer)) { - 1648: 8c e4 ldi r24, 0x4C ; 76 - 164a: 93 e0 ldi r25, 0x03 ; 3 - 164c: 0e 94 49 0a call 0x1492 ; 0x1492 - 1650: 89 2b or r24, r25 - 1652: 31 f4 brne .+12 ; 0x1660 <__vector_18+0x40> - write_buffer(&uartRxBuffer, data);// записываем символ в буфер приема - 1654: 6c 2f mov r22, r28 - 1656: 70 e0 ldi r23, 0x00 ; 0 - 1658: 8c e4 ldi r24, 0x4C ; 76 - 165a: 93 e0 ldi r25, 0x03 ; 3 - 165c: 0e 94 63 0a call 0x14c6 ; 0x14c6 - } -} - 1660: ff 91 pop r31 - 1662: ef 91 pop r30 - 1664: cf 91 pop r28 - 1666: bf 91 pop r27 - 1668: af 91 pop r26 - 166a: 9f 91 pop r25 - 166c: 8f 91 pop r24 - 166e: 7f 91 pop r23 - 1670: 6f 91 pop r22 - 1672: 5f 91 pop r21 - 1674: 4f 91 pop r20 - 1676: 3f 91 pop r19 - 1678: 2f 91 pop r18 - 167a: 0f 90 pop r0 - 167c: 0f be out 0x3f, r0 ; 63 - 167e: 0f 90 pop r0 - 1680: 1f 90 pop r1 - 1682: 18 95 reti - -00001684 <__vector_20>: - -ISR(USART_TX_vect) { - 1684: 1f 92 push r1 - 1686: 0f 92 push r0 - 1688: 0f b6 in r0, 0x3f ; 63 - 168a: 0f 92 push r0 - 168c: 11 24 eor r1, r1 - 168e: 2f 93 push r18 - 1690: 3f 93 push r19 - 1692: 4f 93 push r20 - 1694: 5f 93 push r21 - 1696: 6f 93 push r22 - 1698: 7f 93 push r23 - 169a: 8f 93 push r24 - 169c: 9f 93 push r25 - 169e: af 93 push r26 - 16a0: bf 93 push r27 - 16a2: ef 93 push r30 - 16a4: ff 93 push r31 - if (!buffer_empty(&uartTxBuffer)) { - 16a6: 8e e6 ldi r24, 0x6E ; 110 - 16a8: 93 e0 ldi r25, 0x03 ; 3 - 16aa: 0e 94 3f 0a call 0x147e ; 0x147e - 16ae: 89 2b or r24, r25 - 16b0: 39 f4 brne .+14 ; 0x16c0 <__vector_20+0x3c> - UDR0 = read_buffer(&uartTxBuffer); - 16b2: 8e e6 ldi r24, 0x6E ; 110 - 16b4: 93 e0 ldi r25, 0x03 ; 3 - 16b6: 0e 94 80 0a call 0x1500 ; 0x1500 - 16ba: 80 93 c6 00 sts 0x00C6, r24 ; 0x8000c6 <__DATA_REGION_ORIGIN__+0x66> - 16be: 05 c0 rjmp .+10 ; 0x16ca <__vector_20+0x46> - } else { - UCSR0B &= ~(1 << TXCIE0); // отключаем прерывание, когда все данные отправлены - 16c0: e1 ec ldi r30, 0xC1 ; 193 - 16c2: f0 e0 ldi r31, 0x00 ; 0 - 16c4: 80 81 ld r24, Z - 16c6: 8f 7b andi r24, 0xBF ; 191 - 16c8: 80 83 st Z, r24 - } - 16ca: ff 91 pop r31 - 16cc: ef 91 pop r30 - 16ce: bf 91 pop r27 - 16d0: af 91 pop r26 - 16d2: 9f 91 pop r25 - 16d4: 8f 91 pop r24 - 16d6: 7f 91 pop r23 - 16d8: 6f 91 pop r22 - 16da: 5f 91 pop r21 - 16dc: 4f 91 pop r20 - 16de: 3f 91 pop r19 - 16e0: 2f 91 pop r18 - 16e2: 0f 90 pop r0 - 16e4: 0f be out 0x3f, r0 ; 63 - 16e6: 0f 90 pop r0 - 16e8: 1f 90 pop r1 - 16ea: 18 95 reti - -000016ec <__udivmodhi4>: - 16ec: aa 1b sub r26, r26 - 16ee: bb 1b sub r27, r27 - 16f0: 51 e1 ldi r21, 0x11 ; 17 - 16f2: 07 c0 rjmp .+14 ; 0x1702 <__udivmodhi4_ep> - -000016f4 <__udivmodhi4_loop>: - 16f4: aa 1f adc r26, r26 - 16f6: bb 1f adc r27, r27 - 16f8: a6 17 cp r26, r22 - 16fa: b7 07 cpc r27, r23 - 16fc: 10 f0 brcs .+4 ; 0x1702 <__udivmodhi4_ep> - 16fe: a6 1b sub r26, r22 - 1700: b7 0b sbc r27, r23 - -00001702 <__udivmodhi4_ep>: - 1702: 88 1f adc r24, r24 - 1704: 99 1f adc r25, r25 - 1706: 5a 95 dec r21 - 1708: a9 f7 brne .-22 ; 0x16f4 <__udivmodhi4_loop> - 170a: 80 95 com r24 - 170c: 90 95 com r25 - 170e: bc 01 movw r22, r24 - 1710: cd 01 movw r24, r26 - 1712: 08 95 ret - -00001714 : - 1714: fb 01 movw r30, r22 - 1716: dc 01 movw r26, r24 - 1718: 41 50 subi r20, 0x01 ; 1 - 171a: 50 40 sbci r21, 0x00 ; 0 - 171c: 48 f0 brcs .+18 ; 0x1730 - 171e: 01 90 ld r0, Z+ - 1720: 0d 92 st X+, r0 - 1722: 00 20 and r0, r0 - 1724: c9 f7 brne .-14 ; 0x1718 - 1726: 01 c0 rjmp .+2 ; 0x172a - 1728: 1d 92 st X+, r1 - 172a: 41 50 subi r20, 0x01 ; 1 - 172c: 50 40 sbci r21, 0x00 ; 0 - 172e: e0 f7 brcc .-8 ; 0x1728 - 1730: 08 95 ret - -00001732 : - 1732: a0 e0 ldi r26, 0x00 ; 0 - 1734: b0 e0 ldi r27, 0x00 ; 0 - 1736: ef e9 ldi r30, 0x9F ; 159 - 1738: fb e0 ldi r31, 0x0B ; 11 - 173a: 0c 94 80 0e jmp 0x1d00 ; 0x1d00 <__prologue_saves__+0x20> - 173e: ae 01 movw r20, r28 - 1740: 4b 5f subi r20, 0xFB ; 251 - 1742: 5f 4f sbci r21, 0xFF ; 255 - 1744: fa 01 movw r30, r20 - 1746: 61 91 ld r22, Z+ - 1748: 71 91 ld r23, Z+ - 174a: af 01 movw r20, r30 - 174c: 80 91 92 03 lds r24, 0x0392 ; 0x800392 <__iob+0x2> - 1750: 90 91 93 03 lds r25, 0x0393 ; 0x800393 <__iob+0x3> - 1754: 0e 94 df 0b call 0x17be ; 0x17be - 1758: e2 e0 ldi r30, 0x02 ; 2 - 175a: 0c 94 9c 0e jmp 0x1d38 ; 0x1d38 <__epilogue_restores__+0x20> - -0000175e : - 175e: ae e0 ldi r26, 0x0E ; 14 - 1760: b0 e0 ldi r27, 0x00 ; 0 - 1762: e5 eb ldi r30, 0xB5 ; 181 - 1764: fb e0 ldi r31, 0x0B ; 11 - 1766: 0c 94 7e 0e jmp 0x1cfc ; 0x1cfc <__prologue_saves__+0x1c> - 176a: 0d 89 ldd r16, Y+21 ; 0x15 - 176c: 1e 89 ldd r17, Y+22 ; 0x16 - 176e: 8f 89 ldd r24, Y+23 ; 0x17 - 1770: 98 8d ldd r25, Y+24 ; 0x18 - 1772: 26 e0 ldi r18, 0x06 ; 6 - 1774: 2c 83 std Y+4, r18 ; 0x04 - 1776: 1a 83 std Y+2, r17 ; 0x02 - 1778: 09 83 std Y+1, r16 ; 0x01 - 177a: 97 ff sbrs r25, 7 - 177c: 02 c0 rjmp .+4 ; 0x1782 - 177e: 80 e0 ldi r24, 0x00 ; 0 - 1780: 90 e8 ldi r25, 0x80 ; 128 - 1782: 01 97 sbiw r24, 0x01 ; 1 - 1784: 9e 83 std Y+6, r25 ; 0x06 - 1786: 8d 83 std Y+5, r24 ; 0x05 - 1788: ae 01 movw r20, r28 - 178a: 45 5e subi r20, 0xE5 ; 229 - 178c: 5f 4f sbci r21, 0xFF ; 255 - 178e: 69 8d ldd r22, Y+25 ; 0x19 - 1790: 7a 8d ldd r23, Y+26 ; 0x1a - 1792: ce 01 movw r24, r28 - 1794: 01 96 adiw r24, 0x01 ; 1 - 1796: 0e 94 df 0b call 0x17be ; 0x17be - 179a: 4d 81 ldd r20, Y+5 ; 0x05 - 179c: 5e 81 ldd r21, Y+6 ; 0x06 - 179e: 57 fd sbrc r21, 7 - 17a0: 0a c0 rjmp .+20 ; 0x17b6 - 17a2: 2f 81 ldd r18, Y+7 ; 0x07 - 17a4: 38 85 ldd r19, Y+8 ; 0x08 - 17a6: 42 17 cp r20, r18 - 17a8: 53 07 cpc r21, r19 - 17aa: 0c f4 brge .+2 ; 0x17ae - 17ac: 9a 01 movw r18, r20 - 17ae: f8 01 movw r30, r16 - 17b0: e2 0f add r30, r18 - 17b2: f3 1f adc r31, r19 - 17b4: 10 82 st Z, r1 - 17b6: 2e 96 adiw r28, 0x0e ; 14 - 17b8: e4 e0 ldi r30, 0x04 ; 4 - 17ba: 0c 94 9a 0e jmp 0x1d34 ; 0x1d34 <__epilogue_restores__+0x1c> - -000017be : - 17be: ab e0 ldi r26, 0x0B ; 11 - 17c0: b0 e0 ldi r27, 0x00 ; 0 - 17c2: e5 ee ldi r30, 0xE5 ; 229 - 17c4: fb e0 ldi r31, 0x0B ; 11 - 17c6: 0c 94 70 0e jmp 0x1ce0 ; 0x1ce0 <__prologue_saves__> - 17ca: 6c 01 movw r12, r24 - 17cc: 7b 01 movw r14, r22 - 17ce: 8a 01 movw r16, r20 - 17d0: fc 01 movw r30, r24 - 17d2: 17 82 std Z+7, r1 ; 0x07 - 17d4: 16 82 std Z+6, r1 ; 0x06 - 17d6: 83 81 ldd r24, Z+3 ; 0x03 - 17d8: 81 ff sbrs r24, 1 - 17da: cc c1 rjmp .+920 ; 0x1b74 - 17dc: ce 01 movw r24, r28 - 17de: 01 96 adiw r24, 0x01 ; 1 - 17e0: 3c 01 movw r6, r24 - 17e2: f6 01 movw r30, r12 - 17e4: 93 81 ldd r25, Z+3 ; 0x03 - 17e6: f7 01 movw r30, r14 - 17e8: 93 fd sbrc r25, 3 - 17ea: 85 91 lpm r24, Z+ - 17ec: 93 ff sbrs r25, 3 - 17ee: 81 91 ld r24, Z+ - 17f0: 7f 01 movw r14, r30 - 17f2: 88 23 and r24, r24 - 17f4: 09 f4 brne .+2 ; 0x17f8 - 17f6: ba c1 rjmp .+884 ; 0x1b6c - 17f8: 85 32 cpi r24, 0x25 ; 37 - 17fa: 39 f4 brne .+14 ; 0x180a - 17fc: 93 fd sbrc r25, 3 - 17fe: 85 91 lpm r24, Z+ - 1800: 93 ff sbrs r25, 3 - 1802: 81 91 ld r24, Z+ - 1804: 7f 01 movw r14, r30 - 1806: 85 32 cpi r24, 0x25 ; 37 - 1808: 29 f4 brne .+10 ; 0x1814 - 180a: b6 01 movw r22, r12 - 180c: 90 e0 ldi r25, 0x00 ; 0 - 180e: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1812: e7 cf rjmp .-50 ; 0x17e2 - 1814: 91 2c mov r9, r1 - 1816: 21 2c mov r2, r1 - 1818: 31 2c mov r3, r1 - 181a: ff e1 ldi r31, 0x1F ; 31 - 181c: f3 15 cp r31, r3 - 181e: d8 f0 brcs .+54 ; 0x1856 - 1820: 8b 32 cpi r24, 0x2B ; 43 - 1822: 79 f0 breq .+30 ; 0x1842 - 1824: 38 f4 brcc .+14 ; 0x1834 - 1826: 80 32 cpi r24, 0x20 ; 32 - 1828: 79 f0 breq .+30 ; 0x1848 - 182a: 83 32 cpi r24, 0x23 ; 35 - 182c: a1 f4 brne .+40 ; 0x1856 - 182e: 23 2d mov r18, r3 - 1830: 20 61 ori r18, 0x10 ; 16 - 1832: 1d c0 rjmp .+58 ; 0x186e - 1834: 8d 32 cpi r24, 0x2D ; 45 - 1836: 61 f0 breq .+24 ; 0x1850 - 1838: 80 33 cpi r24, 0x30 ; 48 - 183a: 69 f4 brne .+26 ; 0x1856 - 183c: 23 2d mov r18, r3 - 183e: 21 60 ori r18, 0x01 ; 1 - 1840: 16 c0 rjmp .+44 ; 0x186e - 1842: 83 2d mov r24, r3 - 1844: 82 60 ori r24, 0x02 ; 2 - 1846: 38 2e mov r3, r24 - 1848: e3 2d mov r30, r3 - 184a: e4 60 ori r30, 0x04 ; 4 - 184c: 3e 2e mov r3, r30 - 184e: 2a c0 rjmp .+84 ; 0x18a4 - 1850: f3 2d mov r31, r3 - 1852: f8 60 ori r31, 0x08 ; 8 - 1854: 1d c0 rjmp .+58 ; 0x1890 - 1856: 37 fc sbrc r3, 7 - 1858: 2d c0 rjmp .+90 ; 0x18b4 - 185a: 20 ed ldi r18, 0xD0 ; 208 - 185c: 28 0f add r18, r24 - 185e: 2a 30 cpi r18, 0x0A ; 10 - 1860: 40 f0 brcs .+16 ; 0x1872 - 1862: 8e 32 cpi r24, 0x2E ; 46 - 1864: b9 f4 brne .+46 ; 0x1894 - 1866: 36 fc sbrc r3, 6 - 1868: 81 c1 rjmp .+770 ; 0x1b6c - 186a: 23 2d mov r18, r3 - 186c: 20 64 ori r18, 0x40 ; 64 - 186e: 32 2e mov r3, r18 - 1870: 19 c0 rjmp .+50 ; 0x18a4 - 1872: 36 fe sbrs r3, 6 - 1874: 06 c0 rjmp .+12 ; 0x1882 - 1876: 8a e0 ldi r24, 0x0A ; 10 - 1878: 98 9e mul r9, r24 - 187a: 20 0d add r18, r0 - 187c: 11 24 eor r1, r1 - 187e: 92 2e mov r9, r18 - 1880: 11 c0 rjmp .+34 ; 0x18a4 - 1882: ea e0 ldi r30, 0x0A ; 10 - 1884: 2e 9e mul r2, r30 - 1886: 20 0d add r18, r0 - 1888: 11 24 eor r1, r1 - 188a: 22 2e mov r2, r18 - 188c: f3 2d mov r31, r3 - 188e: f0 62 ori r31, 0x20 ; 32 - 1890: 3f 2e mov r3, r31 - 1892: 08 c0 rjmp .+16 ; 0x18a4 - 1894: 8c 36 cpi r24, 0x6C ; 108 - 1896: 21 f4 brne .+8 ; 0x18a0 - 1898: 83 2d mov r24, r3 - 189a: 80 68 ori r24, 0x80 ; 128 - 189c: 38 2e mov r3, r24 - 189e: 02 c0 rjmp .+4 ; 0x18a4 - 18a0: 88 36 cpi r24, 0x68 ; 104 - 18a2: 41 f4 brne .+16 ; 0x18b4 - 18a4: f7 01 movw r30, r14 - 18a6: 93 fd sbrc r25, 3 - 18a8: 85 91 lpm r24, Z+ - 18aa: 93 ff sbrs r25, 3 - 18ac: 81 91 ld r24, Z+ - 18ae: 7f 01 movw r14, r30 - 18b0: 81 11 cpse r24, r1 - 18b2: b3 cf rjmp .-154 ; 0x181a - 18b4: 98 2f mov r25, r24 - 18b6: 9f 7d andi r25, 0xDF ; 223 - 18b8: 95 54 subi r25, 0x45 ; 69 - 18ba: 93 30 cpi r25, 0x03 ; 3 - 18bc: 28 f4 brcc .+10 ; 0x18c8 - 18be: 0c 5f subi r16, 0xFC ; 252 - 18c0: 1f 4f sbci r17, 0xFF ; 255 - 18c2: 9f e3 ldi r25, 0x3F ; 63 - 18c4: 99 83 std Y+1, r25 ; 0x01 - 18c6: 0d c0 rjmp .+26 ; 0x18e2 - 18c8: 83 36 cpi r24, 0x63 ; 99 - 18ca: 31 f0 breq .+12 ; 0x18d8 - 18cc: 83 37 cpi r24, 0x73 ; 115 - 18ce: 71 f0 breq .+28 ; 0x18ec - 18d0: 83 35 cpi r24, 0x53 ; 83 - 18d2: 09 f0 breq .+2 ; 0x18d6 - 18d4: 59 c0 rjmp .+178 ; 0x1988 - 18d6: 21 c0 rjmp .+66 ; 0x191a - 18d8: f8 01 movw r30, r16 - 18da: 80 81 ld r24, Z - 18dc: 89 83 std Y+1, r24 ; 0x01 - 18de: 0e 5f subi r16, 0xFE ; 254 - 18e0: 1f 4f sbci r17, 0xFF ; 255 - 18e2: 88 24 eor r8, r8 - 18e4: 83 94 inc r8 - 18e6: 91 2c mov r9, r1 - 18e8: 53 01 movw r10, r6 - 18ea: 13 c0 rjmp .+38 ; 0x1912 - 18ec: 28 01 movw r4, r16 - 18ee: f2 e0 ldi r31, 0x02 ; 2 - 18f0: 4f 0e add r4, r31 - 18f2: 51 1c adc r5, r1 - 18f4: f8 01 movw r30, r16 - 18f6: a0 80 ld r10, Z - 18f8: b1 80 ldd r11, Z+1 ; 0x01 - 18fa: 36 fe sbrs r3, 6 - 18fc: 03 c0 rjmp .+6 ; 0x1904 - 18fe: 69 2d mov r22, r9 - 1900: 70 e0 ldi r23, 0x00 ; 0 - 1902: 02 c0 rjmp .+4 ; 0x1908 - 1904: 6f ef ldi r22, 0xFF ; 255 - 1906: 7f ef ldi r23, 0xFF ; 255 - 1908: c5 01 movw r24, r10 - 190a: 0e 94 cb 0d call 0x1b96 ; 0x1b96 - 190e: 4c 01 movw r8, r24 - 1910: 82 01 movw r16, r4 - 1912: f3 2d mov r31, r3 - 1914: ff 77 andi r31, 0x7F ; 127 - 1916: 3f 2e mov r3, r31 - 1918: 16 c0 rjmp .+44 ; 0x1946 - 191a: 28 01 movw r4, r16 - 191c: 22 e0 ldi r18, 0x02 ; 2 - 191e: 42 0e add r4, r18 - 1920: 51 1c adc r5, r1 - 1922: f8 01 movw r30, r16 - 1924: a0 80 ld r10, Z - 1926: b1 80 ldd r11, Z+1 ; 0x01 - 1928: 36 fe sbrs r3, 6 - 192a: 03 c0 rjmp .+6 ; 0x1932 - 192c: 69 2d mov r22, r9 - 192e: 70 e0 ldi r23, 0x00 ; 0 - 1930: 02 c0 rjmp .+4 ; 0x1936 - 1932: 6f ef ldi r22, 0xFF ; 255 - 1934: 7f ef ldi r23, 0xFF ; 255 - 1936: c5 01 movw r24, r10 - 1938: 0e 94 c0 0d call 0x1b80 ; 0x1b80 - 193c: 4c 01 movw r8, r24 - 193e: f3 2d mov r31, r3 - 1940: f0 68 ori r31, 0x80 ; 128 - 1942: 3f 2e mov r3, r31 - 1944: 82 01 movw r16, r4 - 1946: 33 fc sbrc r3, 3 - 1948: 1b c0 rjmp .+54 ; 0x1980 - 194a: 82 2d mov r24, r2 - 194c: 90 e0 ldi r25, 0x00 ; 0 - 194e: 88 16 cp r8, r24 - 1950: 99 06 cpc r9, r25 - 1952: b0 f4 brcc .+44 ; 0x1980 - 1954: b6 01 movw r22, r12 - 1956: 80 e2 ldi r24, 0x20 ; 32 - 1958: 90 e0 ldi r25, 0x00 ; 0 - 195a: 0e 94 d6 0d call 0x1bac ; 0x1bac - 195e: 2a 94 dec r2 - 1960: f4 cf rjmp .-24 ; 0x194a - 1962: f5 01 movw r30, r10 - 1964: 37 fc sbrc r3, 7 - 1966: 85 91 lpm r24, Z+ - 1968: 37 fe sbrs r3, 7 - 196a: 81 91 ld r24, Z+ - 196c: 5f 01 movw r10, r30 - 196e: b6 01 movw r22, r12 - 1970: 90 e0 ldi r25, 0x00 ; 0 - 1972: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1976: 21 10 cpse r2, r1 - 1978: 2a 94 dec r2 - 197a: 21 e0 ldi r18, 0x01 ; 1 - 197c: 82 1a sub r8, r18 - 197e: 91 08 sbc r9, r1 - 1980: 81 14 cp r8, r1 - 1982: 91 04 cpc r9, r1 - 1984: 71 f7 brne .-36 ; 0x1962 - 1986: e8 c0 rjmp .+464 ; 0x1b58 - 1988: 84 36 cpi r24, 0x64 ; 100 - 198a: 11 f0 breq .+4 ; 0x1990 - 198c: 89 36 cpi r24, 0x69 ; 105 - 198e: 41 f5 brne .+80 ; 0x19e0 - 1990: f8 01 movw r30, r16 - 1992: 37 fe sbrs r3, 7 - 1994: 07 c0 rjmp .+14 ; 0x19a4 - 1996: 60 81 ld r22, Z - 1998: 71 81 ldd r23, Z+1 ; 0x01 - 199a: 82 81 ldd r24, Z+2 ; 0x02 - 199c: 93 81 ldd r25, Z+3 ; 0x03 - 199e: 0c 5f subi r16, 0xFC ; 252 - 19a0: 1f 4f sbci r17, 0xFF ; 255 - 19a2: 08 c0 rjmp .+16 ; 0x19b4 - 19a4: 60 81 ld r22, Z - 19a6: 71 81 ldd r23, Z+1 ; 0x01 - 19a8: 07 2e mov r0, r23 - 19aa: 00 0c add r0, r0 - 19ac: 88 0b sbc r24, r24 - 19ae: 99 0b sbc r25, r25 - 19b0: 0e 5f subi r16, 0xFE ; 254 - 19b2: 1f 4f sbci r17, 0xFF ; 255 - 19b4: f3 2d mov r31, r3 - 19b6: ff 76 andi r31, 0x6F ; 111 - 19b8: 3f 2e mov r3, r31 - 19ba: 97 ff sbrs r25, 7 - 19bc: 09 c0 rjmp .+18 ; 0x19d0 - 19be: 90 95 com r25 - 19c0: 80 95 com r24 - 19c2: 70 95 com r23 - 19c4: 61 95 neg r22 - 19c6: 7f 4f sbci r23, 0xFF ; 255 - 19c8: 8f 4f sbci r24, 0xFF ; 255 - 19ca: 9f 4f sbci r25, 0xFF ; 255 - 19cc: f0 68 ori r31, 0x80 ; 128 - 19ce: 3f 2e mov r3, r31 - 19d0: 2a e0 ldi r18, 0x0A ; 10 - 19d2: 30 e0 ldi r19, 0x00 ; 0 - 19d4: a3 01 movw r20, r6 - 19d6: 0e 94 12 0e call 0x1c24 ; 0x1c24 <__ultoa_invert> - 19da: 88 2e mov r8, r24 - 19dc: 86 18 sub r8, r6 - 19de: 45 c0 rjmp .+138 ; 0x1a6a - 19e0: 85 37 cpi r24, 0x75 ; 117 - 19e2: 31 f4 brne .+12 ; 0x19f0 - 19e4: 23 2d mov r18, r3 - 19e6: 2f 7e andi r18, 0xEF ; 239 - 19e8: b2 2e mov r11, r18 - 19ea: 2a e0 ldi r18, 0x0A ; 10 - 19ec: 30 e0 ldi r19, 0x00 ; 0 - 19ee: 25 c0 rjmp .+74 ; 0x1a3a - 19f0: 93 2d mov r25, r3 - 19f2: 99 7f andi r25, 0xF9 ; 249 - 19f4: b9 2e mov r11, r25 - 19f6: 8f 36 cpi r24, 0x6F ; 111 - 19f8: c1 f0 breq .+48 ; 0x1a2a - 19fa: 18 f4 brcc .+6 ; 0x1a02 - 19fc: 88 35 cpi r24, 0x58 ; 88 - 19fe: 79 f0 breq .+30 ; 0x1a1e - 1a00: b5 c0 rjmp .+362 ; 0x1b6c - 1a02: 80 37 cpi r24, 0x70 ; 112 - 1a04: 19 f0 breq .+6 ; 0x1a0c - 1a06: 88 37 cpi r24, 0x78 ; 120 - 1a08: 21 f0 breq .+8 ; 0x1a12 - 1a0a: b0 c0 rjmp .+352 ; 0x1b6c - 1a0c: e9 2f mov r30, r25 - 1a0e: e0 61 ori r30, 0x10 ; 16 - 1a10: be 2e mov r11, r30 - 1a12: b4 fe sbrs r11, 4 - 1a14: 0d c0 rjmp .+26 ; 0x1a30 - 1a16: fb 2d mov r31, r11 - 1a18: f4 60 ori r31, 0x04 ; 4 - 1a1a: bf 2e mov r11, r31 - 1a1c: 09 c0 rjmp .+18 ; 0x1a30 - 1a1e: 34 fe sbrs r3, 4 - 1a20: 0a c0 rjmp .+20 ; 0x1a36 - 1a22: 29 2f mov r18, r25 - 1a24: 26 60 ori r18, 0x06 ; 6 - 1a26: b2 2e mov r11, r18 - 1a28: 06 c0 rjmp .+12 ; 0x1a36 - 1a2a: 28 e0 ldi r18, 0x08 ; 8 - 1a2c: 30 e0 ldi r19, 0x00 ; 0 - 1a2e: 05 c0 rjmp .+10 ; 0x1a3a - 1a30: 20 e1 ldi r18, 0x10 ; 16 - 1a32: 30 e0 ldi r19, 0x00 ; 0 - 1a34: 02 c0 rjmp .+4 ; 0x1a3a - 1a36: 20 e1 ldi r18, 0x10 ; 16 - 1a38: 32 e0 ldi r19, 0x02 ; 2 - 1a3a: f8 01 movw r30, r16 - 1a3c: b7 fe sbrs r11, 7 - 1a3e: 07 c0 rjmp .+14 ; 0x1a4e - 1a40: 60 81 ld r22, Z - 1a42: 71 81 ldd r23, Z+1 ; 0x01 - 1a44: 82 81 ldd r24, Z+2 ; 0x02 - 1a46: 93 81 ldd r25, Z+3 ; 0x03 - 1a48: 0c 5f subi r16, 0xFC ; 252 - 1a4a: 1f 4f sbci r17, 0xFF ; 255 - 1a4c: 06 c0 rjmp .+12 ; 0x1a5a - 1a4e: 60 81 ld r22, Z - 1a50: 71 81 ldd r23, Z+1 ; 0x01 - 1a52: 80 e0 ldi r24, 0x00 ; 0 - 1a54: 90 e0 ldi r25, 0x00 ; 0 - 1a56: 0e 5f subi r16, 0xFE ; 254 - 1a58: 1f 4f sbci r17, 0xFF ; 255 - 1a5a: a3 01 movw r20, r6 - 1a5c: 0e 94 12 0e call 0x1c24 ; 0x1c24 <__ultoa_invert> - 1a60: 88 2e mov r8, r24 - 1a62: 86 18 sub r8, r6 - 1a64: fb 2d mov r31, r11 - 1a66: ff 77 andi r31, 0x7F ; 127 - 1a68: 3f 2e mov r3, r31 - 1a6a: 36 fe sbrs r3, 6 - 1a6c: 0d c0 rjmp .+26 ; 0x1a88 - 1a6e: 23 2d mov r18, r3 - 1a70: 2e 7f andi r18, 0xFE ; 254 - 1a72: a2 2e mov r10, r18 - 1a74: 89 14 cp r8, r9 - 1a76: 58 f4 brcc .+22 ; 0x1a8e - 1a78: 34 fe sbrs r3, 4 - 1a7a: 0b c0 rjmp .+22 ; 0x1a92 - 1a7c: 32 fc sbrc r3, 2 - 1a7e: 09 c0 rjmp .+18 ; 0x1a92 - 1a80: 83 2d mov r24, r3 - 1a82: 8e 7e andi r24, 0xEE ; 238 - 1a84: a8 2e mov r10, r24 - 1a86: 05 c0 rjmp .+10 ; 0x1a92 - 1a88: b8 2c mov r11, r8 - 1a8a: a3 2c mov r10, r3 - 1a8c: 03 c0 rjmp .+6 ; 0x1a94 - 1a8e: b8 2c mov r11, r8 - 1a90: 01 c0 rjmp .+2 ; 0x1a94 - 1a92: b9 2c mov r11, r9 - 1a94: a4 fe sbrs r10, 4 - 1a96: 0f c0 rjmp .+30 ; 0x1ab6 - 1a98: fe 01 movw r30, r28 - 1a9a: e8 0d add r30, r8 - 1a9c: f1 1d adc r31, r1 - 1a9e: 80 81 ld r24, Z - 1aa0: 80 33 cpi r24, 0x30 ; 48 - 1aa2: 21 f4 brne .+8 ; 0x1aac - 1aa4: 9a 2d mov r25, r10 - 1aa6: 99 7e andi r25, 0xE9 ; 233 - 1aa8: a9 2e mov r10, r25 - 1aaa: 09 c0 rjmp .+18 ; 0x1abe - 1aac: a2 fe sbrs r10, 2 - 1aae: 06 c0 rjmp .+12 ; 0x1abc - 1ab0: b3 94 inc r11 - 1ab2: b3 94 inc r11 - 1ab4: 04 c0 rjmp .+8 ; 0x1abe - 1ab6: 8a 2d mov r24, r10 - 1ab8: 86 78 andi r24, 0x86 ; 134 - 1aba: 09 f0 breq .+2 ; 0x1abe - 1abc: b3 94 inc r11 - 1abe: a3 fc sbrc r10, 3 - 1ac0: 11 c0 rjmp .+34 ; 0x1ae4 - 1ac2: a0 fe sbrs r10, 0 - 1ac4: 06 c0 rjmp .+12 ; 0x1ad2 - 1ac6: b2 14 cp r11, r2 - 1ac8: 88 f4 brcc .+34 ; 0x1aec - 1aca: 28 0c add r2, r8 - 1acc: 92 2c mov r9, r2 - 1ace: 9b 18 sub r9, r11 - 1ad0: 0e c0 rjmp .+28 ; 0x1aee - 1ad2: b2 14 cp r11, r2 - 1ad4: 60 f4 brcc .+24 ; 0x1aee - 1ad6: b6 01 movw r22, r12 - 1ad8: 80 e2 ldi r24, 0x20 ; 32 - 1ada: 90 e0 ldi r25, 0x00 ; 0 - 1adc: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1ae0: b3 94 inc r11 - 1ae2: f7 cf rjmp .-18 ; 0x1ad2 - 1ae4: b2 14 cp r11, r2 - 1ae6: 18 f4 brcc .+6 ; 0x1aee - 1ae8: 2b 18 sub r2, r11 - 1aea: 02 c0 rjmp .+4 ; 0x1af0 - 1aec: 98 2c mov r9, r8 - 1aee: 21 2c mov r2, r1 - 1af0: a4 fe sbrs r10, 4 - 1af2: 10 c0 rjmp .+32 ; 0x1b14 - 1af4: b6 01 movw r22, r12 - 1af6: 80 e3 ldi r24, 0x30 ; 48 - 1af8: 90 e0 ldi r25, 0x00 ; 0 - 1afa: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1afe: a2 fe sbrs r10, 2 - 1b00: 17 c0 rjmp .+46 ; 0x1b30 - 1b02: a1 fc sbrc r10, 1 - 1b04: 03 c0 rjmp .+6 ; 0x1b0c - 1b06: 88 e7 ldi r24, 0x78 ; 120 - 1b08: 90 e0 ldi r25, 0x00 ; 0 - 1b0a: 02 c0 rjmp .+4 ; 0x1b10 - 1b0c: 88 e5 ldi r24, 0x58 ; 88 - 1b0e: 90 e0 ldi r25, 0x00 ; 0 - 1b10: b6 01 movw r22, r12 - 1b12: 0c c0 rjmp .+24 ; 0x1b2c - 1b14: 8a 2d mov r24, r10 - 1b16: 86 78 andi r24, 0x86 ; 134 - 1b18: 59 f0 breq .+22 ; 0x1b30 - 1b1a: a1 fe sbrs r10, 1 - 1b1c: 02 c0 rjmp .+4 ; 0x1b22 - 1b1e: 8b e2 ldi r24, 0x2B ; 43 - 1b20: 01 c0 rjmp .+2 ; 0x1b24 - 1b22: 80 e2 ldi r24, 0x20 ; 32 - 1b24: a7 fc sbrc r10, 7 - 1b26: 8d e2 ldi r24, 0x2D ; 45 - 1b28: b6 01 movw r22, r12 - 1b2a: 90 e0 ldi r25, 0x00 ; 0 - 1b2c: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1b30: 89 14 cp r8, r9 - 1b32: 38 f4 brcc .+14 ; 0x1b42 - 1b34: b6 01 movw r22, r12 - 1b36: 80 e3 ldi r24, 0x30 ; 48 - 1b38: 90 e0 ldi r25, 0x00 ; 0 - 1b3a: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1b3e: 9a 94 dec r9 - 1b40: f7 cf rjmp .-18 ; 0x1b30 - 1b42: 8a 94 dec r8 - 1b44: f3 01 movw r30, r6 - 1b46: e8 0d add r30, r8 - 1b48: f1 1d adc r31, r1 - 1b4a: 80 81 ld r24, Z - 1b4c: b6 01 movw r22, r12 - 1b4e: 90 e0 ldi r25, 0x00 ; 0 - 1b50: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1b54: 81 10 cpse r8, r1 - 1b56: f5 cf rjmp .-22 ; 0x1b42 - 1b58: 22 20 and r2, r2 - 1b5a: 09 f4 brne .+2 ; 0x1b5e - 1b5c: 42 ce rjmp .-892 ; 0x17e2 - 1b5e: b6 01 movw r22, r12 - 1b60: 80 e2 ldi r24, 0x20 ; 32 - 1b62: 90 e0 ldi r25, 0x00 ; 0 - 1b64: 0e 94 d6 0d call 0x1bac ; 0x1bac - 1b68: 2a 94 dec r2 - 1b6a: f6 cf rjmp .-20 ; 0x1b58 - 1b6c: f6 01 movw r30, r12 - 1b6e: 86 81 ldd r24, Z+6 ; 0x06 - 1b70: 97 81 ldd r25, Z+7 ; 0x07 - 1b72: 02 c0 rjmp .+4 ; 0x1b78 - 1b74: 8f ef ldi r24, 0xFF ; 255 - 1b76: 9f ef ldi r25, 0xFF ; 255 - 1b78: 2b 96 adiw r28, 0x0b ; 11 - 1b7a: e2 e1 ldi r30, 0x12 ; 18 - 1b7c: 0c 94 8c 0e jmp 0x1d18 ; 0x1d18 <__epilogue_restores__> - -00001b80 : - 1b80: fc 01 movw r30, r24 - 1b82: 05 90 lpm r0, Z+ - 1b84: 61 50 subi r22, 0x01 ; 1 - 1b86: 70 40 sbci r23, 0x00 ; 0 - 1b88: 01 10 cpse r0, r1 - 1b8a: d8 f7 brcc .-10 ; 0x1b82 - 1b8c: 80 95 com r24 - 1b8e: 90 95 com r25 - 1b90: 8e 0f add r24, r30 - 1b92: 9f 1f adc r25, r31 - 1b94: 08 95 ret - -00001b96 : - 1b96: fc 01 movw r30, r24 - 1b98: 61 50 subi r22, 0x01 ; 1 - 1b9a: 70 40 sbci r23, 0x00 ; 0 - 1b9c: 01 90 ld r0, Z+ - 1b9e: 01 10 cpse r0, r1 - 1ba0: d8 f7 brcc .-10 ; 0x1b98 - 1ba2: 80 95 com r24 - 1ba4: 90 95 com r25 - 1ba6: 8e 0f add r24, r30 - 1ba8: 9f 1f adc r25, r31 - 1baa: 08 95 ret - -00001bac : - 1bac: 0f 93 push r16 - 1bae: 1f 93 push r17 - 1bb0: cf 93 push r28 - 1bb2: df 93 push r29 - 1bb4: fb 01 movw r30, r22 - 1bb6: 23 81 ldd r18, Z+3 ; 0x03 - 1bb8: 21 fd sbrc r18, 1 - 1bba: 03 c0 rjmp .+6 ; 0x1bc2 - 1bbc: 8f ef ldi r24, 0xFF ; 255 - 1bbe: 9f ef ldi r25, 0xFF ; 255 - 1bc0: 2c c0 rjmp .+88 ; 0x1c1a - 1bc2: 22 ff sbrs r18, 2 - 1bc4: 16 c0 rjmp .+44 ; 0x1bf2 - 1bc6: 46 81 ldd r20, Z+6 ; 0x06 - 1bc8: 57 81 ldd r21, Z+7 ; 0x07 - 1bca: 24 81 ldd r18, Z+4 ; 0x04 - 1bcc: 35 81 ldd r19, Z+5 ; 0x05 - 1bce: 42 17 cp r20, r18 - 1bd0: 53 07 cpc r21, r19 - 1bd2: 44 f4 brge .+16 ; 0x1be4 - 1bd4: a0 81 ld r26, Z - 1bd6: b1 81 ldd r27, Z+1 ; 0x01 - 1bd8: 9d 01 movw r18, r26 - 1bda: 2f 5f subi r18, 0xFF ; 255 - 1bdc: 3f 4f sbci r19, 0xFF ; 255 - 1bde: 31 83 std Z+1, r19 ; 0x01 - 1be0: 20 83 st Z, r18 - 1be2: 8c 93 st X, r24 - 1be4: 26 81 ldd r18, Z+6 ; 0x06 - 1be6: 37 81 ldd r19, Z+7 ; 0x07 - 1be8: 2f 5f subi r18, 0xFF ; 255 - 1bea: 3f 4f sbci r19, 0xFF ; 255 - 1bec: 37 83 std Z+7, r19 ; 0x07 - 1bee: 26 83 std Z+6, r18 ; 0x06 - 1bf0: 14 c0 rjmp .+40 ; 0x1c1a - 1bf2: 8b 01 movw r16, r22 - 1bf4: ec 01 movw r28, r24 - 1bf6: fb 01 movw r30, r22 - 1bf8: 00 84 ldd r0, Z+8 ; 0x08 - 1bfa: f1 85 ldd r31, Z+9 ; 0x09 - 1bfc: e0 2d mov r30, r0 - 1bfe: 09 95 icall - 1c00: 89 2b or r24, r25 - 1c02: e1 f6 brne .-72 ; 0x1bbc - 1c04: d8 01 movw r26, r16 - 1c06: 16 96 adiw r26, 0x06 ; 6 - 1c08: 8d 91 ld r24, X+ - 1c0a: 9c 91 ld r25, X - 1c0c: 17 97 sbiw r26, 0x07 ; 7 - 1c0e: 01 96 adiw r24, 0x01 ; 1 - 1c10: 17 96 adiw r26, 0x07 ; 7 - 1c12: 9c 93 st X, r25 - 1c14: 8e 93 st -X, r24 - 1c16: 16 97 sbiw r26, 0x06 ; 6 - 1c18: ce 01 movw r24, r28 - 1c1a: df 91 pop r29 - 1c1c: cf 91 pop r28 - 1c1e: 1f 91 pop r17 - 1c20: 0f 91 pop r16 - 1c22: 08 95 ret - -00001c24 <__ultoa_invert>: - 1c24: fa 01 movw r30, r20 - 1c26: aa 27 eor r26, r26 - 1c28: 28 30 cpi r18, 0x08 ; 8 - 1c2a: 51 f1 breq .+84 ; 0x1c80 <__ultoa_invert+0x5c> - 1c2c: 20 31 cpi r18, 0x10 ; 16 - 1c2e: 81 f1 breq .+96 ; 0x1c90 <__ultoa_invert+0x6c> - 1c30: e8 94 clt - 1c32: 6f 93 push r22 - 1c34: 6e 7f andi r22, 0xFE ; 254 - 1c36: 6e 5f subi r22, 0xFE ; 254 - 1c38: 7f 4f sbci r23, 0xFF ; 255 - 1c3a: 8f 4f sbci r24, 0xFF ; 255 - 1c3c: 9f 4f sbci r25, 0xFF ; 255 - 1c3e: af 4f sbci r26, 0xFF ; 255 - 1c40: b1 e0 ldi r27, 0x01 ; 1 - 1c42: 3e d0 rcall .+124 ; 0x1cc0 <__ultoa_invert+0x9c> - 1c44: b4 e0 ldi r27, 0x04 ; 4 - 1c46: 3c d0 rcall .+120 ; 0x1cc0 <__ultoa_invert+0x9c> - 1c48: 67 0f add r22, r23 - 1c4a: 78 1f adc r23, r24 - 1c4c: 89 1f adc r24, r25 - 1c4e: 9a 1f adc r25, r26 - 1c50: a1 1d adc r26, r1 - 1c52: 68 0f add r22, r24 - 1c54: 79 1f adc r23, r25 - 1c56: 8a 1f adc r24, r26 - 1c58: 91 1d adc r25, r1 - 1c5a: a1 1d adc r26, r1 - 1c5c: 6a 0f add r22, r26 - 1c5e: 71 1d adc r23, r1 - 1c60: 81 1d adc r24, r1 - 1c62: 91 1d adc r25, r1 - 1c64: a1 1d adc r26, r1 - 1c66: 20 d0 rcall .+64 ; 0x1ca8 <__ultoa_invert+0x84> - 1c68: 09 f4 brne .+2 ; 0x1c6c <__ultoa_invert+0x48> - 1c6a: 68 94 set - 1c6c: 3f 91 pop r19 - 1c6e: 2a e0 ldi r18, 0x0A ; 10 - 1c70: 26 9f mul r18, r22 - 1c72: 11 24 eor r1, r1 - 1c74: 30 19 sub r19, r0 - 1c76: 30 5d subi r19, 0xD0 ; 208 - 1c78: 31 93 st Z+, r19 - 1c7a: de f6 brtc .-74 ; 0x1c32 <__ultoa_invert+0xe> - 1c7c: cf 01 movw r24, r30 - 1c7e: 08 95 ret - 1c80: 46 2f mov r20, r22 - 1c82: 47 70 andi r20, 0x07 ; 7 - 1c84: 40 5d subi r20, 0xD0 ; 208 - 1c86: 41 93 st Z+, r20 - 1c88: b3 e0 ldi r27, 0x03 ; 3 - 1c8a: 0f d0 rcall .+30 ; 0x1caa <__ultoa_invert+0x86> - 1c8c: c9 f7 brne .-14 ; 0x1c80 <__ultoa_invert+0x5c> - 1c8e: f6 cf rjmp .-20 ; 0x1c7c <__ultoa_invert+0x58> - 1c90: 46 2f mov r20, r22 - 1c92: 4f 70 andi r20, 0x0F ; 15 - 1c94: 40 5d subi r20, 0xD0 ; 208 - 1c96: 4a 33 cpi r20, 0x3A ; 58 - 1c98: 18 f0 brcs .+6 ; 0x1ca0 <__ultoa_invert+0x7c> - 1c9a: 49 5d subi r20, 0xD9 ; 217 - 1c9c: 31 fd sbrc r19, 1 - 1c9e: 40 52 subi r20, 0x20 ; 32 - 1ca0: 41 93 st Z+, r20 - 1ca2: 02 d0 rcall .+4 ; 0x1ca8 <__ultoa_invert+0x84> - 1ca4: a9 f7 brne .-22 ; 0x1c90 <__ultoa_invert+0x6c> - 1ca6: ea cf rjmp .-44 ; 0x1c7c <__ultoa_invert+0x58> - 1ca8: b4 e0 ldi r27, 0x04 ; 4 - 1caa: a6 95 lsr r26 - 1cac: 97 95 ror r25 - 1cae: 87 95 ror r24 - 1cb0: 77 95 ror r23 - 1cb2: 67 95 ror r22 - 1cb4: ba 95 dec r27 - 1cb6: c9 f7 brne .-14 ; 0x1caa <__ultoa_invert+0x86> - 1cb8: 00 97 sbiw r24, 0x00 ; 0 - 1cba: 61 05 cpc r22, r1 - 1cbc: 71 05 cpc r23, r1 - 1cbe: 08 95 ret - 1cc0: 9b 01 movw r18, r22 - 1cc2: ac 01 movw r20, r24 - 1cc4: 0a 2e mov r0, r26 - 1cc6: 06 94 lsr r0 - 1cc8: 57 95 ror r21 - 1cca: 47 95 ror r20 - 1ccc: 37 95 ror r19 - 1cce: 27 95 ror r18 - 1cd0: ba 95 dec r27 - 1cd2: c9 f7 brne .-14 ; 0x1cc6 <__ultoa_invert+0xa2> - 1cd4: 62 0f add r22, r18 - 1cd6: 73 1f adc r23, r19 - 1cd8: 84 1f adc r24, r20 - 1cda: 95 1f adc r25, r21 - 1cdc: a0 1d adc r26, r0 - 1cde: 08 95 ret - -00001ce0 <__prologue_saves__>: - 1ce0: 2f 92 push r2 - 1ce2: 3f 92 push r3 - 1ce4: 4f 92 push r4 - 1ce6: 5f 92 push r5 - 1ce8: 6f 92 push r6 - 1cea: 7f 92 push r7 - 1cec: 8f 92 push r8 - 1cee: 9f 92 push r9 - 1cf0: af 92 push r10 - 1cf2: bf 92 push r11 - 1cf4: cf 92 push r12 - 1cf6: df 92 push r13 - 1cf8: ef 92 push r14 - 1cfa: ff 92 push r15 - 1cfc: 0f 93 push r16 - 1cfe: 1f 93 push r17 - 1d00: cf 93 push r28 - 1d02: df 93 push r29 - 1d04: cd b7 in r28, 0x3d ; 61 - 1d06: de b7 in r29, 0x3e ; 62 - 1d08: ca 1b sub r28, r26 - 1d0a: db 0b sbc r29, r27 - 1d0c: 0f b6 in r0, 0x3f ; 63 - 1d0e: f8 94 cli - 1d10: de bf out 0x3e, r29 ; 62 - 1d12: 0f be out 0x3f, r0 ; 63 - 1d14: cd bf out 0x3d, r28 ; 61 - 1d16: 09 94 ijmp - -00001d18 <__epilogue_restores__>: - 1d18: 2a 88 ldd r2, Y+18 ; 0x12 - 1d1a: 39 88 ldd r3, Y+17 ; 0x11 - 1d1c: 48 88 ldd r4, Y+16 ; 0x10 - 1d1e: 5f 84 ldd r5, Y+15 ; 0x0f - 1d20: 6e 84 ldd r6, Y+14 ; 0x0e - 1d22: 7d 84 ldd r7, Y+13 ; 0x0d - 1d24: 8c 84 ldd r8, Y+12 ; 0x0c - 1d26: 9b 84 ldd r9, Y+11 ; 0x0b - 1d28: aa 84 ldd r10, Y+10 ; 0x0a - 1d2a: b9 84 ldd r11, Y+9 ; 0x09 - 1d2c: c8 84 ldd r12, Y+8 ; 0x08 - 1d2e: df 80 ldd r13, Y+7 ; 0x07 - 1d30: ee 80 ldd r14, Y+6 ; 0x06 - 1d32: fd 80 ldd r15, Y+5 ; 0x05 - 1d34: 0c 81 ldd r16, Y+4 ; 0x04 - 1d36: 1b 81 ldd r17, Y+3 ; 0x03 - 1d38: aa 81 ldd r26, Y+2 ; 0x02 - 1d3a: b9 81 ldd r27, Y+1 ; 0x01 - 1d3c: ce 0f add r28, r30 - 1d3e: d1 1d adc r29, r1 - 1d40: 0f b6 in r0, 0x3f ; 63 - 1d42: f8 94 cli - 1d44: de bf out 0x3e, r29 ; 62 - 1d46: 0f be out 0x3f, r0 ; 63 - 1d48: cd bf out 0x3d, r28 ; 61 - 1d4a: ed 01 movw r28, r26 - 1d4c: 08 95 ret - -00001d4e <_exit>: - 1d4e: f8 94 cli - -00001d50 <__stop_program>: - 1d50: ff cf rjmp .-2 ; 0x1d50 <__stop_program> diff --git a/hdlc_screen/Debug/hdlc_screen.map b/hdlc_screen/Debug/hdlc_screen.map deleted file mode 100644 index 91bccae..0000000 --- a/hdlc_screen/Debug/hdlc_screen.map +++ /dev/null @@ -1,1242 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -<<<<<<< HEAD -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - LCD/Lcd_print.o (__udivmodhi4) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o (exit) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - hdlc/client.o (__do_copy_data) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - hdlc/client.o (__do_clear_bss) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - LCD/Lcd_print.o (strncpy) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - hdlc/client.o (printf) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - LCD/Lcd_print.o (snprintf) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (vfprintf) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen_P) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (fputc) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__iob) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (__ultoa_invert) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__prologue_saves__) -d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__epilogue_restores__) -======= -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - LCD/Lcd_print.o (__udivmodhi4) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o (exit) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - hdlc/client.o (__do_copy_data) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - hdlc/client.o (__do_clear_bss) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - LCD/Lcd_print.o (strncpy) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - hdlc/client.o (printf) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - LCD/Lcd_print.o (snprintf) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (vfprintf) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen_P) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (fputc) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__iob) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (__ultoa_invert) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__prologue_saves__) -c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) (__epilogue_restores__) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -Allocating common symbols -Common symbol size file - -uartRxBuffer 0x22 UART/uart.o -pcf8574_pinstatus 0x1 LCD/pcf8574.o -textCounter 0x6 LCD/Lcd_print.o -uartTxBuffer 0x22 UART/uart.o -<<<<<<< HEAD -__iob 0x6 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) -======= -__iob 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 -connecting_frame_timeout_bf - 0x2 hdlc/client.o - -Discarded input sections - -<<<<<<< HEAD - .data 0x00000000 0x0 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - .bss 0x00000000 0x0 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - .text 0x00000000 0x0 hdlc/client.o - .data 0x00000000 0x0 hdlc/client.o - .bss 0x00000000 0x0 hdlc/client.o - .text 0x00000000 0x0 hdlc/fcs.o - .data 0x00000000 0x0 hdlc/fcs.o - .bss 0x00000000 0x0 hdlc/fcs.o - .text 0x00000000 0x0 hdlc/hdlc.o - .data 0x00000000 0x0 hdlc/hdlc.o - .bss 0x00000000 0x0 hdlc/hdlc.o - .text.hdlc_set_state - 0x00000000 0x20 hdlc/hdlc.o - .text.hdlc_get_state - 0x00000000 0x20 hdlc/hdlc.o - .text.hdlc_get_data_reset - 0x00000000 0xa hdlc/hdlc.o - .text.hdlc_get_data - 0x00000000 0x24 hdlc/hdlc.o - .data.hdlc_state - 0x00000000 0xb hdlc/hdlc.o - .text 0x00000000 0x0 LCD/lcdpcf8574.o - .data 0x00000000 0x0 LCD/lcdpcf8574.o - .bss 0x00000000 0x0 LCD/lcdpcf8574.o - .text.lcd_data - 0x00000000 0x14 LCD/lcdpcf8574.o - .text.lcd_getxy - 0x00000000 0x8 LCD/lcdpcf8574.o - .text.lcd_puts_p - 0x00000000 0x24 LCD/lcdpcf8574.o - .text 0x00000000 0x0 LCD/Lcd_print.o - .data 0x00000000 0x0 LCD/Lcd_print.o - .bss 0x00000000 0x0 LCD/Lcd_print.o - .text 0x00000000 0x0 LCD/pcf8574.o - .data 0x00000000 0x0 LCD/pcf8574.o - .bss 0x00000000 0x0 LCD/pcf8574.o - .text.pcf8574_getoutput - 0x00000000 0xe LCD/pcf8574.o - .text.pcf8574_setoutputpins - 0x00000000 0x80 LCD/pcf8574.o - .text.pcf8574_getinput - 0x00000000 0x22 LCD/pcf8574.o - .text.pcf8574_getinputpin - 0x00000000 0x32 LCD/pcf8574.o - .text 0x00000000 0x0 LCD/twimaster.o - .data 0x00000000 0x0 LCD/twimaster.o - .bss 0x00000000 0x0 LCD/twimaster.o - .text.i2c_start_wait - 0x00000000 0x50 LCD/twimaster.o - .text.i2c_rep_start - 0x00000000 0x6 LCD/twimaster.o - .text.i2c_readAck - 0x00000000 0x16 LCD/twimaster.o - .text.i2c_readNak - 0x00000000 0x16 LCD/twimaster.o - .text 0x00000000 0x0 main.o - .data 0x00000000 0x0 main.o - .bss 0x00000000 0x0 main.o - .text 0x00000000 0x0 protocol/protocol.o - .data 0x00000000 0x0 protocol/protocol.o - .bss 0x00000000 0x0 protocol/protocol.o - .text 0x00000000 0x0 UART/circular_buf.o - .data 0x00000000 0x0 UART/circular_buf.o - .bss 0x00000000 0x0 UART/circular_buf.o - .text.initialize_buffer - 0x00000000 0x8 UART/circular_buf.o - .text 0x00000000 0x0 UART/uart.o - .data 0x00000000 0x0 UART/uart.o - .bss 0x00000000 0x0 UART/uart.o -<<<<<<< HEAD - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.prologue - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.div - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.prologue - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.div - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.prologue - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.div - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.prologue - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.div - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .data 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .bss 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.mul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.div - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.builtins - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.fmul - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.fixed - 0x00000000 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) -======= - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.prologue - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.div - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.prologue - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.div - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.prologue - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.div - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.prologue - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.div - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.mul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.div - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.builtins - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.fmul - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - .text.libgcc.fixed - 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -Memory Configuration - -Name Origin Length Attributes -text 0x00000000 0x00020000 xr -data 0x00800060 0x0000ffa0 rw !x -eeprom 0x00810000 0x00010000 rw !x -fuse 0x00820000 0x00000003 rw !x -lock 0x00830000 0x00000400 rw !x -signature 0x00840000 0x00000400 rw !x -user_signatures 0x00850000 0x00000400 rw !x -*default* 0x00000000 0xffffffff - -Linker script and memory map - -Address of section .data set to 0x800100 -<<<<<<< HEAD -LOAD D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= -LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 -LOAD hdlc/client.o -LOAD hdlc/fcs.o -LOAD hdlc/hdlc.o -LOAD LCD/lcdpcf8574.o -LOAD LCD/Lcd_print.o -LOAD LCD/pcf8574.o -LOAD LCD/twimaster.o -LOAD main.o -LOAD protocol/protocol.o -LOAD UART/circular_buf.o -LOAD UART/uart.o -START GROUP -<<<<<<< HEAD -LOAD d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a -END GROUP -START GROUP -LOAD d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a -LOAD d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a -LOAD d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a -LOAD D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5\libatmega328p.a -======= -LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a -END GROUP -START GROUP -LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a -LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a -LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a -LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5\libatmega328p.a ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 -END GROUP - 0x00000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0 - 0x00800060 __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800060 - 0x00020000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x20000 - 0x0000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 - 0x00010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 - [0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 - 0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 - 0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 - 0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 - -.hash - *(.hash) - -.dynsym - *(.dynsym) - -.dynstr - *(.dynstr) - -.gnu.version - *(.gnu.version) - -.gnu.version_d - *(.gnu.version_d) - -.gnu.version_r - *(.gnu.version_r) - -.rel.init - *(.rel.init) - -.rela.init - *(.rela.init) - -.rel.text - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - -.rela.text - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - -.rel.fini - *(.rel.fini) - -.rela.fini - *(.rela.fini) - -.rel.rodata - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - -.rela.rodata - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - -.rel.data - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - -.rela.data - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - -.rel.ctors - *(.rel.ctors) - -.rela.ctors - *(.rela.ctors) - -.rel.dtors - *(.rel.dtors) - -.rela.dtors - *(.rela.dtors) - -.rel.got - *(.rel.got) - -.rela.got - *(.rela.got) - -.rel.bss - *(.rel.bss) - -.rela.bss - *(.rela.bss) - -.rel.plt - *(.rel.plt) - -.rela.plt - *(.rela.plt) - -.text 0x00000000 0x1d52 - *(.vectors) -<<<<<<< HEAD - .vectors 0x00000000 0x68 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .vectors 0x00000000 0x68 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x00000000 __vector_default - 0x00000000 __vectors - *(.vectors) - *(.progmem.gcc*) - 0x00000068 . = ALIGN (0x2) - 0x00000068 __trampolines_start = . - *(.trampolines) - .trampolines 0x00000068 0x0 linker stubs - *(.trampolines*) - 0x00000068 __trampolines_end = . - *libprintf_flt.a:*(.progmem.data) - *libc.a:*(.progmem.data) - *(.progmem*) - 0x00000068 . = ALIGN (0x2) - *(.jumptables) - *(.jumptables*) - *(.lowtext) - *(.lowtext*) - 0x00000068 __ctors_start = . - *(.ctors) - 0x00000068 __ctors_end = . - 0x00000068 __dtors_start = . - *(.dtors) - 0x00000068 __dtors_end = . - SORT(*)(.ctors) - SORT(*)(.dtors) - *(.init0) -<<<<<<< HEAD - .init0 0x00000068 0x0 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .init0 0x00000068 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x00000068 __init - *(.init0) - *(.init1) - *(.init1) - *(.init2) -<<<<<<< HEAD - .init2 0x00000068 0xc D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .init2 0x00000068 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - *(.init2) - *(.init3) - *(.init3) - *(.init4) -<<<<<<< HEAD - .init4 0x00000074 0x16 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - 0x00000074 __do_copy_data - .init4 0x0000008a 0x10 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) -======= - .init4 0x00000074 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_copy_data.o) - 0x00000074 __do_copy_data - .init4 0x0000008a 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_clear_bss.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x0000008a __do_clear_bss - *(.init4) - *(.init5) - *(.init5) - *(.init6) - *(.init6) - *(.init7) - *(.init7) - *(.init8) - *(.init8) - *(.init9) -<<<<<<< HEAD - .init9 0x0000009a 0x8 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - *(.init9) - *(.text) - .text 0x000000a2 0x4 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .init9 0x0000009a 0x8 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - *(.init9) - *(.text) - .text 0x000000a2 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x000000a2 __vector_22 - 0x000000a2 __vector_1 - 0x000000a2 __vector_24 - 0x000000a2 __vector_12 - 0x000000a2 __bad_interrupt - 0x000000a2 __vector_6 - 0x000000a2 __vector_3 - 0x000000a2 __vector_23 - 0x000000a2 __vector_25 - 0x000000a2 __vector_11 - 0x000000a2 __vector_13 - 0x000000a2 __vector_17 - 0x000000a2 __vector_19 - 0x000000a2 __vector_7 - 0x000000a2 __vector_5 - 0x000000a2 __vector_4 - 0x000000a2 __vector_9 - 0x000000a2 __vector_2 - 0x000000a2 __vector_21 - 0x000000a2 __vector_15 - 0x000000a2 __vector_8 - 0x000000a2 __vector_14 - 0x000000a2 __vector_10 - 0x000000a2 __vector_16 - 0x000000a6 . = ALIGN (0x2) - *(.text.*) - .text.init_hdlc_client - 0x000000a6 0x32 hdlc/client.o - 0x000000a6 init_hdlc_client - .text.hdlc_connect - 0x000000d8 0x14 hdlc/client.o - 0x000000d8 hdlc_connect - .text.hdlc_send_data - 0x000000ec 0x36 hdlc/client.o - 0x000000ec hdlc_send_data - .text.hdlc_get_raw_frame - 0x00000122 0xec hdlc/client.o - 0x00000122 hdlc_get_raw_frame - .text.hdlc_decode_recived_raw_data - 0x0000020e 0x142 hdlc/client.o - 0x0000020e hdlc_decode_recived_raw_data - .text.hdlc_timeout_handler - 0x00000350 0x20 hdlc/client.o - 0x00000350 hdlc_timeout_handler - .text.calc_fcs - 0x00000370 0x1c hdlc/fcs.o - 0x00000370 calc_fcs - .text.hdlc_escape_value - 0x0000038c 0x3e hdlc/hdlc.o - 0x0000038c hdlc_escape_value - .text.hdlc_get_control_type - 0x000003ca 0x26 hdlc/hdlc.o - 0x000003ca hdlc_get_control_type - .text.hdlc_frame_control_type - 0x000003f0 0x36 hdlc/hdlc.o - 0x000003f0 hdlc_frame_control_type - .text.hdlc_get_data_reset_with_state - 0x00000426 0x1e hdlc/hdlc.o - 0x00000426 hdlc_get_data_reset_with_state - .text.hdlc_get_data_with_state - 0x00000444 0x24c hdlc/hdlc.o - 0x00000444 hdlc_get_data_with_state - .text.hdlc_frame_data - 0x00000690 0x14a hdlc/hdlc.o - 0x00000690 hdlc_frame_data - .text.lcd_read - 0x000007da 0x76 LCD/lcdpcf8574.o - .text.lcd_waitbusy - 0x00000850 0x14 LCD/lcdpcf8574.o - .text.toggle_e - 0x00000864 0x14 LCD/lcdpcf8574.o - .text.lcd_write - 0x00000878 0x144 LCD/lcdpcf8574.o - .text.lcd_command - 0x000009bc 0x14 LCD/lcdpcf8574.o - 0x000009bc lcd_command - .text.lcd_gotoxy - 0x000009d0 0x14 LCD/lcdpcf8574.o - 0x000009d0 lcd_gotoxy - .text.lcd_clrscr - 0x000009e4 0x8 LCD/lcdpcf8574.o - 0x000009e4 lcd_clrscr - .text.lcd_led 0x000009ec 0x26 LCD/lcdpcf8574.o - 0x000009ec lcd_led - .text.lcd_home - 0x00000a12 0x8 LCD/lcdpcf8574.o - 0x00000a12 lcd_home - .text.lcd_putc - 0x00000a1a 0x48 LCD/lcdpcf8574.o - 0x00000a1a lcd_putc - .text.lcd_puts - 0x00000a62 0x20 LCD/lcdpcf8574.o - 0x00000a62 lcd_puts - .text.lcd_init - 0x00000a82 0xa4 LCD/lcdpcf8574.o - 0x00000a82 lcd_init - .text.Lcd_inciliation - 0x00000b26 0x12 LCD/Lcd_print.o - 0x00000b26 Lcd_inciliation - .text.fillBuffer1 - 0x00000b38 0x7a LCD/Lcd_print.o - 0x00000b38 fillBuffer1 - .text.fillBuffer2 - 0x00000bb2 0x5e LCD/Lcd_print.o - 0x00000bb2 fillBuffer2 - .text.printLcd - 0x00000c10 0xe0 LCD/Lcd_print.o - 0x00000c10 printLcd - .text.pcf8574_init - 0x00000cf0 0x12 LCD/pcf8574.o - 0x00000cf0 pcf8574_init - .text.pcf8574_getoutputpin - 0x00000d02 0x28 LCD/pcf8574.o - 0x00000d02 pcf8574_getoutputpin - .text.pcf8574_setoutput - 0x00000d2a 0x26 LCD/pcf8574.o - 0x00000d2a pcf8574_setoutput - .text.pcf8574_setoutputpin - 0x00000d50 0x5c LCD/pcf8574.o - 0x00000d50 pcf8574_setoutputpin - .text.pcf8574_setoutputpinhigh - 0x00000dac 0x8 LCD/pcf8574.o - 0x00000dac pcf8574_setoutputpinhigh - .text.pcf8574_setoutputpinlow - 0x00000db4 0x8 LCD/pcf8574.o - 0x00000db4 pcf8574_setoutputpinlow - .text.i2c_init - 0x00000dbc 0xc LCD/twimaster.o - 0x00000dbc i2c_init - .text.i2c_start - 0x00000dc8 0x4e LCD/twimaster.o - 0x00000dc8 i2c_start - .text.i2c_stop - 0x00000e16 0x12 LCD/twimaster.o - 0x00000e16 i2c_stop - .text.i2c_write - 0x00000e28 0x24 LCD/twimaster.o - 0x00000e28 i2c_write - .text.main 0x00000e4c 0x330 main.o - 0x00000e4c main - .text.protocol_decode - 0x0000117c 0x13c protocol/protocol.o - 0x0000117c protocol_decode - .text.protocol_encode - 0x000012b8 0x1c6 protocol/protocol.o - 0x000012b8 protocol_encode - .text.buffer_empty - 0x0000147e 0x14 UART/circular_buf.o - 0x0000147e buffer_empty - .text.buffer_full - 0x00001492 0x34 UART/circular_buf.o - 0x00001492 buffer_full - .text.write_buffer - 0x000014c6 0x3a UART/circular_buf.o - 0x000014c6 write_buffer - .text.read_buffer - 0x00001500 0x3c UART/circular_buf.o - 0x00001500 read_buffer - .text.UART_init - 0x0000153c 0x18 UART/uart.o - 0x0000153c UART_init - .text.UART_send - 0x00001554 0x48 UART/uart.o - 0x00001554 UART_send - .text.UART_receive - 0x0000159c 0x84 UART/uart.o - 0x0000159c UART_receive - .text.__vector_18 - 0x00001620 0x64 UART/uart.o - 0x00001620 __vector_18 - .text.__vector_20 - 0x00001684 0x68 UART/uart.o - 0x00001684 __vector_20 - .text.libgcc.div -<<<<<<< HEAD - 0x000016ec 0x28 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - 0x000016ec __udivmodhi4 - .text.avr-libc - 0x00001714 0x1e d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - 0x00001714 strncpy - .text.avr-libc - 0x00001732 0x2c d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - 0x00001732 printf - .text.avr-libc - 0x0000175e 0x60 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - 0x0000175e snprintf - .text.avr-libc - 0x000017be 0x3c2 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - 0x000017be vfprintf - .text.avr-libc - 0x00001b80 0x16 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - 0x00001b80 strnlen_P - .text.avr-libc - 0x00001b96 0x16 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - 0x00001b96 strnlen - .text.avr-libc - 0x00001bac 0x78 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - 0x00001bac fputc - .text.avr-libc - 0x00001c24 0xbc d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - 0x00001c24 __ultoa_invert - .text.libgcc.prologue - 0x00001ce0 0x38 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - 0x00001ce0 __prologue_saves__ - .text.libgcc.prologue - 0x00001d18 0x36 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - 0x00001d18 __epilogue_restores__ - 0x00001d4e . = ALIGN (0x2) - *(.fini9) - .fini9 0x00001d4e 0x0 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) -======= - 0x000016ec 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o) - 0x000016ec __udivmodhi4 - .text.avr-libc - 0x00001714 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strncpy.o) - 0x00001714 strncpy - .text.avr-libc - 0x00001732 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - 0x00001732 printf - .text.avr-libc - 0x0000175e 0x60 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - 0x0000175e snprintf - .text.avr-libc - 0x000017be 0x3c2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - 0x000017be vfprintf - .text.avr-libc - 0x00001b80 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen_P.o) - 0x00001b80 strnlen_P - .text.avr-libc - 0x00001b96 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(strnlen.o) - 0x00001b96 strnlen - .text.avr-libc - 0x00001bac 0x78 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - 0x00001bac fputc - .text.avr-libc - 0x00001c24 0xbc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(ultoa_invert.o) - 0x00001c24 __ultoa_invert - .text.libgcc.prologue - 0x00001ce0 0x38 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_prologue.o) - 0x00001ce0 __prologue_saves__ - .text.libgcc.prologue - 0x00001d18 0x36 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_epilogue.o) - 0x00001d18 __epilogue_restores__ - 0x00001d4e . = ALIGN (0x2) - *(.fini9) - .fini9 0x00001d4e 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x00001d4e _exit - 0x00001d4e exit - *(.fini9) - *(.fini8) - *(.fini8) - *(.fini7) - *(.fini7) - *(.fini6) - *(.fini6) - *(.fini5) - *(.fini5) - *(.fini4) - *(.fini4) - *(.fini3) - *(.fini3) - *(.fini2) - *(.fini2) - *(.fini1) - *(.fini1) - *(.fini0) -<<<<<<< HEAD - .fini0 0x00001d4e 0x4 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) -======= - .fini0 0x00001d4e 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - *(.fini0) - 0x00001d52 _etext = . - -.data 0x00800100 0x242 load address 0x00001d52 - 0x00800100 PROVIDE (__data_start, .) - *(.data) - *(.data*) - *(.gnu.linkonce.d*) - *(.rodata) - *(.rodata*) - .rodata.str1.1 - 0x00800100 0x16 hdlc/client.o - .rodata.fcstab - 0x00800116 0x200 hdlc/fcs.o - .rodata.str1.1 - 0x00800316 0xf LCD/Lcd_print.o - .rodata.str1.1 - 0x00800325 0x1c main.o - *(.gnu.linkonce.r*) - 0x00800342 . = ALIGN (0x2) - *fill* 0x00800341 0x1 - 0x00800342 _edata = . - 0x00800342 PROVIDE (__data_end, .) - -.bss 0x00800342 0x54 - 0x00800342 PROVIDE (__bss_start, .) - *(.bss) - *(.bss*) - .bss.dataport 0x00800342 0x1 LCD/lcdpcf8574.o - 0x00800342 dataport - *(COMMON) - COMMON 0x00800343 0x2 hdlc/client.o - 0x00800343 connecting_frame_timeout_bf - COMMON 0x00800345 0x6 LCD/Lcd_print.o - 0x00800345 textCounter - COMMON 0x0080034b 0x1 LCD/pcf8574.o - 0x0080034b pcf8574_pinstatus - COMMON 0x0080034c 0x44 UART/uart.o - 0x0080034c uartRxBuffer - 0x0080036e uartTxBuffer -<<<<<<< HEAD - COMMON 0x00800390 0x6 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) -======= - COMMON 0x00800390 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - 0x00800390 __iob - 0x00800396 PROVIDE (__bss_end, .) - 0x00001d52 __data_load_start = LOADADDR (.data) - 0x00001f94 __data_load_end = (__data_load_start + SIZEOF (.data)) - -.noinit 0x00800396 0x0 - [!provide] PROVIDE (__noinit_start, .) - *(.noinit*) - [!provide] PROVIDE (__noinit_end, .) - 0x00800396 _end = . - [!provide] PROVIDE (__heap_start, .) - -.eeprom 0x00810000 0x0 - *(.eeprom*) - 0x00810000 __eeprom_end = . - -.fuse - *(.fuse) - *(.lfuse) - *(.hfuse) - *(.efuse) - -.lock - *(.lock*) - -.signature - *(.signature*) - -.user_signatures - *(.user_signatures*) - -.stab - *(.stab) - -.stabstr - *(.stabstr) - -.stab.excl - *(.stab.excl) - -.stab.exclstr - *(.stab.exclstr) - -.stab.index - *(.stab.index) - -.stab.indexstr - *(.stab.indexstr) - -.comment 0x00000000 0x8c - *(.comment) - .comment 0x00000000 0x30 hdlc/client.o - 0x31 (size before relaxing) - .comment 0x00000030 0x30 hdlc/fcs.o - 0x31 (size before relaxing) - .comment 0x00000060 0x31 hdlc/hdlc.o - .comment 0x00000060 0x31 LCD/lcdpcf8574.o - .comment 0x00000060 0x31 LCD/Lcd_print.o - .comment 0x00000060 0x31 LCD/pcf8574.o - .comment 0x00000060 0x31 LCD/twimaster.o - .comment 0x00000060 0x31 main.o - .comment 0x00000060 0x31 protocol/protocol.o - .comment 0x00000060 0x31 UART/circular_buf.o - .comment 0x00000060 0x31 UART/uart.o -<<<<<<< HEAD - .comment 0x00000060 0x31 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .comment 0x00000060 0x31 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .comment 0x00000060 0x2c d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - 0x2d (size before relaxing) - .comment 0x0000008c 0x31 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .comment 0x0000008c 0x31 d:/atmel/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) -======= - .comment 0x00000060 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(printf.o) - .comment 0x00000060 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(snprintf.o) - .comment 0x00000060 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) - 0x2d (size before relaxing) - .comment 0x0000008c 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(fputc.o) - .comment 0x0000008c 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(iob.o) ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -.note.gnu.avr.deviceinfo - 0x00000000 0x40 - .note.gnu.avr.deviceinfo -<<<<<<< HEAD - 0x00000000 0x40 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - 0x00000000 0x40 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -.note.gnu.build-id - *(.note.gnu.build-id) - -.debug - *(.debug) - -.line - *(.line) - -.debug_srcinfo - *(.debug_srcinfo) - -.debug_sfnames - *(.debug_sfnames) - -.debug_aranges 0x00000000 0x320 - *(.debug_aranges) - .debug_aranges - 0x00000000 0x48 hdlc/client.o - .debug_aranges - 0x00000048 0x20 hdlc/fcs.o - .debug_aranges - 0x00000068 0x68 hdlc/hdlc.o - .debug_aranges - 0x000000d0 0x90 LCD/lcdpcf8574.o - .debug_aranges - 0x00000160 0x38 LCD/Lcd_print.o - .debug_aranges - 0x00000198 0x68 LCD/pcf8574.o - .debug_aranges - 0x00000200 0x58 LCD/twimaster.o - .debug_aranges - 0x00000258 0x20 main.o - .debug_aranges - 0x00000278 0x28 protocol/protocol.o - .debug_aranges - 0x000002a0 0x40 UART/circular_buf.o - .debug_aranges - 0x000002e0 0x40 UART/uart.o - -.debug_pubnames - *(.debug_pubnames) - -.debug_info 0x00000000 0x378f - *(.debug_info .gnu.linkonce.wi.*) -<<<<<<< HEAD - .debug_info 0x00000000 0x5f4 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .debug_info 0x00000000 0x5f4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - .debug_info 0x000005f4 0x5e7 hdlc/client.o - .debug_info 0x00000bdb 0xa5 hdlc/fcs.o - .debug_info 0x00000c80 0x685 hdlc/hdlc.o - .debug_info 0x00001305 0x7d2 LCD/lcdpcf8574.o - .debug_info 0x00001ad7 0x45c LCD/Lcd_print.o - .debug_info 0x00001f33 0x54c LCD/pcf8574.o - .debug_info 0x0000247f 0x1c4 LCD/twimaster.o - .debug_info 0x00002643 0x91f main.o - .debug_info 0x00002f62 0x30c protocol/protocol.o - .debug_info 0x0000326e 0x1fc UART/circular_buf.o - .debug_info 0x0000346a 0x325 UART/uart.o - -.debug_abbrev 0x00000000 0x1589 - *(.debug_abbrev) -<<<<<<< HEAD - .debug_abbrev 0x00000000 0x5a2 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .debug_abbrev 0x00000000 0x5a2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - .debug_abbrev 0x000005a2 0x1fc hdlc/client.o - .debug_abbrev 0x0000079e 0x83 hdlc/fcs.o - .debug_abbrev 0x00000821 0x194 hdlc/hdlc.o - .debug_abbrev 0x000009b5 0x266 LCD/lcdpcf8574.o - .debug_abbrev 0x00000c1b 0x163 LCD/Lcd_print.o - .debug_abbrev 0x00000d7e 0x1b6 LCD/pcf8574.o - .debug_abbrev 0x00000f34 0xe5 LCD/twimaster.o - .debug_abbrev 0x00001019 0x17c main.o - .debug_abbrev 0x00001195 0x137 protocol/protocol.o - .debug_abbrev 0x000012cc 0x175 UART/circular_buf.o - .debug_abbrev 0x00001441 0x148 UART/uart.o - -<<<<<<< HEAD -.debug_line 0x00000000 0x1c87 - *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x00000000 0x133 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - .debug_line 0x00000133 0x2f5 hdlc/client.o - .debug_line 0x00000428 0x47 hdlc/fcs.o - .debug_line 0x0000046f 0x461 hdlc/hdlc.o - .debug_line 0x000008d0 0x4a0 LCD/lcdpcf8574.o - .debug_line 0x00000d70 0x1b2 LCD/Lcd_print.o - .debug_line 0x00000f22 0x336 LCD/pcf8574.o - .debug_line 0x00001258 0x2a4 LCD/twimaster.o - .debug_line 0x000014fc 0x279 main.o - .debug_line 0x00001775 0x228 protocol/protocol.o - .debug_line 0x0000199d 0xfa UART/circular_buf.o - .debug_line 0x00001a97 0x1f0 UART/uart.o -======= -.debug_line 0x00000000 0x1e37 - *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x00000000 0x133 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o - .debug_line 0x00000133 0x32b hdlc/client.o - .debug_line 0x0000045e 0x47 hdlc/fcs.o - .debug_line 0x000004a5 0x497 hdlc/hdlc.o - .debug_line 0x0000093c 0x4bb LCD/lcdpcf8574.o - .debug_line 0x00000df7 0x1e8 LCD/Lcd_print.o - .debug_line 0x00000fdf 0x36c LCD/pcf8574.o - .debug_line 0x0000134b 0x2bf LCD/twimaster.o - .debug_line 0x0000160a 0x2af main.o - .debug_line 0x000018b9 0x25e protocol/protocol.o - .debug_line 0x00001b17 0xfa UART/circular_buf.o - .debug_line 0x00001c11 0x226 UART/uart.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -.debug_frame 0x00000000 0x9a0 - *(.debug_frame) - .debug_frame 0x00000000 0x104 hdlc/client.o - .debug_frame 0x00000104 0x24 hdlc/fcs.o - .debug_frame 0x00000128 0x178 hdlc/hdlc.o - .debug_frame 0x000002a0 0x154 LCD/lcdpcf8574.o - .debug_frame 0x000003f4 0x124 LCD/Lcd_print.o - .debug_frame 0x00000518 0xe0 LCD/pcf8574.o - .debug_frame 0x000005f8 0xa0 LCD/twimaster.o - .debug_frame 0x00000698 0x7c main.o - .debug_frame 0x00000714 0xd0 protocol/protocol.o - .debug_frame 0x000007e4 0x74 UART/circular_buf.o - .debug_frame 0x00000858 0x148 UART/uart.o - -.debug_str 0x00000000 0xcc5 - *(.debug_str) -<<<<<<< HEAD - .debug_str 0x00000000 0x208 D:/atmel/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o -======= - .debug_str 0x00000000 0x208 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.209/gcc/dev/atmega328p/avr5/crtatmega328p.o ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - .debug_str 0x00000208 0x387 hdlc/client.o - 0x412 (size before relaxing) - .debug_str 0x0000058f 0x41 hdlc/fcs.o - 0x11c (size before relaxing) - .debug_str 0x000005d0 0xcf hdlc/hdlc.o - 0x302 (size before relaxing) - .debug_str 0x0000069f 0x17f LCD/lcdpcf8574.o - 0x2ca (size before relaxing) - .debug_str 0x0000081e 0xfe LCD/Lcd_print.o - 0x287 (size before relaxing) - .debug_str 0x0000091c 0x123 LCD/pcf8574.o - 0x2e3 (size before relaxing) - .debug_str 0x00000a3f 0x49 LCD/twimaster.o - 0x1c6 (size before relaxing) - .debug_str 0x00000a88 0xe8 main.o - 0x4ac (size before relaxing) - .debug_str 0x00000b70 0x7d protocol/protocol.o - 0x232 (size before relaxing) - .debug_str 0x00000bed 0x7d UART/circular_buf.o - 0x1d1 (size before relaxing) - .debug_str 0x00000c6a 0x5b UART/uart.o - 0x242 (size before relaxing) - -.debug_loc 0x00000000 0x2fe7 - *(.debug_loc) - .debug_loc 0x00000000 0x534 hdlc/client.o - .debug_loc 0x00000534 0x26 hdlc/fcs.o - .debug_loc 0x0000055a 0xb7e hdlc/hdlc.o - .debug_loc 0x000010d8 0x5b5 LCD/lcdpcf8574.o - .debug_loc 0x0000168d 0x4ac LCD/Lcd_print.o - .debug_loc 0x00001b39 0x69d LCD/pcf8574.o - .debug_loc 0x000021d6 0x12d LCD/twimaster.o - .debug_loc 0x00002303 0x21a main.o - .debug_loc 0x0000251d 0x578 protocol/protocol.o - .debug_loc 0x00002a95 0x140 UART/circular_buf.o - .debug_loc 0x00002bd5 0x412 UART/uart.o - -.debug_macinfo - *(.debug_macinfo) - -.debug_weaknames - *(.debug_weaknames) - -.debug_funcnames - *(.debug_funcnames) - -.debug_typenames - *(.debug_typenames) - -.debug_varnames - *(.debug_varnames) - -.debug_pubtypes - *(.debug_pubtypes) - -.debug_ranges 0x00000000 0x2e8 - *(.debug_ranges) - .debug_ranges 0x00000000 0x50 hdlc/client.o - .debug_ranges 0x00000050 0x10 hdlc/fcs.o - .debug_ranges 0x00000060 0x58 hdlc/hdlc.o - .debug_ranges 0x000000b8 0x98 LCD/lcdpcf8574.o - .debug_ranges 0x00000150 0x28 LCD/Lcd_print.o - .debug_ranges 0x00000178 0x58 LCD/pcf8574.o - .debug_ranges 0x000001d0 0x48 LCD/twimaster.o - .debug_ranges 0x00000218 0x40 main.o - .debug_ranges 0x00000258 0x30 protocol/protocol.o - .debug_ranges 0x00000288 0x30 UART/circular_buf.o - .debug_ranges 0x000002b8 0x30 UART/uart.o - -.debug_macro - *(.debug_macro) -OUTPUT(hdlc_screen.elf elf32-avr) -LOAD linker stubs diff --git a/hdlc_screen/Debug/hdlc_screen.srec b/hdlc_screen/Debug/hdlc_screen.srec deleted file mode 100644 index 33acdeb..0000000 --- a/hdlc_screen/Debug/hdlc_screen.srec +++ /dev/null @@ -1,509 +0,0 @@ -S013000068646C635F73637265656E2E7372656397 -S11300000C9434000C9451000C9451000C94510045 -S11300100C9451000C9451000C9451000C94510018 -S11300200C9451000C9451000C9451000C94510008 -S11300300C9451000C9451000C9451000C945100F8 -S11300400C9451000C9451000C94100B0C9451001E -S11300500C94420B0C9451000C9451000C945100DC -S11300600C9451000C94510011241FBECFEFD8E022 -S1130070DEBFCDBF13E0A0E0B1E0E2E5FDE102C0E8 -S113008005900D92A234B107D9F723E0A2E4B3E0BE -S113009001C01D92A639B207E1F70E9426070C940D -S11300A0A70E0C940000FC0181E0808372836183BD -S11300B0709344036093430384E1838314828FEF3A -S11300C09FEF9683858390878783928781871486A1 -S11300D01386168615860895FC0183E08083808943 -S11300E0887F808B81E0878713820895FC0180815B -S11300F0823089F485E080834134510578F4828923 -S1130100887F828B118A748B638B568B458B138209 -S113011080E090E008958CEF9FEF08958FEF9FEFBC -S11301200895CF92DF92EF92FF920F931F93CF9394 -S1130130DF9300D0CDB7DEB77C016B015A834983CE -S1130140FC0180818530D1F445895689638974899D -S11301508E010F5F1F4F9601C70141960E9448030D -S1130160992364F49F938F9380E091E09F938F93FE -S11301700E94990B0F900F900F900F90F7018081C0 -S11301808330D1F48E010F5F1F4F960140E050E0A1 -S113019060E070E0C7010F960E944803992364F45D -S11301A09F938F9380E091E09F938F930E94990B8C -S11301B00F900F900F900F90F70180818430D1F44D -S11301C08E010F5F1F4F960140E050E060E070E049 -S11301D0C70147960E944803992364F49F938F9321 -S11301E080E091E09F938F930E94990B0F900F9062 -S11301F00F900F9080E090E00F900F90DF91CF91DF -S11302001F910F91FF90EF90DF90CF9008952F9260 -S11302103F924F925F926F927F928F929F92AF9292 -S1130220BF92CF92DF92EF92FF920F931F93CF93DF -S1130230DF9300D000D0CDB7DEB75C015C834B8385 -S1130240222E332E38018DB69EB6C42ED52E8DB7F0 -S11302509EB78C199D090FB6F8949EBF0FBE8DBF33 -S1130260EDB7FEB731962F01CE0103967C018F01C5 -S11302709601AB01BE016F5F7F4FC50104960E94DA -S1130280220299230CF448C08A81877090E0F5011A -S1130290238130E08217930751F084E08083808DBE -S11302A0887F808F82E0878B8AEF9FEF35C08981BA -S11302B0813049F018F08230D9F025C0F2E0CF1A2D -S11302C0D10829F40EC082E0F50180831CC0F2013C -S11302D0A22DB32D4C0C5D1C81918D93E415F50575 -S11302E0D9F7F301D182C08286E0F50180830BC087 -S11302F084E0F5018083808D887F808F82E0878B06 -S11303008AEF9FEF09C08091430390914403F50164 -S11303109283818380E090E00FB6F8949EBE0FBE76 -S11303208DBE0F900F900F900F90DF91CF911F9182 -S11303300F91FF90EF90DF90CF90BF90AF909F9080 -S11303408F907F906F905F904F903F902F90089583 -S1130350FC0121813281261B370B32832183121643 -S113036013061CF480E090E008958BEF9FEF08954E -S1130370FC01E627FF27EE0FFF1FEA5EFE4F892FE1 -S1130380992720813181822793270895FA0193E8E0 -S1130390980F923070F420813181A9014F5F5F4F33 -S11303A051834083DB01A20FB31F9DE79C9390E22E -S11303B0892720813181A9014F5F5F4F5183408399 -S11303C0FB01E20FF31F80830895982F80FF0BC079 -S11303D086958695837011F082E001C081E0929544 -S11303E09695977003C09695977080E097700895DE -S11303F0FC019081913049F018F0923061F011C005 -S113040081818770880F8061089581818295880F2A -S1130410807E8160089581818295880F807E8960C5 -S1130420089580E00895FC018FEF9FEF928381830C -S1130430968385839483838312861186108617821C -S1130440108208953F924F925F926F927F928F92A3 -S11304509F92AF92BF92CF92DF92EF92FF920F934F -S11304601F93CF93DF9300D000D0CDB7DEB70097B2 -S113047009F4EAC06115710509F4E9C04115510593 -S113048009F4E8C00115110509F4E7C0E114F10409 -S113049009F4E6C0380149017A8369839C838B831C -S11304A02115310509F499C08A01C12CD12C689415 -S11304B0442445F833243394590121E0A21AB108A5 -S11304C0AB81BC8113968D919C91149799239CF4D4 -S11304D0F80180818E3709F070C0CA14DB0420F45F -S11304E081818E3709F470C0EB81FC81878190850E -S11304F09483838362C0F80150802EE7521219C09E -S1130500CA14DB0420F421812E3709F45DC0AB81C9 -S1130510BC8117962D913C911897AC014F5F5F4FAA -S11305204217530709F450C016963C932E9315971F -S11305305DC0BDE75B1204C0EB81FC8130823DC02D -S1130540AB81BC818C91882319F01C925080542477 -S1130550652DEB81FC81818192810E94B801AB8180 -S1130560BC8112969C938E93119717962D913C9172 -S1130570189713968D919C91149702962817390712 -S113058041F4852D0E94E501E981FA8191838083FC -S113059014C0821793078CF4AB81BC8119968D919A -S11305A09C911A979C012F5F3F4F1A963C932E9370 -S11305B01997F301E80FF91F5082EB81FC818781C1 -S11305C09085019690878783FFEFCF1ADF0A0F5F2C -S11305D01F4F8C149D0409F073CFAB81BC8113961B -S11305E08D919C91149799233CF06401EB81FC81DB -S11305F025813681332334F4D7011D921C928EE079 -S113060092ED30C00496281739073CF0EB81FC8149 -S113061081819281883B904F31F0D701CD92DC9259 -S11306200EE012ED0AC0EB81FC8181859285029770 -S1130630D7018D939C930C2D1D2D8B819C810E9441 -S11306401302802F912F0EC08EE092ED0BC08EE02E -S113065092ED08C08EE092ED05C08EE092ED02C0EE -S11306608EE092ED0F900F900F900F90DF91CF914D -S11306701F910F91FF90EF90DF90CF90BF90AF90BC -S11306809F908F907F906F905F904F903F900895D0 -S11306905F926F927F928F929F92AF92BF92CF920E -S11306A0DF92EF92FF920F931F93CF93DF9300D0CB -S11306B0CDB7DEB7009709F473C06115710521F455 -S11306C04115510509F06FC02115310509F46EC0BB -S11306D00115110509F46DC0380179015A014B0166 -S11306E08C0181E090E09A8389838EE7F90180830D -S11306F06FEF8FEF9FEF0E94B8016C01AE014F5F67 -S11307005F4FB7018FEF0E94C601C8010E94F80134 -S1130710582E682FC6010E94B8016C01AE014F5FCC -S11307205F4FB701852D0E94C601F80180818111B8 -S113073019C0A114B104B1F084018A0C9B1C5801A6 -S1130740F80161918F01C6010E94B8016C01AE01EC -S11307504F5F5F4FB701F50180810E94C60180168B -S1130760910669F7C094D094AE014F5F5F4FB70113 -S11307708C2D0E94C601AE014F5F5F4FB7018D2DD6 -S11307800E94C60189819A81F701E80FF91F2EE7BB -S113079020830196F3019183808380E090E00BC075 -S11307A08EE092ED08C08EE092ED05C08EE092EDF1 -S11307B002C08EE092ED0F900F90DF91CF911F91C8 -S11307C00F91FF90EF90DF90CF90BF90AF909F90EC -S11307D08F907F906F905F900895CF93882331F02E -S11307E08091420381608093420305C0809142035B -S11307F08E7F809342038091420382608093420300 -S11308006091420380E00E94950662E080E00E94CD -S1130810D60600C064E080E00E948106C82F62E032 -S113082080E00E94DA0600C062E080E00E94D60602 -S113083000C064E080E00E948106C295C07F8F7092 -S1130840C82B62E080E00E94DA068C2FCF910895D5 -S113085080E00E94ED038823DCF300C080E00E9466 -S1130860ED03089562E080E00E94D60600C062E0D5 -S113087080E00E94DA060895CF93C82F662331F0F2 -S11308808091420381608093420305C080914203BA -S11308908E7F80934203809142038D7F8093420335 -S11308A06091420380E00E949506809142038F7715 -S11308B080934203809142038F7B80934203809113 -S11308C042038F7D80934203809142038F7E809305 -S11308D04203CC232CF4809142038068809342032A -S11308E0C6FF05C080914203806480934203C5FF24 -S11308F005C080914203806280934203C4FF05C017 -S1130900809142038061809342036091420380E0BE -S11309100E9495060E943204809142038F7780934F -S11309204203809142038F7B809342038091420370 -S11309308F7D80934203809142038F7E8093420394 -S1130940C3FF05C080914203806880934203C2FFC5 -S113095005C080914203806480934203C1FF05C0B7 -S113096080914203806280934203C0FF05C080915E -S113097042038061809342036091420380E00E94BD -S113098095060E9432048091420380618093420361 -S11309908091420380628093420380914203806489 -S11309A08093420380914203806880934203609164 -S11309B0420380E00E949506CF910895CF93C82FFB -S11309C00E94280460E08C2F0E943C04CF9108957B -S11309D0611104C080580E94DE04089580540E946E -S11309E0DE04089581E00E94DE040895882331F036 -S11309F080914203877F8093420305C08091420324 -S1130A008860809342036091420380E00E949506CF -S1130A10089582E00E94DE040895CF93C82F0E94B7 -S1130A202804CA3049F4803410F080E001C080E426 -S1130A3080580E94DE0413C0803129F460E080EC09 -S1130A400E943C0406C0803521F460E080E80E94E6 -S1130A503C040E94280461E08C2F0E943C04CF9146 -S1130A600895CF93DF93EC012196FC0180818823C4 -S1130A7029F00E940D0589918111FBCFDF91CF915F -S1130A8008951F93CF93DF93182F0E947806109236 -S1130A9042036091420380E00E94950680EA9FE051 -S1130AA00197F1F780914203806280934203809121 -S1130AB042038061809342036091420380E00E947C -S1130AC095060E94320480EE94E00197F1F70E94AB -S1130AD03204C0E1D0E0CE010197F1F70E94320464 -S1130AE0CE010197F1F7809142038F7E80934203F8 -S1130AF06091420380E00E9495060E94320421978F -S1130B00F1F788E20E94DE0488E00E94DE040E947D -S1130B10F20486E00E94DE04812F0E94DE04DF914D -S1130B20CF911F9108958DE00E9441050E9409050F -S1130B3080E00E94F6040895CF92DF92EF92FF9234 -S1130B400F931F93CF93DF938C017B01C901F801AD -S1130B5001900020E9F73197BF01601B710B0E94DF -S1130B60760B670120E1C20ED11CE7019C012E190E -S1130B703F09F80101900020E9F73197BF01601B9C -S1130B80710BC9018C0F9D1F0E94760BF801E80FB1 -S1130B90F91F80818993CC15DD0559F7F701108A77 -S1130BA0DF91CF911F910F91FF90EF90DF90CF9045 -S1130BB00895AF92BF92CF92DF92EF92FF920F937C -S1130BC01F931F930F93FF92EF925F934F933F9363 -S1130BD02F939F938F937F936F9386E193E09F93DB -S1130BE08F93BF92AF92DF92CF920E94AF0B8DB7DB -S1130BF09EB742960FB6F8949EBF0FBE8DBF1F914D -S1130C000F91FF90EF90DF90CF90BF90AF90089539 -S1130C106F927F92AF92BF92CF92DF92EF92FF9248 -S1130C200F931F93CF93DF93CDB7DEB7C254D1098F -S1130C300FB6F894DEBF0FBECDBF3C01209149032F -S1130C4030914A0341E150E0BE016F5F7F4F0E9443 -S1130C509C05F301E85BFF4FE080F1800281138182 -S1130C60349720813181428153813497608171812D -S1130C70828193810F2EF1E1AF2EB12CF02DFE0174 -S1130C8072966F010E94D90540E150E0BE016F5F8A -S1130C907F4FCE0183960E948A0B40E150E0B6015B -S1130CA0CE01C3960E948A0B60E080E00E94E804B3 -S1130CB0CE0183960E94310561E080E00E94E80441 -S1130CC0CE01C3960E943105CE5BDF4F0FB6F89478 -S1130CD0DEBF0FBECDBFDF91CF911F910F91FF906B -S1130CE0EF90DF90CF90BF90AF907F906F9008957A -S1130CF00E94DE0683E08A95F1F7000010924B0310 -S1130D00089581110EC0683070F480914B03082E51 -S1130D10000C990B02C0959587956A95E2F781704E -S1130D2008958FEF08958FEF0895CF9381110DC02B -S1130D30C62F60934B038EE40E94E4068C2F0E941E -S1130D4014070E940B0780E001C08FEFCF91089534 -S1130D50CF93DF93811124C0683020F580914B0339 -S1130D60442349F0C1E0D0E002C0CC0FDD1F6A95F6 -S1130D70E2F7C82B09C0C1E0D0E002C0CC0FDD1FF0 -S1130D806A95E2F7C095C823C0934B038EE40E9492 -S1130D90E4068C2F0E9414070E940B0780E003C016 -S1130DA08FEF01C08FEFDF91CF91089541E00E9452 -S1130DB0A806089540E00E94A80608951092B9007C -S1130DC08DEF8093B800089594EA9093BC00ECEB07 -S1130DD0F0E090819923ECF79091B900987F9830D6 -S1130DE011F09031A1F48093BB0084E88093BC009F -S1130DF0ECEBF0E080818823ECF79091B900987FC8 -S1130E00983139F081E0903429F480E0089581E04C -S1130E10089580E0089584E98093BC00ECEBF0E051 -S1130E20808184FDFDCF08958093BB0084E8809386 -S1130E30BC00ECEBF0E080818823ECF79091B900E2 -S1130E40987F81E0983209F480E008954F925F9290 -S1130E506F927F928F929F92AF92BF92CF92DF92C6 -S1130E60EF92FF920F931F93CF93DF93CDB7DEB72B -S1130E70C350D2400FB6F894DEBF0FBECDBF0E9460 -S1130E8093050E949E0A68EC70E0CE0101960E94D0 -S1130E905300CE0101960E946C004AE050E0BE016E -S1130EA0665E7F4FCE0101960E9491006AE070E079 -S1130EB0CE014A960E94AA0A64E170E0CE018051F4 -S1130EC09E4F0E94CE0A61E070E0CE0101960E941E -S1130ED0A801059681F44AE050E0BE01665E7F4FAA -S1130EE0CE0101960E9491006AE070E0CE014A961C -S1130EF00E94AA0AE1CF00E010E020E030E044E1E3 -S1130F0050E0BE0160517E4FCE0101960E94070160 -S1130F108C019923ACF40A3F8FEF1807B1F444E134 -S1130F2050E0BE01605A7E4FCE0101960E949100AE -S1130F3064E170E0CE01805A9E4F0E94AA0A05C067 -S1130F408981823009F0B8CF03C0802F912FFEC071 -S1130F5084EA90E7ADE9BFE38CA39DA3AEA3BFA34E -S1130F608DEC9CECA0EBB1E488A799A7AAA7BBA73A -S1130F7080E090E0A8ECB2E48CA79DA7AEA7BFA741 -S1130F8083E090E099AB88AB85E293E09BAB8AABBE -S1130F9082E090E09DAB8CAB2E01E6E74E0E511C37 -S1130FA05F924F923E01F6E36F0E711C7F926F9237 -S1130FB08CA09DA0AEA0BFA0C8A4D9A4EAA4FBA401 -S1130FC00CA51DA52EA53FA548A959A96AA97BA9C9 -S1130FD08CA99DA90E945C09F20140815181B30151 -S1130FE0CE0101960E94760048E450E0BE016858A4 -S1130FF07F4FCE0101960E94910068E470E0CE011B -S113100088589F4F0E94AA0A0F900F900F900F903C -S113101060E970E0CE01805A9E4F0E94CE0A61E0E2 -S113102070E0CE0101960E94A801059689F448E477 -S113103050E0BE0168587F4FCE0101960E94910096 -S113104068E470E0CE0188589F4F0E94AA0AE0CF5E -S11310508E0113959E0120543F4F40E950E0BE019C -S1131060605A7E4FCE0101960E9407018C0199239C -S11310709CF40696B1F444E150E0BE0160517E4F09 -S1131080CE0101960E94910064E170E0CE0180518E -S11310909E4F0E94AA0A05C08981863009F0B8CF04 -S11310A003C0802F912F52C0C050DF4F68817981D7 -S11310B0C050D140AE014E5F5E4FCE0180549F4F71 -S11310C00E94BE08CE5FDE4F88819981AA81BB81D0 -S11310D0C250D140CC5ADE4F88839983AA83BB8304 -S11310E0C455D140CA5FDE4F88819981AA81BB81F2 -S11310F0C650D140C85ADE4F88839983AA83BB83E4 -S1131100C855D140C65FDE4F88819981AA81BB81D1 -S1131110CA50D140C45ADE4F88839983AA83BB83C3 -S1131120CC55D140C05FDE4F68817981C051D14038 -S11311304FE350E0CE018C5E9E4F0E948A0BCE019D -S11311408C5E9E4F0E94080680E090E0CD5FDD4FEC -S11311500FB6F894DEBF0FBECDBFDF91CF911F91C4 -S11311600F91FF90EF90DF90CF90BF90AF909F9042 -S11311708F907F906F905F904F9008958F929F9281 -S1131180AF92BF92CF92DF92EF92FF920F931F9391 -S1131190CF93DF93CDB7DEB7C054D1090FB6F8941F -S11311A0DEBF0FBECDBF4B01672B09F46CC020E03E -S11311B030E060E070E0A12CB12C6E01E5E0CE0ED1 -S11311C0D11CFE0131967F01FC01E20FF31F208147 -S11311D0211127C0DB011196A80FB91FFE0131961A -S11311E02D912193EC15FD05D9F76C5F7F4FF50127 -S11311F0EE0FFF1FEE0FFF1FE40FF51F09811A8189 -S11312002B813C810083118322833383FA0124855B -S113121035852F5F3F4F3587248795012F5F3F4FDB -S11312205901FC01E60FF71F2081213021F59B01B4 -S11312302F5F3F4FFC01E20FF31FE081EE2399F093 -S11312406E5F7F4FDC01A60FB71FF701B9016F5F17 -S11312507F4F2D91219330E08F010E191F09021742 -S11312601307ACF301C0B90129813A81FA01378728 -S11312702687118A108A6F5F7F4F9B016815790555 -S113128008F4A2CF02C0A12CB12CFA01B586A48621 -S1131290C05CDF4F0FB6F894DEBF0FBECDBFDF9149 -S11312A0CF911F910F91FF90EF90DF90CF90BF905F -S11312B0AF909F908F9008954F925F926F927F921C -S11312C08F929F92AF92BF92CF92DF92EF92FF9252 -S11312D00F931F93CF93DF93CDB7DEB7C255D109D8 -S11312E00FB6F894DEBF0FBECDBF22968FAE229705 -S11312F023969FAE23972496AFAE24972596BFAE30 -S113130025972696CFAE26972796DFAE2797289661 -S1131310EFAE28972996FFAE29972A960FAF2A9702 -S11313202B961FAF2B972C962FAF2C972D963FAF54 -S11313302D972E964FAF2E972F965FAF2F976096CF -S11313406FAF609761967FAF619762968FAF629738 -S113135063969FAF6397A7960EAD1FADA7972F9681 -S1131360CEACDFAC2F9763966EAD7FAD6397C1149F -S1131370D10409F466C07801CE018F5B9F4F5601FA -S1131380AA0CBB1CAA0CBB1CA80EB91EAE014B5F59 -S11313905F4FF7011192DC014D905D906D907D904F -S11313A0CD0149825A826B827C82DE0111963D9185 -S11313B03193A417B507D9F7B5E0EB0EF11C8A15E4 -S11313C09B0539F79601220F331F220F331F2C0D73 -S11313D03D1D6115710509F1D801A20FB31F81E00C -S11313E08C93D9011196A00FB11F2E5F3F4F6C93C0 -S11313F061968EAD9FAD61979A838983DE011196C4 -S1131400F801E20FF31F80E090E02F5F3F4F4D9112 -S11314104193019686179707C0F3A996EEADFFADE9 -S1131420A9973183208313C081E0F801808361830D -S113143061968EAD9FAD61979A83898322E030E0F7 -S1131440DDCF6115710581F720E030E0E6CFCE5A9B -S1131450DF4F0FB6F894DEBF0FBECDBFDF91CF9143 -S11314601F910F91FF90EF90DF90CF90BF90AF90BE -S11314709F908F907F906F905F904F900895FC01A4 -S113148081E090E030A121A1321711F080E090E0DA -S11314900895FC0121A130E02F5F3F4F2F71307878 -S11314A0332334F421503109206E3F6F2F5F3F4FB7 -S11314B0FC0140A150E081E090E02417350711F0D1 -S11314C080E090E008951F93CF93DF93EC01162FF3 -S11314D00E94490A892B81F489A190E0FE01E80F5A -S11314E0F91F108301968F719078992324F4019742 -S11314F0806E9F6F019689A3DF91CF911F9108950C -S1131500FC0120A181A12817B1F030E0DF01A20F76 -S1131510B31F4C9150E02F5F3F4F2F71307833232E -S113152034F421503109206E3F6F2F5F3F4F20A3C9 -S1131530842F952F08958FEF9FEF089588EF809360 -S1131540C10086E08093C2001092C50087E68093B4 -S1131550C40008950F931F93CF93DF936115710512 -S113156099F08C01EC01060F171F8EE693E00E94A0 -S1131570490A892B49F4699170E08EE693E00E9450 -S1131580630AC017D10789F7E1ECF0E08081806439 -S11315908083DF91CF911F910F9108958F929F9235 -S11315A0AF92BF92CF92DF92EF92FF920F931F936D -S11315B0CF93DF938B01EC01C12CD12C76014B012D -S11315C0A12CB12C0AC08CE493E00E94800A899378 -S11315D08FEFC81AD80AE80AF80A8CE493E00E944C -S11315E03F0A892B29F4C814D904EA04FB0458F3EC -S11315F020E030E00C151D052E053F0510F0C60156 -S113160002C08FEF9FEFDF91CF911F910F91FF9059 -S1131610EF90DF90CF90BF90AF909F908F90089500 -S11316201F920F920FB60F9211242F933F934F9353 -S11316305F936F937F938F939F93AF93BF93CF9356 -S1131640EF93FF93C091C6008CE493E00E94490A93 -S1131650892B31F46C2F70E08CE493E00E94630AD0 -S1131660FF91EF91CF91BF91AF919F918F917F9116 -S11316706F915F914F913F912F910F900FBE0F90FB -S11316801F9018951F920F920FB60F9211242F934B -S11316903F934F935F936F937F938F939F93AF93F6 -S11316A0BF93EF93FF938EE693E00E943F0A892B4A -S11316B039F48EE693E00E94800A8093C60005C048 -S11316C0E1ECF0E080818F7B8083FF91EF91BF910B -S11316D0AF919F918F917F916F915F914F913F91C6 -S11316E02F910F900FBE0F901F901895AA1BBB1B34 -S11316F051E107C0AA1FBB1FA617B70710F0A61B0E -S1131700B70B881F991F5A95A9F780959095BC012E -S1131710CD010895FB01DC014150504048F0019097 -S11317200D920020C9F701C01D9241505040E0F7CE -S11317300895A0E0B0E0EFE9FBE00C94800EAE0168 -S11317404B5F5F4FFA0161917191AF0180919203F8 -S1131750909193030E94DF0BE2E00C949C0EAEE0A8 -S1131760B0E0E5EBFBE00C947E0E0D891E898F89B9 -S1131770988D26E02C831A83098397FF02C080E0AA -S113178090E801979E838D83AE01455E5F4F698D1E -S11317907A8DCE0101960E94DF0B4D815E8157FD4B -S11317A00AC02F813885421753070CF49A01F801B7 -S11317B0E20FF31F10822E96E4E00C949A0EABE035 -S11317C0B0E0E5EEFBE00C94700E6C017B018A0145 -S11317D0FC0117821682838181FFCCC1CE01019660 -S11317E03C01F6019381F70193FD859193FF81916B -S11317F07F01882309F4BAC1853239F493FD8591B8 -S113180093FF81917F01853229F4B60190E00E9413 -S1131810D60DE7CF912C212C312CFFE1F315D8F014 -S11318208B3279F038F4803279F08332A1F4232DAD -S113183020611DC08D3261F0803369F4232D216055 -S113184016C0832D8260382EE32DE4603E2E2AC01C -S1131850F32DF8601DC037FC2DC020ED280F2A3071 -S113186040F08E32B9F436FC81C1232D2064322E2F -S113187019C036FE06C08AE0989E200D1124922ECF -S113188011C0EAE02E9E200D1124222EF32DF062C9 -S11318903F2E08C08C3621F4832D8068382E02C078 -S11318A0883641F4F70193FD859193FF81917F017F -S11318B08111B3CF982F9F7D9554933028F40C5FFA -S11318C01F4F9FE399830DC0833631F0833771F046 -S11318D0833509F059C021C0F801808189830E5FE6 -S11318E01F4F88248394912C530113C02801F2E0E4 -S11318F04F0E511CF801A080B18036FE03C0692D43 -S113190070E002C06FEF7FEFC5010E94CB0D4C0168 -S11319108201F32DFF773F2E16C0280122E0420EEC -S1131920511CF801A080B18036FE03C0692D70E01F -S113193002C06FEF7FEFC5010E94C00D4C01F32D73 -S1131940F0683F2E820133FC1BC0822D90E0881684 -S11319509906B0F4B60180E290E00E94D60D2A9474 -S1131960F4CFF50137FC859137FE81915F01B60113 -S113197090E00E94D60D21102A9421E0821A910849 -S11319808114910471F7E8C0843611F0893641F569 -S1131990F80137FE07C060817181828193810C5FF9 -S11319A01F4F08C060817181072E000C880B990BB2 -S11319B00E5F1F4FF32DFF763F2E97FF09C09095C2 -S11319C08095709561957F4F8F4F9F4FF0683F2EA4 -S11319D02AE030E0A3010E94120E882E861845C02A -S11319E0853731F4232D2F7EB22E2AE030E025C036 -S11319F0932D997FB92E8F36C1F018F4883579F07C -S1131A00B5C0803719F0883721F0B0C0E92FE06104 -S1131A10BE2EB4FE0DC0FB2DF460BF2E09C034FEF3 -S1131A200AC0292F2660B22E06C028E030E005C087 -S1131A3020E130E002C020E132E0F801B7FE07C047 -S1131A4060817181828193810C5F1F4F06C0608128 -S1131A50718180E090E00E5F1F4FA3010E94120E7F -S1131A60882E8618FB2DFF773F2E36FE0DC0232DC2 -S1131A702E7FA22E891458F434FE0BC032FC09C008 -S1131A80832D8E7EA82E05C0B82CA32C03C0B82CA1 -S1131A9001C0B92CA4FE0FC0FE01E80DF11D808128 -S1131AA0803321F49A2D997EA92E09C0A2FE06C086 -S1131AB0B394B39404C08A2D867809F0B394A3FC3C -S1131AC011C0A0FE06C0B21488F4280C922C9B18F6 -S1131AD00EC0B21460F4B60180E290E00E94D60D0C -S1131AE0B394F7CFB21418F42B1802C0982C212CFD -S1131AF0A4FE10C0B60180E390E00E94D60DA2FEC1 -S1131B0017C0A1FC03C088E790E002C088E590E01C -S1131B10B6010CC08A2D867859F0A1FE02C08BE272 -S1131B2001C080E2A7FC8DE2B60190E00E94D60DD0 -S1131B30891438F4B60180E390E00E94D60D9A949B -S1131B40F7CF8A94F301E80DF11D8081B60190E08E -S1131B500E94D60D8110F5CF222009F442CEB601A1 -S1131B6080E290E00E94D60D2A94F6CFF601868199 -S1131B70978102C08FEF9FEF2B96E2E10C948C0EBD -S1131B80FC010590615070400110D8F78095909544 -S1131B908E0F9F1F0895FC01615070400190011049 -S1131BA0D8F7809590958E0F9F1F08950F931F93DC -S1131BB0CF93DF93FB01238121FD03C08FEF9FEFC0 -S1131BC02CC022FF16C046815781248135814217DB -S1131BD0530744F4A081B1819D012F5F3F4F3183AE -S1131BE020838C93268137812F5F3F4F3783268351 -S1131BF014C08B01EC01FB010084F185E02D0995F3 -S1131C00892BE1F6D80116968D919C911797019630 -S1131C1017969C938E931697CE01DF91CF911F91C7 -S1131C200F910895FA01AA27283051F1203181F14A -S1131C30E8946F936E7F6E5F7F4F8F4F9F4FAF4FD0 -S1131C40B1E03ED0B4E03CD0670F781F891F9A1FE3 -S1131C50A11D680F791F8A1F911DA11D6A0F711D97 -S1131C60811D911DA11D20D009F468943F912AE0A3 -S1131C70269F11243019305D3193DEF6CF0108958B -S1131C80462F4770405D4193B3E00FD0C9F7F6CFBC -S1131C90462F4F70405D4A3318F0495D31FD405284 -S1131CA0419302D0A9F7EACFB4E0A695979587951A -S1131CB077956795BA95C9F70097610571050895F9 -S1131CC09B01AC010A2E06945795479537952795A5 -S1131CD0BA95C9F7620F731F841F951FA01D08953D -S1131CE02F923F924F925F926F927F928F929F9228 -S1131CF0AF92BF92CF92DF92EF92FF920F931F9316 -S1131D00CF93DF93CDB7DEB7CA1BDB0B0FB6F894C6 -S1131D10DEBF0FBECDBF09942A88398848885F8406 -S1131D206E847D848C849B84AA84B984C884DF8077 -S1131D30EE80FD800C811B81AA81B981CE0FD11D5B -S1131D400FB6F894DEBF0FBECDBFED010895F89431 -S1051D50FFCFBF -S1131D5265727220696E206765745F6672616D6573 -S1131D623A2025640A000000891112239B3224467A -S1131D72AD573665BF74488CC19D5AAFD3BE6CCA89 -S1131D82E5DB7EE9F7F88110080193331A22A556A0 -S1131D922C47B7753E64C99C408DDBBF52AEEDDA69 -S1131DA264CBFFF976E802218B301002991326677F -S1131DB2AF763444BD554AADC3BC588ED19F6EEB49 -S1131DC2E7FA7CC8F5D983310A2091121803A77760 -S1131DD22E66B5543C45CBBD42ACD99E508FEFFB29 -S1131DE266EAFDD874C904428D5316619F702004BB -S1131DF2A9153227BB364CCEC5DF5EEDD7FC688809 -S1131E02E1997AABF3BA85520C4397711E60A1141F -S1131E122805B3373A26CDDE44CFDFFD56ECE998E8 -S1131E226089FBBB72AA06638F7214409D512225FE -S1131E32AB343006B9174EEFC7FE5CCCD5DD6AA9C8 -S1131E42E3B8788AF19B87730E6295501C41A335DF -S1131E522A24B1163807CFFF46EEDDDC54CDEBB9A8 -S1131E6262A8F99A708B088481951AA793B62CC23A -S1131E72A5D33EE1B7F04008C919522BDB3A644EB0 -S1131E82ED5F766DFF7C899400859BB712A6ADD277 -S1131E9224C3BFF136E0C1184809D33B5A2AE55E90 -S1131EA26C4FF77D7E6C0AA583B4188691972EE356 -S1131EB2A7F23CC0B5D14229CB38500AD91B666F70 -S1131EC2EF7E744CFD5D8BB502A499961087AFF337 -S1131ED226E2BDD034C1C3394A28D11A580BE77F50 -S1131EE26E6EF55C7C4D0CC685D71EE597F4288092 -S1131EF2A1913AA3B3B2444ACD5B5669DF78600C30 -S1131F02E91D722FFB3E8DD604C79FF516E4A990F6 -S1131F122081BBB332A2C55A4C4BD7795E68E11C0F -S1131F22680DF33F7A2E0EE787F61CC495D52AA1D5 -S1131F32A3B03882B193466BCF7A5448DD59622DEF -S1131F42EB3C700EF91F8FF706E69DD414C5ABB1B6 -S1131F5222A0B9923083C77B4E6AD5585C49E33DCF -S1131F626A2CF11E780F252E32662E252E32662E0D -S1131F72252E326600776F72642077617220696E53 -S1131F82206E657720776F726C6420696F206578A4 -S1051F92000049 -S9030000FC diff --git a/hdlc_screen/Debug/main.d b/hdlc_screen/Debug/main.d deleted file mode 100644 index 62e6098..0000000 --- a/hdlc_screen/Debug/main.d +++ /dev/null @@ -1,86 +0,0 @@ -main.d main.o: .././main.c .././hdlc/client.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ - .././hdlc/hdlc.h .././hdlc/fcs.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - .././UART/uart.h .././LCD/lcd.h .././Protocol/protocol.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -.././hdlc/client.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ - .././hdlc/hdlc.h .././hdlc/fcs.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - .././UART/uart.h .././LCD/lcd.h .././Protocol/protocol.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -.././hdlc/client.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -.././hdlc/hdlc.h: - -.././hdlc/fcs.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\errno.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 - -.././UART/uart.h: - -.././LCD/lcd.h: - -.././Protocol/protocol.h: - -<<<<<<< HEAD -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 diff --git a/hdlc_screen/Debug/main.o b/hdlc_screen/Debug/main.o deleted file mode 100644 index 2525d10..0000000 Binary files a/hdlc_screen/Debug/main.o and /dev/null differ diff --git a/hdlc_screen/Debug/makedep.mk b/hdlc_screen/Debug/makedep.mk deleted file mode 100644 index 3b06a79..0000000 --- a/hdlc_screen/Debug/makedep.mk +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit or delete the file -################################################################################ - -hdlc\client.c - -hdlc\fcs.c - -hdlc\hdlc.c - -LCD\lcdpcf8574.c - -LCD\Lcd_print.c - -LCD\pcf8574.c - -LCD\twimaster.c - -main.c - -protocol\protocol.c - -UART\circular_buf.c - -UART\uart.c - diff --git a/hdlc_screen/Debug/protocol/protocol.d b/hdlc_screen/Debug/protocol/protocol.d deleted file mode 100644 index 426cff7..0000000 --- a/hdlc_screen/Debug/protocol/protocol.d +++ /dev/null @@ -1,57 +0,0 @@ -protocol/protocol.d protocol/protocol.o: ../protocol/protocol.c \ - ../protocol/protocol.h \ -<<<<<<< HEAD - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -../protocol/protocol.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: -======= - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h - -../protocol/protocol.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: - -c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h: ->>>>>>> 2ad07a39c5b52693c7d6572f447e17d76787e562 diff --git a/hdlc_screen/Debug/protocol/protocol.o b/hdlc_screen/Debug/protocol/protocol.o deleted file mode 100644 index 614c346..0000000 Binary files a/hdlc_screen/Debug/protocol/protocol.o and /dev/null differ diff --git a/hdlc_screen/LCD/Lcd_print.c b/hdlc_screen/LCD/Lcd_print.c deleted file mode 100644 index 848976e..0000000 --- a/hdlc_screen/LCD/Lcd_print.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "lcd_headers.h" -#include "lcd.h" -//#include "time.h" -// #include -//#include - -struct TextCounter { - unsigned long startTime; - int incrementValue; -}; - -struct TextCounter textCounter; - -//struct TextCounter textCounter; - -void Lcd_inciliation() { - lcd_init(LCD_DISP_ON_BLINK); // инициализация дисплея - lcd_home(); // домой курсор - lcd_led(0); // вкл подсветки - //textCounter.startTime = millis(); // Запоминаем время запуска программы - //Из за строчки выше все ломается -} - -void fillBuffer1(const char* source, char* buffer, size_t bufferSize, int incrementValue) { - int startIndex = incrementValue % strlen(source); // Определяем начальный индекс на основе incrementValue - int endIndex = startIndex + 16; - - for (int i = 0; i < 16; ++i) { - buffer[i] = source[(startIndex + i) % strlen(source)]; - } - buffer[16] = '\0'; // Установка нулевого символа в конце буфера -} - -void fillBuffer2(float value1, float value2, float value3, char* buffer, size_t bufferSize) { - snprintf(buffer, bufferSize, "%.2f.%.2f.%.2f", value1, value2, value3); -} - -void printLcd(struct DisplayData* displayData) { - //unsigned long currentTime = millis(); // Текущее время - // Проверяем, прошло ли 500 мс с момента последнего увеличения incrementValue - //if (currentTime - textCounter.startTime >= 500) { - // textCounter.incrementValue++; // Увеличиваем incrementValue на 1 - // textCounter.startTime = currentTime; // Обновляем время - //} - - //struct DisplayData displayData; - //strncpy(displayData.topLine, decode_message->str, sizeof(displayData.topLine) - 1); - //displayData.topLine[sizeof(displayData.topLine) - 1] = '\0'; - //displayData.value1 = displayDataResp->value1; - //displayData.value2 = displayDataResp->value2; - //displayData.value3 = displayDataResp->value3; - - // Буферы для заполнения данных - char buffer1[17]; - char buffer2[17]; - - // Заполнение буфера 1 - fillBuffer1(displayData->topLine, buffer1, sizeof(buffer1), textCounter.incrementValue); - - // Заполнение буфера 2 - fillBuffer2(displayData->value1, displayData->value2, displayData->value3, buffer2, sizeof(buffer2)); - - // Создание массива для вывода на дисплей - char displayArray[32]; - strncpy(displayArray, buffer1, 16); // Копирование первых 16 символов из buffer1 в displayArray - strncpy(displayArray + 16, buffer2, 16); // Копирование первых 16 символов из buffer2 в displayArray, начиная с позиции 16 - - // Вывод данных на экран - lcd_gotoxy(0, 0); - lcd_puts(displayArray); - - lcd_gotoxy(0, 1); - lcd_puts(displayArray + 16); // Вывод второй половины displayArray -} - -//void dder() { -// Lcd_inciliation(); -// -// uint8_t encode_message[100]; -// size_t len_encode_message = 0; -// struct message message; -// -// -// // Получаем данные из протокола -// protocol_encode(message, encode_message, &len_encode_message); -// -// // Декодируем данные из протокола -// struct message decode_message; -// protocol_decode(encode_message, len_encode_message, &decode_message); -// -// // Выводим данные на экран -// printLcd(&decode_message); -//} \ No newline at end of file diff --git a/hdlc_screen/LCD/i2cmaster.h b/hdlc_screen/LCD/i2cmaster.h deleted file mode 100644 index e1f01af..0000000 --- a/hdlc_screen/LCD/i2cmaster.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _I2CMASTER_H -#define _I2CMASTER_H - -// , i2c -#define I2C_READ 1 - -// , i2c -#define I2C_WRITE 0 - -// -#define SCL_CLOCK 100000L - -// -void i2c_init(void); - -// -void i2c_stop(void); - -// -unsigned char i2c_start(unsigned char addr); - -// () -unsigned char i2c_rep_start(unsigned char addr); - -// , - , -void i2c_start_wait(unsigned char addr); - - // -unsigned char i2c_write(unsigned char data); - -// -unsigned char i2c_readAck(void); - -// -unsigned char i2c_readNak(void); - -// -unsigned char i2c_read(unsigned char ack); - -// -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); -#endif diff --git a/hdlc_screen/LCD/lcdpcf8574.h b/hdlc_screen/LCD/lcdpcf8574.h deleted file mode 100644 index d5c35b0..0000000 --- a/hdlc_screen/LCD/lcdpcf8574.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef LCD_H -#define LCD_H - -#define LCD_PCF8574_INIT 1 // pcf - -#define LCD_PCF8574_DEVICEID 0 //id - -#define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_2LINES - -// : / , / -#define LCD_ENTRY_DEC 0x04 // , -#define LCD_ENTRY_DEC_SHIFT 0x05 // , -#define LCD_ENTRY_INC_ 0x06 // , . -#define LCD_ENTRY_INC_SHIFT 0x07 // , - -// / , / , -#define LCD_DISP_OFF 0x08 // -#define LCD_DISP_ON 0x0C // , -#define LCD_DISP_ON_BLINK 0x0D // , , -#define LCD_DISP_ON_CURSOR 0x0E // , -#define LCD_DISP_ON_CURSOR_BLINK 0x0F // , , - -// / -#define LCD_MOVE_CURSOR_LEFT 0x10 // -#define LCD_MOVE_CURSOR_RIGHT 0x14 // -#define LCD_MOVE_DISP_LEFT 0x18 // -#define LCD_MOVE_DISP_RIGHT 0x1C // - -// : -#define LCD_FUNCTION_4BIT_1LINE 0x20 // 4- , , 5x7 -#define LCD_FUNCTION_4BIT_2LINES 0x28 // 4- , , 5x7 -#define LCD_FUNCTION_8BIT_1LINE 0x30 // 8- , , 5x7 -#define LCD_FUNCTION_8BIT_2LINES 0x38 // 8- , , 5x7 - -#define LCD_LINES 2 // - -#define LCD_DISP_LENGTH 16 // - -#define LCD_LINE_LENGTH 0x40 // -#define LCD_START_LINE1 0x00 // DDRM 1 -#define LCD_START_LINE2 0x40 // DDRM 2 -#define LCD_WRAP_LINES 1 // - - - -#define LCD_DATA0_PIN 4 // -#define LCD_DATA1_PIN 5 // -#define LCD_DATA2_PIN 6 // -#define LCD_DATA3_PIN 7 // -#define LCD_RS_PIN 0 // RS -#define LCD_RW_PIN 1 // RW -#define LCD_E_PIN 2 // -#define LCD_LED_PIN 3 // - - -// HD44780U. -#define LCD_CLR 0 // -#define LCD_HOME 1 // -#define LCD_ENTRY_MODE 2 // -#define LCD_ENTRY_INC 1 // -#define LCD_ENTRY_SHIFT 0 // -#define LCD_ON 3 // -#define LCD_ON_DISPLAY 2 // -#define LCD_ON_CURSOR 1 // -#define LCD_ON_BLINK 0 // -#define LCD_MOVE 4 // -#define LCD_MOVE_DISP 3 // -#define LCD_MOVE_RIGHT 2 // -#define LCD_FUNCTION 5 // -#define LCD_FUNCTION_8BIT 4 // 8 -#define LCD_FUNCTION_2LINES 3 // -#define LCD_FUNCTION_10DOTS 2 // -#define LCD_CGRAM 6 // CG RAM -#define LCD_DDRAM 7 // DD RAM -#define LCD_BUSY 7 // - -// -#define LCD_MODE_DEFAULT ((1<= 0 && deviceid < PCF8574_MAXDEVICES)) { - data = pcf8574_pinstatus[deviceid]; - } - return data; -} - -// получаем статус пинов вывода -int8_t pcf8574_getoutputpin(uint8_t deviceid, uint8_t pin) { - int8_t data = -1; - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { - data = pcf8574_pinstatus[deviceid]; - data = (data >> pin) & 0b00000001; - } - return data; -} - -// настройка вывода -int8_t pcf8574_setoutput(uint8_t deviceid, uint8_t data) { - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES)) { - pcf8574_pinstatus[deviceid] = data; - i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); - i2c_write(data); - i2c_stop(); - return 0; - } - return -1; -} - -// установить выходные контакты, заменить фактический статус устройства из pinstart для i2c -int8_t pcf8574_setoutputpins(uint8_t deviceid, uint8_t pinstart, uint8_t pinlength, int8_t data) { - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pinstart - pinlength + 1 >= 0 && pinstart - pinlength + 1 >= 0 && pinstart < PCF8574_MAXPINS && pinstart > 0 && pinlength > 0)) { - uint8_t b = 0; - b = pcf8574_pinstatus[deviceid]; - uint8_t mask = ((1 << pinlength) - 1) << (pinstart - pinlength + 1); - data <<= (pinstart - pinlength + 1); - data &= mask; - b &= ~(mask); - b |= data; - pcf8574_pinstatus[deviceid] = b; - //рестартим - i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); - i2c_write(b); - i2c_stop(); - return 0; - } - return -1; -} - -// настройка пинов вывода -int8_t pcf8574_setoutputpin(uint8_t deviceid, uint8_t pin, uint8_t data) { - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { - uint8_t b = 0; - b = pcf8574_pinstatus[deviceid]; - b = (data != 0) ? (b | (1 << pin)) : (b & ~(1 << pin)); - pcf8574_pinstatus[deviceid] = b; - //рестартим - i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); - i2c_write(b); - i2c_stop(); - return 0; - } - return -1; -} - -// установка высокого уровня на выходных пинах -int8_t pcf8574_setoutputpinhigh(uint8_t deviceid, uint8_t pin) { - return pcf8574_setoutputpin(deviceid, pin, 1); -} - -// установка низкого уровня на выходных пинах -int8_t pcf8574_setoutputpinlow(uint8_t deviceid, uint8_t pin) { - return pcf8574_setoutputpin(deviceid, pin, 0); -} - -// получение входных данных -int8_t pcf8574_getinput(uint8_t deviceid) { - int8_t data = -1; - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES)) { - i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_READ); - data = ~i2c_readNak(); - i2c_stop(); - } - return data; -} - -// получение входного контакта (высокий или низкий) -int8_t pcf8574_getinputpin(uint8_t deviceid, uint8_t pin) { - int8_t data = -1; - if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { - data = pcf8574_getinput(deviceid); - if(data != -1) { - data = (data >> pin) & 0b00000001; - } - } - return data; -} \ No newline at end of file diff --git a/hdlc_screen/Readme.md b/hdlc_screen/Readme.md deleted file mode 100644 index e63e9d8..0000000 --- a/hdlc_screen/Readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Устройство с дисплеем на AVR -* Команда: Лежнин Роман, Куршаков Кирилл, Деркачев Андрей, Чертков Максим - -Лежнин Роман -* Главный в группе -* Внедрение протокола HDLC и разработка протокола - -Куршаков Кирилл -* Внедрение протокола UART - -Чертков Максим -* Отрисовка данных на дисплей - -Деркачев Андрей -* Соединения и рефактор блоков UART, HDLC и вывода \ No newline at end of file diff --git a/hdlc_screen/hdlc_screen.componentinfo.xml b/hdlc_screen/hdlc_screen.componentinfo.xml deleted file mode 100644 index 7473b85..0000000 --- a/hdlc_screen/hdlc_screen.componentinfo.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - Device - Startup - - - Atmel - 1.2.0 - D:/atmelstudio\7.0\Packs - - - - - D:/atmelstudio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include - - include - C - - - include - - - - - D:/atmelstudio\7.0\Packs\atmel\ATmega_DFP\1.2.209\include\avr\iom328p.h - - header - C - UMk4QUzkkuShabuoYtNl/Q== - - include/avr/iom328p.h - - - - - D:/atmelstudio\7.0\Packs\atmel\ATmega_DFP\1.2.209\templates\main.c - template - source - C Exe - 7MqOviI+fX8DsJg4frGlyg== - - templates/main.c - Main file (.c) - - - - D:/atmelstudio\7.0\Packs\atmel\ATmega_DFP\1.2.209\templates\main.cpp - template - source - C Exe - YXFphlh0CtZJU+ebktABgQ== - - templates/main.cpp - Main file (.cpp) - - - - D:/atmelstudio\7.0\Packs\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p - - libraryPrefix - GCC - - - gcc/dev/atmega328p - - - - - ATmega_DFP - D:/atmelstudio/7.0/Packs/atmel/ATmega_DFP/1.2.209/Atmel.ATmega_DFP.pdsc - 1.2.209 - true - ATmega328P - - - - Resolved - Fixed - true - - - \ No newline at end of file diff --git a/hdlc_screen/hdlc_screen.cproj b/hdlc_screen/hdlc_screen.cproj deleted file mode 100644 index 541f3ef..0000000 --- a/hdlc_screen/hdlc_screen.cproj +++ /dev/null @@ -1,185 +0,0 @@ - - - - 2.0 - 7.0 - com.Atmel.AVRGCC8.C - dce6c7e3-ee26-4d79-826b-08594b9ad897 - ATmega328P - none - Executable - C - $(MSBuildProjectName) - .elf - $(MSBuildProjectDirectory)\$(Configuration) - hdlc_screen - hdlc_screen - hdlc_screen - Native - true - false - true - true - 0x20000000 - - true - exception_table - 2 - 0 - 0 - - - - - - -mmcu=atmega328p -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" - True - True - True - True - False - True - True - - - NDEBUG - - - - - %24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\include - - - Optimize for size (-Os) - True - True - True - - - libm - - - - - %24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\include - - - - - - - - - -mmcu=atmega328p -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\gcc\dev\atmega328p" - True - True - True - True - False - True - True - - - DEBUG - - - - - %24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\include - - - Optimize (-O1) - True - True - Default (-g2) - True - - - libm - - - - - %24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\include - - - Default (-Wa,-g) - - - - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - compile - - - - - - - - - - \ No newline at end of file diff --git a/hdlc_screen/keywords.txt b/hdlc_screen/keywords.txt deleted file mode 100644 index 26f60da..0000000 --- a/hdlc_screen/keywords.txt +++ /dev/null @@ -1,10 +0,0 @@ -lcd_init KEYWORD2 -lcd_clrscr KEYWORD2 -lcd_home KEYWORD2 -lcd_gotoxy KEYWORD2 -lcd_led KEYWORD2 -lcd_putc KEYWORD2 -lcd_puts KEYWORD2 -lcd_puts_p KEYWORD2 -lcd_command KEYWORD2 -lcd_data KEYWORD2 \ No newline at end of file diff --git a/hdlc_screen/main.c b/hdlc_screen/main.c deleted file mode 100644 index 8a30f50..0000000 --- a/hdlc_screen/main.c +++ /dev/null @@ -1,110 +0,0 @@ -#include "hdlc/client.h" -#include "UART/uart.h" -#include "stdbool.h" -#include "LCD/lcd.h" -#include "Protocol/protocol.h" - -int main(void) { - struct Client hdlc; - bool flag_connection = false; - - Lcd_inciliation(); - UART_init(); - init_hdlc_client(&hdlc, 200); - - hdlc_connect(&hdlc); - uint8_t buffer[10]; - - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - - UART_send(buffer, sizeof buffer); - - while(!flag_connection){ - uint8_t* buffer_recive[10]; - UART_receive(buffer_recive, sizeof buffer_recive); - - int err = hdlc_timeout_handler(&hdlc, 1); - if (err == ERR_FRAME_TIME_OUT){ - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - UART_send(buffer, sizeof buffer); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive, sizeof buffer_recive, 0, 0); - if (err < 0){ - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - UART_send(buffer_rej, sizeof buffer_rej); - return err; - } - return err; - } - - if (hdlc.state == READY_STATE){ - flag_connection = true; - } - } - - struct message mess; - mess.numbers[0] = 1.23; - mess.numbers[1] = 22.1; - mess.numbers[2] = 100; - mess.len_numbers = 3; - mess.str = "word war in new world io ex"; - mess.len_str = sizeof mess.str; - - uint8_t data[64]; - size_t len_data; - protocol_encode(mess, data, &len_data); - - hdlc_send_data(&hdlc, data, len_data); - uint8_t buffer_data[72]; - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - - UART_send(buffer_data, sizeof buffer_data); - - bool flag_recive = false; - uint8_t data_recive[64]; - size_t len_data_recive; - while (!flag_recive){ - uint8_t* buffer_recive_data[72]; - UART_receive(buffer_recive_data, sizeof buffer_recive_data); - - int err = hdlc_timeout_handler(&hdlc, 1); - if (err == ERR_FRAME_TIME_OUT){ - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - UART_send(buffer_data, sizeof buffer_data); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, data_recive, &len_data_recive); - if (err < 0){ - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - UART_send(buffer_rej, sizeof buffer_rej); - return err; - } - return err; - } - - if (hdlc.state == SEND){ - flag_recive = true; - } - } - - struct message resp; - protocol_decode(data_recive, len_data_recive, &resp); - - struct DisplayData disp; - disp.value1 = resp.numbers[0]; - disp.value2 = resp.numbers[1]; - disp.value3 = resp.numbers[2]; - //disp.topLine = *resp.str; - strncpy(disp.topLine, resp.str, sizeof(disp.topLine) - 1); - - printLcd(&disp); - - return 0; -} \ No newline at end of file diff --git a/hdlc_screen/main_com.c b/hdlc_screen/main_com.c deleted file mode 100644 index d4ff80d..0000000 --- a/hdlc_screen/main_com.c +++ /dev/null @@ -1,175 +0,0 @@ -#include -#include -#include "hdlc/client.h" -#include "stdint.h" -#include "stdbool.h" -#include "protocol/protocol.h" - -int main() { - struct Client hdlc; - HANDLE Port_1; - HANDLE Port_2; - init_hdlc_client(&hdlc, 200); - - //Открыть COM-порт - Port_1 = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, - 0, NULL, OPEN_EXISTING, - 0, NULL); - - if (Port_1 == INVALID_HANDLE_VALUE) { - DWORD errorCode = GetLastError(); - //printf("Create file err: %d.\n", INVALID_HANDLE_VALUE); - printf("Create file err: %lu.\n", errorCode); - return 1; - } - - COMMTIMEOUTS timeouts1 = {0}; - // Установка таймаутов чтения/записи - timeouts1.ReadIntervalTimeout = 100; - timeouts1.ReadTotalTimeoutConstant = 100; - timeouts1.ReadTotalTimeoutMultiplier = 50; - timeouts1.WriteTotalTimeoutConstant = 100; - timeouts1.WriteTotalTimeoutMultiplier = 50; - - if (!SetCommTimeouts(Port_1, &timeouts1)) { - printf("err add timeout COM port.\n"); - CloseHandle(Port_1); - return 1; - } - - // Открыть COM-порт - Port_2 = CreateFile("COM2", GENERIC_READ | GENERIC_WRITE, - 0, NULL, OPEN_EXISTING, - 0, NULL); - - if (Port_2 == INVALID_HANDLE_VALUE) { - DWORD errorCode = GetLastError(); - //printf("Create file err: %d.\n", INVALID_HANDLE_VALUE); - printf("Create file err: %lu.\n", errorCode); - return 1; - } - - if (!SetCommTimeouts(Port_2, &timeouts1)) { - printf("Ошибка при установке таймаутов COM-порта.\n"); - CloseHandle(Port_1); - return 1; - } - hdlc_connect(&hdlc); - uint8_t buffer_send_connect[10]; - - hdlc_get_raw_frame(&hdlc, buffer_send_connect, sizeof buffer_send_connect); - - //Write frame from port 1 - DWORD written; - BOOL success_write_send = WriteFile(Port_1, buffer_send_connect, sizeof buffer_send_connect, - &written, NULL); - - if (!success_write_send){ - DWORD errorCode = GetLastError(); - printf("WriteFile err: %lu.\n", errorCode); - return -1; - } - if (written != sizeof buffer_send_connect){ - printf("Failed to write all bytes to port"); - return -1; - } - - bool flag_connection = false; - while(!flag_connection){ - uint8_t buffer_recive_connect[10]; - DWORD received; - BOOL success = ReadFile(Port_2, buffer_recive_connect, sizeof buffer_recive_connect, - &received, NULL); - if (!success) - { - printf("Failed to read from port"); - return -1; - } - - int err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_connect, sizeof buffer_recive_connect, - 0, 0); - if (err < 0){ -// if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ -// uint8_t* buffer_rej[10]; -// hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); -// //UART_send(buffer_rej, sizeof buffer_rej); -// return err; -// } - return err; - } - - if (hdlc.state == READY_STATE){ - flag_connection = true; - } - } - - struct message mess; - mess.numbers[0] = 12133.23; - mess.numbers[1] = 21232.1; - mess.numbers[2] = 100; - mess.len_numbers = 3; - mess.str = "word war"; - mess.len_str = sizeof mess.str; - - uint8_t data[23]; - size_t len_data; - protocol_encode(mess, data, &len_data); - hdlc_send_data(&hdlc, data, sizeof(data)); - uint8_t buffer_for_ex_data[29]; - - hdlc_get_raw_frame(&hdlc, buffer_for_ex_data, sizeof buffer_for_ex_data); - - DWORD written_data; - BOOL success_write_data = WriteFile(Port_1, buffer_for_ex_data, sizeof buffer_for_ex_data, - &written_data, NULL); - - if (!success_write_data){ - DWORD errorCode = GetLastError(); - printf("WriteFile err: %lu.\n", errorCode); - return -1; - } - if (written_data != sizeof buffer_for_ex_data){ - printf("Failed to write all bytes to port"); - return -1; - } - - bool flag_data = false; - while(!flag_data){ - uint8_t buffer_recive_data[29]; - DWORD received_data; - BOOL success = ReadFile(Port_2, buffer_recive_data, sizeof buffer_recive_data, - &received_data, NULL); - if (!success) - { - printf("Failed to read from port"); - return -1; - } - - uint8_t data_recive[23]; - size_t len_data_recive; - int err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, - data_recive, &len_data_recive); - if (err < 0){ -// if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ -// uint8_t* buffer_rej[10]; -// hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); -// //UART_send(buffer_rej, sizeof buffer_rej); -// return err; -// } - return err; - } - - struct message resp; - protocol_decode(data_recive, sizeof data_recive, &resp); - printf("1: %f\n", resp.numbers[0]); - printf("2: %f\n", resp.numbers[1]); - printf("3: %f\n", resp.numbers[2]); - printf("str: %s\n", resp.str); - flag_data = true; - } - - CloseHandle(Port_1); - CloseHandle(Port_2); - - return 0; -} \ No newline at end of file diff --git a/hdlc_screen/main_uart.c b/hdlc_screen/main_uart.c deleted file mode 100644 index 8a30f50..0000000 --- a/hdlc_screen/main_uart.c +++ /dev/null @@ -1,110 +0,0 @@ -#include "hdlc/client.h" -#include "UART/uart.h" -#include "stdbool.h" -#include "LCD/lcd.h" -#include "Protocol/protocol.h" - -int main(void) { - struct Client hdlc; - bool flag_connection = false; - - Lcd_inciliation(); - UART_init(); - init_hdlc_client(&hdlc, 200); - - hdlc_connect(&hdlc); - uint8_t buffer[10]; - - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - - UART_send(buffer, sizeof buffer); - - while(!flag_connection){ - uint8_t* buffer_recive[10]; - UART_receive(buffer_recive, sizeof buffer_recive); - - int err = hdlc_timeout_handler(&hdlc, 1); - if (err == ERR_FRAME_TIME_OUT){ - hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); - UART_send(buffer, sizeof buffer); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive, sizeof buffer_recive, 0, 0); - if (err < 0){ - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - UART_send(buffer_rej, sizeof buffer_rej); - return err; - } - return err; - } - - if (hdlc.state == READY_STATE){ - flag_connection = true; - } - } - - struct message mess; - mess.numbers[0] = 1.23; - mess.numbers[1] = 22.1; - mess.numbers[2] = 100; - mess.len_numbers = 3; - mess.str = "word war in new world io ex"; - mess.len_str = sizeof mess.str; - - uint8_t data[64]; - size_t len_data; - protocol_encode(mess, data, &len_data); - - hdlc_send_data(&hdlc, data, len_data); - uint8_t buffer_data[72]; - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - - UART_send(buffer_data, sizeof buffer_data); - - bool flag_recive = false; - uint8_t data_recive[64]; - size_t len_data_recive; - while (!flag_recive){ - uint8_t* buffer_recive_data[72]; - UART_receive(buffer_recive_data, sizeof buffer_recive_data); - - int err = hdlc_timeout_handler(&hdlc, 1); - if (err == ERR_FRAME_TIME_OUT){ - hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); - UART_send(buffer_data, sizeof buffer_data); - continue; - } - - err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, data_recive, &len_data_recive); - if (err < 0){ - if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ - uint8_t* buffer_rej[10]; - hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); - UART_send(buffer_rej, sizeof buffer_rej); - return err; - } - return err; - } - - if (hdlc.state == SEND){ - flag_recive = true; - } - } - - struct message resp; - protocol_decode(data_recive, len_data_recive, &resp); - - struct DisplayData disp; - disp.value1 = resp.numbers[0]; - disp.value2 = resp.numbers[1]; - disp.value3 = resp.numbers[2]; - //disp.topLine = *resp.str; - strncpy(disp.topLine, resp.str, sizeof(disp.topLine) - 1); - - printLcd(&disp); - - return 0; -} \ No newline at end of file diff --git a/i2cmaster.h b/i2cmaster.h new file mode 100644 index 0000000..72efb7c --- /dev/null +++ b/i2cmaster.h @@ -0,0 +1,42 @@ +#ifndef _I2CMASTER_H +#define _I2CMASTER_H + +// ����, ���������� �� ������ ������ �� i2c +#define I2C_READ 1 + +// ����, ���������� �� �������� ������ �� i2c +#define I2C_WRITE 0 + +// ������� ������������ ����� � ������ +#define SCL_CLOCK 100000L + +// ������������� ���������� +void i2c_init(void); + +// �������� ������� ���� �� ���� +void i2c_stop(void); + +// �������� ������� ����� �� ���� +unsigned char i2c_start(unsigned char addr); + +// ��������� �����(����������) +unsigned char i2c_rep_start(unsigned char addr); + +// ����, ���� ������-�� ������, � ����� �������� ������� ����� �� ���� +void i2c_start_wait(unsigned char addr); + + // �������� ������ +unsigned char i2c_write(unsigned char data); + +// ������ ������ � ���������� ������� +unsigned char i2c_readAck(void); + +// ������ ������ � ����� �� ��������� �������� ������ ���� +unsigned char i2c_readNak(void); + +// ������ ������ � ���� +unsigned char i2c_read(unsigned char ack); + +// �������� ����� ������ ������ ������ ����� +#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); +#endif diff --git a/hdlc_screen/LCD/lcd.h b/lcd.h similarity index 65% rename from hdlc_screen/LCD/lcd.h rename to lcd.h index f3ca4bc..e44079e 100644 --- a/hdlc_screen/LCD/lcd.h +++ b/lcd.h @@ -8,7 +8,7 @@ struct DisplayData { float value3; }; -void Lcd_inciliation(); -void printLcd(struct DisplayData* displayData); +void init_lcd(); +void print_lcd(struct DisplayData* displayData); #endif \ No newline at end of file diff --git a/hdlc_screen/LCD/lcdpcf8574.c b/lcdpcf8574.cpp similarity index 99% rename from hdlc_screen/LCD/lcdpcf8574.c rename to lcdpcf8574.cpp index 24d09ff..cedea71 100644 --- a/hdlc_screen/LCD/lcdpcf8574.c +++ b/lcdpcf8574.cpp @@ -1,10 +1,9 @@ -#include "lcd_headers.h" +#include "MyLCD.h" // задержеки через асемблер #define lcd_e_delay() __asm__ __volatile__( "rjmp 1f\n 1:" ); #define lcd_e_toggle() toggle_e() - volatile uint8_t dataport = 0; static void toggle_e(void); diff --git a/lcdpcf8574.h b/lcdpcf8574.h new file mode 100644 index 0000000..cff8714 --- /dev/null +++ b/lcdpcf8574.h @@ -0,0 +1,110 @@ +#ifndef LCD_H +#define LCD_H + +#define LCD_PCF8574_INIT 1 //������������� pcf + +#define LCD_PCF8574_DEVICEID 0 //id ���-�� +#define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_2LINES + +// ��������� ������ �����: ���������/���������� �������� �������, ����������� ����������� ������� ���������/����������� +#define LCD_ENTRY_DEC 0x04 // �������� ������� ���������, ������ ������������ �� ������� +#define LCD_ENTRY_DEC_SHIFT 0x05 // ��������� ������ �������, ����������� ������� �� ������� +#define LCD_ENTRY_INC_ 0x06 // �������� ������� ���������, ���. ����������� ������� � ����������� +#define LCD_ENTRY_INC_SHIFT 0x07 // ��������� �������� �������, ���������� ����������� ����������� ������� + +// ���������/���������� �������, ���������/���������� �������, �������� ������ � ������� ������� +#define LCD_DISP_OFF 0x08 // ������� �������� +#define LCD_DISP_ON 0x0C // ������� ���, ������ ���� +#define LCD_DISP_ON_BLINK 0x0D // ������� ���, ������ ����, ���� �������� ����� +#define LCD_DISP_ON_CURSOR 0x0E // ������� ���, ������ ��� +#define LCD_DISP_ON_CURSOR_BLINK 0x0F // ������� ���, ������ ���, ���� �������� ����� + +// ����������� �������/�������� ������� +#define LCD_MOVE_CURSOR_LEFT 0x10 // ������ ������ +#define LCD_MOVE_CURSOR_RIGHT 0x14 // ������ ������� +#define LCD_MOVE_DISP_LEFT 0x18 // ����� ����� +#define LCD_MOVE_DISP_RIGHT 0x1C // ����� ������ + +// ����� �������: ��������� ����� ������ ���������� � ���������� ����� ����������� +#define LCD_FUNCTION_4BIT_1LINE 0x20 // 4-������ ���������, ���� ������, 5x7 ����� +#define LCD_FUNCTION_4BIT_2LINES 0x28 // 4-������ ���������, ������������, 5x7 ����� +#define LCD_FUNCTION_8BIT_1LINE 0x30 // 8-������ ���������, ���� ������, 5x7 ����� +#define LCD_FUNCTION_8BIT_2LINES 0x38 // 8-������ ���������, ������������, 5x7 ����� + +#define LCD_LINES 2 // ���-�� ����� +#define LCD_DISP_LENGTH 16 // ���-�� �������� � ������ +#define LCD_LINE_LENGTH 0x40 // ���������� ����� ������ ������� +#define LCD_START_LINE1 0x00 // DDRM ����� ��� 1 ������ +#define LCD_START_LINE2 0x40 // DDRM ����� ��� 2 ������ +#define LCD_WRAP_LINES 1 // ������� ������ + + + +#define LCD_DATA0_PIN 4 // ��� ��� ������ +#define LCD_DATA1_PIN 5 // ��� ��� ������ +#define LCD_DATA2_PIN 6 // ��� ��� ������ +#define LCD_DATA3_PIN 7 // ��� ��� ������ +#define LCD_RS_PIN 0 // ��� ����� RS +#define LCD_RW_PIN 1 // ��� ����� RW +#define LCD_E_PIN 2 // ��� ����� ������������ +#define LCD_LED_PIN 3 // ��� ��������� + + +// ������� ����� �������� ������ HD44780U. +#define LCD_CLR 0 // ��������� ������� +#define LCD_HOME 1 // ������� ������ ����� +#define LCD_ENTRY_MODE 2 // ��������� ������ ����� +#define LCD_ENTRY_INC 1 // ��������� +#define LCD_ENTRY_SHIFT 0 // ��� �������� +#define LCD_ON 3 // ��� ������� +#define LCD_ON_DISPLAY 2 // ���� ������� +#define LCD_ON_CURSOR 1 // ���� ������ +#define LCD_ON_BLINK 0 // ������� ������� +#define LCD_MOVE 4 // ������������ ������� +#define LCD_MOVE_DISP 3 // ������������ ������� +#define LCD_MOVE_RIGHT 2 // ������������ ������� ������� +#define LCD_FUNCTION 5 // ��������� ������� +#define LCD_FUNCTION_8BIT 4 // 8 ������ ����� +#define LCD_FUNCTION_2LINES 3 // ��������� ����� +#define LCD_FUNCTION_10DOTS 2 // ������ +#define LCD_CGRAM 6 // ��������� ������ CG RAM +#define LCD_DDRAM 7 // ��������� ������ DD RAM +#define LCD_BUSY 7 // ������� ����� + +// ����������� ����� +#define LCD_MODE_DEFAULT ((1<= 0 && deviceid < PCF8574_MAXDEVICES)) { + data = pcf8574_pinstatus[deviceid]; + } + return data; +} + +// получаем статус пинов вывода +int8_t pcf8574_getoutputpin(uint8_t deviceid, uint8_t pin) { + int8_t data = -1; + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { + data = pcf8574_pinstatus[deviceid]; + data = (data >> pin) & 0b00000001; + } + return data; +} + +// настройка вывода +int8_t pcf8574_setoutput(uint8_t deviceid, uint8_t data) { + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES)) { + pcf8574_pinstatus[deviceid] = data; + i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); + i2c_write(data); + i2c_stop(); + return 0; + } + return -1; +} + +// установить выходные контакты, заменить фактический статус устройства из pinstart для i2c +int8_t pcf8574_setoutputpins(uint8_t deviceid, uint8_t pinstart, uint8_t pinlength, int8_t data) { + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pinstart - pinlength + 1 >= 0 && pinstart - pinlength + 1 >= 0 && pinstart < PCF8574_MAXPINS && pinstart > 0 && pinlength > 0)) { + uint8_t b = 0; + b = pcf8574_pinstatus[deviceid]; + uint8_t mask = ((1 << pinlength) - 1) << (pinstart - pinlength + 1); + data <<= (pinstart - pinlength + 1); + data &= mask; + b &= ~(mask); + b |= data; + pcf8574_pinstatus[deviceid] = b; + //рестартим + i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); + i2c_write(b); + i2c_stop(); + return 0; + } + return -1; +} + +// настройка пинов вывода +int8_t pcf8574_setoutputpin(uint8_t deviceid, uint8_t pin, uint8_t data) { + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { + uint8_t b = 0; + b = pcf8574_pinstatus[deviceid]; + b = (data != 0) ? (b | (1 << pin)) : (b & ~(1 << pin)); + pcf8574_pinstatus[deviceid] = b; + //рестартим + i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_WRITE); + i2c_write(b); + i2c_stop(); + return 0; + } + return -1; +} + +// установка высокого уровня на выходных пинах +int8_t pcf8574_setoutputpinhigh(uint8_t deviceid, uint8_t pin) { + return pcf8574_setoutputpin(deviceid, pin, 1); +} + +// установка низкого уровня на выходных пинах +int8_t pcf8574_setoutputpinlow(uint8_t deviceid, uint8_t pin) { + return pcf8574_setoutputpin(deviceid, pin, 0); +} + +// получение входных данных +int8_t pcf8574_getinput(uint8_t deviceid) { + int8_t data = -1; + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES)) { + i2c_start(((PCF8574_ADDRBASE+deviceid)<<1) | I2C_READ); + data = ~i2c_readNak(); + i2c_stop(); + } + return data; +} + +// получение входного контакта (высокий или низкий) +int8_t pcf8574_getinputpin(uint8_t deviceid, uint8_t pin) { + int8_t data = -1; + if((deviceid >= 0 && deviceid < PCF8574_MAXDEVICES) && (pin >= 0 && pin < PCF8574_MAXPINS)) { + data = pcf8574_getinput(deviceid); + if(data != -1) { + data = (data >> pin) & 0b00000001; + } + } + return data; +} diff --git a/hdlc_screen/LCD/pcf8574.h b/pcf8574.h similarity index 67% rename from hdlc_screen/LCD/pcf8574.h rename to pcf8574.h index 420cc49..74af505 100644 --- a/hdlc_screen/LCD/pcf8574.h +++ b/pcf8574.h @@ -1,12 +1,12 @@ #ifndef PCF8574_H_ #define PCF8574_H_ -#define PCF8574_ADDRBASE (0x27) // - +#define PCF8574_ADDRBASE (0x27) // ����� ���-�� -#define PCF8574_I2CINIT 1 // i2c +#define PCF8574_I2CINIT 1 // ������������� i2c -#define PCF8574_MAXDEVICES 1 // - -#define PCF8574_MAXPINS 8 // - +#define PCF8574_MAXDEVICES 1 // ���� ���-�� �������� +#define PCF8574_MAXPINS 8 // ���� ���-�� ����� void pcf8574_init(); int8_t pcf8574_getoutput(uint8_t deviceid); diff --git a/hdlc_screen/protocol/protocol.c b/protocol.cpp similarity index 100% rename from hdlc_screen/protocol/protocol.c rename to protocol.cpp diff --git a/hdlc_screen/protocol/protocol.h b/protocol.h similarity index 100% rename from hdlc_screen/protocol/protocol.h rename to protocol.h diff --git a/sketch_feb27a.ino b/sketch_feb27a.ino new file mode 100644 index 0000000..f32c0d5 --- /dev/null +++ b/sketch_feb27a.ino @@ -0,0 +1,109 @@ +#include "client.h" +#include "protocol.h" +#include "uart.h" +#include "MyLCD.h" + +struct Client hdlc; +struct DisplayData wait; +struct DisplayData recive_data; +bool wait_for_connect = false; + +void setup() { + init_lcd(); + init_hdlc_client(&hdlc, 200); + char str[] = "wait for connect... "; + strncpy(wait.topLine, str, sizeof(str)); + wait.value1 = 1.0f; + wait.value2 = 20.0f; + wait.value3 = 300.0f; + UART_init(); +} + +void loop() { + if (!wait_for_connect){ + print_lcd(&wait); + + hdlc_connect(&hdlc); + uint8_t buffer[10]; + + hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); + + UART_send(buffer, sizeof buffer); + + wait.value2 = 21.0f; + + bool recive_connect = false; + + while(!recive_connect){ + print_lcd(&wait); + + uint8_t buffer_recive[10]; + UART_receive(buffer_recive, sizeof buffer_recive); + + int err = hdlc_timeout_handler(&hdlc, 1); + if (err == ERR_FRAME_TIME_OUT){ + hdlc_get_raw_frame(&hdlc, buffer, sizeof buffer); + UART_send(buffer, sizeof buffer); + continue; + } + + err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive, sizeof buffer_recive, 0, 0); + if (err < 0){ + if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ + uint8_t buffer_rej[10]; + hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); + UART_send(buffer_rej, sizeof buffer_rej); + return err; + } + return err; + } + + if (hdlc.state == READY_STATE){ + wait_for_connect = true; + recive_connect = true; + } + } + } else { + bool flag_recive = false; + uint8_t data_recive[64]; + size_t len_data_recive; + + recive_data.value1 = 4.0f; + recive_data.value2 = 50.0f; + recive_data.value3 = 600.0f; + strncpy(recive_data.topLine, "Wait for data", sizeof(recive_data.topLine) - 1); + + while (!flag_recive){ + print_lcd(&recive_data); + + uint8_t buffer_recive_data[72]; + UART_receive(buffer_recive_data, sizeof buffer_recive_data); + + // int err = hdlc_timeout_handler(&hdlc, 1); + // if (err == ERR_FRAME_TIME_OUT){ + // hdlc_get_raw_frame(&hdlc, buffer_data, sizeof buffer_data); + // UART_send(buffer_data, sizeof buffer_data); + // continue; + // } + + int err = hdlc_decode_recived_raw_data(&hdlc, buffer_recive_data, sizeof buffer_recive_data, data_recive, &len_data_recive); + if (err < 0){ + if (err == ERR_INVALID_SEQ_NUMBER_FRAME){ + uint8_t buffer_rej[10]; + hdlc_get_raw_frame(&hdlc, buffer_rej, sizeof buffer_rej); + UART_send(buffer_rej, sizeof buffer_rej); + return err; + } + return err; + } + + struct message resp; + protocol_decode(data_recive, len_data_recive, &resp); + + recive_data.value1 = resp.numbers[0]; + recive_data.value2 = resp.numbers[1]; + recive_data.value3 = resp.numbers[2]; + strncpy(recive_data.topLine, resp.str, sizeof(recive_data.topLine) - 1); + } + } +} \ No newline at end of file diff --git a/hdlc_screen/LCD/twimaster.c b/twimaster.cpp similarity index 99% rename from hdlc_screen/LCD/twimaster.c rename to twimaster.cpp index 6019a42..2fad0d7 100644 --- a/hdlc_screen/LCD/twimaster.c +++ b/twimaster.cpp @@ -1,4 +1,4 @@ -#include "lcd_headers.h" +#include "MyLCD.h" // инициализация интерфейса i2c void i2c_init(void) diff --git a/uart.cpp b/uart.cpp new file mode 100644 index 0000000..258d644 --- /dev/null +++ b/uart.cpp @@ -0,0 +1,63 @@ +#include +#include +#include +#include +#include "circular_buf.h" +#include "uart.h" + +struct circular_buffer uartRxBuffer; +struct circular_buffer uartTxBuffer; + +void UART_init(void) { + UCSR0B = (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0) | (1< length) { + overflow = 1; + } + clear_buffer(&uartRxBuffer); + return overflow ? -1 : byteCount; // Возвращает количество успешно принятых байт или -1 в случае переполнения +} + +// прерывание по завершению приема +ISR(USART_RX_vect) { + uint8_t data = UDR0; // читаем из регистра UDR0 + if (!buffer_full(&uartRxBuffer)) { + write_buffer(&uartRxBuffer, data);// записываем символ в буфер приема + } +} + +ISR(USART_TX_vect) { + if (!buffer_empty(&uartTxBuffer)) { + UDR0 = read_buffer(&uartTxBuffer); + } else { + UCSR0B &= ~(1 << TXCIE0); // отключаем прерывание, когда все данные отправлены + } +} \ No newline at end of file diff --git a/uart.h b/uart.h new file mode 100644 index 0000000..99fd06c --- /dev/null +++ b/uart.h @@ -0,0 +1,13 @@ +#ifndef UART_H +#define UART_H +#include +#include + +#define F_CPU 16000000 + +void UART_init(void); +void UART_send(uint8_t* data, size_t length); +int UART_receive(uint8_t* data, size_t length); + + +#endif /* UART_H */ \ No newline at end of file