From d8f1a9295f9930a6674a0098ea2a304ad5a506d2 Mon Sep 17 00:00:00 2001 From: Christian Lind Madsen Date: Sat, 12 Apr 2025 21:01:25 +0200 Subject: [PATCH] i dont have space for task manager... --- storno_cqp6xx_digital_xtal/Debug/Makefile | 30 +- .../avr_eeprom_driver/avr_eeprom_driver.d | 64 +- .../avr_eeprom_driver/avr_eeprom_driver.o | Bin 6144 -> 6156 bytes .../Debug/avr_gpio_driver/avr_gpio.d | 56 +- .../Debug/avr_gpio_driver/avr_gpio.o | Bin 6444 -> 6460 bytes .../Debug/avr_i2c_driver/avr_i2c.d | 60 +- .../Debug/avr_i2c_driver/avr_i2c.o | Bin 17616 -> 17632 bytes .../Debug/avr_uart_driver/avr_uart.d | 64 +- .../Debug/avr_uart_driver/avr_uart.o | Bin 9952 -> 9968 bytes .../Debug/cm_msg/cm_msg.d | 24 +- .../Debug/cm_msg/cm_msg.o | Bin 9368 -> 9376 bytes .../Debug/cm_task_manager/cm_task_manager.d | 12 +- .../Debug/cm_task_manager/cm_task_manager.o | Bin 9688 -> 9700 bytes storno_cqp6xx_digital_xtal/Debug/cqm6xx_app.d | 72 +- storno_cqp6xx_digital_xtal/Debug/cqm6xx_app.o | Bin 17420 -> 17836 bytes storno_cqp6xx_digital_xtal/Debug/main.d | 64 +- storno_cqp6xx_digital_xtal/Debug/main.o | Bin 11228 -> 11148 bytes .../Debug/si5351_driver/si5351_driver.d | 36 +- .../Debug/si5351_driver/si5351_driver.o | Bin 32024 -> 32036 bytes .../Debug/storno_cqp6xx_digital_xtal.elf | Bin 62780 -> 63068 bytes .../Debug/storno_cqp6xx_digital_xtal.hex | 339 +- .../Debug/storno_cqp6xx_digital_xtal.lss | 2781 +++++++++-------- .../Debug/storno_cqp6xx_digital_xtal.map | 430 +-- .../Debug/storno_cqp6xx_digital_xtal.srec | 339 +- storno_cqp6xx_digital_xtal/cqm6xx_app.c | 148 +- storno_cqp6xx_digital_xtal/cqm6xx_app.h | 4 +- .../storno_cqp6xx_digital_xtal.cproj | 82 +- 27 files changed, 2433 insertions(+), 2172 deletions(-) diff --git a/storno_cqp6xx_digital_xtal/Debug/Makefile b/storno_cqp6xx_digital_xtal/Debug/Makefile index 61fb183..20f64e1 100644 --- a/storno_cqp6xx_digital_xtal/Debug/Makefile +++ b/storno_cqp6xx_digital_xtal/Debug/Makefile @@ -122,63 +122,63 @@ LINKER_SCRIPT_DEP+= avr_eeprom_driver/avr_eeprom_driver.o: ../avr_eeprom_driver/avr_eeprom_driver.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< avr_gpio_driver/avr_gpio.o: ../avr_gpio_driver/avr_gpio.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< avr_i2c_driver/avr_i2c.o: ../avr_i2c_driver/avr_i2c.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< avr_uart_driver/avr_uart.o: ../avr_uart_driver/avr_uart.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< cm_msg/cm_msg.o: ../cm_msg/cm_msg.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< cm_task_manager/cm_task_manager.o: ../cm_task_manager/cm_task_manager.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< ./cqm6xx_app.o: .././cqm6xx_app.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< ./main.o: .././main.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< si5351_driver/si5351_driver.o: ../si5351_driver/si5351_driver.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 - $(QUOTE)E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -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\ATtiny_DFP\1.10.348\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< @@ -208,13 +208,13 @@ 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 - $(QUOTE)E:\cm_programs\microchip_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="storno_cqp6xx_digital_xtal.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,-L"D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include" -Wl,-L"../avr_uart_driver" -Wl,--gc-sections -mmcu=attiny402 -B "E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" + $(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="storno_cqp6xx_digital_xtal.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,-L"D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include" -Wl,-L"../avr_uart_driver" -Wl,--gc-sections -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" @echo Finished building target: $@ - "E:\cm_programs\microchip_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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.hex" - "E:\cm_programs\microchip_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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.eep" || exit 0 - "E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "storno_cqp6xx_digital_xtal.elf" > "storno_cqp6xx_digital_xtal.lss" - "E:\cm_programs\microchip_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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.srec" - "E:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "storno_cqp6xx_digital_xtal.elf" + "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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.eep" || exit 0 + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "storno_cqp6xx_digital_xtal.elf" > "storno_cqp6xx_digital_xtal.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 "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.srec" + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "storno_cqp6xx_digital_xtal.elf" diff --git a/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.d b/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.d index 37dd5bc..159c1cd 100644 --- a/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.d +++ b/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.d @@ -2,53 +2,53 @@ avr_eeprom_driver/avr_eeprom_driver.d \ avr_eeprom_driver/avr_eeprom_driver.o: \ ../avr_eeprom_driver/avr_eeprom_driver.c \ ../avr_eeprom_driver/avr_eeprom_driver.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.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\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\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.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\xmega.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\eeprom.h ../avr_eeprom_driver/avr_eeprom_driver.h: -e:\cm_programs\microchip_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\stdio.h: -e:\cm_programs\microchip_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\avr\include\inttypes.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stdint.h: -e:\cm_programs\microchip_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\stdint.h: -e:\cm_programs\microchip_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\stdarg.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stddef.h: -e:\cm_programs\microchip_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\io.h: -e:\cm_programs\microchip_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\avr\sfr_defs.h: -E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: +C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: -e:\cm_programs\microchip_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\portpins.h: -e:\cm_programs\microchip_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\common.h: -e:\cm_programs\microchip_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\version.h: -e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: -e:\cm_programs\microchip_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\fuse.h: -e:\cm_programs\microchip_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\lock.h: -e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h: +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h: diff --git a/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.o b/storno_cqp6xx_digital_xtal/Debug/avr_eeprom_driver/avr_eeprom_driver.o index 330ff44c37116a81c16a7daab03596ebf2d7518d..71a8b727640d492639e082f41b059668c0de1328 100644 GIT binary patch delta 431 zcmZoL=rNd}!1!mQVk9d^79#@#69Wt5b>KI3_nUxhOw5 zBeNjBxTG{CGk@}24v)znIV?8oaLO<_xk^@2brGIBG3 zfg^~`17S-8+44Yf5LXq-Rs*v2p==`{+Z4*S0J1HiY&Rg=8^i``1nCWhvO#*|p=^-e zR0x}m0i-!|^I9QkCdLPoPm1_6vG7cm67^%$n4BqE&X_Uzp{PIOiOGgyKnbDAO=4P% zd6U7`hpE;)8xNm%1rE>la<8P7%e7yimNjonOq1Yc_z;Ul4~X(6jzt< P0eWRJ&?XoF+71Q)a4=mm delta 415 zcmeA%XfT+d!1!UKVk9d^5+efx6T=^d$xW=PlBrfP$+__bMfvGPiMhowxtYmD`N$Cl3|;R-V$D>b!jC&^AiUB1AC-;eIF{Vup6cwI)MofTFWAa@wb=C)L z3=9&JImMNkesE0I6IWx@nH(yv&bVW8t++ZXgD?ZbyU80lg(vS37hqg4`7BV(0qCvC GATa>8C|^DR diff --git a/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.d b/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.d index 1f47d49..71cb435 100644 --- a/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.d +++ b/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.d @@ -1,49 +1,49 @@ avr_gpio_driver/avr_gpio.d avr_gpio_driver/avr_gpio.o: \ ../avr_gpio_driver/avr_gpio.c ../avr_gpio_driver/avr_gpio.h \ ../avr_gpio_driver/../avr_global_config.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ - e:\cm_programs\microchip_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\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\ATtiny_DFP\1.10.348\include/avr/iotn402.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\xmega.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\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\stddef.h ../avr_gpio_driver/avr_gpio.h: ../avr_gpio_driver/../avr_global_config.h: -e:\cm_programs\microchip_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\io.h: -e:\cm_programs\microchip_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\avr\sfr_defs.h: -e:\cm_programs\microchip_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\avr\include\inttypes.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stdint.h: -e:\cm_programs\microchip_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\stdint.h: -E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: +C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: -e:\cm_programs\microchip_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\portpins.h: -e:\cm_programs\microchip_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\common.h: -e:\cm_programs\microchip_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\version.h: -e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: -e:\cm_programs\microchip_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\fuse.h: -e:\cm_programs\microchip_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\lock.h: -e:\cm_programs\microchip_studio\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\stdbool.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stddef.h: diff --git a/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.o b/storno_cqp6xx_digital_xtal/Debug/avr_gpio_driver/avr_gpio.o index 039c5d86aa5563480478e04be4a3cd9b0798220a..76a2248a4607443653d3b780c1eef3a62b69f0e2 100644 GIT binary patch delta 1085 zcmYk+T}V@57zgn8ogFv)JTY}=QEqXtX+or=lwcvI5~!2(CYgz>RjZASZKB}Cu#2LL zzV4P@$_&uH+m$VqE&Y%opuL2eFu7X zwhtWarkn14PMas|a-5>30{?HN)J9yoLa7OtQkCK|(q(q*Dl!d{iNSlt?-9GjZOHeF zzrus!$23yr%l9Ial*|jny!Zz47sM6tLva$G7yp1?i%%i0h=a(ligR!gPL=n+2#3UH zQE%3G92edp*&&5#6b8h1F%T7-1xjVa4tgfV-w>z7m(hPs>_-0s@g4L(5r0Bl7Qay^ zmHI1RLKrr1@rFJimWVZ?E&hex?c!NPK3ncz#sj*!W;M*i; zOqB2;sm>tsne)^Ysxxi9Ks}~UzoM9F`*}*?g?K6l8fUXR`ws+rqJ97X delta 1070 zcmZ|PPe>F|90&0C*2dk;wb4yyR?bxR_Ll$DxlVsEL&c5s3no~2U6+L;q;)NN%$kl^l0+TNNPZ83!5wB|Ep&5V}+Iu zbsz5BbFk-Fhb#wUQWk1;{|=lTN@o9APNstG`R-6AkY6ZjEQqcurAl$=ElOnrN|pby zl$Ln=zaX=hnUioU{R**zZbAMy{T}Y4AIOCgCwB-LpP50#9DNJ<8*~_cNS}u1=uhwq zx*BnXjw1h!_TeJDMzjAVxQ4Dry-DMCrtlKUI142x^w3inNYWb%luFZ`=ozO!AWqWP z(SMs(=)X_L(LYPSMf^zn>YP$Pc@e{~g~M#<4Pr69hPp?8hIi3<#5VdJZeZS|nSF+y zPTE1fkFJx|&EC#MT#cKIjS_ys>NMgVx=EUCPcKTp?dW;AXnRpJWgf^(WkJgr_d1cE zvFCIyXdYpcSx%{a#>MOIHx9466yDArhu(lv6&->-dMjK@?}qE?M)-g+*Ein`&MC9d z5f&=pqx3eomyW^1#@vuko7oI)HgTCY>*Q#&p$Xb-=n8E%x=?vre79CQB6&`R>^Il!V9(@XPcn#MwcY!`(_nV)IJJ9N%Tb-)QKkFC*vxeG2to z&>aYRhAzRq6Z9eUxk~SZB{|9aA=J6)@6f-Du2E*SdrD+Js#de=B)UFNzk(25^aQ5T zOE=;AF^%qOlJz+n0GWCSgx*P>4q zEo;9gpwhnC45ppPQ{r*sJ8tK%&6y90!Rio zaJA6qF@T4jfalW-;2=GM7$N#6#D83DL!d(l`ZOCPvo5;TXpg0$52XXFIfd&-bSgrO z(i`F9^b$n-hMtA`AMVtfI*&!WOozucRbwhs&?ag0ntqQLucbVO}`8vm(K+TxBgqmZ~ z$#Zg2BdNGq-;GJ*s1&EhJuIFYcZxj5X>sosr^W4-HJToGr&u-(9AApl?{ZAN{k=d3+!C#dvzn00Y0ZN3b)y?4p#VV?5J-7lj#;Xm3|3MrzLwUy#uz< zyWo7WWQC)MPJ;b(M6zGTg7kZY&V(PMv*9(g6K0|Aa8gt8)Opi(DH`AN4w$uv<&fuaJmX(z33`>D2VbM*ZBN4b*|DSHX~q5x#3}G}*2~5>la_tOM$5oXS`zb#7vW|H z3VCdB!-ceb$3?VEsEn2g1*2z*KTFgXP0s_>`lcDj*=GvMs&$#!g7XD)2InR-+uyFc z&0GFz{CQl)*3$g7zW^T+7W7j(%QnbV@-!nGt)sr0hJU=p&P`qRcI4PQ!H2t)E2sdNL&Vm zkhDP3asnZ05VSu)WwWSgP*PF!M^R8}L>2)z+%PBxNDTVE%!~1llgz!(Ip@3IS?;~( zo^P|q+iZv59^5}HA-R9P$Cwy%&5cbCq}7hEs##jy)Y7=PWx>+cs-<-`EsZrx>YA$E zW69%ulmD-^wfk6dsppRJlER9@?jfm1Y-j}|% zpYNF%W0H(9)@RHOoQKG(J#J)Gg?)>I8T&!pnkf14pS(X=c9hEd=svfpN}=B zLC!&atNa7JR=$RqcKI8)!Sz?${gGtxd!>)mCMn;=~ZDbE

CA?Z)@e4KB{Zz3iR2{?nzID6#_=pZOxf*+8_ z!X@$|SmlX7tPC{vqYMO9N8+L8Mz@YvZN<6ONH1gcr!GJAtXM=gcd|X@2`k}^*#7Gt@rXD$3<-S-q zF_dZZ-GY!ejSUCYFazfv`8U@Y%0beekk{6`Q=v8Ryli?!cAkC5?ayYHeQ>2q3VZD- z7Y^s74MX>Ve$nm^AyYPuAy&F(#1y%_!+!YgpwWQ-vp?*zXWB&HIbH$mq(bX$;o3klpA`v7M z7AGkxC?g4?7aR2FK`08+w|XrE`$I1#1U=+S)c3j*bYXX&d+xdS-240emcl>6SA8@; zyY+iPe!!-bP1%S`?BoHr=bS{%)# zAkUQake`cPrssK%QsYV~GL+hm|NG+09Cn$GNUl)~o~BODZ;f*Z68 z)tJ)tnz93>YlOw6aI3fsJ}NGU+r^b|k60h#w0I|+7T3X};yv&MaWgzYV{4~S2QZkF ziG%Qz_%M81d<4ELZiAm_%M+Rt;~l6sVmmx9E`mR5%TxR&&exl+$Ux8i6zc`Q#2aBd zz80@M_7br!wppx;m5cR0{>+Sb*+#2;tvo`N{0V(K?=T}Yz~ku8@q05(mw10gno|6# zB0^ue*osgWC#-6!<|~#-OFU}@@N(}%~WprxeC delta 1021 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 Yf?P$#@*Xvz?WAF}8+0??E)+Tc0Y5mg0{{R3 delta 1199 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 z49 U$N9=BY1?}d4el~VP-gJI0VxqEUH||9 literal 17420 zcmche3v^V~xySdJNkRf4KzJA)lHutyF##W_yh0Kl8c0k6B8?s=$s`#&d6=0XQY$22 zc|`(=SV}={X^X&By!M6EDt9gKwYBY4Tie@q*&3`~SF0`bYI|E{>HYur`S#470k5vE zb?;v5%=ztafBW0t{`TYSoSAGWuUPCjjxxznH7b!)>goAPy@kRnwZg?}s>)X{4!kyS z*6HaU=vH5J&J^LA(p}U&?E>e_X=h52b7m?ob#me0?Sty2lEL8M_UrCyQ-97CxY9bE!e8=hT?xw9XJ=)^Po<1kr&97W>>bS$Y>ZRKy7L3im zJL)A}@;XZxCrTE{ec@nzT-Q+d;I>Wb#iNX6f zJ+$fArsG?79Nd5Kv4hVX{KDz|uT#El%f2l~w>-V2@8I4;hYy`NwByaaZ#;4e`dc2_ za%{`-9Xk%~KlIq4XAbq8+NJGm+p%xQ(H&3k=sUFc=;5O$j$XKZ^7j1gc{?W_nRMjB zBa@GGW2Cg*zI}a1`=0LWJG%GS;bSL`ZG2Cj~zJn__1e? zdC^;O%8OrOMAgX;oo_z)kQ1m|P^nHP#^I?frF?odrRjy1ZI)i@-RERbE*n->Annyru-wmj!#|UeL9*y)Sn-z zOviu0(@=n~&>dfdPv10Y#6OW$Gbj5mT!9XF8u?U)hL@Xiv(7nQZmO3{_j1#`T$Y!c z;pK*VxtU&Wl$X26%Z>GN7kfU8_i~qbWfQz^`wN~&gVM30d*RhN9rI$9F8bHp0-el- z{%e03@4@w~7Vp7aFDE^if3NP3&ue=DyX~8n=H(W8xv65gY#RzaPts2sOf|9YA z07(UU^wJiyf>d65Yl@E6_qyTNoTfk1^=F3u9O5~VRue#7v9q!}#f~Ysbzf@1P@j&m z*M?U;J?}(ZODd*M{#jh4TXnovGe-Uv@}a&r@Hxy`gowQd%BD$AVaT|Tv_d*M>nThC zWiz(f^hFJ)sx#VQ73Uh1<#+-j40EhTXvsuSA~~<2e56;PRe_^u+9YRk4|2Je8PRAK zT!rD=2gw+x$tfD+G@{kG{7I1)Q(l~qzhLVZtFguoZD?J1?s+&b*~3TEjED1#hn~ap zI1`v8%Ry(-u9U*XI@E-D|GQ4pnC#mI9CyIEeZUD0IKF$;nCvwJ&SwUkx&h}_2-Zur zn^3LatLD2KN}pIu_rpakG{hP@7;2pEg7cmpO3y0{WPiZtydUq)d!{!RP{DbRW0}!3 z;4}|7d9BfA<@}YpBEb-Hml&^AmpIONY){?@FVSWucnvlrhwc?@f?jYMOk>G|+vLJd zVsJ+(WKD9~x==lLxQKLAThY;j5RA!a8F0b_4n|)b^lj9AU*Sc6J@mdqJx&l$#EJGR ztE#WpE48K%t^3fXvF^(ZoZmcc&9D_cTlSQr%F>TfndN!JQM;WgaB`OCM$)VlnWsDt z_I4)Q^9r`Y$~Ux?7OsURXLh2(vnds{c~%(X#Fdo{-M-|Z+mG$R8@hdF==2EeLG2kR zGcmG8pf`=3kP)EX3QNz9W$#o=kwIT;DW1omcAI*p(eoLT9cWNbdFN$V^ycRv-JjSI z>r~Dg+^Hr_3^%S*&VTYDWVWpzdzJnauk>Tx=L@|_ooOAhQN`izGntj0Ouf?)O`eO0 zDWCB($rC8M|XIOuY*ZgkA{9!L3x?p_3^#+m}9#uYjXvJ-CThK5Q* z7g!CUR^FA$pXo)%hwS)-d!F+XY*R@dPfXOr@*9RlbzxjL{i5t7-O18u`ZC>zeDLS+B2%WpWByD69Gpx86yl)(>Wn>RHIRF z)GY?7+jx#{stbO#{hqi|@(7$q^|p^uHEpujpJIkk?fipa45haHkIj{Ywd6P(`KNT( zsQ+V5eac4u?_%PeR!t{-YHNIi&Oe<}W1X5emNJxgPEX{M*SBBo+z_8Hsf*vQdZ&GC zp|R*wMR6UUDvq-$PxY(}1zzV8n-R|dO!(VDr>o_DT<*8Y{nGfpB!d5kTNE3pPnDx( zpYuV^P=(i&^uj4DyrNKruB&TkbvruSn>&N8(Yn@fLuY$KOSr?0#=08A?RD1_7S+Yt z+anDv!Ejq$aBb%t{ZY`|)>V)suM4*|M7kP7ie|5fhOe4^Rk7RH8D1Oe^hBuZHg|;E z&k=S7J7Y;gIK)4Cv?10Ch2USSQBe(dwqCt%og3`vC~V+6)@ZB|uW<@nI4D+Gi!QVM zfC@rk{6G%l#~d9%4ts^yG8p^yIW0r1ckXmO`2Gowe|=Vla{O6YnfUZ)rQy?;h4}i@ z^rugk8i`MrQhz8*QHFs~VrwpIPS6^Y^=AN|eyx{h>%HsHI3y^{!KafoQZtPYAt#%C z9pWc9X!l-LS=q?>bS6z#zAel1i6+uS&Yl>L$&QwLlCip1j_zl=uIu$VjS{>*b29vj zDjEI^-E*&0e@$luN!f+v*+>zE%#9;xz}5Krk}=puP0t_ zy-$u6t2zEk-NOtW$a}NKL2`$dJ6U;Jho3%+y^wpQp4_J$8KvWU1wXyMEw5SPR#j9i za;r+JOO~saP_Pk80W&NbidA;SI=W)zZNd6TNHvFI?#hztTDN>{s4eC;b;LN0sfOxR zL99!4S7$gDDho9QyCSigP%IX1YmSzeb5*Elczq~#cSi`Imz-xhs+LqOt8}X>t7}VC zO>JfMib}Vns>-ci?Jln@E4S8(8*U4u!B%&9w7ImswIdRWh052)-0DzsI2wb;HOsW! z(ux~l?&k7pcV!jT^{O>>>1!mSeXS1OWj9zW4Mt<_oo(%IMU@YXeh1LOO0}8E$^xP1*GA(p8JJ-1(P62dFPn{B(I*E?CT^)@uT^U6Ojg#1! zJJk}*A?%rE0IjJct*(m&Biu3(5$T++XHAW&>dGaUsBUFVsj7C{yRfUS4a<}*FGuNe zS5HHDCu4vchXA+Prk@B?JU9$li3&$+Vx3(Lu~orHxY3>&)it$lZKb=Yva+_KvZSoM z+MBW!<*Ujo-0Je0@>-=`WH6SL*K#eHfatmHDN@bSFssc9S)@JKh`QcF3S-%@E1oxc z$m4F5x`D^sroP&wT39_t_6J91M=cisfQL}{Fv6&?HAK4^I zD=JHG^jLMSD?=m{rYri#zRFbX#C9uP$099lZ;N%dN7QPpg2kPoJB?9#ut=4gGteD~ zuYCr>+V@1_U&EapJb5&Ro5NgATvK)bOHo+}vm&uj^==Z01Z4x{2rBM}7$v0-Mtl%N zumeOWuD8{!>8#_^8pIi`Eu_?v($eb!7niK6cIUX5GA^d7TWgMM?(D*=3un2-*IYB_ z5^wT)?-4&j!UKE5^z4A|YdApRh!Iab$d=^z_xnn6(hlIX#KW#hJlvve8_Tx)OLEe8 zq?P1k^rn~O47op}Bqwv{kdmCNzRZ%Gp}Vq5a)#|5T9T8!e^^P*@B`T@{wFJJ@NgW! zWfBj`u)B+Pchl~E+C7kN`^5va?N`85#+`@i^VPRhG(s(&($t?nie~_Ro))d-mm|Ir z`JsXLQfj^tpgv#L&$IFY@B%A;3E2C-pTa+XR2(n!@~oR^HPxRqb%W@0Onf}7TFH+i zsw;Vpi;qWEEBRIY#e$alRs3~=AR5s#lpp7Sji@px16ywU!9 zDfx`V;OO$PlIL8^#f-izrTluyb3W!Go;RkHH>Kq7Ny%HMGW=!Zx;0hqQrGpM!h`Da zB^pXgtMonA+TnJFnl-Nvb+${!+Ak6(1_+Z5mFGE%dLsKMXDcP2#k>-0b4@J z7URp+;loR}rMPo$80Ma2c(U+J+@}i9!F@U|ztp{yJP992+zSkIP8yxLmVB|rT1S?} zD$3a)((SnX`6RyVgFpDLl&hC3oE*TN{`*7ky*D9>itz_mM^aYh=-X6m0Z$Y)5&0(sKjM zc)* z55k9t@K+&^3O@nnGn)FP(79jude|Qj#!Y=mcqw!q7QO?_`O3Oe;oJ9xN1^UZ!W_!q z3fH2ocZBP}?+Z7AGjY+*uTYo2N+1t{rwhLYo+bP=c%kqEXtz>02X{WlSoiDDVXVp9 z(N3rE2jF$WW8wb>;mcvCUwA(F5u=a$5{x$eU;XieSCa1(f$FxNs*m~E{U-VE*&-U&V=ydQj0_#5C~kP)}%(cj;Yx!EI~5@x$^k`afO z;s0sTXMFxHa{Q5@J{0|#(4UFd`Lx5as}x=gzDt<>IzUFddrM zO%`_u#~_bc{CVN6@W0#Q z9l`~e7kw7*75*XOzu)4o3qJ-w4_o}C@T-u2$6{pTdn}sP43qj7Qrthu`rHC$`2^7+ zPZs8$%stoa)w6|%;=aJ*QsK*Rue4a7TVQ`FWUk1`4Z^hFC5$kryM<~0K8v>r=itu$ z*X++<5oTYGSp2v!`|@3jzbDMLp0oG|!k9+tWs83LH;c~- zb8AhDRQ>U=ayN& zKM-c$U$K}!B&H7M=_!lf6b?Xs+TwSGXF`q_kh(6}kBLJ&Mc{0UM+!4;eCEZUiNd(4 zD=gM$ISeT0+gy>87YcK}EwgyJFz4GUi`NJrhn&w;({8&k`>W4#Xp6i-GRr=0w{F#Gtn#ixaDgPhMiV<%0R zK8&<@jBp*~0gI;#(+;0i=2>=~Fn!?PGnA8;2-BY`i))1$|648A=SkG1Kl(f=tk08R zJ}dbwH0|p1B;+%o-zReNfH40~eAwcH!nDI@r?K;t@O0GuSBrlrOq(xT{BvR2(dSb5 zPzW7;E(Nav|F`JyS^0r5{o!+$?aqhJXyF^c`4&$T=2_wji)RbhLO$2xg~DvNLYVDV z3Fm=tu~?sJ;RF5Q^WON=B}{)lFHAe#!qn&Up89NSkEO%0zTc$IQwa+zvG37Ld#PtvWbL|x2GIRJ!$}#^rC+AQO-}?;FM@bn?*`j%~eg4!A{_YHh-dQ%ra!c)c*kZKE*z$Y&F6GB&-! zjB~#*WALCbWB4c;{!ak&*+gdDZwWI7Cxq+4&j>TlFO#Le{~=8OebA;LVF~XOECkX2~E6nkqDaFPP6P$~S`Rgg1lhg|~wFE`U1y;F$1U@Ot6>;ElqMfcgBQ{t` zKcSp!k?&u~Yru1aJHdRfLiu)ZnebP^Hwd2q^O;DU7r?88UkBF-zYne#=HFH=!rXuO zOk~{vxKo&GpZ#>$K_vFg>;nO?*@yKWB|40|*&jGZ&7OP@<)X8ZEbEB#$?VU)md-9R z1CI0nF0)rZ0XBBNMaDQX9mi$%?H_}U&P!zUi|G|y@jbjSdUtCqSg#84qXzHZVkpKR z))eaR&kO6LQB~L(iUbQOEwsJ|N__E^T%PnDm{pYg^_5j%*-ZK-%ThW2kAy4*%ZC1b z$}4K*4+QW7tfqE!M{}^gz7szcvWp|_4M}hy7X7on8v_mlLBp_AG!pA{yV zcDeti;aVsKFHKWQ&tH+VEF0HNxNLhp$gjs`lCf6-fo-pLx_1r;K+e6-*o%N|duNg7 zUT2cA*9?JeZyoG$zYE}E9E`pDz_z_v$Z-9bWbAE(z_xc1_5vsjKt5E;*xyHSu?~G^ z`U5iDLrr2C(?MLey+Is=xy}Q)Xvg^XL$GacsV{NvLXj@x{W)B=y$)=$j7vim1t8~EWbB;*n>s*s1Fa`l!7vM7f@g16}1F`xt?A>J+AM&Q`DuC_ZJ$PuGgJHW|Bd|GG6+f2ku61?PR66rcE+>E`V&(qtJWDWN@cXOlzQI z`?qc`#sl&IE`D8Z`pZX;)jd@;&-=a#Vx3G|yj#;lJ&>=|6A(;+d=f6&8;Ofk(zaJN MRVn_Px=9BA2OwburvLx| diff --git a/storno_cqp6xx_digital_xtal/Debug/main.d b/storno_cqp6xx_digital_xtal/Debug/main.d index 42a97ef..fa3e965 100644 --- a/storno_cqp6xx_digital_xtal/Debug/main.d +++ b/storno_cqp6xx_digital_xtal/Debug/main.d @@ -1,67 +1,67 @@ main.d main.o: .././main.c .././avr_global_config.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ - E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ - e:\cm_programs\microchip_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\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\ATtiny_DFP\1.10.348\include/avr/iotn402.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\xmega.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 \ .././avr_uart_driver/avr_uart.h \ .././avr_uart_driver/../avr_global_config.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \ - e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \ - e:\cm_programs\microchip_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\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 \ .././avr_i2c_driver/avr_i2c.h .././avr_i2c_driver/../avr_global_config.h \ - e:\cm_programs\microchip_studio\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\stdbool.h \ .././si5351_driver/si5351_driver.h .././cqm6xx_app.h \ .././avr_eeprom_driver/avr_eeprom_driver.h .././avr_global_config.h: -e:\cm_programs\microchip_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\io.h: -e:\cm_programs\microchip_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\avr\sfr_defs.h: -e:\cm_programs\microchip_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\avr\include\inttypes.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stdint.h: -e:\cm_programs\microchip_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\stdint.h: -E:\cm_programs\microchip_studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: +C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include/avr/iotn402.h: -e:\cm_programs\microchip_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\portpins.h: -e:\cm_programs\microchip_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\common.h: -e:\cm_programs\microchip_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\version.h: -e:\cm_programs\microchip_studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: -e:\cm_programs\microchip_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\fuse.h: -e:\cm_programs\microchip_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\lock.h: .././avr_uart_driver/avr_uart.h: .././avr_uart_driver/../avr_global_config.h: -e:\cm_programs\microchip_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\stdio.h: -e:\cm_programs\microchip_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\stdarg.h: -e:\cm_programs\microchip_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\lib\gcc\avr\5.4.0\include\stddef.h: .././avr_i2c_driver/avr_i2c.h: .././avr_i2c_driver/../avr_global_config.h: -e:\cm_programs\microchip_studio\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\stdbool.h: .././si5351_driver/si5351_driver.h: diff --git a/storno_cqp6xx_digital_xtal/Debug/main.o b/storno_cqp6xx_digital_xtal/Debug/main.o index c372dad2ea3afb177d8709756a9282416a177da9..77ecb9765eae8f3ed8e4151836f2602e6ca6e52e 100644 GIT binary patch delta 3315 zcmYk83vg7`8OP7L$qjjsWs?OGLP$aa*=#b#XxlUmF%02lBt&@$IMMA&0)%AQup4;_ zE54uwXJU?wwj!0GFk_5VyN=?Bz_d7qM_V5Z3WO=`z~H0SI)%|TGWh@Y{=@8@>^;Bl zJKy_0at9ahT-;M+o%TLke7`l6{>H|=snOiGQ7u| z4OB@$?MNk#WINI%M@n;~Qb)>kB(Ec7i4;|KnIn#IHhoSJ;~c5n*~?=| zm48D1R6PZb_8k$Fg+CnevyPuFT2?QFm@?I_If~VZRVxm+il6cn9IcWltFMzLt&$|i z^e#u5$Y2dyu$iqTmG4o-X(6hZ6#rfYRc-ZmlqEwEA(^*GNeMY@&X0Ex_TsS~oP7`V3Z<9&)8CjYC{2D{rq<%W7M?!l4!6K(J_eduLmusBC>rwXY@6 z9c=4tF?%y#FY@T5xa!=I?ofDj$RFtH@&`k$Z4uM& zS`^D2HK4~XTNA8azdpXx9f)+?9a!Dk*%pp{;r_YKnePuh(%ss=w!O72teWm^@;CSw zES$5{)MalP8SY*m52fZVXf{X27ML_oo}OWD&&f@RbU)JC9x}6XW|=Baacq^RR-11; zW6WQ&(_#llud<9D<;j{k^S=4_&SliO(-zE$?Z~mLSkJgYt*4scc&~oP>>7VKFQF*q z_qT@p%R1WvVgJLChzaHI&wDyWsVtdRwo+eX;$z5!F!}>G0;v5M zc?j!AcoF#7qUnO5b$KR8u!#*8xbre-UgTxa=0PlxEC3zjj zHIGQD!s^1c73XybT1f7LeHFPBMK_SYMnQ|n)rhm4d=&b14oB5K1l`V!X)yW?xg6tt zl{^n!9wDEC{olyHKnIt|ccOuB$xVo3p+G70Ar$8!&x7w|@=~lda{a}q7S4^_Xaqk% zUWslx$p1mI&E(&Kd&skqbPxFe3hgI%K>r^31oVF;PlN9uxj72qOA2|Ybcmdf?nmM$ z#pR-)JaQ(2`pE4FT1O5c&OPLM#8^W1q2qRPCgN-)ABTPiI4TJqg|M3&H;|x@d(Pmq6xLeG=?a4kP4pU1SmBM+gtbnHp|Fzn?cK==aqHZt-?)l>@dPktVG8wy%R z?!~&6ybm4hAfH4*za@`={VU{|h;xWs4x10iOW=E!{C6~VCC*;l5ZJiJja&pu!YHNE zpCC{+xz}th$%)F)8mM^-Uh~NV2)BYPuk*EJd5t|qJ`9^(kmdDuh%E2YQ{>%< ze~#>e@6}YkE9L!mof`$ zK9!1RrJKT?xVqcO^|)hpksrjmkGvhly+M{|>lk@0^ry+2(dB2t83>4DkURr?N!S%v zt1pG+UAYj>--`g2WGM(B&hlASKrRB$Cd(IS2e}TsRX7iTqnG*y@b44!uL>jnV~Bq! zK_5NJjpZ2WpA+~r`5=n>FoDmJpGSg=34E124wL&Tfv=JM(qsZlv1rnKP?~9KN?&fg z;>e;_-{4n>0mz`PlVuq4{E5B@t9&sE%P=y?GK^8NiQZ4Nt})lkDy*C7rr1|(59H&; zV;X%WdYuXSy!NG$7^c};<}v*~w{>Q+IpQm|y_pCcSN`C0>n4*~?zLw_=Z@=|%H6ul zJP6%l=ti40K9AWA-FEXDbRDSlm^oKoqASdea<6VNlPkQ|V5w=YD76)y#}n}&J1g9} Q$GlYGwY$bEH6Xel0TJGy9{>OV delta 3385 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 X_e#4C-|hAQzW3YD@Lgb?XI=jXz-=!n delta 4588 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 DY4=wv delta 21351 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 diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex index be5797a..3c74601 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex @@ -2,16 +2,16 @@ :100010002CC02BC02AC029C028C027C026C025C09C :1000200024C023C022C021C020C01FC094C11DC055 :100030001CC01BC011241FBECFEFCDBFDFE3DEBF4E -:100040002FE3A6E0BFE301C01D92AA38B207E1F793 -:100050001FE3A0E0BFE3E6E6FFE002C005900D92DB -:10006000A630B107D9F7F0D37CC7CACFEF92FF9281 +:100040002FE3A6E0BFE301C01D92A938B207E1F794 +:100050001FE3A0E0BFE3E4EBFFE002C005900D92D8 +:10006000A630B107D9F717D4A3C7CACFEF92FF9232 :100070000F931F93CF93DF934423A1F08B01C82FDD :10008000D92F4150E42EF12C8FEFE81AF80AE60E32 -:10009000F71EF80161918F01CE014FD721960E1501 +:10009000F71EF80161918F01CE0176D721960E15DA :1000A0001F05B9F7DF91CF911F910F91FF90EF904E :1000B0000895EF92FF920F931F93CF93DF93442302 :1000C000A1F0C82FD92F8B014150E42EF12C8FEFD6 -:1000D000E81AF80AE60EF71ECE0127D7F801819339 +:1000D000E81AF80AE60EF71ECE014ED7F801819312 :1000E0008F012196EE15FF05B9F7DF91CF911F9192 :1000F0000F91FF90EF90089581110BC0809108043B :1001000090E002C0959587956A95E2F781709927EE @@ -84,166 +84,171 @@ :100530006BE07FE38091423F9091433F0995109299 :10054000403F10923F3F80E090E00895009759F0BF :100550006115710541F08093423F9093433F609352 -:10056000443F7093453F0895CF93DF93FC01828110 -:1005700093810097E9F03097D9F0218130812317DA -:10058000B9F0EF01213019F0223051F011C040E0F4 -:1005900060E00ED241E061E08A819B8109D208C00F -:1005A00041E060E005D240E061E08A819B8100D2B9 -:1005B000DF91CF9108959F92AF92BF92CF92DF9239 -:1005C000EF92FF920F931F93CF93DF93EC01942E42 -:1005D000AD84BE84CF84D888E984FA840B851C85D9 -:1005E0002D813E814F8158858A819B817DD2A98C46 -:1005F000BA8CCB8CDC8CED88FE880F89188D29890C -:100600003A894B895C89692D8A819B817BD140E045 -:10061000692D8A819B81F3D1DF91CF911F910F9139 -:10062000FF90EF90DF90CF90BF90AF909F90089594 -:10063000FB012081222319F0213051F011C0DC018F -:1006400014968EE1FB0101900D928A95E1F708C0A6 -:10065000DC0192968EE1FB0101900D928A95E1F703 -:1006600080E090E008950F931F93CF93DF93FC01F8 -:1006700022813381232B09F44DC0009709F44AC02D -:10068000EC018181813079F118F08230C1F142C0F2 -:1006900010828F010C5F1F4F4EE1B80180E090E0A7 -:1006A00008DD60E08A819B81DED140E060E0CE0120 -:1006B00082DF4EE1B80180E290E0FBDC41E061E0E6 -:1006C000CE0179DF42E061E0CE0175DF40E062E01B -:1006D0008A819B8194D140E062E08A819B8168D1CC -:1006E00081E0898317C0CF013FDF8981888363E080 -:1006F00080E002DD019771F482E089830BC0CF01B5 -:1007000033DF8981888363E080E0F6DC892B11F494 -:1007100081E08983DF91CF911F910F9108950F930D -:100720001F93CF93DF936115710509F488C000977B -:1007300009F485C0EC01198218826A837B8368E121 -:1007400073E004DF62E572E0CE013CDE8E010E5DF7 -:100750001F4F4EE1B80180E090E0ABDC8AA18150F0 -:100760008E3F08F066C06BC0919191509E3F08F497 -:1007700066C02E173F07C1F783E49DE0A0E0B0E01C -:100780008D839E83AF83B8878BA39CA3ADA3BEA3A9 -:1007900086EF9CE2A0E0B0E089879A87AB87BC87B0 -:1007A0008FA398A7A9A7BAA78BE598E4A0E1B0E02A -:1007B0008D879E87AF87B88B8BA79CA7ADA7BEA759 -:1007C00082E190E0A0E0B0E0898B9A8BAB8BBC8B90 -:1007D0008FA798ABA9ABBAAB1D8A1E8A1F8A188E49 -:1007E0001BAA1CAA1DAA1EAA81E090E0A0E0B0E00E -:1007F000898F9A8FAB8FBC8F8FAB98AFA9AFBAAFF1 -:1008000080E498E7ADE7B1E08E8F9F8FA8A3B9A3EE -:100810008CAF9DAFAEAFBFAFBE016C5F7F4F4EE1FF -:1008200080E090E023DC4EE1B80180E290E01EDC45 -:1008300006C0FE01B3969E01205C3F4F95CFDF912D -:10084000CF911F910F910895CF93DF93CDB7DEB76E -:10085000A297CDBFDEBF80E090E02BDD40E660E0F8 -:1008600070E0CE0101963FDD41E951E0BE016F5FCE -:100870007F4FCE01049682D1BE016C5F7F4F86E42C -:100880009FE34DDF86E49FE3EEDEFCCF8F929F92E5 -:10089000AF92BF92CF92DF92EF92FF920F931F938E -:1008A000CF93DF93EC01862E5A0168017901C801CC -:1008B000019611D2982E192FFC018192CF01A60129 -:1008C000B5012AD3A70196012F5F3F4F4F4F5F4FCE -:1008D000EA81FB8101E0692D712F88819981099559 -:1008E000892D912F90D280E090E0DF91CF911F91E0 -:1008F0000F91FF90EF90DF90CF90BF90AF909F90BF -:100900008F900895AF92BF92CF92DF92EF92FF92B5 -:100910000F931F93FC01437056895078378B208FBB -:10092000F28EE38ED601C501072E7CE0B695A79521 -:10093000979587957A95D1F7702D83708295807FF2 -:100940000370802B818FB48AA58A452B468B61303A -:1009500079F018F06230B9F020C0AF014C5E5F4F03 -:1009600008E010E020E030E06AE2CF018FDF15C040 -:10097000AF014C5E5F4F08E010E020E030E062E342 -:10098000CF0184DF0AC0AF014C5E5F4F08E010E08A -:1009900020E030E06AE3CF0179DF80E090E01F9152 -:1009A0000F91FF90EF90DF90CF90BF90AF900895A0 -:1009B0000F931F93613051F018F0623069F011C04D -:1009C000FC01278140FB20F927830BC0FC01278114 -:1009D00040FB21F9278305C0FC01278140FB22F958 -:1009E0002783AC01495F5F4F01E010E020E030E079 -:1009F00063E04CDF80E090E01F910F9108950F932A -:100A00001F93FC01928540FB97F990799F64928730 -:100A1000613079F018F06230B9F020C0AF01465F64 -:100A20005F4F01E010E020E030E060E1CF012EDF19 -:100A300015C0AF01465F5F4F01E010E020E030E0FD -:100A400061E1CF0123DF0AC0AF01465F5F4F01E0E4 -:100A500010E020E030E062E1CF0118DF80E090E0BC -:100A60001F910F9108950F931F93662319F0613022 -:100A700039F00AC0FC0121852B7F277F218704C024 -:100A8000FC01218524602187AC01475F5F4F01E0B5 -:100A900010E020E030E060EFF9DE80E090E01F91B0 -:100AA0000F9108950F931F9331E0611101C030E061 -:100AB000FC01268D30FB25F9268F31E0411101C064 -:100AC00030E0FC01268D30FB27F9268FAC01425E19 -:100AD0005F4F01E010E020E030E061EBD7DE80E026 -:100AE00090E01F910F910895AF92BF92CF92DF9245 -:100AF000EF92FF920F931F93CF93DF93EC0142701D -:100B00008E858C7F482B4E873F87288BD801C70165 -:100B100088279927AF70BB27FA8AEB8A8A2F8F70B4 -:100B2000898BBC86AD86662319F0613061F015C0F3 -:100B300008E010E020E030E0AE01445F5F4F6AE182 -:100B4000CE01A4DE0AC008E010E020E030E0AE01F3 -:100B5000445F5F4F62E2CE0199DE41E061E0CE0189 -:100B6000A1DF80E090E0DF91CF911F910F91FF9086 -:100B7000EF90DF90CF90BF90AF900895EF92FF92EB -:100B80000F931F93CF93DF931F92CDB7DEB70097DC -:100B900009F491C06115710509F490C04115510522 -:100BA00009F48FC07C01DC016D937C931197129640 -:100BB0004D935C931397FC0134968BE1DF011D92FA -:100BC0008A95E9F78FEF898301E010E020E030E0BB -:100BD000AE014F5F5F4F63E0C70158DE80E8898355 -:100BE00001E010E020E030E0AE014F5F5F4F60E1D8 -:100BF000C7014CDE01E010E020E030E0AE014F5FC5 -:100C00005F4F61E1C70142DE01E010E020E030E02B -:100C1000AE014F5F5F4F62E1C70138DE01E010E0D7 -:100C200020E030E0AE014F5F5F4F63E1C7012EDE91 -:100C300001E010E020E030E0AE014F5F5F4F64E183 -:100C4000C70124DE01E010E020E030E0AE014F5F9C -:100C50005F4F65E1C7011ADE01E010E020E030E0FF -:100C6000AE014F5F5F4F66E1C70110DE01E010E0AB -:100C700020E030E0AE014F5F5F4F67E1C70106DE65 -:100C800080EC898301E010E020E030E0AE014F5FAE -:100C90005F4F67EBC701FADD80E4898301E010E074 -:100CA00020E030E0AE014F5F5F4F6BEBC701EEDD40 -:100CB00080E090E008C08FEF9FEF05C08FEF9FEFBF -:100CC00002C08FEF9FEF0F90DF91CF911F910F9197 -:100CD000FF90EF9008950F931F93CF93DF9382308F -:100CE000910510F482E090E0E091883FF091893F17 -:100CF00020E030E0A0E0B0E0309719F14081518170 -:100D00000281138148175907C8F08417950769F4C1 -:100D1000109731F012960C93129713961C9327C0DC -:100D20000093883F1093893F22C02115310519F0A7 -:100D30004217530718F49A01BD01EF01DF01F801D2 -:100D4000DBCF21153105F9F0281B390B2430310593 -:100D500080F48A819B816115710521F0FB018283FA -:100D6000938304C08093883F9093893FFE0132961D -:100D700044C0FE01E20FF31F819391932250310989 -:100D8000288339833AC02091863F3091873F232BB7 -:100D900041F42091023F3091033F2093863F3093EE -:100DA000873F2091003F3091013F2115310541F4EB -:100DB0002DB73EB74091043F5091053F241B350BA2 -:100DC000E091863FF091873FE217F307A0F42E1BD6 -:100DD0003F0B2817390778F0AC014E5F5F4F24179F -:100DE000350748F04E0F5F1F4093863F5093873F73 -:100DF0008193919302C0E0E0F0E0CF01DF91CF91C9 -:100E00001F910F910895CF93DF93009709F481C04C -:100E1000FC01329712821382A091883FB091893FE2 -:100E2000109781F420813181820F931F2091863F9A -:100E30003091873F2817390751F5E093863FF093AB -:100E4000873F67C0ED0120E030E0CE17DF0740F4B8 -:100E50004A815B819E0141155105F1F0EA01F5CF10 -:100E6000C283D38340815181840F951FC817D9074E -:100E700059F488819981840F951F0296808391830C -:100E80008A819B81828393832115310529F4E09324 -:100E9000883FF093893F3DC0E901EA83FB83499194 -:100EA0005991C40FD51FEC17FD0761F48081918122 -:100EB000840F951F0296E90188839983828193812B -:100EC0008A839B83E0E0F0E012968D919C911397CA -:100ED000009719F0FD01DC01F7CF8D919C911197DE -:100EE0009D012E5F3F4F820F931F2091863F3091CF -:100EF000873F2817390769F4309729F41092883F03 -:100F00001092893F02C012821382A093863FB09351 -:100F1000873FDF91CF910895FB01DC0102C0019072 -:100F20000D9241505040D8F7089503D08081992701 -:100F30000895FC01E050FC4E0895262FAF93BF9317 -:100F4000E0E0F0E1328131FDFDCFDC01A050BC4E8C -:100F50002C932DE924BF23E020830196BF91AF910C -:060F60000895F894FFCF94 -:060F660000008A3F20009C +:10056000443F7093453F08959F92AF92BF92CF92C0 +:10057000DF92EF92FF920F931F93CF93DF93EC01E3 +:10058000942EAC84BD84CE84DF84E884F9840A850B +:100590001B852C813D814E815F8189819A81CBD2DF +:1005A000A88CB98CCA8CDB8CEC88FD880E891F89DD +:1005B000288939894A895B89692D89819A81C9D1BC +:1005C00040E0692D89819A8141D2DF91CF911F91BD +:1005D0000F91FF90EF90DF90CF90BF90AF909F90E2 +:1005E00008950F931F93CF93DF93EC018C010D5F60 +:1005F0001F4F4EE1B80180E090E05BDD60E0898153 +:100600009A8158D240E060E0CE01AEDF4EE1B80101 +:1006100080E290E04EDD41E061E0CE01A5DF42E006 +:1006200061E0CE01A1DF40E062E089819A810ED2D3 +:1006300040E062E089819A81E2D1DF91CF911F9100 +:100640000F910895CF93DF93EC01FB0190819923E3 +:1006500019F0913051F011C08EE1FB01DE011396CB +:1006600001900D928A95E1F708C08EE1FB01DE0151 +:10067000919601900D928A95E1F782E0888380E05F +:1006800090E0DF91CF910895CF93DF93EC018881C3 +:10069000813059F040E060E089819A81B0D141E039 +:1006A00061E089819A81ABD10AC041E060E0898133 +:1006B0009A81A5D140E061E089819A81A0D1DF9142 +:1006C000CF910895FC012381213071F028F02E3F55 +:1006D00099F02F3FC9F00895BC016D5F7F4F4EE147 +:1006E00080E090E0C3DC0895BC016F5D7F4F4EE178 +:1006F00080E290E0BBDC0895BC016D5F7F4F4EE16E +:1007000080E090E0D6DC0895BC016F5D7F4F4EE144 +:1007100080E290E0CEDC0895CF93DF93FC0121814D +:100720003281232BF9F00097E9F0EC0180818230CF +:1007300031F41082CF01C6DFCE0153DF13C063E076 +:1007400080E0DADC019739F08881882339F018825B +:10075000CE019ADF07C08881813021F081E0888353 +:10076000CE0192DFDF91CF9108950F931F93CF9326 +:10077000DF936115710509F489C0009709F486C0FB +:10078000EC0169837A8362E273E0E0DE62E572E0A5 +:10079000CE0118DE8E010F5D1F4F4EE1B80180E0E3 +:1007A00090E087DC89A181508E3F08F069C008C0C5 +:1007B000919191509E3F20F02E173F07C9F703C03B +:1007C000CE010FDF63C083E49DE0A0E0B0E08C8346 +:1007D0009D83AE83BF838AA39BA3ACA3BDA386EFF7 +:1007E0009CE2A0E0B0E088879987AA87BB878EA3A8 +:1007F0009FA3A8A7B9A78BE598E4A0E1B0E08C87F8 +:100800009D87AE87BF878AA79BA7ACA7BDA782E1BC +:1008100090E0A0E0B0E0888B998BAA8BBB8B8EA771 +:100820009FA7A8ABB9AB1C8A1D8A1E8A1F8A1AAA69 +:100830001BAA1CAA1DAA81E090E0A0E0B0E0888F6E +:10084000998FAA8FBB8F8EAB9FABA8AFB9AF80E457 +:1008500098E7ADE7B1E08D8F9E8FAF8FB8A38BAFD8 +:100860009CAFADAFBEAF4EE1BE016D5F7F4F80E08C +:1008700090E0FCDB4EE1B80180E290E0F7DBA0CF36 +:10088000FE01B2969E01215C3F4F92CFDF91CF9146 +:100890001F910F910895CF93DF93CDB7DEB7A29745 +:1008A000CDBFDEBF80E090E004DD40E660E070E0B8 +:1008B000CE01019618DD41E951E0BE016F5F7F4F27 +:1008C000CE01049682D1BE016C5F7F4F86E49FE328 +:1008D0004CDF86E49FE320DFFCCF8F929F92AF92A4 +:1008E000BF92CF92DF92EF92FF920F931F93CF931D +:1008F000DF93EC01862E5A0168017901C801019647 +:1009000011D2982E192FFC018192CF01A601B501B9 +:100910002AD3A70196012F5F3F4F4F4F5F4FEA81C8 +:10092000FB8101E0692D712F888199810995892DBD +:10093000912F90D280E090E0DF91CF911F910F91A5 +:10094000FF90EF90DF90CF90BF90AF909F908F90EF +:100950000895AF92BF92CF92DF92EF92FF920F93E2 +:100960001F93FC01437056895078378B208FF28E8D +:10097000E38ED601C501072E7CE0B695A795979525 +:1009800087957A95D1F7702D83708295807F03705B +:10099000802B818FB48AA58A452B468B613079F0F4 +:1009A00018F06230B9F020C0AF014C5E5F4F08E034 +:1009B00010E020E030E06AE2CF018FDF15C0AF0128 +:1009C0004C5E5F4F08E010E020E030E062E3CF01D2 +:1009D00084DF0AC0AF014C5E5F4F08E010E020E00A +:1009E00030E06AE3CF0179DF80E090E01F910F9162 +:1009F000FF90EF90DF90CF90BF90AF9008950F934E +:100A00001F93613051F018F0623069F011C0FC01A1 +:100A1000278140FB20F927830BC0FC01278140FB85 +:100A200021F9278305C0FC01278140FB22F9278398 +:100A3000AC01495F5F4F01E010E020E030E063E08F +:100A40004CDF80E090E01F910F9108950F931F936A +:100A5000FC01928540FB97F990799F649287613001 +:100A600079F018F06230B9F020C0AF01465F5F4FF7 +:100A700001E010E020E030E060E1CF012EDF15C0A2 +:100A8000AF01465F5F4F01E010E020E030E061E140 +:100A9000CF0123DF0AC0AF01465F5F4F01E010E0E6 +:100AA00020E030E062E1CF0118DF80E090E01F91AC +:100AB0000F9108950F931F93662319F0613039F059 +:100AC0000AC0FC0121852B7F277F218704C0FC0100 +:100AD000218524602187AC01475F5F4F01E010E072 +:100AE00020E030E060EFF9DE80E090E01F910F91B0 +:100AF00008950F931F9331E0611101C030E0FC01B4 +:100B0000268D30FB25F9268F31E0411101C030E000 +:100B1000FC01268D30FB27F9268FAC01425E5F4F2A +:100B200001E010E020E030E061EBD7DE80E090E013 +:100B30001F910F910895AF92BF92CF92DF92EF92E3 +:100B4000FF920F931F93CF93DF93EC0142708E853A +:100B50008C7F482B4E873F87288BD801C701882779 +:100B60009927AF70BB27FA8AEB8A8A2F8F70898BFF +:100B7000BC86AD86662319F0613061F015C008E0CF +:100B800010E020E030E0AE01445F5F4F6AE1CE014B +:100B9000A4DE0AC008E010E020E030E0AE01445FCF +:100BA0005F4F62E2CE0199DE41E061E0CE01A1DF5C +:100BB00080E090E0DF91CF911F910F91FF90EF9037 +:100BC000DF90CF90BF90AF900895EF92FF920F9378 +:100BD0001F93CF93DF931F92CDB7DEB7009709F431 +:100BE00091C06115710509F490C04115510509F4D2 +:100BF0008FC07C01DC016D937C93119712964D930D +:100C00005C931397FC0134968BE1DF011D928A956A +:100C1000E9F78FEF898301E010E020E030E0AE01DA +:100C20004F5F5F4F63E0C70158DE80E8898301E0D2 +:100C300010E020E030E0AE014F5F5F4F60E1C701A0 +:100C40004CDE01E010E020E030E0AE014F5F5F4F8E +:100C500061E1C70142DE01E010E020E030E0AE01DA +:100C60004F5F5F4F62E1C70138DE01E010E020E036 +:100C700030E0AE014F5F5F4F63E1C7012EDE01E060 +:100C800010E020E030E0AE014F5F5F4F64E1C7014C +:100C900024DE01E010E020E030E0AE014F5F5F4F66 +:100CA00065E1C7011ADE01E010E020E030E0AE01AE +:100CB0004F5F5F4F66E1C70110DE01E010E020E00A +:100CC00030E0AE014F5F5F4F67E1C70106DE80ECA9 +:100CD000898301E010E020E030E0AE014F5F5F4F1C +:100CE00067EBC701FADD80E4898301E010E020E0D2 +:100CF00030E0AE014F5F5F4F6BEBC701EEDD80E090 +:100D000090E008C08FEF9FEF05C08FEF9FEF02C00C +:100D10008FEF9FEF0F90DF91CF911F910F91FF9079 +:100D2000EF9008950F931F93CF93DF938230910537 +:100D300010F482E090E0E091873FF091883F20E05E +:100D400030E0A0E0B0E0309719F14081518102819C +:100D5000138148175907C8F08417950769F410974D +:100D600031F012960C93129713961C9327C00093A0 +:100D7000873F1093883F22C02115310519F0421793 +:100D8000530718F49A01BD01EF01DF01F801DBCF31 +:100D900021153105F9F0281B390B2430310580F479 +:100DA0008A819B816115710521F0FB018283938308 +:100DB00004C08093873F9093883FFE01329644C0E1 +:100DC000FE01E20FF31F8193919322503109288392 +:100DD00039833AC02091853F3091863F232B41F4DF +:100DE0002091023F3091033F2093853F3093863F0F +:100DF0002091003F3091013F2115310541F42DB77D +:100E00003EB74091043F5091053F241B350BE091C4 +:100E1000853FF091863FE217F307A0F42E1B3F0BAE +:100E20002817390778F0AC014E5F5F4F241735075C +:100E300048F04E0F5F1F4093853F5093863F81934C +:100E4000919302C0E0E0F0E0CF01DF91CF911F91DC +:100E50000F910895CF93DF93009709F481C0FC01AF +:100E6000329712821382A091873FB091883F1097EA +:100E700081F420813181820F931F2091853F309131 +:100E8000863F2817390751F5E093853FF093863F59 +:100E900067C0ED0120E030E0CE17DF0740F44A8163 +:100EA0005B819E0141155105F1F0EA01F5CFC28346 +:100EB000D38340815181840F951FC817D90759F4F6 +:100EC00088819981840F951F0296808391838A81FE +:100ED0009B81828393832115310529F4E093873F19 +:100EE000F093883F3DC0E901EA83FB834991599122 +:100EF000C40FD51FEC17FD0761F480819181840F29 +:100F0000951F0296E90188839983828193818A8360 +:100F10009B83E0E0F0E012968D919C9113970097EF +:100F200019F0FD01DC01F7CF8D919C9111979D0186 +:100F30002E5F3F4F820F931F2091853F3091863F58 +:100F40002817390769F4309729F41092873F1092D7 +:100F5000883F02C012821382A093853FB093863FE0 +:100F6000DF91CF910895FB01DC0102C001900D9249 +:100F700041505040D8F7089503D0808199270895B3 +:100F8000FC01E050FC4E0895262FAF93BF93E0E0A4 +:100F9000F0E1328131FDFDCFDC01A050BC4E2C933D +:100FA0002DE924BF23E020830196BF91AF910895DE +:040FB000F894FFCFE3 +:060FB4000000893F20004F :00000001FF diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss index b9a181c..62cab18 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss @@ -3,31 +3,31 @@ storno_cqp6xx_digital_xtal.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 00000006 00803f00 00000f66 00000ffa 2**0 + 0 .data 00000006 00803f00 00000fb4 00001048 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 00000f66 00000000 00000000 00000094 2**1 + 1 .text 00000fb4 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000084 00803f06 00803f06 00001000 2**0 + 2 .bss 00000083 00803f06 00803f06 0000104e 2**0 ALLOC - 3 .comment 00000030 00000000 00000000 00001000 2**0 + 3 .comment 00000030 00000000 00000000 0000104e 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00001030 2**2 + 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00001080 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000238 00000000 00000000 00001070 2**3 + 5 .debug_aranges 00000240 00000000 00000000 000010c0 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00004ff6 00000000 00000000 000012a8 2**0 + 6 .debug_info 00004fdf 00000000 00000000 00001300 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00001d79 00000000 00000000 0000629e 2**0 + 7 .debug_abbrev 00001d48 00000000 00000000 000062df 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00001678 00000000 00000000 00008017 2**0 + 8 .debug_line 00001696 00000000 00000000 00008027 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000005d8 00000000 00000000 00009690 2**2 + 9 .debug_frame 000005f4 00000000 00000000 000096c0 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00002145 00000000 00000000 00009c68 2**0 + 10 .debug_str 00002120 00000000 00000000 00009cb4 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00001f43 00000000 00000000 0000bdad 2**0 + 11 .debug_loc 00001fe7 00000000 00000000 0000bdd4 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000001c0 00000000 00000000 0000dcf0 2**0 + 12 .debug_ranges 000001c8 00000000 00000000 0000ddbb 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -78,7 +78,7 @@ Disassembly of section .text: 48: 1d 92 st X+, r1 0000004a <.do_clear_bss_start>: - 4a: aa 38 cpi r26, 0x8A ; 138 + 4a: a9 38 cpi r26, 0x89 ; 137 4c: b2 07 cpc r27, r18 4e: e1 f7 brne .-8 ; 0x48 <.do_clear_bss_loop> @@ -86,7 +86,7 @@ Disassembly of section .text: 50: 1f e3 ldi r17, 0x3F ; 63 52: a0 e0 ldi r26, 0x00 ; 0 54: bf e3 ldi r27, 0x3F ; 63 - 56: e6 e6 ldi r30, 0x66 ; 102 + 56: e4 eb ldi r30, 0xB4 ; 180 58: ff e0 ldi r31, 0x0F ; 15 5a: 02 c0 rjmp .+4 ; 0x60 <__do_copy_data+0x10> 5c: 05 90 lpm r0, Z+ @@ -94,8 +94,8 @@ Disassembly of section .text: 60: a6 30 cpi r26, 0x06 ; 6 62: b1 07 cpc r27, r17 64: d9 f7 brne .-10 ; 0x5c <__do_copy_data+0xc> - 66: f0 d3 rcall .+2016 ; 0x848

- 68: 7c c7 rjmp .+3832 ; 0xf62 <_exit> + 66: 17 d4 rcall .+2094 ; 0x896
+ 68: a3 c7 rjmp .+3910 ; 0xfb0 <_exit> 0000006a <__bad_interrupt>: 6a: ca cf rjmp .-108 ; 0x0 <__vectors> @@ -136,7 +136,7 @@ void cm_EEPROM_write(uint8_t *address, uint8_t *data, uint8_t length) { 94: 61 91 ld r22, Z+ 96: 8f 01 movw r16, r30 98: ce 01 movw r24, r28 - 9a: 4f d7 rcall .+3742 ; 0xf3a + 9a: 76 d7 rcall .+3820 ; 0xf88 9c: 21 96 adiw r28, 0x01 ; 1 #include @@ -188,7 +188,7 @@ void cm_EEPROM_read(uint8_t* address, uint8_t *data, uint8_t length) { d6: f7 1e adc r15, r23 data[i] = eeprom_read_byte(address+i); d8: ce 01 movw r24, r28 - da: 27 d7 rcall .+3662 ; 0xf2a + da: 4e d7 rcall .+3740 ; 0xf78 dc: f8 01 movw r30, r16 de: 81 93 st Z+, r24 e0: 8f 01 movw r16, r30 @@ -1241,1443 +1241,1636 @@ void cm_MsgCompleteEvt_Register(void *msg_cmplete_evt_inst, Get_msgComplete_Even 562: 70 93 45 3f sts 0x3F45, r23 ; 0x803f45 566: 08 95 ret -00000568 : - // Send status back maybe.. +00000568 : + if(inst == NULL)return 1; + + return 0; +} + +static void cqm_setPLLParam(storno_xtal_app_t *inst, si5351_PLLs pll_num, si5351_Outputs output){ + 568: 9f 92 push r9 + 56a: af 92 push r10 + 56c: bf 92 push r11 + 56e: cf 92 push r12 + 570: df 92 push r13 + 572: ef 92 push r14 + 574: ff 92 push r15 + 576: 0f 93 push r16 + 578: 1f 93 push r17 + 57a: cf 93 push r28 + 57c: df 93 push r29 + 57e: ec 01 movw r28, r24 + 580: 94 2e mov r9, r20 + + cm_setPllParamRaw(inst->si5351_dev,pll_num, inst->plla_param_data.MSNx_P1, inst->plla_param_data.MSNx_P2, inst->plla_param_data.MSNx_P3); + 582: ac 84 ldd r10, Y+12 ; 0x0c + 584: bd 84 ldd r11, Y+13 ; 0x0d + 586: ce 84 ldd r12, Y+14 ; 0x0e + 588: df 84 ldd r13, Y+15 ; 0x0f + 58a: e8 84 ldd r14, Y+8 ; 0x08 + 58c: f9 84 ldd r15, Y+9 ; 0x09 + 58e: 0a 85 ldd r16, Y+10 ; 0x0a + 590: 1b 85 ldd r17, Y+11 ; 0x0b + 592: 2c 81 ldd r18, Y+4 ; 0x04 + 594: 3d 81 ldd r19, Y+5 ; 0x05 + 596: 4e 81 ldd r20, Y+6 ; 0x06 + 598: 5f 81 ldd r21, Y+7 ; 0x07 + 59a: 89 81 ldd r24, Y+1 ; 0x01 + 59c: 9a 81 ldd r25, Y+2 ; 0x02 + 59e: cb d2 rcall .+1430 ; 0xb36 + //_delay_ms(1); + cm_setOutputMultiSynthRaw(inst->si5351_dev,output, inst->plla_param_data.MSx_P1, inst->plla_param_data.MSx_P2, inst->plla_param_data.MSx_P3); + 5a0: a8 8c ldd r10, Y+24 ; 0x18 + 5a2: b9 8c ldd r11, Y+25 ; 0x19 + 5a4: ca 8c ldd r12, Y+26 ; 0x1a + 5a6: db 8c ldd r13, Y+27 ; 0x1b + 5a8: ec 88 ldd r14, Y+20 ; 0x14 + 5aa: fd 88 ldd r15, Y+21 ; 0x15 + 5ac: 0e 89 ldd r16, Y+22 ; 0x16 + 5ae: 1f 89 ldd r17, Y+23 ; 0x17 + 5b0: 28 89 ldd r18, Y+16 ; 0x10 + 5b2: 39 89 ldd r19, Y+17 ; 0x11 + 5b4: 4a 89 ldd r20, Y+18 ; 0x12 + 5b6: 5b 89 ldd r21, Y+19 ; 0x13 + 5b8: 69 2d mov r22, r9 + 5ba: 89 81 ldd r24, Y+1 ; 0x01 + 5bc: 9a 81 ldd r25, Y+2 ; 0x02 + 5be: c9 d1 rcall .+914 ; 0x952 + //_delay_ms(1); + cm_setCLKControl(inst->si5351_dev,output,SI5351_CLK_POWER_UP); + 5c0: 40 e0 ldi r20, 0x00 ; 0 + 5c2: 69 2d mov r22, r9 + 5c4: 89 81 ldd r24, Y+1 ; 0x01 + 5c6: 9a 81 ldd r25, Y+2 ; 0x02 + 5c8: 41 d2 rcall .+1154 ; 0xa4c - //Force state machine to load new settings from eeprom: - inst->state_next = STORNO_APP_PROGRAM_OSC; } - 568: cf 93 push r28 - 56a: df 93 push r29 - 56c: fc 01 movw r30, r24 - 56e: 82 81 ldd r24, Z+2 ; 0x02 - 570: 93 81 ldd r25, Z+3 ; 0x03 - 572: 00 97 sbiw r24, 0x00 ; 0 - 574: e9 f0 breq .+58 ; 0x5b0 - 576: 30 97 sbiw r30, 0x00 ; 0 - 578: d9 f0 breq .+54 ; 0x5b0 - 57a: 21 81 ldd r18, Z+1 ; 0x01 - 57c: 30 81 ld r19, Z - 57e: 23 17 cp r18, r19 - 580: b9 f0 breq .+46 ; 0x5b0 - 582: ef 01 movw r28, r30 - 584: 21 30 cpi r18, 0x01 ; 1 - 586: 19 f0 breq .+6 ; 0x58e - 588: 22 30 cpi r18, 0x02 ; 2 - 58a: 51 f0 breq .+20 ; 0x5a0 - 58c: 11 c0 rjmp .+34 ; 0x5b0 - 58e: 40 e0 ldi r20, 0x00 ; 0 - 590: 60 e0 ldi r22, 0x00 ; 0 - 592: 0e d2 rcall .+1052 ; 0x9b0 - 594: 41 e0 ldi r20, 0x01 ; 1 - 596: 61 e0 ldi r22, 0x01 ; 1 - 598: 8a 81 ldd r24, Y+2 ; 0x02 - 59a: 9b 81 ldd r25, Y+3 ; 0x03 - 59c: 09 d2 rcall .+1042 ; 0x9b0 - 59e: 08 c0 rjmp .+16 ; 0x5b0 - 5a0: 41 e0 ldi r20, 0x01 ; 1 - 5a2: 60 e0 ldi r22, 0x00 ; 0 - 5a4: 05 d2 rcall .+1034 ; 0x9b0 - 5a6: 40 e0 ldi r20, 0x00 ; 0 - 5a8: 61 e0 ldi r22, 0x01 ; 1 - 5aa: 8a 81 ldd r24, Y+2 ; 0x02 - 5ac: 9b 81 ldd r25, Y+3 ; 0x03 - 5ae: 00 d2 rcall .+1024 ; 0x9b0 - 5b0: df 91 pop r29 - 5b2: cf 91 pop r28 - 5b4: 08 95 ret + 5ca: df 91 pop r29 + 5cc: cf 91 pop r28 + 5ce: 1f 91 pop r17 + 5d0: 0f 91 pop r16 + 5d2: ff 90 pop r15 + 5d4: ef 90 pop r14 + 5d6: df 90 pop r13 + 5d8: cf 90 pop r12 + 5da: bf 90 pop r11 + 5dc: af 90 pop r10 + 5de: 9f 90 pop r9 + 5e0: 08 95 ret -000005b6 : - 5b6: 9f 92 push r9 - 5b8: af 92 push r10 - 5ba: bf 92 push r11 - 5bc: cf 92 push r12 - 5be: df 92 push r13 - 5c0: ef 92 push r14 - 5c2: ff 92 push r15 - 5c4: 0f 93 push r16 - 5c6: 1f 93 push r17 - 5c8: cf 93 push r28 - 5ca: df 93 push r29 - 5cc: ec 01 movw r28, r24 - 5ce: 94 2e mov r9, r20 - 5d0: ad 84 ldd r10, Y+13 ; 0x0d - 5d2: be 84 ldd r11, Y+14 ; 0x0e - 5d4: cf 84 ldd r12, Y+15 ; 0x0f - 5d6: d8 88 ldd r13, Y+16 ; 0x10 - 5d8: e9 84 ldd r14, Y+9 ; 0x09 - 5da: fa 84 ldd r15, Y+10 ; 0x0a - 5dc: 0b 85 ldd r16, Y+11 ; 0x0b - 5de: 1c 85 ldd r17, Y+12 ; 0x0c - 5e0: 2d 81 ldd r18, Y+5 ; 0x05 - 5e2: 3e 81 ldd r19, Y+6 ; 0x06 - 5e4: 4f 81 ldd r20, Y+7 ; 0x07 - 5e6: 58 85 ldd r21, Y+8 ; 0x08 - 5e8: 8a 81 ldd r24, Y+2 ; 0x02 - 5ea: 9b 81 ldd r25, Y+3 ; 0x03 - 5ec: 7d d2 rcall .+1274 ; 0xae8 - 5ee: a9 8c ldd r10, Y+25 ; 0x19 - 5f0: ba 8c ldd r11, Y+26 ; 0x1a - 5f2: cb 8c ldd r12, Y+27 ; 0x1b - 5f4: dc 8c ldd r13, Y+28 ; 0x1c - 5f6: ed 88 ldd r14, Y+21 ; 0x15 - 5f8: fe 88 ldd r15, Y+22 ; 0x16 - 5fa: 0f 89 ldd r16, Y+23 ; 0x17 - 5fc: 18 8d ldd r17, Y+24 ; 0x18 - 5fe: 29 89 ldd r18, Y+17 ; 0x11 - 600: 3a 89 ldd r19, Y+18 ; 0x12 - 602: 4b 89 ldd r20, Y+19 ; 0x13 - 604: 5c 89 ldd r21, Y+20 ; 0x14 - 606: 69 2d mov r22, r9 - 608: 8a 81 ldd r24, Y+2 ; 0x02 - 60a: 9b 81 ldd r25, Y+3 ; 0x03 - 60c: 7b d1 rcall .+758 ; 0x904 - 60e: 40 e0 ldi r20, 0x00 ; 0 - 610: 69 2d mov r22, r9 - 612: 8a 81 ldd r24, Y+2 ; 0x02 - 614: 9b 81 ldd r25, Y+3 ; 0x03 - 616: f3 d1 rcall .+998 ; 0x9fe - 618: df 91 pop r29 - 61a: cf 91 pop r28 - 61c: 1f 91 pop r17 - 61e: 0f 91 pop r16 - 620: ff 90 pop r15 - 622: ef 90 pop r14 - 624: df 90 pop r13 - 626: cf 90 pop r12 - 628: bf 90 pop r11 - 62a: af 90 pop r10 - 62c: 9f 90 pop r9 - 62e: 08 95 ret +000005e2 : +static void cqm6xx_app_loadPLLParam(storno_xtal_app_t *inst){ + 5e2: 0f 93 push r16 + 5e4: 1f 93 push r17 + 5e6: cf 93 push r28 + 5e8: df 93 push r29 + 5ea: ec 01 movw r28, r24 + + // Read settings for PLLA first + cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); + 5ec: 8c 01 movw r16, r24 + 5ee: 0d 5f subi r16, 0xFD ; 253 + 5f0: 1f 4f sbci r17, 0xFF ; 255 + 5f2: 4e e1 ldi r20, 0x1E ; 30 + 5f4: b8 01 movw r22, r16 + 5f6: 80 e0 ldi r24, 0x00 ; 0 + 5f8: 90 e0 ldi r25, 0x00 ; 0 + 5fa: 5b dd rcall .-1354 ; 0xb2 + //_delay_ms(1); + cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL); + 5fc: 60 e0 ldi r22, 0x00 ; 0 + 5fe: 89 81 ldd r24, Y+1 ; 0x01 + 600: 9a 81 ldd r25, Y+2 ; 0x02 + 602: 58 d2 rcall .+1200 ; 0xab4 + //_delay_ms(1); + + + cqm_setPLLParam(inst, SI5351_PLL_A, SI5351_OUTPUT_0); + 604: 40 e0 ldi r20, 0x00 ; 0 + 606: 60 e0 ldi r22, 0x00 ; 0 + 608: ce 01 movw r24, r28 + 60a: ae df rcall .-164 ; 0x568 + //_delay_ms(1); + + + cm_EEPROM_read((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); + 60c: 4e e1 ldi r20, 0x1E ; 30 + 60e: b8 01 movw r22, r16 + 610: 80 e2 ldi r24, 0x20 ; 32 + 612: 90 e0 ldi r25, 0x00 ; 0 + 614: 4e dd rcall .-1380 ; 0xb2 + //_delay_ms(1); + cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_1); + 616: 41 e0 ldi r20, 0x01 ; 1 + 618: 61 e0 ldi r22, 0x01 ; 1 + 61a: ce 01 movw r24, r28 + 61c: a5 df rcall .-182 ; 0x568 + + + // Set third output to crystal freq for calibration! + cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_2); + 61e: 42 e0 ldi r20, 0x02 ; 2 + 620: 61 e0 ldi r22, 0x01 ; 1 + 622: ce 01 movw r24, r28 + 624: a1 df rcall .-190 ; 0x568 + cm_setCLKControl(inst->si5351_dev, SI5351_OUTPUT_2,SI5351_CLK_POWER_UP); + 626: 40 e0 ldi r20, 0x00 ; 0 + 628: 62 e0 ldi r22, 0x02 ; 2 + 62a: 89 81 ldd r24, Y+1 ; 0x01 + 62c: 9a 81 ldd r25, Y+2 ; 0x02 + 62e: 0e d2 rcall .+1052 ; 0xa4c + //_delay_ms(1); + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_2,SI5351_OUTPUT_ENABLE); + 630: 40 e0 ldi r20, 0x00 ; 0 + 632: 62 e0 ldi r22, 0x02 ; 2 + 634: 89 81 ldd r24, Y+1 ; 0x01 + 636: 9a 81 ldd r25, Y+2 ; 0x02 + 638: e2 d1 rcall .+964 ; 0x9fe -00000630 : - 630: fb 01 movw r30, r22 - 632: 20 81 ld r18, Z - 634: 22 23 and r18, r18 - 636: 19 f0 breq .+6 ; 0x63e - 638: 21 30 cpi r18, 0x01 ; 1 - 63a: 51 f0 breq .+20 ; 0x650 - 63c: 11 c0 rjmp .+34 ; 0x660 - 63e: dc 01 movw r26, r24 - 640: 14 96 adiw r26, 0x04 ; 4 - 642: 8e e1 ldi r24, 0x1E ; 30 - 644: fb 01 movw r30, r22 - 646: 01 90 ld r0, Z+ - 648: 0d 92 st X+, r0 - 64a: 8a 95 dec r24 - 64c: e1 f7 brne .-8 ; 0x646 - 64e: 08 c0 rjmp .+16 ; 0x660 - 650: dc 01 movw r26, r24 - 652: 92 96 adiw r26, 0x22 ; 34 - 654: 8e e1 ldi r24, 0x1E ; 30 - 656: fb 01 movw r30, r22 - 658: 01 90 ld r0, Z+ - 65a: 0d 92 st X+, r0 - 65c: 8a 95 dec r24 - 65e: e1 f7 brne .-8 ; 0x658 - 660: 80 e0 ldi r24, 0x00 ; 0 - 662: 90 e0 ldi r25, 0x00 ; 0 - 664: 08 95 ret + + +} + 63a: df 91 pop r29 + 63c: cf 91 pop r28 + 63e: 1f 91 pop r17 + 640: 0f 91 pop r16 + 642: 08 95 ret -00000666 : - 666: 0f 93 push r16 - 668: 1f 93 push r17 - 66a: cf 93 push r28 - 66c: df 93 push r29 - 66e: fc 01 movw r30, r24 - 670: 22 81 ldd r18, Z+2 ; 0x02 - 672: 33 81 ldd r19, Z+3 ; 0x03 - 674: 23 2b or r18, r19 - 676: 09 f4 brne .+2 ; 0x67a - 678: 4d c0 rjmp .+154 ; 0x714 - 67a: 00 97 sbiw r24, 0x00 ; 0 - 67c: 09 f4 brne .+2 ; 0x680 - 67e: 4a c0 rjmp .+148 ; 0x714 - 680: ec 01 movw r28, r24 - 682: 81 81 ldd r24, Z+1 ; 0x01 - 684: 81 30 cpi r24, 0x01 ; 1 - 686: 79 f1 breq .+94 ; 0x6e6 - 688: 18 f0 brcs .+6 ; 0x690 - 68a: 82 30 cpi r24, 0x02 ; 2 - 68c: c1 f1 breq .+112 ; 0x6fe - 68e: 42 c0 rjmp .+132 ; 0x714 - 690: 10 82 st Z, r1 - 692: 8f 01 movw r16, r30 - 694: 0c 5f subi r16, 0xFC ; 252 - 696: 1f 4f sbci r17, 0xFF ; 255 - 698: 4e e1 ldi r20, 0x1E ; 30 - 69a: b8 01 movw r22, r16 - 69c: 80 e0 ldi r24, 0x00 ; 0 - 69e: 90 e0 ldi r25, 0x00 ; 0 - 6a0: 08 dd rcall .-1520 ; 0xb2 - 6a2: 60 e0 ldi r22, 0x00 ; 0 - 6a4: 8a 81 ldd r24, Y+2 ; 0x02 - 6a6: 9b 81 ldd r25, Y+3 ; 0x03 - 6a8: de d1 rcall .+956 ; 0xa66 - 6aa: 40 e0 ldi r20, 0x00 ; 0 +00000644 : + return 0; + + +} + +int uart_rx_event(storno_xtal_app_t *inst, void *rxData){ + 644: cf 93 push r28 + 646: df 93 push r29 + 648: ec 01 movw r28, r24 + + storno_pll_param_msg_header *msg = rxData; + + switch (msg->PLL_Ident){ + 64a: fb 01 movw r30, r22 + 64c: 90 81 ld r25, Z + 64e: 99 23 and r25, r25 + 650: 19 f0 breq .+6 ; 0x658 + 652: 91 30 cpi r25, 0x01 ; 1 + 654: 51 f0 breq .+20 ; 0x66a + 656: 11 c0 rjmp .+34 ; 0x67a + + case MSG_PLLA_PARAM: + memcpy(&inst->plla_param_data,rxData,sizeof(storno_pll_param_msg)); + 658: 8e e1 ldi r24, 0x1E ; 30 + 65a: fb 01 movw r30, r22 + 65c: de 01 movw r26, r28 + 65e: 13 96 adiw r26, 0x03 ; 3 + 660: 01 90 ld r0, Z+ + 662: 0d 92 st X+, r0 + 664: 8a 95 dec r24 + 666: e1 f7 brne .-8 ; 0x660 + break; + 668: 08 c0 rjmp .+16 ; 0x67a + + case MSG_PLLB_PARAM: + memcpy(&inst->pllb_param_data,rxData,sizeof(storno_pll_param_msg)); + 66a: 8e e1 ldi r24, 0x1E ; 30 + 66c: fb 01 movw r30, r22 + 66e: de 01 movw r26, r28 + 670: 91 96 adiw r26, 0x21 ; 33 + 672: 01 90 ld r0, Z+ + 674: 0d 92 st X+, r0 + 676: 8a 95 dec r24 + 678: e1 f7 brne .-8 ; 0x672 + + } + + // Add EepromWritePLLParameters to trigger to write setting to eeprom as soon as we can after ISR! + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,(void*)EepromWritePLLParameters,inst); + inst->rtx_mode = STORNO_APP_PROGRAM_EEPROM; + 67a: 82 e0 ldi r24, 0x02 ; 2 + 67c: 88 83 st Y, r24 + // Add write pll to list.. so the settings are updated immitialy + + return 0; + +} + 67e: 80 e0 ldi r24, 0x00 ; 0 + 680: 90 e0 ldi r25, 0x00 ; 0 + 682: df 91 pop r29 + 684: cf 91 pop r28 + 686: 08 95 ret + +00000688 : + + + +} + +void setRTXOscMode(storno_xtal_app_t *inst){ + 688: cf 93 push r28 + 68a: df 93 push r29 + 68c: ec 01 movw r28, r24 + + if(inst->rtx_mode != STORNO_APP_TX_MODE){ + 68e: 88 81 ld r24, Y + 690: 81 30 cpi r24, 0x01 ; 1 + 692: 59 f0 breq .+22 ; 0x6aa + + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_ENABLE); // RX + 694: 40 e0 ldi r20, 0x00 ; 0 + 696: 60 e0 ldi r22, 0x00 ; 0 + 698: 89 81 ldd r24, Y+1 ; 0x01 + 69a: 9a 81 ldd r25, Y+2 ; 0x02 + 69c: b0 d1 rcall .+864 ; 0x9fe + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_DISABLE); // TX + 69e: 41 e0 ldi r20, 0x01 ; 1 + 6a0: 61 e0 ldi r22, 0x01 ; 1 + 6a2: 89 81 ldd r24, Y+1 ; 0x01 + 6a4: 9a 81 ldd r25, Y+2 ; 0x02 + 6a6: ab d1 rcall .+854 ; 0x9fe + 6a8: 0a c0 rjmp .+20 ; 0x6be + + }else{ + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_DISABLE); // RX + 6aa: 41 e0 ldi r20, 0x01 ; 1 6ac: 60 e0 ldi r22, 0x00 ; 0 - 6ae: ce 01 movw r24, r28 - 6b0: 82 df rcall .-252 ; 0x5b6 - 6b2: 4e e1 ldi r20, 0x1E ; 30 - 6b4: b8 01 movw r22, r16 - 6b6: 80 e2 ldi r24, 0x20 ; 32 - 6b8: 90 e0 ldi r25, 0x00 ; 0 - 6ba: fb dc rcall .-1546 ; 0xb2 - 6bc: 41 e0 ldi r20, 0x01 ; 1 - 6be: 61 e0 ldi r22, 0x01 ; 1 - 6c0: ce 01 movw r24, r28 - 6c2: 79 df rcall .-270 ; 0x5b6 - 6c4: 42 e0 ldi r20, 0x02 ; 2 - 6c6: 61 e0 ldi r22, 0x01 ; 1 - 6c8: ce 01 movw r24, r28 - 6ca: 75 df rcall .-278 ; 0x5b6 - 6cc: 40 e0 ldi r20, 0x00 ; 0 - 6ce: 62 e0 ldi r22, 0x02 ; 2 - 6d0: 8a 81 ldd r24, Y+2 ; 0x02 - 6d2: 9b 81 ldd r25, Y+3 ; 0x03 - 6d4: 94 d1 rcall .+808 ; 0x9fe - 6d6: 40 e0 ldi r20, 0x00 ; 0 - 6d8: 62 e0 ldi r22, 0x02 ; 2 - 6da: 8a 81 ldd r24, Y+2 ; 0x02 - 6dc: 9b 81 ldd r25, Y+3 ; 0x03 - 6de: 68 d1 rcall .+720 ; 0x9b0 - 6e0: 81 e0 ldi r24, 0x01 ; 1 - 6e2: 89 83 std Y+1, r24 ; 0x01 - 6e4: 17 c0 rjmp .+46 ; 0x714 - 6e6: cf 01 movw r24, r30 - 6e8: 3f df rcall .-386 ; 0x568 - 6ea: 89 81 ldd r24, Y+1 ; 0x01 - 6ec: 88 83 st Y, r24 - 6ee: 63 e0 ldi r22, 0x03 ; 3 - 6f0: 80 e0 ldi r24, 0x00 ; 0 - 6f2: 02 dd rcall .-1532 ; 0xf8 - 6f4: 01 97 sbiw r24, 0x01 ; 1 - 6f6: 71 f4 brne .+28 ; 0x714 - 6f8: 82 e0 ldi r24, 0x02 ; 2 - 6fa: 89 83 std Y+1, r24 ; 0x01 - 6fc: 0b c0 rjmp .+22 ; 0x714 - 6fe: cf 01 movw r24, r30 - 700: 33 df rcall .-410 ; 0x568 - 702: 89 81 ldd r24, Y+1 ; 0x01 - 704: 88 83 st Y, r24 - 706: 63 e0 ldi r22, 0x03 ; 3 - 708: 80 e0 ldi r24, 0x00 ; 0 - 70a: f6 dc rcall .-1556 ; 0xf8 - 70c: 89 2b or r24, r25 - 70e: 11 f4 brne .+4 ; 0x714 - 710: 81 e0 ldi r24, 0x01 ; 1 - 712: 89 83 std Y+1, r24 ; 0x01 - 714: df 91 pop r29 - 716: cf 91 pop r28 - 718: 1f 91 pop r17 - 71a: 0f 91 pop r16 - 71c: 08 95 ret + 6ae: 89 81 ldd r24, Y+1 ; 0x01 + 6b0: 9a 81 ldd r25, Y+2 ; 0x02 + 6b2: a5 d1 rcall .+842 ; 0x9fe + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_ENABLE); // TX + 6b4: 40 e0 ldi r20, 0x00 ; 0 + 6b6: 61 e0 ldi r22, 0x01 ; 1 + 6b8: 89 81 ldd r24, Y+1 ; 0x01 + 6ba: 9a 81 ldd r25, Y+2 ; 0x02 + 6bc: a0 d1 rcall .+832 ; 0x9fe + } + +} + 6be: df 91 pop r29 + 6c0: cf 91 pop r28 + 6c2: 08 95 ret -0000071e : +000006c4 : + +void EepromWritePLLParameters(storno_xtal_app_t *inst){ + + //Burn settings into eeprom here: + switch(inst->plla_param_data.header.PLL_Ident){ + 6c4: fc 01 movw r30, r24 + 6c6: 23 81 ldd r18, Z+3 ; 0x03 + 6c8: 21 30 cpi r18, 0x01 ; 1 + 6ca: 71 f0 breq .+28 ; 0x6e8 + 6cc: 28 f0 brcs .+10 ; 0x6d8 + 6ce: 2e 3f cpi r18, 0xFE ; 254 + 6d0: 99 f0 breq .+38 ; 0x6f8 + 6d2: 2f 3f cpi r18, 0xFF ; 255 + 6d4: c9 f0 breq .+50 ; 0x708 + 6d6: 08 95 ret + + case MSG_PLLA_PARAM: + cm_EEPROM_write((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->plla_param_data), sizeof(storno_pll_param_msg)); + 6d8: bc 01 movw r22, r24 + 6da: 6d 5f subi r22, 0xFD ; 253 + 6dc: 7f 4f sbci r23, 0xFF ; 255 + 6de: 4e e1 ldi r20, 0x1E ; 30 + 6e0: 80 e0 ldi r24, 0x00 ; 0 + 6e2: 90 e0 ldi r25, 0x00 ; 0 + 6e4: c3 dc rcall .-1658 ; 0x6c + break; + 6e6: 08 95 ret + + case MSG_PLLB_PARAM: + cm_EEPROM_write((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->pllb_param_data), sizeof(storno_pll_param_msg)); + 6e8: bc 01 movw r22, r24 + 6ea: 6f 5d subi r22, 0xDF ; 223 + 6ec: 7f 4f sbci r23, 0xFF ; 255 + 6ee: 4e e1 ldi r20, 0x1E ; 30 + 6f0: 80 e2 ldi r24, 0x20 ; 32 + 6f2: 90 e0 ldi r25, 0x00 ; 0 + 6f4: bb dc rcall .-1674 ; 0x6c + break; + 6f6: 08 95 ret + + case MSG_GET_PLLA_PARAM: + cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); + 6f8: bc 01 movw r22, r24 + 6fa: 6d 5f subi r22, 0xFD ; 253 + 6fc: 7f 4f sbci r23, 0xFF ; 255 + 6fe: 4e e1 ldi r20, 0x1E ; 30 + 700: 80 e0 ldi r24, 0x00 ; 0 + 702: 90 e0 ldi r25, 0x00 ; 0 + 704: d6 dc rcall .-1620 ; 0xb2 + break; + 706: 08 95 ret + + case MSG_GET_PLLB_PARAM: + cm_EEPROM_read((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->pllb_param_data,sizeof(storno_pll_param_msg)); + 708: bc 01 movw r22, r24 + 70a: 6f 5d subi r22, 0xDF ; 223 + 70c: 7f 4f sbci r23, 0xFF ; 255 + 70e: 4e e1 ldi r20, 0x1E ; 30 + 710: 80 e2 ldi r24, 0x20 ; 32 + 712: 90 e0 ldi r25, 0x00 ; 0 + 714: ce dc rcall .-1636 ; 0xb2 + 716: 08 95 ret + +00000718 : + + } + +} + +void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){ + 718: cf 93 push r28 + 71a: df 93 push r29 +#define PLLA_SETTINGS_EEPROM_ADDR 0x00 // addr 0 +#define PLLB_SETTINGS_EEPROM_ADDR 0x20 // addr 32 (64 bytes total memory) + +static uint8_t isStructValid(storno_xtal_app_t *inst){ + + if(inst->si5351_dev == NULL) return 1; + 71c: fc 01 movw r30, r24 + 71e: 21 81 ldd r18, Z+1 ; 0x01 + 720: 32 81 ldd r19, Z+2 ; 0x02 + 722: 23 2b or r18, r19 + 724: f9 f0 breq .+62 ; 0x764 +} + +void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){ + + // Check Struct + if(isStructValid(inst) != 0)return; + 726: 00 97 sbiw r24, 0x00 ; 0 + 728: e9 f0 breq .+58 ; 0x764 + 72a: ec 01 movw r28, r24 + + // Run next task: + //cm_taskManager_run_tasks(&inst->storno_xtal_task); + + // Save eeprom setting if we have to: + if(inst->rtx_mode == STORNO_APP_PROGRAM_EEPROM){ + 72c: 80 81 ld r24, Z + 72e: 82 30 cpi r24, 0x02 ; 2 + 730: 31 f4 brne .+12 ; 0x73e + inst->rtx_mode = STORNO_APP_RX_MODE; + 732: 10 82 st Z, r1 + EepromWritePLLParameters(inst); + 734: cf 01 movw r24, r30 + 736: c6 df rcall .-116 ; 0x6c4 + cqm6xx_app_loadPLLParam(inst); + 738: ce 01 movw r24, r28 + 73a: 53 df rcall .-346 ; 0x5e2 + return; + 73c: 13 c0 rjmp .+38 ; 0x764 + } + + // If TX pin is not set, then turn on RX output on PLL and disable TX clock. Run setRTXOscMode once, so pll isnt constantly written to!! + if((gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) != GPIO_LEVEL_SET) && (inst->rtx_mode != STORNO_APP_RX_MODE)){ + 73e: 63 e0 ldi r22, 0x03 ; 3 + 740: 80 e0 ldi r24, 0x00 ; 0 + 742: da dc rcall .-1612 ; 0xf8 + 744: 01 97 sbiw r24, 0x01 ; 1 + 746: 39 f0 breq .+14 ; 0x756 + 748: 88 81 ld r24, Y + 74a: 88 23 and r24, r24 + 74c: 39 f0 breq .+14 ; 0x75c + + inst->rtx_mode = STORNO_APP_RX_MODE; + 74e: 18 82 st Y, r1 + setRTXOscMode(inst); + 750: ce 01 movw r24, r28 + 752: 9a df rcall .-204 ; 0x688 + 754: 07 c0 rjmp .+14 ; 0x764 + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); + + }else if (inst->rtx_mode != STORNO_APP_TX_MODE){ + 756: 88 81 ld r24, Y + 758: 81 30 cpi r24, 0x01 ; 1 + 75a: 21 f0 breq .+8 ; 0x764 + inst->rtx_mode = STORNO_APP_TX_MODE; + 75c: 81 e0 ldi r24, 0x01 ; 1 + 75e: 88 83 st Y, r24 + setRTXOscMode(inst); + 760: ce 01 movw r24, r28 + 762: 92 df rcall .-220 ; 0x688 + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); + + } + +} + 764: df 91 pop r29 + 766: cf 91 pop r28 + 768: 08 95 ret + +0000076a : return 0; } void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){ - 71e: 0f 93 push r16 - 720: 1f 93 push r17 - 722: cf 93 push r28 - 724: df 93 push r29 + 76a: 0f 93 push r16 + 76c: 1f 93 push r17 + 76e: cf 93 push r28 + 770: df 93 push r29 if(si5351_dev == NULL) return; - 726: 61 15 cp r22, r1 - 728: 71 05 cpc r23, r1 - 72a: 09 f4 brne .+2 ; 0x72e - 72c: 88 c0 rjmp .+272 ; 0x83e + 772: 61 15 cp r22, r1 + 774: 71 05 cpc r23, r1 + 776: 09 f4 brne .+2 ; 0x77a + 778: 89 c0 rjmp .+274 ; 0x88c if(inst == NULL)return; - 72e: 00 97 sbiw r24, 0x00 ; 0 - 730: 09 f4 brne .+2 ; 0x734 - 732: 85 c0 rjmp .+266 ; 0x83e - 734: ec 01 movw r28, r24 - - inst->state_next = STORNO_APP_PROGRAM_OSC; - 736: 19 82 std Y+1, r1 ; 0x01 - inst->state_now = STORNO_APP_PROGRAM_OSC; - 738: 18 82 st Y, r1 - + 77a: 00 97 sbiw r24, 0x00 ; 0 + 77c: 09 f4 brne .+2 ; 0x780 + 77e: 86 c0 rjmp .+268 ; 0x88c + 780: ec 01 movw r28, r24 inst->si5351_dev = si5351_dev; - 73a: 6a 83 std Y+2, r22 ; 0x02 - 73c: 7b 83 std Y+3, r23 ; 0x03 + 782: 69 83 std Y+1, r22 ; 0x01 + 784: 7a 83 std Y+2, r23 ; 0x02 cm_MsgCompleteEvt_Register(inst,(Get_msgComplete_Event_fpt)uart_rx_event); - 73e: 68 e1 ldi r22, 0x18 ; 24 - 740: 73 e0 ldi r23, 0x03 ; 3 - 742: 04 df rcall .-504 ; 0x54c + 786: 62 e2 ldi r22, 0x22 ; 34 + 788: 73 e0 ldi r23, 0x03 ; 3 + 78a: e0 de rcall .-576 ; 0x54c cm_uart_init(inst,(get_UART_Event_fpt)cm_msg_DecodeMsg_Byte); - 744: 62 e5 ldi r22, 0x52 ; 82 - 746: 72 e0 ldi r23, 0x02 ; 2 - 748: ce 01 movw r24, r28 - 74a: 3c de rcall .-904 ; 0x3c4 + 78c: 62 e5 ldi r22, 0x52 ; 82 + 78e: 72 e0 ldi r23, 0x02 ; 2 + 790: ce 01 movw r24, r28 + 792: 18 de rcall .-976 ; 0x3c4 } static int isEEPROMValid(storno_xtal_app_t *inst){ cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->pllb_param_data,sizeof(storno_pll_param_msg)); - 74c: 8e 01 movw r16, r28 - 74e: 0e 5d subi r16, 0xDE ; 222 - 750: 1f 4f sbci r17, 0xFF ; 255 - 752: 4e e1 ldi r20, 0x1E ; 30 - 754: b8 01 movw r22, r16 - 756: 80 e0 ldi r24, 0x00 ; 0 - 758: 90 e0 ldi r25, 0x00 ; 0 - 75a: ab dc rcall .-1706 ; 0xb2 + 794: 8e 01 movw r16, r28 + 796: 0f 5d subi r16, 0xDF ; 223 + 798: 1f 4f sbci r17, 0xFF ; 255 + 79a: 4e e1 ldi r20, 0x1E ; 30 + 79c: b8 01 movw r22, r16 + 79e: 80 e0 ldi r24, 0x00 ; 0 + 7a0: 90 e0 ldi r25, 0x00 ; 0 + 7a2: 87 dc rcall .-1778 ; 0xb2 uint8_t *ptr = (void*)&inst->pllb_param_data; for (uint32_t idx = 0; idx < sizeof(storno_pll_param_msg); idx++ ) { if ((*ptr != 0xff) && (*ptr != 0x00)) - 75c: 8a a1 ldd r24, Y+34 ; 0x22 - 75e: 81 50 subi r24, 0x01 ; 1 - 760: 8e 3f cpi r24, 0xFE ; 254 - 762: 08 f0 brcs .+2 ; 0x766 - 764: 66 c0 rjmp .+204 ; 0x832 - 766: 6b c0 rjmp .+214 ; 0x83e - 768: 91 91 ld r25, Z+ - 76a: 91 50 subi r25, 0x01 ; 1 - 76c: 9e 3f cpi r25, 0xFE ; 254 - 76e: 08 f4 brcc .+2 ; 0x772 - 770: 66 c0 rjmp .+204 ; 0x83e + 7a4: 89 a1 ldd r24, Y+33 ; 0x21 + 7a6: 81 50 subi r24, 0x01 ; 1 + 7a8: 8e 3f cpi r24, 0xFE ; 254 + 7aa: 08 f0 brcs .+2 ; 0x7ae + 7ac: 69 c0 rjmp .+210 ; 0x880 + 7ae: 08 c0 rjmp .+16 ; 0x7c0 + 7b0: 91 91 ld r25, Z+ + 7b2: 91 50 subi r25, 0x01 ; 1 + 7b4: 9e 3f cpi r25, 0xFE ; 254 + 7b6: 20 f0 brcs .+8 ; 0x7c0 cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->pllb_param_data,sizeof(storno_pll_param_msg)); uint8_t *ptr = (void*)&inst->pllb_param_data; for (uint32_t idx = 0; idx < sizeof(storno_pll_param_msg); idx++ ) - 772: 2e 17 cp r18, r30 - 774: 3f 07 cpc r19, r31 - 776: c1 f7 brne .-16 ; 0x768 + 7b8: 2e 17 cp r18, r30 + 7ba: 3f 07 cpc r19, r31 + 7bc: c9 f7 brne .-14 ; 0x7b0 + 7be: 03 c0 rjmp .+6 ; 0x7c6 + if(!isEEPROMValid(inst)){ + // If settings are somehow unvalid, then write default settings.. + writeDefaultSettingsEEprom(inst); + } + + cqm6xx_app_loadPLLParam(inst); + 7c0: ce 01 movw r24, r28 + 7c2: 0f df rcall .-482 ; 0x5e2 + 7c4: 63 c0 rjmp .+198 ; 0x88c static int writeDefaultSettingsEEprom(storno_xtal_app_t *inst){ //inst->pllb_param_data.PLL_Ident = inst->plla_param_data.PLL_Ident = 0; inst->pllb_param_data.MSNx_P1 = inst->plla_param_data.MSNx_P1 = 3395; - 778: 83 e4 ldi r24, 0x43 ; 67 - 77a: 9d e0 ldi r25, 0x0D ; 13 - 77c: a0 e0 ldi r26, 0x00 ; 0 - 77e: b0 e0 ldi r27, 0x00 ; 0 - 780: 8d 83 std Y+5, r24 ; 0x05 - 782: 9e 83 std Y+6, r25 ; 0x06 - 784: af 83 std Y+7, r26 ; 0x07 - 786: b8 87 std Y+8, r27 ; 0x08 - 788: 8b a3 std Y+35, r24 ; 0x23 - 78a: 9c a3 std Y+36, r25 ; 0x24 - 78c: ad a3 std Y+37, r26 ; 0x25 - 78e: be a3 std Y+38, r27 ; 0x26 + 7c6: 83 e4 ldi r24, 0x43 ; 67 + 7c8: 9d e0 ldi r25, 0x0D ; 13 + 7ca: a0 e0 ldi r26, 0x00 ; 0 + 7cc: b0 e0 ldi r27, 0x00 ; 0 + 7ce: 8c 83 std Y+4, r24 ; 0x04 + 7d0: 9d 83 std Y+5, r25 ; 0x05 + 7d2: ae 83 std Y+6, r26 ; 0x06 + 7d4: bf 83 std Y+7, r27 ; 0x07 + 7d6: 8a a3 std Y+34, r24 ; 0x22 + 7d8: 9b a3 std Y+35, r25 ; 0x23 + 7da: ac a3 std Y+36, r26 ; 0x24 + 7dc: bd a3 std Y+37, r27 ; 0x25 inst->pllb_param_data.MSNx_P2 = inst->plla_param_data.MSNx_P2 = 11510; - 790: 86 ef ldi r24, 0xF6 ; 246 - 792: 9c e2 ldi r25, 0x2C ; 44 - 794: a0 e0 ldi r26, 0x00 ; 0 - 796: b0 e0 ldi r27, 0x00 ; 0 - 798: 89 87 std Y+9, r24 ; 0x09 - 79a: 9a 87 std Y+10, r25 ; 0x0a - 79c: ab 87 std Y+11, r26 ; 0x0b - 79e: bc 87 std Y+12, r27 ; 0x0c - 7a0: 8f a3 std Y+39, r24 ; 0x27 - 7a2: 98 a7 std Y+40, r25 ; 0x28 - 7a4: a9 a7 std Y+41, r26 ; 0x29 - 7a6: ba a7 std Y+42, r27 ; 0x2a + 7de: 86 ef ldi r24, 0xF6 ; 246 + 7e0: 9c e2 ldi r25, 0x2C ; 44 + 7e2: a0 e0 ldi r26, 0x00 ; 0 + 7e4: b0 e0 ldi r27, 0x00 ; 0 + 7e6: 88 87 std Y+8, r24 ; 0x08 + 7e8: 99 87 std Y+9, r25 ; 0x09 + 7ea: aa 87 std Y+10, r26 ; 0x0a + 7ec: bb 87 std Y+11, r27 ; 0x0b + 7ee: 8e a3 std Y+38, r24 ; 0x26 + 7f0: 9f a3 std Y+39, r25 ; 0x27 + 7f2: a8 a7 std Y+40, r26 ; 0x28 + 7f4: b9 a7 std Y+41, r27 ; 0x29 inst->pllb_param_data.MSNx_P3 = inst->plla_param_data.MSNx_P3 = 1067099; - 7a8: 8b e5 ldi r24, 0x5B ; 91 - 7aa: 98 e4 ldi r25, 0x48 ; 72 - 7ac: a0 e1 ldi r26, 0x10 ; 16 - 7ae: b0 e0 ldi r27, 0x00 ; 0 - 7b0: 8d 87 std Y+13, r24 ; 0x0d - 7b2: 9e 87 std Y+14, r25 ; 0x0e - 7b4: af 87 std Y+15, r26 ; 0x0f - 7b6: b8 8b std Y+16, r27 ; 0x10 - 7b8: 8b a7 std Y+43, r24 ; 0x2b - 7ba: 9c a7 std Y+44, r25 ; 0x2c - 7bc: ad a7 std Y+45, r26 ; 0x2d - 7be: be a7 std Y+46, r27 ; 0x2e + 7f6: 8b e5 ldi r24, 0x5B ; 91 + 7f8: 98 e4 ldi r25, 0x48 ; 72 + 7fa: a0 e1 ldi r26, 0x10 ; 16 + 7fc: b0 e0 ldi r27, 0x00 ; 0 + 7fe: 8c 87 std Y+12, r24 ; 0x0c + 800: 9d 87 std Y+13, r25 ; 0x0d + 802: ae 87 std Y+14, r26 ; 0x0e + 804: bf 87 std Y+15, r27 ; 0x0f + 806: 8a a7 std Y+42, r24 ; 0x2a + 808: 9b a7 std Y+43, r25 ; 0x2b + 80a: ac a7 std Y+44, r26 ; 0x2c + 80c: bd a7 std Y+45, r27 ; 0x2d inst->pllb_param_data.MSx_P1 = inst->plla_param_data.MSx_P1 = 18; - 7c0: 82 e1 ldi r24, 0x12 ; 18 - 7c2: 90 e0 ldi r25, 0x00 ; 0 - 7c4: a0 e0 ldi r26, 0x00 ; 0 - 7c6: b0 e0 ldi r27, 0x00 ; 0 - 7c8: 89 8b std Y+17, r24 ; 0x11 - 7ca: 9a 8b std Y+18, r25 ; 0x12 - 7cc: ab 8b std Y+19, r26 ; 0x13 - 7ce: bc 8b std Y+20, r27 ; 0x14 - 7d0: 8f a7 std Y+47, r24 ; 0x2f - 7d2: 98 ab std Y+48, r25 ; 0x30 - 7d4: a9 ab std Y+49, r26 ; 0x31 - 7d6: ba ab std Y+50, r27 ; 0x32 + 80e: 82 e1 ldi r24, 0x12 ; 18 + 810: 90 e0 ldi r25, 0x00 ; 0 + 812: a0 e0 ldi r26, 0x00 ; 0 + 814: b0 e0 ldi r27, 0x00 ; 0 + 816: 88 8b std Y+16, r24 ; 0x10 + 818: 99 8b std Y+17, r25 ; 0x11 + 81a: aa 8b std Y+18, r26 ; 0x12 + 81c: bb 8b std Y+19, r27 ; 0x13 + 81e: 8e a7 std Y+46, r24 ; 0x2e + 820: 9f a7 std Y+47, r25 ; 0x2f + 822: a8 ab std Y+48, r26 ; 0x30 + 824: b9 ab std Y+49, r27 ; 0x31 inst->pllb_param_data.MSx_P2 = inst->plla_param_data.MSx_P2 = 0; - 7d8: 1d 8a std Y+21, r1 ; 0x15 - 7da: 1e 8a std Y+22, r1 ; 0x16 - 7dc: 1f 8a std Y+23, r1 ; 0x17 - 7de: 18 8e std Y+24, r1 ; 0x18 - 7e0: 1b aa std Y+51, r1 ; 0x33 - 7e2: 1c aa std Y+52, r1 ; 0x34 - 7e4: 1d aa std Y+53, r1 ; 0x35 - 7e6: 1e aa std Y+54, r1 ; 0x36 + 826: 1c 8a std Y+20, r1 ; 0x14 + 828: 1d 8a std Y+21, r1 ; 0x15 + 82a: 1e 8a std Y+22, r1 ; 0x16 + 82c: 1f 8a std Y+23, r1 ; 0x17 + 82e: 1a aa std Y+50, r1 ; 0x32 + 830: 1b aa std Y+51, r1 ; 0x33 + 832: 1c aa std Y+52, r1 ; 0x34 + 834: 1d aa std Y+53, r1 ; 0x35 inst->pllb_param_data.MSx_P3 = inst->plla_param_data.MSx_P3 = 1; - 7e8: 81 e0 ldi r24, 0x01 ; 1 - 7ea: 90 e0 ldi r25, 0x00 ; 0 - 7ec: a0 e0 ldi r26, 0x00 ; 0 - 7ee: b0 e0 ldi r27, 0x00 ; 0 - 7f0: 89 8f std Y+25, r24 ; 0x19 - 7f2: 9a 8f std Y+26, r25 ; 0x1a - 7f4: ab 8f std Y+27, r26 ; 0x1b - 7f6: bc 8f std Y+28, r27 ; 0x1c - 7f8: 8f ab std Y+55, r24 ; 0x37 - 7fa: 98 af std Y+56, r25 ; 0x38 - 7fc: a9 af std Y+57, r26 ; 0x39 - 7fe: ba af std Y+58, r27 ; 0x3a + 836: 81 e0 ldi r24, 0x01 ; 1 + 838: 90 e0 ldi r25, 0x00 ; 0 + 83a: a0 e0 ldi r26, 0x00 ; 0 + 83c: b0 e0 ldi r27, 0x00 ; 0 + 83e: 88 8f std Y+24, r24 ; 0x18 + 840: 99 8f std Y+25, r25 ; 0x19 + 842: aa 8f std Y+26, r26 ; 0x1a + 844: bb 8f std Y+27, r27 ; 0x1b + 846: 8e ab std Y+54, r24 ; 0x36 + 848: 9f ab std Y+55, r25 ; 0x37 + 84a: a8 af std Y+56, r26 ; 0x38 + 84c: b9 af std Y+57, r27 ; 0x39 inst->pllb_param_data.XtalFreq = inst->plla_param_data.XtalFreq = 25000000; - 800: 80 e4 ldi r24, 0x40 ; 64 - 802: 98 e7 ldi r25, 0x78 ; 120 - 804: ad e7 ldi r26, 0x7D ; 125 - 806: b1 e0 ldi r27, 0x01 ; 1 - 808: 8e 8f std Y+30, r24 ; 0x1e - 80a: 9f 8f std Y+31, r25 ; 0x1f - 80c: a8 a3 std Y+32, r26 ; 0x20 - 80e: b9 a3 std Y+33, r27 ; 0x21 - 810: 8c af std Y+60, r24 ; 0x3c - 812: 9d af std Y+61, r25 ; 0x3d - 814: ae af std Y+62, r26 ; 0x3e - 816: bf af std Y+63, r27 ; 0x3f + 84e: 80 e4 ldi r24, 0x40 ; 64 + 850: 98 e7 ldi r25, 0x78 ; 120 + 852: ad e7 ldi r26, 0x7D ; 125 + 854: b1 e0 ldi r27, 0x01 ; 1 + 856: 8d 8f std Y+29, r24 ; 0x1d + 858: 9e 8f std Y+30, r25 ; 0x1e + 85a: af 8f std Y+31, r26 ; 0x1f + 85c: b8 a3 std Y+32, r27 ; 0x20 + 85e: 8b af std Y+59, r24 ; 0x3b + 860: 9c af std Y+60, r25 ; 0x3c + 862: ad af std Y+61, r26 ; 0x3d + 864: be af std Y+62, r27 ; 0x3e cm_EEPROM_write((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->plla_param_data), sizeof(storno_pll_param_msg)); - 818: be 01 movw r22, r28 - 81a: 6c 5f subi r22, 0xFC ; 252 - 81c: 7f 4f sbci r23, 0xFF ; 255 - 81e: 4e e1 ldi r20, 0x1E ; 30 - 820: 80 e0 ldi r24, 0x00 ; 0 - 822: 90 e0 ldi r25, 0x00 ; 0 - 824: 23 dc rcall .-1978 ; 0x6c + 866: 4e e1 ldi r20, 0x1E ; 30 + 868: be 01 movw r22, r28 + 86a: 6d 5f subi r22, 0xFD ; 253 + 86c: 7f 4f sbci r23, 0xFF ; 255 + 86e: 80 e0 ldi r24, 0x00 ; 0 + 870: 90 e0 ldi r25, 0x00 ; 0 + 872: fc db rcall .-2056 ; 0x6c //_delay_ms(1); cm_EEPROM_write((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->pllb_param_data), sizeof(storno_pll_param_msg)); - 826: 4e e1 ldi r20, 0x1E ; 30 - 828: b8 01 movw r22, r16 - 82a: 80 e2 ldi r24, 0x20 ; 32 - 82c: 90 e0 ldi r25, 0x00 ; 0 - 82e: 1e dc rcall .-1988 ; 0x6c - 830: 06 c0 rjmp .+12 ; 0x83e + 874: 4e e1 ldi r20, 0x1E ; 30 + 876: b8 01 movw r22, r16 + 878: 80 e2 ldi r24, 0x20 ; 32 + 87a: 90 e0 ldi r25, 0x00 ; 0 + 87c: f7 db rcall .-2066 ; 0x6c + 87e: a0 cf rjmp .-192 ; 0x7c0 { if ((*ptr != 0xff) && (*ptr != 0x00)) { return 1; } ptr++; - 832: fe 01 movw r30, r28 - 834: b3 96 adiw r30, 0x23 ; 35 - 836: 9e 01 movw r18, r28 - 838: 20 5c subi r18, 0xC0 ; 192 - 83a: 3f 4f sbci r19, 0xFF ; 255 - 83c: 95 cf rjmp .-214 ; 0x768 - if(!isEEPROMValid(inst)){ - // If settings are somehow unvalid, then write default settings.. + 880: fe 01 movw r30, r28 + 882: b2 96 adiw r30, 0x22 ; 34 + 884: 9e 01 movw r18, r28 + 886: 21 5c subi r18, 0xC1 ; 193 + 888: 3f 4f sbci r19, 0xFF ; 255 + 88a: 92 cf rjmp .-220 ; 0x7b0 writeDefaultSettingsEEprom(inst); } - 83e: df 91 pop r29 - 840: cf 91 pop r28 - 842: 1f 91 pop r17 - 844: 0f 91 pop r16 - 846: 08 95 ret + cqm6xx_app_loadPLLParam(inst); + + 88c: df 91 pop r29 + 88e: cf 91 pop r28 + 890: 1f 91 pop r17 + 892: 0f 91 pop r16 + 894: 08 95 ret + +00000896
: -00000848
: -#include "avr_eeprom_driver/avr_eeprom_driver.h" storno_xtal_app_t storno_xtal_app; int main(void) { - 848: cf 93 push r28 - 84a: df 93 push r29 - 84c: cd b7 in r28, 0x3d ; 61 - 84e: de b7 in r29, 0x3e ; 62 - 850: a2 97 sbiw r28, 0x22 ; 34 - 852: cd bf out 0x3d, r28 ; 61 - 854: de bf out 0x3e, r29 ; 62 + 896: cf 93 push r28 + 898: df 93 push r29 + 89a: cd b7 in r28, 0x3d ; 61 + 89c: de b7 in r29, 0x3e ; 62 + 89e: a2 97 sbiw r28, 0x22 ; 34 + 8a0: cd bf out 0x3d, r28 ; 61 + 8a2: de bf out 0x3e, r29 ; 62 /* Replace with your application code */ // Init Periphials cm_i2c_init(NULL); - 856: 80 e0 ldi r24, 0x00 ; 0 - 858: 90 e0 ldi r25, 0x00 ; 0 - 85a: 2b dd rcall .-1450 ; 0x2b2 + 8a4: 80 e0 ldi r24, 0x00 ; 0 + 8a6: 90 e0 ldi r25, 0x00 ; 0 + 8a8: 04 dd rcall .-1528 ; 0x2b2 // Add devices cm_i2c_device_t si5351_i2c; cm_i2c_addDev(&si5351_i2c,NULL,0x60); - 85c: 40 e6 ldi r20, 0x60 ; 96 - 85e: 60 e0 ldi r22, 0x00 ; 0 - 860: 70 e0 ldi r23, 0x00 ; 0 - 862: ce 01 movw r24, r28 - 864: 01 96 adiw r24, 0x01 ; 1 - 866: 3f dd rcall .-1410 ; 0x2e6 + 8aa: 40 e6 ldi r20, 0x60 ; 96 + 8ac: 60 e0 ldi r22, 0x00 ; 0 + 8ae: 70 e0 ldi r23, 0x00 ; 0 + 8b0: ce 01 movw r24, r28 + 8b2: 01 96 adiw r24, 0x01 ; 1 + 8b4: 18 dd rcall .-1488 ; 0x2e6 // Init Devices: si5351_driver si5351_dev; cm_si5351_init(&si5351_dev,&si5351_i2c,(setGet_I2C_Event_fpt)cm_i2c_transfer); - 868: 41 e9 ldi r20, 0x91 ; 145 - 86a: 51 e0 ldi r21, 0x01 ; 1 - 86c: be 01 movw r22, r28 - 86e: 6f 5f subi r22, 0xFF ; 255 - 870: 7f 4f sbci r23, 0xFF ; 255 - 872: ce 01 movw r24, r28 - 874: 04 96 adiw r24, 0x04 ; 4 - 876: 82 d1 rcall .+772 ; 0xb7c + 8b6: 41 e9 ldi r20, 0x91 ; 145 + 8b8: 51 e0 ldi r21, 0x01 ; 1 + 8ba: be 01 movw r22, r28 + 8bc: 6f 5f subi r22, 0xFF ; 255 + 8be: 7f 4f sbci r23, 0xFF ; 255 + 8c0: ce 01 movw r24, r28 + 8c2: 04 96 adiw r24, 0x04 ; 4 + 8c4: 82 d1 rcall .+772 ; 0xbca cqm6xx_app_init(&storno_xtal_app, &si5351_dev); - 878: be 01 movw r22, r28 - 87a: 6c 5f subi r22, 0xFC ; 252 - 87c: 7f 4f sbci r23, 0xFF ; 255 - 87e: 86 e4 ldi r24, 0x46 ; 70 - 880: 9f e3 ldi r25, 0x3F ; 63 - 882: 4d df rcall .-358 ; 0x71e + 8c6: be 01 movw r22, r28 + 8c8: 6c 5f subi r22, 0xFC ; 252 + 8ca: 7f 4f sbci r23, 0xFF ; 255 + 8cc: 86 e4 ldi r24, 0x46 ; 70 + 8ce: 9f e3 ldi r25, 0x3F ; 63 + 8d0: 4c df rcall .-360 ; 0x76a + while (1) { - cqm6xx_app_statemachine(&storno_xtal_app); - 884: 86 e4 ldi r24, 0x46 ; 70 - 886: 9f e3 ldi r25, 0x3F ; 63 - 888: ee de rcall .-548 ; 0x666 - 88a: fc cf rjmp .-8 ; 0x884 + cqm6xx_app_taskHandler(&storno_xtal_app); + 8d2: 86 e4 ldi r24, 0x46 ; 70 + 8d4: 9f e3 ldi r25, 0x3F ; 63 + 8d6: 20 df rcall .-448 ; 0x718 + 8d8: fc cf rjmp .-8 ; 0x8d2 -0000088c : +000008da : // Read Device Status register: readRegister(inst,0x00, (uint8_t *) &inst->device_data.deviceStatus, sizeof(si5351_deviceStat_t)); return inst->device_data.deviceStatus.REVID; } - 88c: 8f 92 push r8 - 88e: 9f 92 push r9 - 890: af 92 push r10 - 892: bf 92 push r11 - 894: cf 92 push r12 - 896: df 92 push r13 - 898: ef 92 push r14 - 89a: ff 92 push r15 - 89c: 0f 93 push r16 - 89e: 1f 93 push r17 - 8a0: cf 93 push r28 - 8a2: df 93 push r29 - 8a4: ec 01 movw r28, r24 - 8a6: 86 2e mov r8, r22 - 8a8: 5a 01 movw r10, r20 - 8aa: 68 01 movw r12, r16 - 8ac: 79 01 movw r14, r18 - 8ae: c8 01 movw r24, r16 - 8b0: 01 96 adiw r24, 0x01 ; 1 - 8b2: 11 d2 rcall .+1058 ; 0xcd6 - 8b4: 98 2e mov r9, r24 - 8b6: 19 2f mov r17, r25 - 8b8: fc 01 movw r30, r24 - 8ba: 81 92 st Z+, r8 - 8bc: cf 01 movw r24, r30 - 8be: a6 01 movw r20, r12 - 8c0: b5 01 movw r22, r10 - 8c2: 2a d3 rcall .+1620 ; 0xf18 - 8c4: a7 01 movw r20, r14 - 8c6: 96 01 movw r18, r12 - 8c8: 2f 5f subi r18, 0xFF ; 255 - 8ca: 3f 4f sbci r19, 0xFF ; 255 - 8cc: 4f 4f sbci r20, 0xFF ; 255 - 8ce: 5f 4f sbci r21, 0xFF ; 255 - 8d0: ea 81 ldd r30, Y+2 ; 0x02 - 8d2: fb 81 ldd r31, Y+3 ; 0x03 - 8d4: 01 e0 ldi r16, 0x01 ; 1 - 8d6: 69 2d mov r22, r9 - 8d8: 71 2f mov r23, r17 - 8da: 88 81 ld r24, Y - 8dc: 99 81 ldd r25, Y+1 ; 0x01 - 8de: 09 95 icall - 8e0: 89 2d mov r24, r9 - 8e2: 91 2f mov r25, r17 - 8e4: 90 d2 rcall .+1312 ; 0xe06 - 8e6: 80 e0 ldi r24, 0x00 ; 0 - 8e8: 90 e0 ldi r25, 0x00 ; 0 - 8ea: df 91 pop r29 - 8ec: cf 91 pop r28 - 8ee: 1f 91 pop r17 - 8f0: 0f 91 pop r16 - 8f2: ff 90 pop r15 - 8f4: ef 90 pop r14 - 8f6: df 90 pop r13 - 8f8: cf 90 pop r12 - 8fa: bf 90 pop r11 - 8fc: af 90 pop r10 - 8fe: 9f 90 pop r9 - 900: 8f 90 pop r8 - 902: 08 95 ret + 8da: 8f 92 push r8 + 8dc: 9f 92 push r9 + 8de: af 92 push r10 + 8e0: bf 92 push r11 + 8e2: cf 92 push r12 + 8e4: df 92 push r13 + 8e6: ef 92 push r14 + 8e8: ff 92 push r15 + 8ea: 0f 93 push r16 + 8ec: 1f 93 push r17 + 8ee: cf 93 push r28 + 8f0: df 93 push r29 + 8f2: ec 01 movw r28, r24 + 8f4: 86 2e mov r8, r22 + 8f6: 5a 01 movw r10, r20 + 8f8: 68 01 movw r12, r16 + 8fa: 79 01 movw r14, r18 + 8fc: c8 01 movw r24, r16 + 8fe: 01 96 adiw r24, 0x01 ; 1 + 900: 11 d2 rcall .+1058 ; 0xd24 + 902: 98 2e mov r9, r24 + 904: 19 2f mov r17, r25 + 906: fc 01 movw r30, r24 + 908: 81 92 st Z+, r8 + 90a: cf 01 movw r24, r30 + 90c: a6 01 movw r20, r12 + 90e: b5 01 movw r22, r10 + 910: 2a d3 rcall .+1620 ; 0xf66 + 912: a7 01 movw r20, r14 + 914: 96 01 movw r18, r12 + 916: 2f 5f subi r18, 0xFF ; 255 + 918: 3f 4f sbci r19, 0xFF ; 255 + 91a: 4f 4f sbci r20, 0xFF ; 255 + 91c: 5f 4f sbci r21, 0xFF ; 255 + 91e: ea 81 ldd r30, Y+2 ; 0x02 + 920: fb 81 ldd r31, Y+3 ; 0x03 + 922: 01 e0 ldi r16, 0x01 ; 1 + 924: 69 2d mov r22, r9 + 926: 71 2f mov r23, r17 + 928: 88 81 ld r24, Y + 92a: 99 81 ldd r25, Y+1 ; 0x01 + 92c: 09 95 icall + 92e: 89 2d mov r24, r9 + 930: 91 2f mov r25, r17 + 932: 90 d2 rcall .+1312 ; 0xe54 + 934: 80 e0 ldi r24, 0x00 ; 0 + 936: 90 e0 ldi r25, 0x00 ; 0 + 938: df 91 pop r29 + 93a: cf 91 pop r28 + 93c: 1f 91 pop r17 + 93e: 0f 91 pop r16 + 940: ff 90 pop r15 + 942: ef 90 pop r14 + 944: df 90 pop r13 + 946: cf 90 pop r12 + 948: bf 90 pop r11 + 94a: af 90 pop r10 + 94c: 9f 90 pop r9 + 94e: 8f 90 pop r8 + 950: 08 95 ret -00000904 : - 904: af 92 push r10 - 906: bf 92 push r11 - 908: cf 92 push r12 - 90a: df 92 push r13 - 90c: ef 92 push r14 - 90e: ff 92 push r15 - 910: 0f 93 push r16 - 912: 1f 93 push r17 - 914: fc 01 movw r30, r24 - 916: 43 70 andi r20, 0x03 ; 3 - 918: 56 89 ldd r21, Z+22 ; 0x16 - 91a: 50 78 andi r21, 0x80 ; 128 - 91c: 37 8b std Z+23, r19 ; 0x17 - 91e: 20 8f std Z+24, r18 ; 0x18 - 920: f2 8e std Z+26, r15 ; 0x1a - 922: e3 8e std Z+27, r14 ; 0x1b - 924: d6 01 movw r26, r12 - 926: c5 01 movw r24, r10 - 928: 07 2e mov r0, r23 - 92a: 7c e0 ldi r23, 0x0C ; 12 - 92c: b6 95 lsr r27 - 92e: a7 95 ror r26 - 930: 97 95 ror r25 - 932: 87 95 ror r24 - 934: 7a 95 dec r23 - 936: d1 f7 brne .-12 ; 0x92c - 938: 70 2d mov r23, r0 - 93a: 83 70 andi r24, 0x03 ; 3 - 93c: 82 95 swap r24 - 93e: 80 7f andi r24, 0xF0 ; 240 - 940: 03 70 andi r16, 0x03 ; 3 - 942: 80 2b or r24, r16 - 944: 81 8f std Z+25, r24 ; 0x19 - 946: b4 8a std Z+20, r11 ; 0x14 - 948: a5 8a std Z+21, r10 ; 0x15 - 94a: 45 2b or r20, r21 - 94c: 46 8b std Z+22, r20 ; 0x16 - 94e: 61 30 cpi r22, 0x01 ; 1 - 950: 79 f0 breq .+30 ; 0x970 - 952: 18 f0 brcs .+6 ; 0x95a - 954: 62 30 cpi r22, 0x02 ; 2 - 956: b9 f0 breq .+46 ; 0x986 - 958: 20 c0 rjmp .+64 ; 0x99a - 95a: af 01 movw r20, r30 - 95c: 4c 5e subi r20, 0xEC ; 236 - 95e: 5f 4f sbci r21, 0xFF ; 255 - 960: 08 e0 ldi r16, 0x08 ; 8 - 962: 10 e0 ldi r17, 0x00 ; 0 - 964: 20 e0 ldi r18, 0x00 ; 0 - 966: 30 e0 ldi r19, 0x00 ; 0 - 968: 6a e2 ldi r22, 0x2A ; 42 - 96a: cf 01 movw r24, r30 - 96c: 8f df rcall .-226 ; 0x88c - 96e: 15 c0 rjmp .+42 ; 0x99a - 970: af 01 movw r20, r30 - 972: 4c 5e subi r20, 0xEC ; 236 - 974: 5f 4f sbci r21, 0xFF ; 255 - 976: 08 e0 ldi r16, 0x08 ; 8 - 978: 10 e0 ldi r17, 0x00 ; 0 - 97a: 20 e0 ldi r18, 0x00 ; 0 - 97c: 30 e0 ldi r19, 0x00 ; 0 - 97e: 62 e3 ldi r22, 0x32 ; 50 - 980: cf 01 movw r24, r30 - 982: 84 df rcall .-248 ; 0x88c - 984: 0a c0 rjmp .+20 ; 0x99a - 986: af 01 movw r20, r30 - 988: 4c 5e subi r20, 0xEC ; 236 - 98a: 5f 4f sbci r21, 0xFF ; 255 - 98c: 08 e0 ldi r16, 0x08 ; 8 - 98e: 10 e0 ldi r17, 0x00 ; 0 - 990: 20 e0 ldi r18, 0x00 ; 0 - 992: 30 e0 ldi r19, 0x00 ; 0 - 994: 6a e3 ldi r22, 0x3A ; 58 - 996: cf 01 movw r24, r30 - 998: 79 df rcall .-270 ; 0x88c - 99a: 80 e0 ldi r24, 0x00 ; 0 - 99c: 90 e0 ldi r25, 0x00 ; 0 - 99e: 1f 91 pop r17 - 9a0: 0f 91 pop r16 - 9a2: ff 90 pop r15 - 9a4: ef 90 pop r14 - 9a6: df 90 pop r13 - 9a8: cf 90 pop r12 - 9aa: bf 90 pop r11 - 9ac: af 90 pop r10 - 9ae: 08 95 ret - -000009b0 : - 9b0: 0f 93 push r16 - 9b2: 1f 93 push r17 - 9b4: 61 30 cpi r22, 0x01 ; 1 - 9b6: 51 f0 breq .+20 ; 0x9cc - 9b8: 18 f0 brcs .+6 ; 0x9c0 - 9ba: 62 30 cpi r22, 0x02 ; 2 - 9bc: 69 f0 breq .+26 ; 0x9d8 - 9be: 11 c0 rjmp .+34 ; 0x9e2 - 9c0: fc 01 movw r30, r24 - 9c2: 27 81 ldd r18, Z+7 ; 0x07 - 9c4: 40 fb bst r20, 0 - 9c6: 20 f9 bld r18, 0 - 9c8: 27 83 std Z+7, r18 ; 0x07 - 9ca: 0b c0 rjmp .+22 ; 0x9e2 - 9cc: fc 01 movw r30, r24 - 9ce: 27 81 ldd r18, Z+7 ; 0x07 - 9d0: 40 fb bst r20, 0 - 9d2: 21 f9 bld r18, 1 - 9d4: 27 83 std Z+7, r18 ; 0x07 - 9d6: 05 c0 rjmp .+10 ; 0x9e2 - 9d8: fc 01 movw r30, r24 - 9da: 27 81 ldd r18, Z+7 ; 0x07 - 9dc: 40 fb bst r20, 0 - 9de: 22 f9 bld r18, 2 - 9e0: 27 83 std Z+7, r18 ; 0x07 - 9e2: ac 01 movw r20, r24 - 9e4: 49 5f subi r20, 0xF9 ; 249 - 9e6: 5f 4f sbci r21, 0xFF ; 255 - 9e8: 01 e0 ldi r16, 0x01 ; 1 - 9ea: 10 e0 ldi r17, 0x00 ; 0 - 9ec: 20 e0 ldi r18, 0x00 ; 0 - 9ee: 30 e0 ldi r19, 0x00 ; 0 - 9f0: 63 e0 ldi r22, 0x03 ; 3 - 9f2: 4c df rcall .-360 ; 0x88c - 9f4: 80 e0 ldi r24, 0x00 ; 0 - 9f6: 90 e0 ldi r25, 0x00 ; 0 - 9f8: 1f 91 pop r17 - 9fa: 0f 91 pop r16 +00000952 : + 952: af 92 push r10 + 954: bf 92 push r11 + 956: cf 92 push r12 + 958: df 92 push r13 + 95a: ef 92 push r14 + 95c: ff 92 push r15 + 95e: 0f 93 push r16 + 960: 1f 93 push r17 + 962: fc 01 movw r30, r24 + 964: 43 70 andi r20, 0x03 ; 3 + 966: 56 89 ldd r21, Z+22 ; 0x16 + 968: 50 78 andi r21, 0x80 ; 128 + 96a: 37 8b std Z+23, r19 ; 0x17 + 96c: 20 8f std Z+24, r18 ; 0x18 + 96e: f2 8e std Z+26, r15 ; 0x1a + 970: e3 8e std Z+27, r14 ; 0x1b + 972: d6 01 movw r26, r12 + 974: c5 01 movw r24, r10 + 976: 07 2e mov r0, r23 + 978: 7c e0 ldi r23, 0x0C ; 12 + 97a: b6 95 lsr r27 + 97c: a7 95 ror r26 + 97e: 97 95 ror r25 + 980: 87 95 ror r24 + 982: 7a 95 dec r23 + 984: d1 f7 brne .-12 ; 0x97a + 986: 70 2d mov r23, r0 + 988: 83 70 andi r24, 0x03 ; 3 + 98a: 82 95 swap r24 + 98c: 80 7f andi r24, 0xF0 ; 240 + 98e: 03 70 andi r16, 0x03 ; 3 + 990: 80 2b or r24, r16 + 992: 81 8f std Z+25, r24 ; 0x19 + 994: b4 8a std Z+20, r11 ; 0x14 + 996: a5 8a std Z+21, r10 ; 0x15 + 998: 45 2b or r20, r21 + 99a: 46 8b std Z+22, r20 ; 0x16 + 99c: 61 30 cpi r22, 0x01 ; 1 + 99e: 79 f0 breq .+30 ; 0x9be + 9a0: 18 f0 brcs .+6 ; 0x9a8 + 9a2: 62 30 cpi r22, 0x02 ; 2 + 9a4: b9 f0 breq .+46 ; 0x9d4 + 9a6: 20 c0 rjmp .+64 ; 0x9e8 + 9a8: af 01 movw r20, r30 + 9aa: 4c 5e subi r20, 0xEC ; 236 + 9ac: 5f 4f sbci r21, 0xFF ; 255 + 9ae: 08 e0 ldi r16, 0x08 ; 8 + 9b0: 10 e0 ldi r17, 0x00 ; 0 + 9b2: 20 e0 ldi r18, 0x00 ; 0 + 9b4: 30 e0 ldi r19, 0x00 ; 0 + 9b6: 6a e2 ldi r22, 0x2A ; 42 + 9b8: cf 01 movw r24, r30 + 9ba: 8f df rcall .-226 ; 0x8da + 9bc: 15 c0 rjmp .+42 ; 0x9e8 + 9be: af 01 movw r20, r30 + 9c0: 4c 5e subi r20, 0xEC ; 236 + 9c2: 5f 4f sbci r21, 0xFF ; 255 + 9c4: 08 e0 ldi r16, 0x08 ; 8 + 9c6: 10 e0 ldi r17, 0x00 ; 0 + 9c8: 20 e0 ldi r18, 0x00 ; 0 + 9ca: 30 e0 ldi r19, 0x00 ; 0 + 9cc: 62 e3 ldi r22, 0x32 ; 50 + 9ce: cf 01 movw r24, r30 + 9d0: 84 df rcall .-248 ; 0x8da + 9d2: 0a c0 rjmp .+20 ; 0x9e8 + 9d4: af 01 movw r20, r30 + 9d6: 4c 5e subi r20, 0xEC ; 236 + 9d8: 5f 4f sbci r21, 0xFF ; 255 + 9da: 08 e0 ldi r16, 0x08 ; 8 + 9dc: 10 e0 ldi r17, 0x00 ; 0 + 9de: 20 e0 ldi r18, 0x00 ; 0 + 9e0: 30 e0 ldi r19, 0x00 ; 0 + 9e2: 6a e3 ldi r22, 0x3A ; 58 + 9e4: cf 01 movw r24, r30 + 9e6: 79 df rcall .-270 ; 0x8da + 9e8: 80 e0 ldi r24, 0x00 ; 0 + 9ea: 90 e0 ldi r25, 0x00 ; 0 + 9ec: 1f 91 pop r17 + 9ee: 0f 91 pop r16 + 9f0: ff 90 pop r15 + 9f2: ef 90 pop r14 + 9f4: df 90 pop r13 + 9f6: cf 90 pop r12 + 9f8: bf 90 pop r11 + 9fa: af 90 pop r10 9fc: 08 95 ret -000009fe : +000009fe : 9fe: 0f 93 push r16 a00: 1f 93 push r17 - a02: fc 01 movw r30, r24 - a04: 92 85 ldd r25, Z+10 ; 0x0a - a06: 40 fb bst r20, 0 - a08: 97 f9 bld r25, 7 - a0a: 90 79 andi r25, 0x90 ; 144 - a0c: 9f 64 ori r25, 0x4F ; 79 - a0e: 92 87 std Z+10, r25 ; 0x0a - a10: 61 30 cpi r22, 0x01 ; 1 - a12: 79 f0 breq .+30 ; 0xa32 - a14: 18 f0 brcs .+6 ; 0xa1c - a16: 62 30 cpi r22, 0x02 ; 2 - a18: b9 f0 breq .+46 ; 0xa48 - a1a: 20 c0 rjmp .+64 ; 0xa5c - a1c: af 01 movw r20, r30 - a1e: 46 5f subi r20, 0xF6 ; 246 - a20: 5f 4f sbci r21, 0xFF ; 255 - a22: 01 e0 ldi r16, 0x01 ; 1 - a24: 10 e0 ldi r17, 0x00 ; 0 - a26: 20 e0 ldi r18, 0x00 ; 0 - a28: 30 e0 ldi r19, 0x00 ; 0 - a2a: 60 e1 ldi r22, 0x10 ; 16 - a2c: cf 01 movw r24, r30 - a2e: 2e df rcall .-420 ; 0x88c - a30: 15 c0 rjmp .+42 ; 0xa5c - a32: af 01 movw r20, r30 - a34: 46 5f subi r20, 0xF6 ; 246 - a36: 5f 4f sbci r21, 0xFF ; 255 - a38: 01 e0 ldi r16, 0x01 ; 1 - a3a: 10 e0 ldi r17, 0x00 ; 0 - a3c: 20 e0 ldi r18, 0x00 ; 0 - a3e: 30 e0 ldi r19, 0x00 ; 0 - a40: 61 e1 ldi r22, 0x11 ; 17 - a42: cf 01 movw r24, r30 - a44: 23 df rcall .-442 ; 0x88c - a46: 0a c0 rjmp .+20 ; 0xa5c - a48: af 01 movw r20, r30 - a4a: 46 5f subi r20, 0xF6 ; 246 - a4c: 5f 4f sbci r21, 0xFF ; 255 - a4e: 01 e0 ldi r16, 0x01 ; 1 - a50: 10 e0 ldi r17, 0x00 ; 0 - a52: 20 e0 ldi r18, 0x00 ; 0 - a54: 30 e0 ldi r19, 0x00 ; 0 - a56: 62 e1 ldi r22, 0x12 ; 18 - a58: cf 01 movw r24, r30 - a5a: 18 df rcall .-464 ; 0x88c - a5c: 80 e0 ldi r24, 0x00 ; 0 - a5e: 90 e0 ldi r25, 0x00 ; 0 - a60: 1f 91 pop r17 - a62: 0f 91 pop r16 - a64: 08 95 ret + a02: 61 30 cpi r22, 0x01 ; 1 + a04: 51 f0 breq .+20 ; 0xa1a + a06: 18 f0 brcs .+6 ; 0xa0e + a08: 62 30 cpi r22, 0x02 ; 2 + a0a: 69 f0 breq .+26 ; 0xa26 + a0c: 11 c0 rjmp .+34 ; 0xa30 + a0e: fc 01 movw r30, r24 + a10: 27 81 ldd r18, Z+7 ; 0x07 + a12: 40 fb bst r20, 0 + a14: 20 f9 bld r18, 0 + a16: 27 83 std Z+7, r18 ; 0x07 + a18: 0b c0 rjmp .+22 ; 0xa30 + a1a: fc 01 movw r30, r24 + a1c: 27 81 ldd r18, Z+7 ; 0x07 + a1e: 40 fb bst r20, 0 + a20: 21 f9 bld r18, 1 + a22: 27 83 std Z+7, r18 ; 0x07 + a24: 05 c0 rjmp .+10 ; 0xa30 + a26: fc 01 movw r30, r24 + a28: 27 81 ldd r18, Z+7 ; 0x07 + a2a: 40 fb bst r20, 0 + a2c: 22 f9 bld r18, 2 + a2e: 27 83 std Z+7, r18 ; 0x07 + a30: ac 01 movw r20, r24 + a32: 49 5f subi r20, 0xF9 ; 249 + a34: 5f 4f sbci r21, 0xFF ; 255 + a36: 01 e0 ldi r16, 0x01 ; 1 + a38: 10 e0 ldi r17, 0x00 ; 0 + a3a: 20 e0 ldi r18, 0x00 ; 0 + a3c: 30 e0 ldi r19, 0x00 ; 0 + a3e: 63 e0 ldi r22, 0x03 ; 3 + a40: 4c df rcall .-360 ; 0x8da + a42: 80 e0 ldi r24, 0x00 ; 0 + a44: 90 e0 ldi r25, 0x00 ; 0 + a46: 1f 91 pop r17 + a48: 0f 91 pop r16 + a4a: 08 95 ret -00000a66 : - a66: 0f 93 push r16 - a68: 1f 93 push r17 - a6a: 66 23 and r22, r22 - a6c: 19 f0 breq .+6 ; 0xa74 - a6e: 61 30 cpi r22, 0x01 ; 1 - a70: 39 f0 breq .+14 ; 0xa80 - a72: 0a c0 rjmp .+20 ; 0xa88 - a74: fc 01 movw r30, r24 - a76: 21 85 ldd r18, Z+9 ; 0x09 - a78: 2b 7f andi r18, 0xFB ; 251 - a7a: 27 7f andi r18, 0xF7 ; 247 - a7c: 21 87 std Z+9, r18 ; 0x09 - a7e: 04 c0 rjmp .+8 ; 0xa88 - a80: fc 01 movw r30, r24 - a82: 21 85 ldd r18, Z+9 ; 0x09 - a84: 24 60 ori r18, 0x04 ; 4 - a86: 21 87 std Z+9, r18 ; 0x09 - a88: ac 01 movw r20, r24 - a8a: 47 5f subi r20, 0xF7 ; 247 - a8c: 5f 4f sbci r21, 0xFF ; 255 - a8e: 01 e0 ldi r16, 0x01 ; 1 - a90: 10 e0 ldi r17, 0x00 ; 0 - a92: 20 e0 ldi r18, 0x00 ; 0 - a94: 30 e0 ldi r19, 0x00 ; 0 - a96: 60 ef ldi r22, 0xF0 ; 240 - a98: f9 de rcall .-526 ; 0x88c - a9a: 80 e0 ldi r24, 0x00 ; 0 - a9c: 90 e0 ldi r25, 0x00 ; 0 - a9e: 1f 91 pop r17 - aa0: 0f 91 pop r16 - aa2: 08 95 ret +00000a4c : + a4c: 0f 93 push r16 + a4e: 1f 93 push r17 + a50: fc 01 movw r30, r24 + a52: 92 85 ldd r25, Z+10 ; 0x0a + a54: 40 fb bst r20, 0 + a56: 97 f9 bld r25, 7 + a58: 90 79 andi r25, 0x90 ; 144 + a5a: 9f 64 ori r25, 0x4F ; 79 + a5c: 92 87 std Z+10, r25 ; 0x0a + a5e: 61 30 cpi r22, 0x01 ; 1 + a60: 79 f0 breq .+30 ; 0xa80 + a62: 18 f0 brcs .+6 ; 0xa6a + a64: 62 30 cpi r22, 0x02 ; 2 + a66: b9 f0 breq .+46 ; 0xa96 + a68: 20 c0 rjmp .+64 ; 0xaaa + a6a: af 01 movw r20, r30 + a6c: 46 5f subi r20, 0xF6 ; 246 + a6e: 5f 4f sbci r21, 0xFF ; 255 + a70: 01 e0 ldi r16, 0x01 ; 1 + a72: 10 e0 ldi r17, 0x00 ; 0 + a74: 20 e0 ldi r18, 0x00 ; 0 + a76: 30 e0 ldi r19, 0x00 ; 0 + a78: 60 e1 ldi r22, 0x10 ; 16 + a7a: cf 01 movw r24, r30 + a7c: 2e df rcall .-420 ; 0x8da + a7e: 15 c0 rjmp .+42 ; 0xaaa + a80: af 01 movw r20, r30 + a82: 46 5f subi r20, 0xF6 ; 246 + a84: 5f 4f sbci r21, 0xFF ; 255 + a86: 01 e0 ldi r16, 0x01 ; 1 + a88: 10 e0 ldi r17, 0x00 ; 0 + a8a: 20 e0 ldi r18, 0x00 ; 0 + a8c: 30 e0 ldi r19, 0x00 ; 0 + a8e: 61 e1 ldi r22, 0x11 ; 17 + a90: cf 01 movw r24, r30 + a92: 23 df rcall .-442 ; 0x8da + a94: 0a c0 rjmp .+20 ; 0xaaa + a96: af 01 movw r20, r30 + a98: 46 5f subi r20, 0xF6 ; 246 + a9a: 5f 4f sbci r21, 0xFF ; 255 + a9c: 01 e0 ldi r16, 0x01 ; 1 + a9e: 10 e0 ldi r17, 0x00 ; 0 + aa0: 20 e0 ldi r18, 0x00 ; 0 + aa2: 30 e0 ldi r19, 0x00 ; 0 + aa4: 62 e1 ldi r22, 0x12 ; 18 + aa6: cf 01 movw r24, r30 + aa8: 18 df rcall .-464 ; 0x8da + aaa: 80 e0 ldi r24, 0x00 ; 0 + aac: 90 e0 ldi r25, 0x00 ; 0 + aae: 1f 91 pop r17 + ab0: 0f 91 pop r16 + ab2: 08 95 ret -00000aa4 : - aa4: 0f 93 push r16 - aa6: 1f 93 push r17 - aa8: 31 e0 ldi r19, 0x01 ; 1 - aaa: 61 11 cpse r22, r1 - aac: 01 c0 rjmp .+2 ; 0xab0 - aae: 30 e0 ldi r19, 0x00 ; 0 - ab0: fc 01 movw r30, r24 - ab2: 26 8d ldd r18, Z+30 ; 0x1e - ab4: 30 fb bst r19, 0 - ab6: 25 f9 bld r18, 5 - ab8: 26 8f std Z+30, r18 ; 0x1e - aba: 31 e0 ldi r19, 0x01 ; 1 - abc: 41 11 cpse r20, r1 - abe: 01 c0 rjmp .+2 ; 0xac2 - ac0: 30 e0 ldi r19, 0x00 ; 0 +00000ab4 : + ab4: 0f 93 push r16 + ab6: 1f 93 push r17 + ab8: 66 23 and r22, r22 + aba: 19 f0 breq .+6 ; 0xac2 + abc: 61 30 cpi r22, 0x01 ; 1 + abe: 39 f0 breq .+14 ; 0xace + ac0: 0a c0 rjmp .+20 ; 0xad6 ac2: fc 01 movw r30, r24 - ac4: 26 8d ldd r18, Z+30 ; 0x1e - ac6: 30 fb bst r19, 0 - ac8: 27 f9 bld r18, 7 - aca: 26 8f std Z+30, r18 ; 0x1e - acc: ac 01 movw r20, r24 - ace: 42 5e subi r20, 0xE2 ; 226 - ad0: 5f 4f sbci r21, 0xFF ; 255 - ad2: 01 e0 ldi r16, 0x01 ; 1 - ad4: 10 e0 ldi r17, 0x00 ; 0 - ad6: 20 e0 ldi r18, 0x00 ; 0 - ad8: 30 e0 ldi r19, 0x00 ; 0 - ada: 61 eb ldi r22, 0xB1 ; 177 - adc: d7 de rcall .-594 ; 0x88c - ade: 80 e0 ldi r24, 0x00 ; 0 - ae0: 90 e0 ldi r25, 0x00 ; 0 - ae2: 1f 91 pop r17 - ae4: 0f 91 pop r16 - ae6: 08 95 ret + ac4: 21 85 ldd r18, Z+9 ; 0x09 + ac6: 2b 7f andi r18, 0xFB ; 251 + ac8: 27 7f andi r18, 0xF7 ; 247 + aca: 21 87 std Z+9, r18 ; 0x09 + acc: 04 c0 rjmp .+8 ; 0xad6 + ace: fc 01 movw r30, r24 + ad0: 21 85 ldd r18, Z+9 ; 0x09 + ad2: 24 60 ori r18, 0x04 ; 4 + ad4: 21 87 std Z+9, r18 ; 0x09 + ad6: ac 01 movw r20, r24 + ad8: 47 5f subi r20, 0xF7 ; 247 + ada: 5f 4f sbci r21, 0xFF ; 255 + adc: 01 e0 ldi r16, 0x01 ; 1 + ade: 10 e0 ldi r17, 0x00 ; 0 + ae0: 20 e0 ldi r18, 0x00 ; 0 + ae2: 30 e0 ldi r19, 0x00 ; 0 + ae4: 60 ef ldi r22, 0xF0 ; 240 + ae6: f9 de rcall .-526 ; 0x8da + ae8: 80 e0 ldi r24, 0x00 ; 0 + aea: 90 e0 ldi r25, 0x00 ; 0 + aec: 1f 91 pop r17 + aee: 0f 91 pop r16 + af0: 08 95 ret -00000ae8 : - ae8: af 92 push r10 - aea: bf 92 push r11 - aec: cf 92 push r12 - aee: df 92 push r13 - af0: ef 92 push r14 - af2: ff 92 push r15 - af4: 0f 93 push r16 - af6: 1f 93 push r17 - af8: cf 93 push r28 - afa: df 93 push r29 - afc: ec 01 movw r28, r24 - afe: 42 70 andi r20, 0x02 ; 2 - b00: 8e 85 ldd r24, Y+14 ; 0x0e - b02: 8c 7f andi r24, 0xFC ; 252 - b04: 48 2b or r20, r24 - b06: 4e 87 std Y+14, r20 ; 0x0e - b08: 3f 87 std Y+15, r19 ; 0x0f - b0a: 28 8b std Y+16, r18 ; 0x10 - b0c: d8 01 movw r26, r16 - b0e: c7 01 movw r24, r14 - b10: 88 27 eor r24, r24 - b12: 99 27 eor r25, r25 - b14: af 70 andi r26, 0x0F ; 15 - b16: bb 27 eor r27, r27 - b18: fa 8a std Y+18, r15 ; 0x12 - b1a: eb 8a std Y+19, r14 ; 0x13 - b1c: 8a 2f mov r24, r26 - b1e: 8f 70 andi r24, 0x0F ; 15 - b20: 89 8b std Y+17, r24 ; 0x11 - b22: bc 86 std Y+12, r11 ; 0x0c - b24: ad 86 std Y+13, r10 ; 0x0d - b26: 66 23 and r22, r22 - b28: 19 f0 breq .+6 ; 0xb30 - b2a: 61 30 cpi r22, 0x01 ; 1 - b2c: 61 f0 breq .+24 ; 0xb46 - b2e: 15 c0 rjmp .+42 ; 0xb5a - b30: 08 e0 ldi r16, 0x08 ; 8 - b32: 10 e0 ldi r17, 0x00 ; 0 - b34: 20 e0 ldi r18, 0x00 ; 0 - b36: 30 e0 ldi r19, 0x00 ; 0 - b38: ae 01 movw r20, r28 - b3a: 44 5f subi r20, 0xF4 ; 244 - b3c: 5f 4f sbci r21, 0xFF ; 255 - b3e: 6a e1 ldi r22, 0x1A ; 26 - b40: ce 01 movw r24, r28 - b42: a4 de rcall .-696 ; 0x88c - b44: 0a c0 rjmp .+20 ; 0xb5a - b46: 08 e0 ldi r16, 0x08 ; 8 - b48: 10 e0 ldi r17, 0x00 ; 0 - b4a: 20 e0 ldi r18, 0x00 ; 0 - b4c: 30 e0 ldi r19, 0x00 ; 0 - b4e: ae 01 movw r20, r28 - b50: 44 5f subi r20, 0xF4 ; 244 - b52: 5f 4f sbci r21, 0xFF ; 255 - b54: 62 e2 ldi r22, 0x22 ; 34 - b56: ce 01 movw r24, r28 - b58: 99 de rcall .-718 ; 0x88c - b5a: 41 e0 ldi r20, 0x01 ; 1 - b5c: 61 e0 ldi r22, 0x01 ; 1 - b5e: ce 01 movw r24, r28 - b60: a1 df rcall .-190 ; 0xaa4 - b62: 80 e0 ldi r24, 0x00 ; 0 - b64: 90 e0 ldi r25, 0x00 ; 0 - b66: df 91 pop r29 - b68: cf 91 pop r28 - b6a: 1f 91 pop r17 - b6c: 0f 91 pop r16 - b6e: ff 90 pop r15 - b70: ef 90 pop r14 - b72: df 90 pop r13 - b74: cf 90 pop r12 - b76: bf 90 pop r11 - b78: af 90 pop r10 - b7a: 08 95 ret +00000af2 : + af2: 0f 93 push r16 + af4: 1f 93 push r17 + af6: 31 e0 ldi r19, 0x01 ; 1 + af8: 61 11 cpse r22, r1 + afa: 01 c0 rjmp .+2 ; 0xafe + afc: 30 e0 ldi r19, 0x00 ; 0 + afe: fc 01 movw r30, r24 + b00: 26 8d ldd r18, Z+30 ; 0x1e + b02: 30 fb bst r19, 0 + b04: 25 f9 bld r18, 5 + b06: 26 8f std Z+30, r18 ; 0x1e + b08: 31 e0 ldi r19, 0x01 ; 1 + b0a: 41 11 cpse r20, r1 + b0c: 01 c0 rjmp .+2 ; 0xb10 + b0e: 30 e0 ldi r19, 0x00 ; 0 + b10: fc 01 movw r30, r24 + b12: 26 8d ldd r18, Z+30 ; 0x1e + b14: 30 fb bst r19, 0 + b16: 27 f9 bld r18, 7 + b18: 26 8f std Z+30, r18 ; 0x1e + b1a: ac 01 movw r20, r24 + b1c: 42 5e subi r20, 0xE2 ; 226 + b1e: 5f 4f sbci r21, 0xFF ; 255 + b20: 01 e0 ldi r16, 0x01 ; 1 + b22: 10 e0 ldi r17, 0x00 ; 0 + b24: 20 e0 ldi r18, 0x00 ; 0 + b26: 30 e0 ldi r19, 0x00 ; 0 + b28: 61 eb ldi r22, 0xB1 ; 177 + b2a: d7 de rcall .-594 ; 0x8da + b2c: 80 e0 ldi r24, 0x00 ; 0 + b2e: 90 e0 ldi r25, 0x00 ; 0 + b30: 1f 91 pop r17 + b32: 0f 91 pop r16 + b34: 08 95 ret -00000b7c : +00000b36 : + b36: af 92 push r10 + b38: bf 92 push r11 + b3a: cf 92 push r12 + b3c: df 92 push r13 + b3e: ef 92 push r14 + b40: ff 92 push r15 + b42: 0f 93 push r16 + b44: 1f 93 push r17 + b46: cf 93 push r28 + b48: df 93 push r29 + b4a: ec 01 movw r28, r24 + b4c: 42 70 andi r20, 0x02 ; 2 + b4e: 8e 85 ldd r24, Y+14 ; 0x0e + b50: 8c 7f andi r24, 0xFC ; 252 + b52: 48 2b or r20, r24 + b54: 4e 87 std Y+14, r20 ; 0x0e + b56: 3f 87 std Y+15, r19 ; 0x0f + b58: 28 8b std Y+16, r18 ; 0x10 + b5a: d8 01 movw r26, r16 + b5c: c7 01 movw r24, r14 + b5e: 88 27 eor r24, r24 + b60: 99 27 eor r25, r25 + b62: af 70 andi r26, 0x0F ; 15 + b64: bb 27 eor r27, r27 + b66: fa 8a std Y+18, r15 ; 0x12 + b68: eb 8a std Y+19, r14 ; 0x13 + b6a: 8a 2f mov r24, r26 + b6c: 8f 70 andi r24, 0x0F ; 15 + b6e: 89 8b std Y+17, r24 ; 0x11 + b70: bc 86 std Y+12, r11 ; 0x0c + b72: ad 86 std Y+13, r10 ; 0x0d + b74: 66 23 and r22, r22 + b76: 19 f0 breq .+6 ; 0xb7e + b78: 61 30 cpi r22, 0x01 ; 1 + b7a: 61 f0 breq .+24 ; 0xb94 + b7c: 15 c0 rjmp .+42 ; 0xba8 + b7e: 08 e0 ldi r16, 0x08 ; 8 + b80: 10 e0 ldi r17, 0x00 ; 0 + b82: 20 e0 ldi r18, 0x00 ; 0 + b84: 30 e0 ldi r19, 0x00 ; 0 + b86: ae 01 movw r20, r28 + b88: 44 5f subi r20, 0xF4 ; 244 + b8a: 5f 4f sbci r21, 0xFF ; 255 + b8c: 6a e1 ldi r22, 0x1A ; 26 + b8e: ce 01 movw r24, r28 + b90: a4 de rcall .-696 ; 0x8da + b92: 0a c0 rjmp .+20 ; 0xba8 + b94: 08 e0 ldi r16, 0x08 ; 8 + b96: 10 e0 ldi r17, 0x00 ; 0 + b98: 20 e0 ldi r18, 0x00 ; 0 + b9a: 30 e0 ldi r19, 0x00 ; 0 + b9c: ae 01 movw r20, r28 + b9e: 44 5f subi r20, 0xF4 ; 244 + ba0: 5f 4f sbci r21, 0xFF ; 255 + ba2: 62 e2 ldi r22, 0x22 ; 34 + ba4: ce 01 movw r24, r28 + ba6: 99 de rcall .-718 ; 0x8da + ba8: 41 e0 ldi r20, 0x01 ; 1 + baa: 61 e0 ldi r22, 0x01 ; 1 + bac: ce 01 movw r24, r28 + bae: a1 df rcall .-190 ; 0xaf2 + bb0: 80 e0 ldi r24, 0x00 ; 0 + bb2: 90 e0 ldi r25, 0x00 ; 0 + bb4: df 91 pop r29 + bb6: cf 91 pop r28 + bb8: 1f 91 pop r17 + bba: 0f 91 pop r16 + bbc: ff 90 pop r15 + bbe: ef 90 pop r14 + bc0: df 90 pop r13 + bc2: cf 90 pop r12 + bc4: bf 90 pop r11 + bc6: af 90 pop r10 + bc8: 08 95 ret + +00000bca : int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Event_fpt i2c_transfer_evt){ - b7c: ef 92 push r14 - b7e: ff 92 push r15 - b80: 0f 93 push r16 - b82: 1f 93 push r17 - b84: cf 93 push r28 - b86: df 93 push r29 - b88: 1f 92 push r1 - b8a: cd b7 in r28, 0x3d ; 61 - b8c: de b7 in r29, 0x3e ; 62 + bca: ef 92 push r14 + bcc: ff 92 push r15 + bce: 0f 93 push r16 + bd0: 1f 93 push r17 + bd2: cf 93 push r28 + bd4: df 93 push r29 + bd6: 1f 92 push r1 + bd8: cd b7 in r28, 0x3d ; 61 + bda: de b7 in r29, 0x3e ; 62 if(inst == NULL)return -1; - b8e: 00 97 sbiw r24, 0x00 ; 0 - b90: 09 f4 brne .+2 ; 0xb94 - b92: 91 c0 rjmp .+290 ; 0xcb6 + bdc: 00 97 sbiw r24, 0x00 ; 0 + bde: 09 f4 brne .+2 ; 0xbe2 + be0: 91 c0 rjmp .+290 ; 0xd04 if(i2c_transfer_inst == NULL)return -1; - b94: 61 15 cp r22, r1 - b96: 71 05 cpc r23, r1 - b98: 09 f4 brne .+2 ; 0xb9c - b9a: 90 c0 rjmp .+288 ; 0xcbc + be2: 61 15 cp r22, r1 + be4: 71 05 cpc r23, r1 + be6: 09 f4 brne .+2 ; 0xbea + be8: 90 c0 rjmp .+288 ; 0xd0a if(i2c_transfer_evt == NULL)return -1; - b9c: 41 15 cp r20, r1 - b9e: 51 05 cpc r21, r1 - ba0: 09 f4 brne .+2 ; 0xba4 - ba2: 8f c0 rjmp .+286 ; 0xcc2 - ba4: 7c 01 movw r14, r24 + bea: 41 15 cp r20, r1 + bec: 51 05 cpc r21, r1 + bee: 09 f4 brne .+2 ; 0xbf2 + bf0: 8f c0 rjmp .+286 ; 0xd10 + bf2: 7c 01 movw r14, r24 inst->i2c_transfer_inst = i2c_transfer_inst; - ba6: dc 01 movw r26, r24 - ba8: 6d 93 st X+, r22 - baa: 7c 93 st X, r23 - bac: 11 97 sbiw r26, 0x01 ; 1 + bf4: dc 01 movw r26, r24 + bf6: 6d 93 st X+, r22 + bf8: 7c 93 st X, r23 + bfa: 11 97 sbiw r26, 0x01 ; 1 inst->i2c_transfer_evt = i2c_transfer_evt; - bae: 12 96 adiw r26, 0x02 ; 2 - bb0: 4d 93 st X+, r20 - bb2: 5c 93 st X, r21 - bb4: 13 97 sbiw r26, 0x03 ; 3 + bfc: 12 96 adiw r26, 0x02 ; 2 + bfe: 4d 93 st X+, r20 + c00: 5c 93 st X, r21 + c02: 13 97 sbiw r26, 0x03 ; 3 int ret = 0; memset(&(inst->device_data),0x00,sizeof(si5351_data)); - bb6: fc 01 movw r30, r24 - bb8: 34 96 adiw r30, 0x04 ; 4 - bba: 8b e1 ldi r24, 0x1B ; 27 - bbc: df 01 movw r26, r30 - bbe: 1d 92 st X+, r1 - bc0: 8a 95 dec r24 - bc2: e9 f7 brne .-6 ; 0xbbe + c04: fc 01 movw r30, r24 + c06: 34 96 adiw r30, 0x04 ; 4 + c08: 8b e1 ldi r24, 0x1B ; 27 + c0a: df 01 movw r26, r30 + c0c: 1d 92 st X+, r1 + c0e: 8a 95 dec r24 + c10: e9 f7 brne .-6 ; 0xc0c /* Disable all outputs setting CLKx_DIS high */ uint8_t temp = 0xff; - bc4: 8f ef ldi r24, 0xFF ; 255 - bc6: 89 83 std Y+1, r24 ; 0x01 + c12: 8f ef ldi r24, 0xFF ; 255 + c14: 89 83 std Y+1, r24 ; 0x01 writeRegister(inst,SI5351_REG_OUTPUT_ENABLE_CONTROL,&temp,1); - bc8: 01 e0 ldi r16, 0x01 ; 1 - bca: 10 e0 ldi r17, 0x00 ; 0 - bcc: 20 e0 ldi r18, 0x00 ; 0 - bce: 30 e0 ldi r19, 0x00 ; 0 - bd0: ae 01 movw r20, r28 - bd2: 4f 5f subi r20, 0xFF ; 255 - bd4: 5f 4f sbci r21, 0xFF ; 255 - bd6: 63 e0 ldi r22, 0x03 ; 3 - bd8: c7 01 movw r24, r14 - bda: 58 de rcall .-848 ; 0x88c + c16: 01 e0 ldi r16, 0x01 ; 1 + c18: 10 e0 ldi r17, 0x00 ; 0 + c1a: 20 e0 ldi r18, 0x00 ; 0 + c1c: 30 e0 ldi r19, 0x00 ; 0 + c1e: ae 01 movw r20, r28 + c20: 4f 5f subi r20, 0xFF ; 255 + c22: 5f 4f sbci r21, 0xFF ; 255 + c24: 63 e0 ldi r22, 0x03 ; 3 + c26: c7 01 movw r24, r14 + c28: 58 de rcall .-848 ; 0x8da /* Power down all output drivers */ temp = 0x80; - bdc: 80 e8 ldi r24, 0x80 ; 128 - bde: 89 83 std Y+1, r24 ; 0x01 + c2a: 80 e8 ldi r24, 0x80 ; 128 + c2c: 89 83 std Y+1, r24 ; 0x01 writeRegister(inst,SI5351_REG_CLK_0_CONTROL,&temp,1); - be0: 01 e0 ldi r16, 0x01 ; 1 - be2: 10 e0 ldi r17, 0x00 ; 0 - be4: 20 e0 ldi r18, 0x00 ; 0 - be6: 30 e0 ldi r19, 0x00 ; 0 - be8: ae 01 movw r20, r28 - bea: 4f 5f subi r20, 0xFF ; 255 - bec: 5f 4f sbci r21, 0xFF ; 255 - bee: 60 e1 ldi r22, 0x10 ; 16 - bf0: c7 01 movw r24, r14 - bf2: 4c de rcall .-872 ; 0x88c + c2e: 01 e0 ldi r16, 0x01 ; 1 + c30: 10 e0 ldi r17, 0x00 ; 0 + c32: 20 e0 ldi r18, 0x00 ; 0 + c34: 30 e0 ldi r19, 0x00 ; 0 + c36: ae 01 movw r20, r28 + c38: 4f 5f subi r20, 0xFF ; 255 + c3a: 5f 4f sbci r21, 0xFF ; 255 + c3c: 60 e1 ldi r22, 0x10 ; 16 + c3e: c7 01 movw r24, r14 + c40: 4c de rcall .-872 ; 0x8da writeRegister(inst,SI5351_REG_CLK_1_CONTROL,&temp,1); - bf4: 01 e0 ldi r16, 0x01 ; 1 - bf6: 10 e0 ldi r17, 0x00 ; 0 - bf8: 20 e0 ldi r18, 0x00 ; 0 - bfa: 30 e0 ldi r19, 0x00 ; 0 - bfc: ae 01 movw r20, r28 - bfe: 4f 5f subi r20, 0xFF ; 255 - c00: 5f 4f sbci r21, 0xFF ; 255 - c02: 61 e1 ldi r22, 0x11 ; 17 - c04: c7 01 movw r24, r14 - c06: 42 de rcall .-892 ; 0x88c + c42: 01 e0 ldi r16, 0x01 ; 1 + c44: 10 e0 ldi r17, 0x00 ; 0 + c46: 20 e0 ldi r18, 0x00 ; 0 + c48: 30 e0 ldi r19, 0x00 ; 0 + c4a: ae 01 movw r20, r28 + c4c: 4f 5f subi r20, 0xFF ; 255 + c4e: 5f 4f sbci r21, 0xFF ; 255 + c50: 61 e1 ldi r22, 0x11 ; 17 + c52: c7 01 movw r24, r14 + c54: 42 de rcall .-892 ; 0x8da writeRegister(inst,SI5351_REG_CLK_2_CONTROL,&temp,1); - c08: 01 e0 ldi r16, 0x01 ; 1 - c0a: 10 e0 ldi r17, 0x00 ; 0 - c0c: 20 e0 ldi r18, 0x00 ; 0 - c0e: 30 e0 ldi r19, 0x00 ; 0 - c10: ae 01 movw r20, r28 - c12: 4f 5f subi r20, 0xFF ; 255 - c14: 5f 4f sbci r21, 0xFF ; 255 - c16: 62 e1 ldi r22, 0x12 ; 18 - c18: c7 01 movw r24, r14 - c1a: 38 de rcall .-912 ; 0x88c + c56: 01 e0 ldi r16, 0x01 ; 1 + c58: 10 e0 ldi r17, 0x00 ; 0 + c5a: 20 e0 ldi r18, 0x00 ; 0 + c5c: 30 e0 ldi r19, 0x00 ; 0 + c5e: ae 01 movw r20, r28 + c60: 4f 5f subi r20, 0xFF ; 255 + c62: 5f 4f sbci r21, 0xFF ; 255 + c64: 62 e1 ldi r22, 0x12 ; 18 + c66: c7 01 movw r24, r14 + c68: 38 de rcall .-912 ; 0x8da writeRegister(inst,SI5351_REG_CLK_3_CONTROL,&temp,1); - c1c: 01 e0 ldi r16, 0x01 ; 1 - c1e: 10 e0 ldi r17, 0x00 ; 0 - c20: 20 e0 ldi r18, 0x00 ; 0 - c22: 30 e0 ldi r19, 0x00 ; 0 - c24: ae 01 movw r20, r28 - c26: 4f 5f subi r20, 0xFF ; 255 - c28: 5f 4f sbci r21, 0xFF ; 255 - c2a: 63 e1 ldi r22, 0x13 ; 19 - c2c: c7 01 movw r24, r14 - c2e: 2e de rcall .-932 ; 0x88c + c6a: 01 e0 ldi r16, 0x01 ; 1 + c6c: 10 e0 ldi r17, 0x00 ; 0 + c6e: 20 e0 ldi r18, 0x00 ; 0 + c70: 30 e0 ldi r19, 0x00 ; 0 + c72: ae 01 movw r20, r28 + c74: 4f 5f subi r20, 0xFF ; 255 + c76: 5f 4f sbci r21, 0xFF ; 255 + c78: 63 e1 ldi r22, 0x13 ; 19 + c7a: c7 01 movw r24, r14 + c7c: 2e de rcall .-932 ; 0x8da writeRegister(inst,SI5351_REG_CLK_4_CONTROL,&temp,1); - c30: 01 e0 ldi r16, 0x01 ; 1 - c32: 10 e0 ldi r17, 0x00 ; 0 - c34: 20 e0 ldi r18, 0x00 ; 0 - c36: 30 e0 ldi r19, 0x00 ; 0 - c38: ae 01 movw r20, r28 - c3a: 4f 5f subi r20, 0xFF ; 255 - c3c: 5f 4f sbci r21, 0xFF ; 255 - c3e: 64 e1 ldi r22, 0x14 ; 20 - c40: c7 01 movw r24, r14 - c42: 24 de rcall .-952 ; 0x88c + c7e: 01 e0 ldi r16, 0x01 ; 1 + c80: 10 e0 ldi r17, 0x00 ; 0 + c82: 20 e0 ldi r18, 0x00 ; 0 + c84: 30 e0 ldi r19, 0x00 ; 0 + c86: ae 01 movw r20, r28 + c88: 4f 5f subi r20, 0xFF ; 255 + c8a: 5f 4f sbci r21, 0xFF ; 255 + c8c: 64 e1 ldi r22, 0x14 ; 20 + c8e: c7 01 movw r24, r14 + c90: 24 de rcall .-952 ; 0x8da writeRegister(inst,SI5351_REG_CLK_5_CONTROL,&temp,1); - c44: 01 e0 ldi r16, 0x01 ; 1 - c46: 10 e0 ldi r17, 0x00 ; 0 - c48: 20 e0 ldi r18, 0x00 ; 0 - c4a: 30 e0 ldi r19, 0x00 ; 0 - c4c: ae 01 movw r20, r28 - c4e: 4f 5f subi r20, 0xFF ; 255 - c50: 5f 4f sbci r21, 0xFF ; 255 - c52: 65 e1 ldi r22, 0x15 ; 21 - c54: c7 01 movw r24, r14 - c56: 1a de rcall .-972 ; 0x88c + c92: 01 e0 ldi r16, 0x01 ; 1 + c94: 10 e0 ldi r17, 0x00 ; 0 + c96: 20 e0 ldi r18, 0x00 ; 0 + c98: 30 e0 ldi r19, 0x00 ; 0 + c9a: ae 01 movw r20, r28 + c9c: 4f 5f subi r20, 0xFF ; 255 + c9e: 5f 4f sbci r21, 0xFF ; 255 + ca0: 65 e1 ldi r22, 0x15 ; 21 + ca2: c7 01 movw r24, r14 + ca4: 1a de rcall .-972 ; 0x8da writeRegister(inst,SI5351_REG_CLK_6_CONTROL,&temp,1); - c58: 01 e0 ldi r16, 0x01 ; 1 - c5a: 10 e0 ldi r17, 0x00 ; 0 - c5c: 20 e0 ldi r18, 0x00 ; 0 - c5e: 30 e0 ldi r19, 0x00 ; 0 - c60: ae 01 movw r20, r28 - c62: 4f 5f subi r20, 0xFF ; 255 - c64: 5f 4f sbci r21, 0xFF ; 255 - c66: 66 e1 ldi r22, 0x16 ; 22 - c68: c7 01 movw r24, r14 - c6a: 10 de rcall .-992 ; 0x88c + ca6: 01 e0 ldi r16, 0x01 ; 1 + ca8: 10 e0 ldi r17, 0x00 ; 0 + caa: 20 e0 ldi r18, 0x00 ; 0 + cac: 30 e0 ldi r19, 0x00 ; 0 + cae: ae 01 movw r20, r28 + cb0: 4f 5f subi r20, 0xFF ; 255 + cb2: 5f 4f sbci r21, 0xFF ; 255 + cb4: 66 e1 ldi r22, 0x16 ; 22 + cb6: c7 01 movw r24, r14 + cb8: 10 de rcall .-992 ; 0x8da writeRegister(inst,SI5351_REG_CLK_7_CONTROL,&temp,1); - c6c: 01 e0 ldi r16, 0x01 ; 1 - c6e: 10 e0 ldi r17, 0x00 ; 0 - c70: 20 e0 ldi r18, 0x00 ; 0 - c72: 30 e0 ldi r19, 0x00 ; 0 - c74: ae 01 movw r20, r28 - c76: 4f 5f subi r20, 0xFF ; 255 - c78: 5f 4f sbci r21, 0xFF ; 255 - c7a: 67 e1 ldi r22, 0x17 ; 23 - c7c: c7 01 movw r24, r14 - c7e: 06 de rcall .-1012 ; 0x88c + cba: 01 e0 ldi r16, 0x01 ; 1 + cbc: 10 e0 ldi r17, 0x00 ; 0 + cbe: 20 e0 ldi r18, 0x00 ; 0 + cc0: 30 e0 ldi r19, 0x00 ; 0 + cc2: ae 01 movw r20, r28 + cc4: 4f 5f subi r20, 0xFF ; 255 + cc6: 5f 4f sbci r21, 0xFF ; 255 + cc8: 67 e1 ldi r22, 0x17 ; 23 + cca: c7 01 movw r24, r14 + ccc: 06 de rcall .-1012 ; 0x8da temp = SI5351_CRYSTAL_LOAD_10PF; - c80: 80 ec ldi r24, 0xC0 ; 192 - c82: 89 83 std Y+1, r24 ; 0x01 + cce: 80 ec ldi r24, 0xC0 ; 192 + cd0: 89 83 std Y+1, r24 ; 0x01 writeRegister(inst,SI5351_REG_CRYSTAL_LOAD_CAPACITANCE,&temp,1); - c84: 01 e0 ldi r16, 0x01 ; 1 - c86: 10 e0 ldi r17, 0x00 ; 0 - c88: 20 e0 ldi r18, 0x00 ; 0 - c8a: 30 e0 ldi r19, 0x00 ; 0 - c8c: ae 01 movw r20, r28 - c8e: 4f 5f subi r20, 0xFF ; 255 - c90: 5f 4f sbci r21, 0xFF ; 255 - c92: 67 eb ldi r22, 0xB7 ; 183 - c94: c7 01 movw r24, r14 - c96: fa dd rcall .-1036 ; 0x88c + cd2: 01 e0 ldi r16, 0x01 ; 1 + cd4: 10 e0 ldi r17, 0x00 ; 0 + cd6: 20 e0 ldi r18, 0x00 ; 0 + cd8: 30 e0 ldi r19, 0x00 ; 0 + cda: ae 01 movw r20, r28 + cdc: 4f 5f subi r20, 0xFF ; 255 + cde: 5f 4f sbci r21, 0xFF ; 255 + ce0: 67 eb ldi r22, 0xB7 ; 183 + ce2: c7 01 movw r24, r14 + ce4: fa dd rcall .-1036 ; 0x8da // Enable xtal clk.. temp = 0b01000000; - c98: 80 e4 ldi r24, 0x40 ; 64 - c9a: 89 83 std Y+1, r24 ; 0x01 + ce6: 80 e4 ldi r24, 0x40 ; 64 + ce8: 89 83 std Y+1, r24 ; 0x01 writeRegister(inst,SI5351_REG_FANOUT_ENABLE,&temp,1); - c9c: 01 e0 ldi r16, 0x01 ; 1 - c9e: 10 e0 ldi r17, 0x00 ; 0 - ca0: 20 e0 ldi r18, 0x00 ; 0 - ca2: 30 e0 ldi r19, 0x00 ; 0 - ca4: ae 01 movw r20, r28 - ca6: 4f 5f subi r20, 0xFF ; 255 - ca8: 5f 4f sbci r21, 0xFF ; 255 - caa: 6b eb ldi r22, 0xBB ; 187 - cac: c7 01 movw r24, r14 - cae: ee dd rcall .-1060 ; 0x88c + cea: 01 e0 ldi r16, 0x01 ; 1 + cec: 10 e0 ldi r17, 0x00 ; 0 + cee: 20 e0 ldi r18, 0x00 ; 0 + cf0: 30 e0 ldi r19, 0x00 ; 0 + cf2: ae 01 movw r20, r28 + cf4: 4f 5f subi r20, 0xFF ; 255 + cf6: 5f 4f sbci r21, 0xFF ; 255 + cf8: 6b eb ldi r22, 0xBB ; 187 + cfa: c7 01 movw r24, r14 + cfc: ee dd rcall .-1060 ; 0x8da return ret; - cb0: 80 e0 ldi r24, 0x00 ; 0 - cb2: 90 e0 ldi r25, 0x00 ; 0 - cb4: 08 c0 rjmp .+16 ; 0xcc6 + cfe: 80 e0 ldi r24, 0x00 ; 0 + d00: 90 e0 ldi r25, 0x00 ; 0 + d02: 08 c0 rjmp .+16 ; 0xd14 return inst->device_data.deviceStatus.REVID; } int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Event_fpt i2c_transfer_evt){ if(inst == NULL)return -1; - cb6: 8f ef ldi r24, 0xFF ; 255 - cb8: 9f ef ldi r25, 0xFF ; 255 - cba: 05 c0 rjmp .+10 ; 0xcc6 + d04: 8f ef ldi r24, 0xFF ; 255 + d06: 9f ef ldi r25, 0xFF ; 255 + d08: 05 c0 rjmp .+10 ; 0xd14 if(i2c_transfer_inst == NULL)return -1; - cbc: 8f ef ldi r24, 0xFF ; 255 - cbe: 9f ef ldi r25, 0xFF ; 255 - cc0: 02 c0 rjmp .+4 ; 0xcc6 + d0a: 8f ef ldi r24, 0xFF ; 255 + d0c: 9f ef ldi r25, 0xFF ; 255 + d0e: 02 c0 rjmp .+4 ; 0xd14 if(i2c_transfer_evt == NULL)return -1; - cc2: 8f ef ldi r24, 0xFF ; 255 - cc4: 9f ef ldi r25, 0xFF ; 255 + d10: 8f ef ldi r24, 0xFF ; 255 + d12: 9f ef ldi r25, 0xFF ; 255 writeRegister(inst,SI5351_REG_FANOUT_ENABLE,&temp,1); return ret; } - cc6: 0f 90 pop r0 - cc8: df 91 pop r29 - cca: cf 91 pop r28 - ccc: 1f 91 pop r17 - cce: 0f 91 pop r16 - cd0: ff 90 pop r15 - cd2: ef 90 pop r14 - cd4: 08 95 ret + d14: 0f 90 pop r0 + d16: df 91 pop r29 + d18: cf 91 pop r28 + d1a: 1f 91 pop r17 + d1c: 0f 91 pop r16 + d1e: ff 90 pop r15 + d20: ef 90 pop r14 + d22: 08 95 ret -00000cd6 : - cd6: 0f 93 push r16 - cd8: 1f 93 push r17 - cda: cf 93 push r28 - cdc: df 93 push r29 - cde: 82 30 cpi r24, 0x02 ; 2 - ce0: 91 05 cpc r25, r1 - ce2: 10 f4 brcc .+4 ; 0xce8 - ce4: 82 e0 ldi r24, 0x02 ; 2 - ce6: 90 e0 ldi r25, 0x00 ; 0 - ce8: e0 91 88 3f lds r30, 0x3F88 ; 0x803f88 <__flp> - cec: f0 91 89 3f lds r31, 0x3F89 ; 0x803f89 <__flp+0x1> - cf0: 20 e0 ldi r18, 0x00 ; 0 - cf2: 30 e0 ldi r19, 0x00 ; 0 - cf4: a0 e0 ldi r26, 0x00 ; 0 - cf6: b0 e0 ldi r27, 0x00 ; 0 - cf8: 30 97 sbiw r30, 0x00 ; 0 - cfa: 19 f1 breq .+70 ; 0xd42 - cfc: 40 81 ld r20, Z - cfe: 51 81 ldd r21, Z+1 ; 0x01 - d00: 02 81 ldd r16, Z+2 ; 0x02 - d02: 13 81 ldd r17, Z+3 ; 0x03 - d04: 48 17 cp r20, r24 - d06: 59 07 cpc r21, r25 - d08: c8 f0 brcs .+50 ; 0xd3c - d0a: 84 17 cp r24, r20 - d0c: 95 07 cpc r25, r21 - d0e: 69 f4 brne .+26 ; 0xd2a - d10: 10 97 sbiw r26, 0x00 ; 0 - d12: 31 f0 breq .+12 ; 0xd20 - d14: 12 96 adiw r26, 0x02 ; 2 - d16: 0c 93 st X, r16 - d18: 12 97 sbiw r26, 0x02 ; 2 - d1a: 13 96 adiw r26, 0x03 ; 3 - d1c: 1c 93 st X, r17 - d1e: 27 c0 rjmp .+78 ; 0xd6e - d20: 00 93 88 3f sts 0x3F88, r16 ; 0x803f88 <__flp> - d24: 10 93 89 3f sts 0x3F89, r17 ; 0x803f89 <__flp+0x1> - d28: 22 c0 rjmp .+68 ; 0xd6e - d2a: 21 15 cp r18, r1 - d2c: 31 05 cpc r19, r1 - d2e: 19 f0 breq .+6 ; 0xd36 - d30: 42 17 cp r20, r18 - d32: 53 07 cpc r21, r19 - d34: 18 f4 brcc .+6 ; 0xd3c - d36: 9a 01 movw r18, r20 - d38: bd 01 movw r22, r26 - d3a: ef 01 movw r28, r30 - d3c: df 01 movw r26, r30 - d3e: f8 01 movw r30, r16 - d40: db cf rjmp .-74 ; 0xcf8 - d42: 21 15 cp r18, r1 - d44: 31 05 cpc r19, r1 - d46: f9 f0 breq .+62 ; 0xd86 - d48: 28 1b sub r18, r24 - d4a: 39 0b sbc r19, r25 - d4c: 24 30 cpi r18, 0x04 ; 4 - d4e: 31 05 cpc r19, r1 - d50: 80 f4 brcc .+32 ; 0xd72 - d52: 8a 81 ldd r24, Y+2 ; 0x02 - d54: 9b 81 ldd r25, Y+3 ; 0x03 - d56: 61 15 cp r22, r1 - d58: 71 05 cpc r23, r1 - d5a: 21 f0 breq .+8 ; 0xd64 - d5c: fb 01 movw r30, r22 - d5e: 82 83 std Z+2, r24 ; 0x02 - d60: 93 83 std Z+3, r25 ; 0x03 - d62: 04 c0 rjmp .+8 ; 0xd6c - d64: 80 93 88 3f sts 0x3F88, r24 ; 0x803f88 <__flp> - d68: 90 93 89 3f sts 0x3F89, r25 ; 0x803f89 <__flp+0x1> - d6c: fe 01 movw r30, r28 - d6e: 32 96 adiw r30, 0x02 ; 2 - d70: 44 c0 rjmp .+136 ; 0xdfa - d72: fe 01 movw r30, r28 - d74: e2 0f add r30, r18 - d76: f3 1f adc r31, r19 - d78: 81 93 st Z+, r24 - d7a: 91 93 st Z+, r25 - d7c: 22 50 subi r18, 0x02 ; 2 - d7e: 31 09 sbc r19, r1 - d80: 28 83 st Y, r18 - d82: 39 83 std Y+1, r19 ; 0x01 - d84: 3a c0 rjmp .+116 ; 0xdfa - d86: 20 91 86 3f lds r18, 0x3F86 ; 0x803f86 <__brkval> - d8a: 30 91 87 3f lds r19, 0x3F87 ; 0x803f87 <__brkval+0x1> - d8e: 23 2b or r18, r19 - d90: 41 f4 brne .+16 ; 0xda2 - d92: 20 91 02 3f lds r18, 0x3F02 ; 0x803f02 <__malloc_heap_start> - d96: 30 91 03 3f lds r19, 0x3F03 ; 0x803f03 <__malloc_heap_start+0x1> - d9a: 20 93 86 3f sts 0x3F86, r18 ; 0x803f86 <__brkval> - d9e: 30 93 87 3f sts 0x3F87, r19 ; 0x803f87 <__brkval+0x1> - da2: 20 91 00 3f lds r18, 0x3F00 ; 0x803f00 <__DATA_REGION_ORIGIN__> - da6: 30 91 01 3f lds r19, 0x3F01 ; 0x803f01 <__DATA_REGION_ORIGIN__+0x1> - daa: 21 15 cp r18, r1 - dac: 31 05 cpc r19, r1 - dae: 41 f4 brne .+16 ; 0xdc0 - db0: 2d b7 in r18, 0x3d ; 61 - db2: 3e b7 in r19, 0x3e ; 62 - db4: 40 91 04 3f lds r20, 0x3F04 ; 0x803f04 <__malloc_margin> - db8: 50 91 05 3f lds r21, 0x3F05 ; 0x803f05 <__malloc_margin+0x1> - dbc: 24 1b sub r18, r20 - dbe: 35 0b sbc r19, r21 - dc0: e0 91 86 3f lds r30, 0x3F86 ; 0x803f86 <__brkval> - dc4: f0 91 87 3f lds r31, 0x3F87 ; 0x803f87 <__brkval+0x1> - dc8: e2 17 cp r30, r18 - dca: f3 07 cpc r31, r19 - dcc: a0 f4 brcc .+40 ; 0xdf6 - dce: 2e 1b sub r18, r30 - dd0: 3f 0b sbc r19, r31 - dd2: 28 17 cp r18, r24 - dd4: 39 07 cpc r19, r25 - dd6: 78 f0 brcs .+30 ; 0xdf6 - dd8: ac 01 movw r20, r24 - dda: 4e 5f subi r20, 0xFE ; 254 - ddc: 5f 4f sbci r21, 0xFF ; 255 - dde: 24 17 cp r18, r20 - de0: 35 07 cpc r19, r21 - de2: 48 f0 brcs .+18 ; 0xdf6 - de4: 4e 0f add r20, r30 - de6: 5f 1f adc r21, r31 - de8: 40 93 86 3f sts 0x3F86, r20 ; 0x803f86 <__brkval> - dec: 50 93 87 3f sts 0x3F87, r21 ; 0x803f87 <__brkval+0x1> - df0: 81 93 st Z+, r24 - df2: 91 93 st Z+, r25 - df4: 02 c0 rjmp .+4 ; 0xdfa - df6: e0 e0 ldi r30, 0x00 ; 0 - df8: f0 e0 ldi r31, 0x00 ; 0 - dfa: cf 01 movw r24, r30 - dfc: df 91 pop r29 - dfe: cf 91 pop r28 - e00: 1f 91 pop r17 - e02: 0f 91 pop r16 - e04: 08 95 ret +00000d24 : + d24: 0f 93 push r16 + d26: 1f 93 push r17 + d28: cf 93 push r28 + d2a: df 93 push r29 + d2c: 82 30 cpi r24, 0x02 ; 2 + d2e: 91 05 cpc r25, r1 + d30: 10 f4 brcc .+4 ; 0xd36 + d32: 82 e0 ldi r24, 0x02 ; 2 + d34: 90 e0 ldi r25, 0x00 ; 0 + d36: e0 91 87 3f lds r30, 0x3F87 ; 0x803f87 <__flp> + d3a: f0 91 88 3f lds r31, 0x3F88 ; 0x803f88 <__flp+0x1> + d3e: 20 e0 ldi r18, 0x00 ; 0 + d40: 30 e0 ldi r19, 0x00 ; 0 + d42: a0 e0 ldi r26, 0x00 ; 0 + d44: b0 e0 ldi r27, 0x00 ; 0 + d46: 30 97 sbiw r30, 0x00 ; 0 + d48: 19 f1 breq .+70 ; 0xd90 + d4a: 40 81 ld r20, Z + d4c: 51 81 ldd r21, Z+1 ; 0x01 + d4e: 02 81 ldd r16, Z+2 ; 0x02 + d50: 13 81 ldd r17, Z+3 ; 0x03 + d52: 48 17 cp r20, r24 + d54: 59 07 cpc r21, r25 + d56: c8 f0 brcs .+50 ; 0xd8a + d58: 84 17 cp r24, r20 + d5a: 95 07 cpc r25, r21 + d5c: 69 f4 brne .+26 ; 0xd78 + d5e: 10 97 sbiw r26, 0x00 ; 0 + d60: 31 f0 breq .+12 ; 0xd6e + d62: 12 96 adiw r26, 0x02 ; 2 + d64: 0c 93 st X, r16 + d66: 12 97 sbiw r26, 0x02 ; 2 + d68: 13 96 adiw r26, 0x03 ; 3 + d6a: 1c 93 st X, r17 + d6c: 27 c0 rjmp .+78 ; 0xdbc + d6e: 00 93 87 3f sts 0x3F87, r16 ; 0x803f87 <__flp> + d72: 10 93 88 3f sts 0x3F88, r17 ; 0x803f88 <__flp+0x1> + d76: 22 c0 rjmp .+68 ; 0xdbc + d78: 21 15 cp r18, r1 + d7a: 31 05 cpc r19, r1 + d7c: 19 f0 breq .+6 ; 0xd84 + d7e: 42 17 cp r20, r18 + d80: 53 07 cpc r21, r19 + d82: 18 f4 brcc .+6 ; 0xd8a + d84: 9a 01 movw r18, r20 + d86: bd 01 movw r22, r26 + d88: ef 01 movw r28, r30 + d8a: df 01 movw r26, r30 + d8c: f8 01 movw r30, r16 + d8e: db cf rjmp .-74 ; 0xd46 + d90: 21 15 cp r18, r1 + d92: 31 05 cpc r19, r1 + d94: f9 f0 breq .+62 ; 0xdd4 + d96: 28 1b sub r18, r24 + d98: 39 0b sbc r19, r25 + d9a: 24 30 cpi r18, 0x04 ; 4 + d9c: 31 05 cpc r19, r1 + d9e: 80 f4 brcc .+32 ; 0xdc0 + da0: 8a 81 ldd r24, Y+2 ; 0x02 + da2: 9b 81 ldd r25, Y+3 ; 0x03 + da4: 61 15 cp r22, r1 + da6: 71 05 cpc r23, r1 + da8: 21 f0 breq .+8 ; 0xdb2 + daa: fb 01 movw r30, r22 + dac: 82 83 std Z+2, r24 ; 0x02 + dae: 93 83 std Z+3, r25 ; 0x03 + db0: 04 c0 rjmp .+8 ; 0xdba + db2: 80 93 87 3f sts 0x3F87, r24 ; 0x803f87 <__flp> + db6: 90 93 88 3f sts 0x3F88, r25 ; 0x803f88 <__flp+0x1> + dba: fe 01 movw r30, r28 + dbc: 32 96 adiw r30, 0x02 ; 2 + dbe: 44 c0 rjmp .+136 ; 0xe48 + dc0: fe 01 movw r30, r28 + dc2: e2 0f add r30, r18 + dc4: f3 1f adc r31, r19 + dc6: 81 93 st Z+, r24 + dc8: 91 93 st Z+, r25 + dca: 22 50 subi r18, 0x02 ; 2 + dcc: 31 09 sbc r19, r1 + dce: 28 83 st Y, r18 + dd0: 39 83 std Y+1, r19 ; 0x01 + dd2: 3a c0 rjmp .+116 ; 0xe48 + dd4: 20 91 85 3f lds r18, 0x3F85 ; 0x803f85 <__brkval> + dd8: 30 91 86 3f lds r19, 0x3F86 ; 0x803f86 <__brkval+0x1> + ddc: 23 2b or r18, r19 + dde: 41 f4 brne .+16 ; 0xdf0 + de0: 20 91 02 3f lds r18, 0x3F02 ; 0x803f02 <__malloc_heap_start> + de4: 30 91 03 3f lds r19, 0x3F03 ; 0x803f03 <__malloc_heap_start+0x1> + de8: 20 93 85 3f sts 0x3F85, r18 ; 0x803f85 <__brkval> + dec: 30 93 86 3f sts 0x3F86, r19 ; 0x803f86 <__brkval+0x1> + df0: 20 91 00 3f lds r18, 0x3F00 ; 0x803f00 <__DATA_REGION_ORIGIN__> + df4: 30 91 01 3f lds r19, 0x3F01 ; 0x803f01 <__DATA_REGION_ORIGIN__+0x1> + df8: 21 15 cp r18, r1 + dfa: 31 05 cpc r19, r1 + dfc: 41 f4 brne .+16 ; 0xe0e + dfe: 2d b7 in r18, 0x3d ; 61 + e00: 3e b7 in r19, 0x3e ; 62 + e02: 40 91 04 3f lds r20, 0x3F04 ; 0x803f04 <__malloc_margin> + e06: 50 91 05 3f lds r21, 0x3F05 ; 0x803f05 <__malloc_margin+0x1> + e0a: 24 1b sub r18, r20 + e0c: 35 0b sbc r19, r21 + e0e: e0 91 85 3f lds r30, 0x3F85 ; 0x803f85 <__brkval> + e12: f0 91 86 3f lds r31, 0x3F86 ; 0x803f86 <__brkval+0x1> + e16: e2 17 cp r30, r18 + e18: f3 07 cpc r31, r19 + e1a: a0 f4 brcc .+40 ; 0xe44 + e1c: 2e 1b sub r18, r30 + e1e: 3f 0b sbc r19, r31 + e20: 28 17 cp r18, r24 + e22: 39 07 cpc r19, r25 + e24: 78 f0 brcs .+30 ; 0xe44 + e26: ac 01 movw r20, r24 + e28: 4e 5f subi r20, 0xFE ; 254 + e2a: 5f 4f sbci r21, 0xFF ; 255 + e2c: 24 17 cp r18, r20 + e2e: 35 07 cpc r19, r21 + e30: 48 f0 brcs .+18 ; 0xe44 + e32: 4e 0f add r20, r30 + e34: 5f 1f adc r21, r31 + e36: 40 93 85 3f sts 0x3F85, r20 ; 0x803f85 <__brkval> + e3a: 50 93 86 3f sts 0x3F86, r21 ; 0x803f86 <__brkval+0x1> + e3e: 81 93 st Z+, r24 + e40: 91 93 st Z+, r25 + e42: 02 c0 rjmp .+4 ; 0xe48 + e44: e0 e0 ldi r30, 0x00 ; 0 + e46: f0 e0 ldi r31, 0x00 ; 0 + e48: cf 01 movw r24, r30 + e4a: df 91 pop r29 + e4c: cf 91 pop r28 + e4e: 1f 91 pop r17 + e50: 0f 91 pop r16 + e52: 08 95 ret -00000e06 : - e06: cf 93 push r28 - e08: df 93 push r29 - e0a: 00 97 sbiw r24, 0x00 ; 0 - e0c: 09 f4 brne .+2 ; 0xe10 - e0e: 81 c0 rjmp .+258 ; 0xf12 - e10: fc 01 movw r30, r24 - e12: 32 97 sbiw r30, 0x02 ; 2 - e14: 12 82 std Z+2, r1 ; 0x02 - e16: 13 82 std Z+3, r1 ; 0x03 - e18: a0 91 88 3f lds r26, 0x3F88 ; 0x803f88 <__flp> - e1c: b0 91 89 3f lds r27, 0x3F89 ; 0x803f89 <__flp+0x1> - e20: 10 97 sbiw r26, 0x00 ; 0 - e22: 81 f4 brne .+32 ; 0xe44 - e24: 20 81 ld r18, Z - e26: 31 81 ldd r19, Z+1 ; 0x01 - e28: 82 0f add r24, r18 - e2a: 93 1f adc r25, r19 - e2c: 20 91 86 3f lds r18, 0x3F86 ; 0x803f86 <__brkval> - e30: 30 91 87 3f lds r19, 0x3F87 ; 0x803f87 <__brkval+0x1> - e34: 28 17 cp r18, r24 - e36: 39 07 cpc r19, r25 - e38: 51 f5 brne .+84 ; 0xe8e - e3a: e0 93 86 3f sts 0x3F86, r30 ; 0x803f86 <__brkval> - e3e: f0 93 87 3f sts 0x3F87, r31 ; 0x803f87 <__brkval+0x1> - e42: 67 c0 rjmp .+206 ; 0xf12 - e44: ed 01 movw r28, r26 - e46: 20 e0 ldi r18, 0x00 ; 0 - e48: 30 e0 ldi r19, 0x00 ; 0 - e4a: ce 17 cp r28, r30 - e4c: df 07 cpc r29, r31 - e4e: 40 f4 brcc .+16 ; 0xe60 - e50: 4a 81 ldd r20, Y+2 ; 0x02 - e52: 5b 81 ldd r21, Y+3 ; 0x03 - e54: 9e 01 movw r18, r28 - e56: 41 15 cp r20, r1 - e58: 51 05 cpc r21, r1 - e5a: f1 f0 breq .+60 ; 0xe98 - e5c: ea 01 movw r28, r20 - e5e: f5 cf rjmp .-22 ; 0xe4a - e60: c2 83 std Z+2, r28 ; 0x02 - e62: d3 83 std Z+3, r29 ; 0x03 - e64: 40 81 ld r20, Z - e66: 51 81 ldd r21, Z+1 ; 0x01 - e68: 84 0f add r24, r20 - e6a: 95 1f adc r25, r21 - e6c: c8 17 cp r28, r24 - e6e: d9 07 cpc r29, r25 - e70: 59 f4 brne .+22 ; 0xe88 - e72: 88 81 ld r24, Y - e74: 99 81 ldd r25, Y+1 ; 0x01 - e76: 84 0f add r24, r20 - e78: 95 1f adc r25, r21 - e7a: 02 96 adiw r24, 0x02 ; 2 - e7c: 80 83 st Z, r24 - e7e: 91 83 std Z+1, r25 ; 0x01 - e80: 8a 81 ldd r24, Y+2 ; 0x02 - e82: 9b 81 ldd r25, Y+3 ; 0x03 - e84: 82 83 std Z+2, r24 ; 0x02 - e86: 93 83 std Z+3, r25 ; 0x03 - e88: 21 15 cp r18, r1 - e8a: 31 05 cpc r19, r1 - e8c: 29 f4 brne .+10 ; 0xe98 - e8e: e0 93 88 3f sts 0x3F88, r30 ; 0x803f88 <__flp> - e92: f0 93 89 3f sts 0x3F89, r31 ; 0x803f89 <__flp+0x1> - e96: 3d c0 rjmp .+122 ; 0xf12 - e98: e9 01 movw r28, r18 - e9a: ea 83 std Y+2, r30 ; 0x02 - e9c: fb 83 std Y+3, r31 ; 0x03 - e9e: 49 91 ld r20, Y+ - ea0: 59 91 ld r21, Y+ - ea2: c4 0f add r28, r20 - ea4: d5 1f adc r29, r21 - ea6: ec 17 cp r30, r28 - ea8: fd 07 cpc r31, r29 - eaa: 61 f4 brne .+24 ; 0xec4 - eac: 80 81 ld r24, Z - eae: 91 81 ldd r25, Z+1 ; 0x01 - eb0: 84 0f add r24, r20 - eb2: 95 1f adc r25, r21 - eb4: 02 96 adiw r24, 0x02 ; 2 - eb6: e9 01 movw r28, r18 - eb8: 88 83 st Y, r24 - eba: 99 83 std Y+1, r25 ; 0x01 - ebc: 82 81 ldd r24, Z+2 ; 0x02 - ebe: 93 81 ldd r25, Z+3 ; 0x03 - ec0: 8a 83 std Y+2, r24 ; 0x02 - ec2: 9b 83 std Y+3, r25 ; 0x03 - ec4: e0 e0 ldi r30, 0x00 ; 0 - ec6: f0 e0 ldi r31, 0x00 ; 0 - ec8: 12 96 adiw r26, 0x02 ; 2 - eca: 8d 91 ld r24, X+ - ecc: 9c 91 ld r25, X - ece: 13 97 sbiw r26, 0x03 ; 3 - ed0: 00 97 sbiw r24, 0x00 ; 0 - ed2: 19 f0 breq .+6 ; 0xeda - ed4: fd 01 movw r30, r26 - ed6: dc 01 movw r26, r24 - ed8: f7 cf rjmp .-18 ; 0xec8 - eda: 8d 91 ld r24, X+ - edc: 9c 91 ld r25, X - ede: 11 97 sbiw r26, 0x01 ; 1 - ee0: 9d 01 movw r18, r26 - ee2: 2e 5f subi r18, 0xFE ; 254 - ee4: 3f 4f sbci r19, 0xFF ; 255 - ee6: 82 0f add r24, r18 - ee8: 93 1f adc r25, r19 - eea: 20 91 86 3f lds r18, 0x3F86 ; 0x803f86 <__brkval> - eee: 30 91 87 3f lds r19, 0x3F87 ; 0x803f87 <__brkval+0x1> - ef2: 28 17 cp r18, r24 - ef4: 39 07 cpc r19, r25 - ef6: 69 f4 brne .+26 ; 0xf12 - ef8: 30 97 sbiw r30, 0x00 ; 0 - efa: 29 f4 brne .+10 ; 0xf06 - efc: 10 92 88 3f sts 0x3F88, r1 ; 0x803f88 <__flp> - f00: 10 92 89 3f sts 0x3F89, r1 ; 0x803f89 <__flp+0x1> - f04: 02 c0 rjmp .+4 ; 0xf0a - f06: 12 82 std Z+2, r1 ; 0x02 - f08: 13 82 std Z+3, r1 ; 0x03 - f0a: a0 93 86 3f sts 0x3F86, r26 ; 0x803f86 <__brkval> - f0e: b0 93 87 3f sts 0x3F87, r27 ; 0x803f87 <__brkval+0x1> - f12: df 91 pop r29 - f14: cf 91 pop r28 - f16: 08 95 ret +00000e54 : + e54: cf 93 push r28 + e56: df 93 push r29 + e58: 00 97 sbiw r24, 0x00 ; 0 + e5a: 09 f4 brne .+2 ; 0xe5e + e5c: 81 c0 rjmp .+258 ; 0xf60 + e5e: fc 01 movw r30, r24 + e60: 32 97 sbiw r30, 0x02 ; 2 + e62: 12 82 std Z+2, r1 ; 0x02 + e64: 13 82 std Z+3, r1 ; 0x03 + e66: a0 91 87 3f lds r26, 0x3F87 ; 0x803f87 <__flp> + e6a: b0 91 88 3f lds r27, 0x3F88 ; 0x803f88 <__flp+0x1> + e6e: 10 97 sbiw r26, 0x00 ; 0 + e70: 81 f4 brne .+32 ; 0xe92 + e72: 20 81 ld r18, Z + e74: 31 81 ldd r19, Z+1 ; 0x01 + e76: 82 0f add r24, r18 + e78: 93 1f adc r25, r19 + e7a: 20 91 85 3f lds r18, 0x3F85 ; 0x803f85 <__brkval> + e7e: 30 91 86 3f lds r19, 0x3F86 ; 0x803f86 <__brkval+0x1> + e82: 28 17 cp r18, r24 + e84: 39 07 cpc r19, r25 + e86: 51 f5 brne .+84 ; 0xedc + e88: e0 93 85 3f sts 0x3F85, r30 ; 0x803f85 <__brkval> + e8c: f0 93 86 3f sts 0x3F86, r31 ; 0x803f86 <__brkval+0x1> + e90: 67 c0 rjmp .+206 ; 0xf60 + e92: ed 01 movw r28, r26 + e94: 20 e0 ldi r18, 0x00 ; 0 + e96: 30 e0 ldi r19, 0x00 ; 0 + e98: ce 17 cp r28, r30 + e9a: df 07 cpc r29, r31 + e9c: 40 f4 brcc .+16 ; 0xeae + e9e: 4a 81 ldd r20, Y+2 ; 0x02 + ea0: 5b 81 ldd r21, Y+3 ; 0x03 + ea2: 9e 01 movw r18, r28 + ea4: 41 15 cp r20, r1 + ea6: 51 05 cpc r21, r1 + ea8: f1 f0 breq .+60 ; 0xee6 + eaa: ea 01 movw r28, r20 + eac: f5 cf rjmp .-22 ; 0xe98 + eae: c2 83 std Z+2, r28 ; 0x02 + eb0: d3 83 std Z+3, r29 ; 0x03 + eb2: 40 81 ld r20, Z + eb4: 51 81 ldd r21, Z+1 ; 0x01 + eb6: 84 0f add r24, r20 + eb8: 95 1f adc r25, r21 + eba: c8 17 cp r28, r24 + ebc: d9 07 cpc r29, r25 + ebe: 59 f4 brne .+22 ; 0xed6 + ec0: 88 81 ld r24, Y + ec2: 99 81 ldd r25, Y+1 ; 0x01 + ec4: 84 0f add r24, r20 + ec6: 95 1f adc r25, r21 + ec8: 02 96 adiw r24, 0x02 ; 2 + eca: 80 83 st Z, r24 + ecc: 91 83 std Z+1, r25 ; 0x01 + ece: 8a 81 ldd r24, Y+2 ; 0x02 + ed0: 9b 81 ldd r25, Y+3 ; 0x03 + ed2: 82 83 std Z+2, r24 ; 0x02 + ed4: 93 83 std Z+3, r25 ; 0x03 + ed6: 21 15 cp r18, r1 + ed8: 31 05 cpc r19, r1 + eda: 29 f4 brne .+10 ; 0xee6 + edc: e0 93 87 3f sts 0x3F87, r30 ; 0x803f87 <__flp> + ee0: f0 93 88 3f sts 0x3F88, r31 ; 0x803f88 <__flp+0x1> + ee4: 3d c0 rjmp .+122 ; 0xf60 + ee6: e9 01 movw r28, r18 + ee8: ea 83 std Y+2, r30 ; 0x02 + eea: fb 83 std Y+3, r31 ; 0x03 + eec: 49 91 ld r20, Y+ + eee: 59 91 ld r21, Y+ + ef0: c4 0f add r28, r20 + ef2: d5 1f adc r29, r21 + ef4: ec 17 cp r30, r28 + ef6: fd 07 cpc r31, r29 + ef8: 61 f4 brne .+24 ; 0xf12 + efa: 80 81 ld r24, Z + efc: 91 81 ldd r25, Z+1 ; 0x01 + efe: 84 0f add r24, r20 + f00: 95 1f adc r25, r21 + f02: 02 96 adiw r24, 0x02 ; 2 + f04: e9 01 movw r28, r18 + f06: 88 83 st Y, r24 + f08: 99 83 std Y+1, r25 ; 0x01 + f0a: 82 81 ldd r24, Z+2 ; 0x02 + f0c: 93 81 ldd r25, Z+3 ; 0x03 + f0e: 8a 83 std Y+2, r24 ; 0x02 + f10: 9b 83 std Y+3, r25 ; 0x03 + f12: e0 e0 ldi r30, 0x00 ; 0 + f14: f0 e0 ldi r31, 0x00 ; 0 + f16: 12 96 adiw r26, 0x02 ; 2 + f18: 8d 91 ld r24, X+ + f1a: 9c 91 ld r25, X + f1c: 13 97 sbiw r26, 0x03 ; 3 + f1e: 00 97 sbiw r24, 0x00 ; 0 + f20: 19 f0 breq .+6 ; 0xf28 + f22: fd 01 movw r30, r26 + f24: dc 01 movw r26, r24 + f26: f7 cf rjmp .-18 ; 0xf16 + f28: 8d 91 ld r24, X+ + f2a: 9c 91 ld r25, X + f2c: 11 97 sbiw r26, 0x01 ; 1 + f2e: 9d 01 movw r18, r26 + f30: 2e 5f subi r18, 0xFE ; 254 + f32: 3f 4f sbci r19, 0xFF ; 255 + f34: 82 0f add r24, r18 + f36: 93 1f adc r25, r19 + f38: 20 91 85 3f lds r18, 0x3F85 ; 0x803f85 <__brkval> + f3c: 30 91 86 3f lds r19, 0x3F86 ; 0x803f86 <__brkval+0x1> + f40: 28 17 cp r18, r24 + f42: 39 07 cpc r19, r25 + f44: 69 f4 brne .+26 ; 0xf60 + f46: 30 97 sbiw r30, 0x00 ; 0 + f48: 29 f4 brne .+10 ; 0xf54 + f4a: 10 92 87 3f sts 0x3F87, r1 ; 0x803f87 <__flp> + f4e: 10 92 88 3f sts 0x3F88, r1 ; 0x803f88 <__flp+0x1> + f52: 02 c0 rjmp .+4 ; 0xf58 + f54: 12 82 std Z+2, r1 ; 0x02 + f56: 13 82 std Z+3, r1 ; 0x03 + f58: a0 93 85 3f sts 0x3F85, r26 ; 0x803f85 <__brkval> + f5c: b0 93 86 3f sts 0x3F86, r27 ; 0x803f86 <__brkval+0x1> + f60: df 91 pop r29 + f62: cf 91 pop r28 + f64: 08 95 ret -00000f18 : - f18: fb 01 movw r30, r22 - f1a: dc 01 movw r26, r24 - f1c: 02 c0 rjmp .+4 ; 0xf22 - f1e: 01 90 ld r0, Z+ - f20: 0d 92 st X+, r0 - f22: 41 50 subi r20, 0x01 ; 1 - f24: 50 40 sbci r21, 0x00 ; 0 - f26: d8 f7 brcc .-10 ; 0xf1e - f28: 08 95 ret +00000f66 : + f66: fb 01 movw r30, r22 + f68: dc 01 movw r26, r24 + f6a: 02 c0 rjmp .+4 ; 0xf70 + f6c: 01 90 ld r0, Z+ + f6e: 0d 92 st X+, r0 + f70: 41 50 subi r20, 0x01 ; 1 + f72: 50 40 sbci r21, 0x00 ; 0 + f74: d8 f7 brcc .-10 ; 0xf6c + f76: 08 95 ret -00000f2a : - f2a: 03 d0 rcall .+6 ; 0xf32 - f2c: 80 81 ld r24, Z - f2e: 99 27 eor r25, r25 - f30: 08 95 ret +00000f78 : + f78: 03 d0 rcall .+6 ; 0xf80 + f7a: 80 81 ld r24, Z + f7c: 99 27 eor r25, r25 + f7e: 08 95 ret -00000f32 : - f32: fc 01 movw r30, r24 - f34: e0 50 subi r30, 0x00 ; 0 - f36: fc 4e sbci r31, 0xEC ; 236 - f38: 08 95 ret +00000f80 : + f80: fc 01 movw r30, r24 + f82: e0 50 subi r30, 0x00 ; 0 + f84: fc 4e sbci r31, 0xEC ; 236 + f86: 08 95 ret -00000f3a : - f3a: 26 2f mov r18, r22 +00000f88 : + f88: 26 2f mov r18, r22 -00000f3c : - f3c: af 93 push r26 - f3e: bf 93 push r27 - f40: e0 e0 ldi r30, 0x00 ; 0 - f42: f0 e1 ldi r31, 0x10 ; 16 - f44: 32 81 ldd r19, Z+2 ; 0x02 - f46: 31 fd sbrc r19, 1 - f48: fd cf rjmp .-6 ; 0xf44 - f4a: dc 01 movw r26, r24 - f4c: a0 50 subi r26, 0x00 ; 0 - f4e: bc 4e sbci r27, 0xEC ; 236 - f50: 2c 93 st X, r18 - f52: 2d e9 ldi r18, 0x9D ; 157 - f54: 24 bf out 0x34, r18 ; 52 - f56: 23 e0 ldi r18, 0x03 ; 3 - f58: 20 83 st Z, r18 - f5a: 01 96 adiw r24, 0x01 ; 1 - f5c: bf 91 pop r27 - f5e: af 91 pop r26 - f60: 08 95 ret +00000f8a : + f8a: af 93 push r26 + f8c: bf 93 push r27 + f8e: e0 e0 ldi r30, 0x00 ; 0 + f90: f0 e1 ldi r31, 0x10 ; 16 + f92: 32 81 ldd r19, Z+2 ; 0x02 + f94: 31 fd sbrc r19, 1 + f96: fd cf rjmp .-6 ; 0xf92 + f98: dc 01 movw r26, r24 + f9a: a0 50 subi r26, 0x00 ; 0 + f9c: bc 4e sbci r27, 0xEC ; 236 + f9e: 2c 93 st X, r18 + fa0: 2d e9 ldi r18, 0x9D ; 157 + fa2: 24 bf out 0x34, r18 ; 52 + fa4: 23 e0 ldi r18, 0x03 ; 3 + fa6: 20 83 st Z, r18 + fa8: 01 96 adiw r24, 0x01 ; 1 + faa: bf 91 pop r27 + fac: af 91 pop r26 + fae: 08 95 ret -00000f62 <_exit>: - f62: f8 94 cli +00000fb0 <_exit>: + fb0: f8 94 cli -00000f64 <__stop_program>: - f64: ff cf rjmp .-2 ; 0xf64 <__stop_program> +00000fb2 <__stop_program>: + fb2: ff cf rjmp .-2 ; 0xfb2 <__stop_program> diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map index f975b14..97ea7c7 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map @@ -1,31 +1,36 @@ Archive member included to satisfy reference by file (symbol) -e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o (exit) -e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o (exit) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) avr_uart_driver/avr_uart.o (__do_clear_bss) -e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) si5351_driver/si5351_driver.o (malloc) -e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) si5351_driver/si5351_driver.o (memcpy) -E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(puts.o) + cm_task_manager/cm_task_manager.o (puts) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\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/avrxmega3/short-calls\libc.a(puts.o) (__iob) +C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) avr_eeprom_driver/avr_eeprom_driver.o (eeprom_read_byte) -E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) +C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) avr_eeprom_driver/avr_eeprom_driver.o (eeprom_write_byte) -e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) - e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) (__do_copy_data) +c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) (__do_copy_data) Allocating common symbols Common symbol size file -storno_xtal_app 0x40 main.o -__brkval 0x2 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) -__flp 0x2 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) +storno_xtal_app 0x3f main.o +__brkval 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) +__flp 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.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/avrxmega3/short-calls\libc.a(iob.o) Discarded input sections - .data 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o - .bss 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .text 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o .data 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o .bss 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o @@ -55,11 +60,34 @@ Discarded input sections .text 0x00000000 0x0 cm_msg/cm_msg.o .data 0x00000000 0x0 cm_msg/cm_msg.o .bss 0x00000000 0x0 cm_msg/cm_msg.o + .text 0x00000000 0x0 cm_task_manager/cm_task_manager.o + .data 0x00000000 0x0 cm_task_manager/cm_task_manager.o + .bss 0x00000000 0x0 cm_task_manager/cm_task_manager.o + .text.cm_taskManager_blockDelay_ms + 0x00000000 0x5a cm_task_manager/cm_task_manager.o + .rodata.str1.1 + 0x00000000 0x56 cm_task_manager/cm_task_manager.o + .text.cm_taskManager_addTaskToList + 0x00000000 0x68 cm_task_manager/cm_task_manager.o + .text.cm_taskManager_deleteTaskFromList + 0x00000000 0x78 cm_task_manager/cm_task_manager.o + .text.cm_taskManager_run_tasks + 0x00000000 0x66 cm_task_manager/cm_task_manager.o + .text.cm_taskManager_init + 0x00000000 0xc cm_task_manager/cm_task_manager.o + .debug_info 0x00000000 0x321 cm_task_manager/cm_task_manager.o + .debug_abbrev 0x00000000 0x179 cm_task_manager/cm_task_manager.o + .debug_loc 0x00000000 0x2e3 cm_task_manager/cm_task_manager.o + .debug_aranges + 0x00000000 0x40 cm_task_manager/cm_task_manager.o + .debug_ranges 0x00000000 0x30 cm_task_manager/cm_task_manager.o + .debug_line 0x00000000 0x20e cm_task_manager/cm_task_manager.o + .debug_str 0x00000000 0x2f0 cm_task_manager/cm_task_manager.o + .comment 0x00000000 0x31 cm_task_manager/cm_task_manager.o + .debug_frame 0x00000000 0x90 cm_task_manager/cm_task_manager.o .text 0x00000000 0x0 cqm6xx_app.o .data 0x00000000 0x0 cqm6xx_app.o .bss 0x00000000 0x0 cqm6xx_app.o - .text.programPLL_Parameters - 0x00000000 0x5e cqm6xx_app.o .text 0x00000000 0x0 main.o .data 0x00000000 0x0 main.o .bss 0x00000000 0x0 main.o @@ -70,65 +98,76 @@ Discarded input sections 0x00000000 0xf4 si5351_driver/si5351_driver.o .text.cm_si5351_getRevisionNumber 0x00000000 0x68 si5351_driver/si5351_driver.o - .text 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - .data 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - .bss 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.mul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.div - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - .text.libgcc 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.prologue - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.builtins - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.fmul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .text.libgcc.fixed - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - .text 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) - .data 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) - .bss 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.mul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.div - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) - .text.libgcc 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.prologue - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.builtins - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.fmul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) .text.libgcc.fixed - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) - .text 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) - .bss 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) - .text 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) - .data 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) - .bss 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) - .text 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .data 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .bss 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .text 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) - .data 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) - .bss 0x00000000 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) - .text 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) - .data 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) - .bss 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\libc.a(malloc.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/avrxmega3/short-calls\libc.a(malloc.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/avrxmega3/short-calls\libc.a(memcpy.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/avrxmega3/short-calls\libc.a(memcpy.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/avrxmega3/short-calls\libc.a(memcpy.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/avrxmega3/short-calls\libc.a(puts.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/avrxmega3/short-calls\libc.a(puts.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/avrxmega3/short-calls\libc.a(puts.o) + .text.avr-libc + 0x00000000 0x60 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(puts.o) + .comment 0x00000000 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(puts.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/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\libc.a(iob.o) + .comment 0x00000000 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(iob.o) + COMMON 0x00000000 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(iob.o) + .text 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .text 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.mul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.div - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) - .text.libgcc 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.prologue - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.builtins - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.fmul - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) .text.libgcc.fixed - 0x00000000 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) Memory Configuration @@ -146,23 +185,24 @@ Linker script and memory map Address of section .data set to 0x803f00 0x00008000 __RODATA_PM_OFFSET__ = 0x8000 -LOAD E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o +LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o LOAD avr_eeprom_driver/avr_eeprom_driver.o LOAD avr_gpio_driver/avr_gpio.o LOAD avr_i2c_driver/avr_i2c.o LOAD avr_uart_driver/avr_uart.o LOAD cm_msg/cm_msg.o +LOAD cm_task_manager/cm_task_manager.o LOAD cqm6xx_app.o LOAD main.o LOAD si5351_driver/si5351_driver.o START GROUP -LOAD e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\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/avrxmega3/short-calls\libm.a END GROUP START GROUP -LOAD e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a -LOAD e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libm.a -LOAD e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a -LOAD E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a +LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\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/avrxmega3/short-calls\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/avrxmega3/short-calls\libc.a +LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a END GROUP [0x00000000] __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0 [0x00803f00] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x802000 @@ -265,9 +305,9 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0xf66 +.text 0x00000000 0xfb4 *(.vectors) - .vectors 0x00000000 0x34 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o 0x00000000 __vector_default 0x00000000 __vectors *(.vectors) @@ -295,20 +335,20 @@ END GROUP SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x00000034 0x0 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .init0 0x00000034 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o 0x00000034 __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x00000034 0xc E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .init2 0x00000034 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o *(.init2) *(.init3) *(.init3) *(.init4) - .init4 0x00000040 0x10 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) + .init4 0x00000040 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) 0x00000040 __do_clear_bss - .init4 0x00000050 0x16 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) + .init4 0x00000050 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_copy_data.o) 0x00000050 __do_copy_data *(.init4) *(.init5) @@ -320,10 +360,10 @@ END GROUP *(.init8) *(.init8) *(.init9) - .init9 0x00000066 0x4 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .init9 0x00000066 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o *(.init9) *(.text) - .text 0x0000006a 0x2 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .text 0x0000006a 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o 0x0000006a __vector_1 0x0000006a __vector_24 0x0000006a __vector_12 @@ -396,64 +436,70 @@ END GROUP .text.cm_MsgCompleteEvt_Register 0x0000054c 0x1c cm_msg/cm_msg.o 0x0000054c cm_MsgCompleteEvt_Register - .text.cqm6xx_app_updateOsc - 0x00000568 0x4e cqm6xx_app.o .text.cqm_setPLLParam - 0x000005b6 0x7a cqm6xx_app.o + 0x00000568 0x7a cqm6xx_app.o + .text.cqm6xx_app_loadPLLParam + 0x000005e2 0x62 cqm6xx_app.o .text.uart_rx_event - 0x00000630 0x36 cqm6xx_app.o - 0x00000630 uart_rx_event - .text.cqm6xx_app_statemachine - 0x00000666 0xb8 cqm6xx_app.o - 0x00000666 cqm6xx_app_statemachine + 0x00000644 0x44 cqm6xx_app.o + 0x00000644 uart_rx_event + .text.setRTXOscMode + 0x00000688 0x3c cqm6xx_app.o + 0x00000688 setRTXOscMode + .text.EepromWritePLLParameters + 0x000006c4 0x54 cqm6xx_app.o + 0x000006c4 EepromWritePLLParameters + .text.cqm6xx_app_taskHandler + 0x00000718 0x52 cqm6xx_app.o + 0x00000718 cqm6xx_app_taskHandler .text.cqm6xx_app_init - 0x0000071e 0x12a cqm6xx_app.o - 0x0000071e cqm6xx_app_init - .text.main 0x00000848 0x44 main.o - 0x00000848 main + 0x0000076a 0x12c cqm6xx_app.o + 0x0000076a cqm6xx_app_init + .text.main 0x00000896 0x44 main.o + 0x00000896 main .text.writeRegister - 0x0000088c 0x78 si5351_driver/si5351_driver.o + 0x000008da 0x78 si5351_driver/si5351_driver.o .text.cm_setOutputMultiSynthRaw - 0x00000904 0xac si5351_driver/si5351_driver.o - 0x00000904 cm_setOutputMultiSynthRaw + 0x00000952 0xac si5351_driver/si5351_driver.o + 0x00000952 cm_setOutputMultiSynthRaw .text.cm_setOutputEnable - 0x000009b0 0x4e si5351_driver/si5351_driver.o - 0x000009b0 cm_setOutputEnable + 0x000009fe 0x4e si5351_driver/si5351_driver.o + 0x000009fe cm_setOutputEnable .text.cm_setCLKControl - 0x000009fe 0x68 si5351_driver/si5351_driver.o - 0x000009fe cm_setCLKControl + 0x00000a4c 0x68 si5351_driver/si5351_driver.o + 0x00000a4c cm_setCLKControl .text.cm_setInputSource - 0x00000a66 0x3e si5351_driver/si5351_driver.o - 0x00000a66 cm_setInputSource + 0x00000ab4 0x3e si5351_driver/si5351_driver.o + 0x00000ab4 cm_setInputSource .text.cm_resetPLLs - 0x00000aa4 0x44 si5351_driver/si5351_driver.o - 0x00000aa4 cm_resetPLLs + 0x00000af2 0x44 si5351_driver/si5351_driver.o + 0x00000af2 cm_resetPLLs .text.cm_setPllParamRaw - 0x00000ae8 0x94 si5351_driver/si5351_driver.o - 0x00000ae8 cm_setPllParamRaw + 0x00000b36 0x94 si5351_driver/si5351_driver.o + 0x00000b36 cm_setPllParamRaw .text.cm_si5351_init - 0x00000b7c 0x15a si5351_driver/si5351_driver.o - 0x00000b7c cm_si5351_init + 0x00000bca 0x15a si5351_driver/si5351_driver.o + 0x00000bca cm_si5351_init .text.avr-libc - 0x00000cd6 0x242 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) - 0x00000cd6 malloc - 0x00000e06 free + 0x00000d24 0x242 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) + 0x00000d24 malloc + 0x00000e54 free .text.avr-libc - 0x00000f18 0x12 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) - 0x00000f18 memcpy + 0x00000f66 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) + 0x00000f66 memcpy .text.avr-libc - 0x00000f2a 0x10 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - 0x00000f2a eeprom_read_byte - 0x00000f32 eeprom_mapen + 0x00000f78 0x10 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + 0x00000f78 eeprom_read_byte + 0x00000f80 eeprom_mapen .text.avr-libc - 0x00000f3a 0x28 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) - 0x00000f3a eeprom_write_byte - 0x00000f3c eeprom_write_r18 - 0x00000f62 . = ALIGN (0x2) + 0x00000f88 0x28 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + 0x00000f88 eeprom_write_byte + 0x00000f8a eeprom_write_r18 + 0x00000fb0 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000f62 0x0 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - 0x00000f62 _exit - 0x00000f62 exit + .fini9 0x00000fb0 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000fb0 _exit + 0x00000fb0 exit *(.fini9) *(.fini8) *(.fini8) @@ -472,19 +518,19 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000f62 0x4 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + .fini0 0x00000fb0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) *(.fini0) - 0x00000f66 _etext = . + 0x00000fb4 _etext = . .rodata *(.rodata) *(.rodata*) *(.gnu.linkonce.r*) -.data 0x00803f00 0x6 load address 0x00000f66 +.data 0x00803f00 0x6 load address 0x00000fb4 0x00803f00 PROVIDE (__data_start, .) *(.data) - .data 0x00803f00 0x6 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) + .data 0x00803f00 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) 0x00803f00 __malloc_heap_end 0x00803f02 __malloc_heap_start 0x00803f04 __malloc_margin @@ -494,7 +540,7 @@ END GROUP 0x00803f06 _edata = . 0x00803f06 PROVIDE (__data_end, .) -.bss 0x00803f06 0x84 +.bss 0x00803f06 0x83 0x00803f06 PROVIDE (__bss_start, .) *(.bss) *(.bss*) @@ -515,21 +561,21 @@ END GROUP 0x00803f44 0x2 cm_msg/cm_msg.o 0x00803f44 s_msg_cmplete_evt_fpt *(COMMON) - COMMON 0x00803f46 0x40 main.o + COMMON 0x00803f46 0x3f main.o 0x00803f46 storno_xtal_app - COMMON 0x00803f86 0x4 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) - 0x00803f86 __brkval - 0x00803f88 __flp - 0x00803f8a PROVIDE (__bss_end, .) - 0x00000f66 __data_load_start = LOADADDR (.data) - 0x00000f6c __data_load_end = (__data_load_start + SIZEOF (.data)) + COMMON 0x00803f85 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) + 0x00803f85 __brkval + 0x00803f87 __flp + 0x00803f89 PROVIDE (__bss_end, .) + 0x00000fb4 __data_load_start = LOADADDR (.data) + 0x00000fba __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00803f8a 0x0 +.noinit 0x00803f89 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) - 0x00803f8a _end = . - 0x00803f8a PROVIDE (__heap_start, .) + 0x00803f89 _end = . + 0x00803f89 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -579,12 +625,12 @@ END GROUP .comment 0x00000030 0x31 cqm6xx_app.o .comment 0x00000030 0x31 main.o .comment 0x00000030 0x31 si5351_driver/si5351_driver.o - .comment 0x00000030 0x31 e:/cm_programs/microchip_studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) + .comment 0x00000030 0x31 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) .note.gnu.avr.deviceinfo 0x00000000 0x3c .note.gnu.avr.deviceinfo - 0x00000000 0x3c E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + 0x00000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .note.gnu.build-id *(.note.gnu.build-id) @@ -601,7 +647,7 @@ END GROUP .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x00000000 0x238 +.debug_aranges 0x00000000 0x240 *(.debug_aranges) .debug_aranges 0x00000000 0x28 avr_eeprom_driver/avr_eeprom_driver.o @@ -614,102 +660,102 @@ END GROUP .debug_aranges 0x000000f8 0x30 cm_msg/cm_msg.o .debug_aranges - 0x00000128 0x48 cqm6xx_app.o + 0x00000128 0x50 cqm6xx_app.o .debug_aranges - 0x00000170 0x20 main.o + 0x00000178 0x20 main.o .debug_aranges - 0x00000190 0x68 si5351_driver/si5351_driver.o + 0x00000198 0x68 si5351_driver/si5351_driver.o .debug_aranges - 0x000001f8 0x20 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + 0x00000200 0x20 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) .debug_aranges - 0x00000218 0x20 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + 0x00000220 0x20 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x4ff6 +.debug_info 0x00000000 0x4fdf *(.debug_info .gnu.linkonce.wi.*) - .debug_info 0x00000000 0x11d6 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .debug_info 0x00000000 0x11d6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_info 0x000011d6 0x183 avr_eeprom_driver/avr_eeprom_driver.o .debug_info 0x00001359 0x320 avr_gpio_driver/avr_gpio.o .debug_info 0x00001679 0x6c8 avr_i2c_driver/avr_i2c.o .debug_info 0x00001d41 0x519 avr_uart_driver/avr_uart.o .debug_info 0x0000225a 0x2b4 cm_msg/cm_msg.o - .debug_info 0x0000250e 0x9bd cqm6xx_app.o - .debug_info 0x00002ecb 0xb13 main.o - .debug_info 0x000039de 0x14be si5351_driver/si5351_driver.o - .debug_info 0x00004e9c 0xad E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .debug_info 0x00004f49 0xad E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .debug_info 0x0000250e 0x9ba cqm6xx_app.o + .debug_info 0x00002ec8 0xaff main.o + .debug_info 0x000039c7 0x14be si5351_driver/si5351_driver.o + .debug_info 0x00004e85 0xad C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .debug_info 0x00004f32 0xad C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) -.debug_abbrev 0x00000000 0x1d79 +.debug_abbrev 0x00000000 0x1d48 *(.debug_abbrev) - .debug_abbrev 0x00000000 0x10de E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .debug_abbrev 0x00000000 0x10de C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_abbrev 0x000010de 0xac avr_eeprom_driver/avr_eeprom_driver.o .debug_abbrev 0x0000118a 0x107 avr_gpio_driver/avr_gpio.o .debug_abbrev 0x00001291 0x1b6 avr_i2c_driver/avr_i2c.o .debug_abbrev 0x00001447 0x1e2 avr_uart_driver/avr_uart.o .debug_abbrev 0x00001629 0x15a cm_msg/cm_msg.o - .debug_abbrev 0x00001783 0x213 cqm6xx_app.o - .debug_abbrev 0x00001996 0x169 main.o - .debug_abbrev 0x00001aff 0x252 si5351_driver/si5351_driver.o - .debug_abbrev 0x00001d51 0x14 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .debug_abbrev 0x00001d65 0x14 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .debug_abbrev 0x00001783 0x1e2 cqm6xx_app.o + .debug_abbrev 0x00001965 0x169 main.o + .debug_abbrev 0x00001ace 0x252 si5351_driver/si5351_driver.o + .debug_abbrev 0x00001d20 0x14 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .debug_abbrev 0x00001d34 0x14 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) -.debug_line 0x00000000 0x1678 +.debug_line 0x00000000 0x1696 *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x00000000 0x136 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o - .debug_line 0x00000136 0x166 avr_eeprom_driver/avr_eeprom_driver.o - .debug_line 0x0000029c 0x18e avr_gpio_driver/avr_gpio.o - .debug_line 0x0000042a 0x441 avr_i2c_driver/avr_i2c.o - .debug_line 0x0000086b 0x223 avr_uart_driver/avr_uart.o - .debug_line 0x00000a8e 0x216 cm_msg/cm_msg.o - .debug_line 0x00000ca4 0x377 cqm6xx_app.o - .debug_line 0x0000101b 0x110 main.o - .debug_line 0x0000112b 0x40d si5351_driver/si5351_driver.o - .debug_line 0x00001538 0x7c E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) - .debug_line 0x000015b4 0xc4 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) + .debug_line 0x00000000 0x136 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .debug_line 0x00000136 0x16e avr_eeprom_driver/avr_eeprom_driver.o + .debug_line 0x000002a4 0x196 avr_gpio_driver/avr_gpio.o + .debug_line 0x0000043a 0x449 avr_i2c_driver/avr_i2c.o + .debug_line 0x00000883 0x22b avr_uart_driver/avr_uart.o + .debug_line 0x00000aae 0x21a cm_msg/cm_msg.o + .debug_line 0x00000cc8 0x369 cqm6xx_app.o + .debug_line 0x00001031 0x114 main.o + .debug_line 0x00001145 0x411 si5351_driver/si5351_driver.o + .debug_line 0x00001556 0x7c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eerd_byte.o) + .debug_line 0x000015d2 0xc4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls\libattiny402.a(eewr_byte.o) -.debug_frame 0x00000000 0x5d8 +.debug_frame 0x00000000 0x5f4 *(.debug_frame) .debug_frame 0x00000000 0x74 avr_eeprom_driver/avr_eeprom_driver.o .debug_frame 0x00000074 0x44 avr_gpio_driver/avr_gpio.o .debug_frame 0x000000b8 0x108 avr_i2c_driver/avr_i2c.o .debug_frame 0x000001c0 0xcc avr_uart_driver/avr_uart.o .debug_frame 0x0000028c 0x44 cm_msg/cm_msg.o - .debug_frame 0x000002d0 0xec cqm6xx_app.o - .debug_frame 0x000003bc 0x34 main.o - .debug_frame 0x000003f0 0x1e8 si5351_driver/si5351_driver.o + .debug_frame 0x000002d0 0x108 cqm6xx_app.o + .debug_frame 0x000003d8 0x34 main.o + .debug_frame 0x0000040c 0x1e8 si5351_driver/si5351_driver.o -.debug_str 0x00000000 0x2145 +.debug_str 0x00000000 0x2120 *(.debug_str) - .debug_str 0x00000000 0x7a9 E:/cm_programs/microchip_studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o - .debug_str 0x000007a9 0x1d2 avr_eeprom_driver/avr_eeprom_driver.o - 0x218 (size before relaxing) - .debug_str 0x0000097b 0x16e avr_gpio_driver/avr_gpio.o - 0x312 (size before relaxing) - .debug_str 0x00000ae9 0x2ab avr_i2c_driver/avr_i2c.o - 0x4ff (size before relaxing) - .debug_str 0x00000d94 0x283 avr_uart_driver/avr_uart.o - 0x4f1 (size before relaxing) - .debug_str 0x00001017 0x23a cm_msg/cm_msg.o - 0x3f7 (size before relaxing) - .debug_str 0x00001251 0x401 cqm6xx_app.o - 0x664 (size before relaxing) - .debug_str 0x00001652 0x787 main.o - 0xae1 (size before relaxing) - .debug_str 0x00001dd9 0x36c si5351_driver/si5351_driver.o - 0xe51 (size before relaxing) + .debug_str 0x00000000 0x7a9 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o + .debug_str 0x000007a9 0x1d9 avr_eeprom_driver/avr_eeprom_driver.o + 0x21f (size before relaxing) + .debug_str 0x00000982 0x16e avr_gpio_driver/avr_gpio.o + 0x319 (size before relaxing) + .debug_str 0x00000af0 0x2ab avr_i2c_driver/avr_i2c.o + 0x506 (size before relaxing) + .debug_str 0x00000d9b 0x283 avr_uart_driver/avr_uart.o + 0x4f8 (size before relaxing) + .debug_str 0x0000101e 0x23a cm_msg/cm_msg.o + 0x3fe (size before relaxing) + .debug_str 0x00001258 0x3d5 cqm6xx_app.o + 0x63f (size before relaxing) + .debug_str 0x0000162d 0x787 main.o + 0xac0 (size before relaxing) + .debug_str 0x00001db4 0x36c si5351_driver/si5351_driver.o + 0xe58 (size before relaxing) -.debug_loc 0x00000000 0x1f43 +.debug_loc 0x00000000 0x1fe7 *(.debug_loc) .debug_loc 0x00000000 0x24b avr_eeprom_driver/avr_eeprom_driver.o .debug_loc 0x0000024b 0xae avr_gpio_driver/avr_gpio.o .debug_loc 0x000002f9 0x70d avr_i2c_driver/avr_i2c.o .debug_loc 0x00000a06 0x16e avr_uart_driver/avr_uart.o .debug_loc 0x00000b74 0x179 cm_msg/cm_msg.o - .debug_loc 0x00000ced 0x4a9 cqm6xx_app.o - .debug_loc 0x00001196 0x47 main.o - .debug_loc 0x000011dd 0xd66 si5351_driver/si5351_driver.o + .debug_loc 0x00000ced 0x54d cqm6xx_app.o + .debug_loc 0x0000123a 0x47 main.o + .debug_loc 0x00001281 0xd66 si5351_driver/si5351_driver.o .debug_macinfo *(.debug_macinfo) @@ -729,16 +775,16 @@ END GROUP .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0x1c0 +.debug_ranges 0x00000000 0x1c8 *(.debug_ranges) .debug_ranges 0x00000000 0x18 avr_eeprom_driver/avr_eeprom_driver.o .debug_ranges 0x00000018 0x20 avr_gpio_driver/avr_gpio.o .debug_ranges 0x00000038 0x50 avr_i2c_driver/avr_i2c.o .debug_ranges 0x00000088 0x30 avr_uart_driver/avr_uart.o .debug_ranges 0x000000b8 0x20 cm_msg/cm_msg.o - .debug_ranges 0x000000d8 0x68 cqm6xx_app.o - .debug_ranges 0x00000140 0x10 main.o - .debug_ranges 0x00000150 0x70 si5351_driver/si5351_driver.o + .debug_ranges 0x000000d8 0x70 cqm6xx_app.o + .debug_ranges 0x00000148 0x10 main.o + .debug_ranges 0x00000158 0x70 si5351_driver/si5351_driver.o .debug_macro *(.debug_macro) diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec index 160bdac..7076d22 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec @@ -3,16 +3,16 @@ S113000019C033C032C031C030C02FC02EC02DC083 S11300102CC02BC02AC029C028C027C026C025C098 S113002024C023C022C021C020C01FC094C11DC051 S11300301CC01BC011241FBECFEFCDBFDFE3DEBF4A -S11300402FE3A6E0BFE301C01D92AA38B207E1F78F -S11300501FE3A0E0BFE3E6E6FFE002C005900D92D7 -S1130060A630B107D9F7F0D37CC7CACFEF92FF927D +S11300402FE3A6E0BFE301C01D92A938B207E1F790 +S11300501FE3A0E0BFE3E4EBFFE002C005900D92D4 +S1130060A630B107D9F717D4A3C7CACFEF92FF922E S11300700F931F93CF93DF934423A1F08B01C82FD9 S1130080D92F4150E42EF12C8FEFE81AF80AE60E2E -S1130090F71EF80161918F01CE014FD721960E15FD +S1130090F71EF80161918F01CE0176D721960E15D6 S11300A01F05B9F7DF91CF911F910F91FF90EF904A S11300B00895EF92FF920F931F93CF93DF934423FE S11300C0A1F0C82FD92F8B014150E42EF12C8FEFD2 -S11300D0E81AF80AE60EF71ECE0127D7F801819335 +S11300D0E81AF80AE60EF71ECE014ED7F80181930E S11300E08F012196EE15FF05B9F7DF91CF911F918E S11300F00F91FF90EF90089581110BC08091080437 S113010090E002C0959587956A95E2F781709927EA @@ -85,166 +85,171 @@ S11305209091083F891778F0E091443FF091453F5E S11305306BE07FE38091423F9091433F0995109295 S1130540403F10923F3F80E090E00895009759F0BB S11305506115710541F08093423F9093433F60934E -S1130560443F7093453F0895CF93DF93FC0182810C -S113057093810097E9F03097D9F0218130812317D6 -S1130580B9F0EF01213019F0223051F011C040E0F0 -S113059060E00ED241E061E08A819B8109D208C00B -S11305A041E060E005D240E061E08A819B8100D2B5 -S11305B0DF91CF9108959F92AF92BF92CF92DF9235 -S11305C0EF92FF920F931F93CF93DF93EC01942E3E -S11305D0AD84BE84CF84D888E984FA840B851C85D5 -S11305E02D813E814F8158858A819B817DD2A98C42 -S11305F0BA8CCB8CDC8CED88FE880F89188D298908 -S11306003A894B895C89692D8A819B817BD140E041 -S1130610692D8A819B81F3D1DF91CF911F910F9135 -S1130620FF90EF90DF90CF90BF90AF909F90089590 -S1130630FB012081222319F0213051F011C0DC018B -S113064014968EE1FB0101900D928A95E1F708C0A2 -S1130650DC0192968EE1FB0101900D928A95E1F7FF -S113066080E090E008950F931F93CF93DF93FC01F4 -S113067022813381232B09F44DC0009709F44AC029 -S1130680EC018181813079F118F08230C1F142C0EE -S113069010828F010C5F1F4F4EE1B80180E090E0A3 -S11306A008DD60E08A819B81DED140E060E0CE011C -S11306B082DF4EE1B80180E290E0FBDC41E061E0E2 -S11306C0CE0179DF42E061E0CE0175DF40E062E017 -S11306D08A819B8194D140E062E08A819B8168D1C8 -S11306E081E0898317C0CF013FDF8981888363E07C -S11306F080E002DD019771F482E089830BC0CF01B1 -S113070033DF8981888363E080E0F6DC892B11F490 -S113071081E08983DF91CF911F910F9108950F9309 -S11307201F93CF93DF936115710509F488C0009777 -S113073009F485C0EC01198218826A837B8368E11D -S113074073E004DF62E572E0CE013CDE8E010E5DF3 -S11307501F4F4EE1B80180E090E0ABDC8AA18150EC -S11307608E3F08F066C06BC0919191509E3F08F493 -S113077066C02E173F07C1F783E49DE0A0E0B0E018 -S11307808D839E83AF83B8878BA39CA3ADA3BEA3A5 -S113079086EF9CE2A0E0B0E089879A87AB87BC87AC -S11307A08FA398A7A9A7BAA78BE598E4A0E1B0E026 -S11307B08D879E87AF87B88B8BA79CA7ADA7BEA755 -S11307C082E190E0A0E0B0E0898B9A8BAB8BBC8B8C -S11307D08FA798ABA9ABBAAB1D8A1E8A1F8A188E45 -S11307E01BAA1CAA1DAA1EAA81E090E0A0E0B0E00A -S11307F0898F9A8FAB8FBC8F8FAB98AFA9AFBAAFED -S113080080E498E7ADE7B1E08E8F9F8FA8A3B9A3EA -S11308108CAF9DAFAEAFBFAFBE016C5F7F4F4EE1FB -S113082080E090E023DC4EE1B80180E290E01EDC41 -S113083006C0FE01B3969E01205C3F4F95CFDF9129 -S1130840CF911F910F910895CF93DF93CDB7DEB76A -S1130850A297CDBFDEBF80E090E02BDD40E660E0F4 -S113086070E0CE0101963FDD41E951E0BE016F5FCA -S11308707F4FCE01049682D1BE016C5F7F4F86E428 -S11308809FE34DDF86E49FE3EEDEFCCF8F929F92E1 -S1130890AF92BF92CF92DF92EF92FF920F931F938A -S11308A0CF93DF93EC01862E5A0168017901C801C8 -S11308B0019611D2982E192FFC018192CF01A60125 -S11308C0B5012AD3A70196012F5F3F4F4F4F5F4FCA -S11308D0EA81FB8101E0692D712F88819981099555 -S11308E0892D912F90D280E090E0DF91CF911F91DC -S11308F00F91FF90EF90DF90CF90BF90AF909F90BB -S11309008F900895AF92BF92CF92DF92EF92FF92B1 -S11309100F931F93FC01437056895078378B208FB7 -S1130920F28EE38ED601C501072E7CE0B695A7951D -S1130930979587957A95D1F7702D83708295807FEE -S11309400370802B818FB48AA58A452B468B613036 -S113095079F018F06230B9F020C0AF014C5E5F4FFF -S113096008E010E020E030E06AE2CF018FDF15C03C -S1130970AF014C5E5F4F08E010E020E030E062E33E -S1130980CF0184DF0AC0AF014C5E5F4F08E010E086 -S113099020E030E06AE3CF0179DF80E090E01F914E -S11309A00F91FF90EF90DF90CF90BF90AF9008959C -S11309B00F931F93613051F018F0623069F011C049 -S11309C0FC01278140FB20F927830BC0FC01278110 -S11309D040FB21F9278305C0FC01278140FB22F954 -S11309E02783AC01495F5F4F01E010E020E030E075 -S11309F063E04CDF80E090E01F910F9108950F9326 -S1130A001F93FC01928540FB97F990799F6492872C -S1130A10613079F018F06230B9F020C0AF01465F60 -S1130A205F4F01E010E020E030E060E1CF012EDF15 -S1130A3015C0AF01465F5F4F01E010E020E030E0F9 -S1130A4061E1CF0123DF0AC0AF01465F5F4F01E0E0 -S1130A5010E020E030E062E1CF0118DF80E090E0B8 -S1130A601F910F9108950F931F93662319F061301E -S1130A7039F00AC0FC0121852B7F277F218704C020 -S1130A80FC01218524602187AC01475F5F4F01E0B1 -S1130A9010E020E030E060EFF9DE80E090E01F91AC -S1130AA00F9108950F931F9331E0611101C030E05D -S1130AB0FC01268D30FB25F9268F31E0411101C060 -S1130AC030E0FC01268D30FB27F9268FAC01425E15 -S1130AD05F4F01E010E020E030E061EBD7DE80E022 -S1130AE090E01F910F910895AF92BF92CF92DF9241 -S1130AF0EF92FF920F931F93CF93DF93EC01427019 -S1130B008E858C7F482B4E873F87288BD801C70161 -S1130B1088279927AF70BB27FA8AEB8A8A2F8F70B0 -S1130B20898BBC86AD86662319F0613061F015C0EF -S1130B3008E010E020E030E0AE01445F5F4F6AE17E -S1130B40CE01A4DE0AC008E010E020E030E0AE01EF -S1130B50445F5F4F62E2CE0199DE41E061E0CE0185 -S1130B60A1DF80E090E0DF91CF911F910F91FF9082 -S1130B70EF90DF90CF90BF90AF900895EF92FF92E7 -S1130B800F931F93CF93DF931F92CDB7DEB70097D8 -S1130B9009F491C06115710509F490C0411551051E -S1130BA009F48FC07C01DC016D937C93119712963C -S1130BB04D935C931397FC0134968BE1DF011D92F6 -S1130BC08A95E9F78FEF898301E010E020E030E0B7 -S1130BD0AE014F5F5F4F63E0C70158DE80E8898351 -S1130BE001E010E020E030E0AE014F5F5F4F60E1D4 -S1130BF0C7014CDE01E010E020E030E0AE014F5FC1 -S1130C005F4F61E1C70142DE01E010E020E030E027 -S1130C10AE014F5F5F4F62E1C70138DE01E010E0D3 -S1130C2020E030E0AE014F5F5F4F63E1C7012EDE8D -S1130C3001E010E020E030E0AE014F5F5F4F64E17F -S1130C40C70124DE01E010E020E030E0AE014F5F98 -S1130C505F4F65E1C7011ADE01E010E020E030E0FB -S1130C60AE014F5F5F4F66E1C70110DE01E010E0A7 -S1130C7020E030E0AE014F5F5F4F67E1C70106DE61 -S1130C8080EC898301E010E020E030E0AE014F5FAA -S1130C905F4F67EBC701FADD80E4898301E010E070 -S1130CA020E030E0AE014F5F5F4F6BEBC701EEDD3C -S1130CB080E090E008C08FEF9FEF05C08FEF9FEFBB -S1130CC002C08FEF9FEF0F90DF91CF911F910F9193 -S1130CD0FF90EF9008950F931F93CF93DF9382308B -S1130CE0910510F482E090E0E091883FF091893F13 -S1130CF020E030E0A0E0B0E0309719F1408151816C -S1130D000281138148175907C8F08417950769F4BD -S1130D10109731F012960C93129713961C9327C0D8 -S1130D200093883F1093893F22C02115310519F0A3 -S1130D304217530718F49A01BD01EF01DF01F801CE -S1130D40DBCF21153105F9F0281B390B243031058F -S1130D5080F48A819B816115710521F0FB018283F6 -S1130D60938304C08093883F9093893FFE01329619 -S1130D7044C0FE01E20FF31F819391932250310985 -S1130D80288339833AC02091863F3091873F232BB3 -S1130D9041F42091023F3091033F2093863F3093EA -S1130DA0873F2091003F3091013F2115310541F4E7 -S1130DB02DB73EB74091043F5091053F241B350B9E -S1130DC0E091863FF091873FE217F307A0F42E1BD2 -S1130DD03F0B2817390778F0AC014E5F5F4F24179B -S1130DE0350748F04E0F5F1F4093863F5093873F6F -S1130DF08193919302C0E0E0F0E0CF01DF91CF91C5 -S1130E001F910F910895CF93DF93009709F481C048 -S1130E10FC01329712821382A091883FB091893FDE -S1130E20109781F420813181820F931F2091863F96 -S1130E303091873F2817390751F5E093863FF093A7 -S1130E40873F67C0ED0120E030E0CE17DF0740F4B4 -S1130E504A815B819E0141155105F1F0EA01F5CF0C -S1130E60C283D38340815181840F951FC817D9074A -S1130E7059F488819981840F951F02968083918308 -S1130E808A819B81828393832115310529F4E09320 -S1130E90883FF093893F3DC0E901EA83FB83499190 -S1130EA05991C40FD51FEC17FD0761F4808191811E -S1130EB0840F951F0296E901888399838281938127 -S1130EC08A839B83E0E0F0E012968D919C911397C6 -S1130ED0009719F0FD01DC01F7CF8D919C911197DA -S1130EE09D012E5F3F4F820F931F2091863F3091CB -S1130EF0873F2817390769F4309729F41092883FFF -S1130F001092893F02C012821382A093863FB0934D -S1130F10873FDF91CF910895FB01DC0102C001906E -S1130F200D9241505040D8F7089503D080819927FD -S1130F300895FC01E050FC4E0895262FAF93BF9313 -S1130F40E0E0F0E1328131FDFDCFDC01A050BC4E88 -S1130F502C932DE924BF23E020830196BF91AF9108 -S1090F600895F894FFCF90 -S1090F6600008A3F200098 +S1130560443F7093453F08959F92AF92BF92CF92BC +S1130570DF92EF92FF920F931F93CF93DF93EC01DF +S1130580942EAC84BD84CE84DF84E884F9840A8507 +S11305901B852C813D814E815F8189819A81CBD2DB +S11305A0A88CB98CCA8CDB8CEC88FD880E891F89D9 +S11305B0288939894A895B89692D89819A81C9D1B8 +S11305C040E0692D89819A8141D2DF91CF911F91B9 +S11305D00F91FF90EF90DF90CF90BF90AF909F90DE +S11305E008950F931F93CF93DF93EC018C010D5F5C +S11305F01F4F4EE1B80180E090E05BDD60E089814F +S11306009A8158D240E060E0CE01AEDF4EE1B801FD +S113061080E290E04EDD41E061E0CE01A5DF42E002 +S113062061E0CE01A1DF40E062E089819A810ED2CF +S113063040E062E089819A81E2D1DF91CF911F91FC +S11306400F910895CF93DF93EC01FB0190819923DF +S113065019F0913051F011C08EE1FB01DE011396C7 +S113066001900D928A95E1F708C08EE1FB01DE014D +S1130670919601900D928A95E1F782E0888380E05B +S113068090E0DF91CF910895CF93DF93EC018881BF +S1130690813059F040E060E089819A81B0D141E035 +S11306A061E089819A81ABD10AC041E060E089812F +S11306B09A81A5D140E061E089819A81A0D1DF913E +S11306C0CF910895FC012381213071F028F02E3F51 +S11306D099F02F3FC9F00895BC016D5F7F4F4EE143 +S11306E080E090E0C3DC0895BC016F5D7F4F4EE174 +S11306F080E290E0BBDC0895BC016D5F7F4F4EE16A +S113070080E090E0D6DC0895BC016F5D7F4F4EE140 +S113071080E290E0CEDC0895CF93DF93FC01218149 +S11307203281232BF9F00097E9F0EC0180818230CB +S113073031F41082CF01C6DFCE0153DF13C063E072 +S113074080E0DADC019739F08881882339F0188257 +S1130750CE019ADF07C08881813021F081E088834F +S1130760CE0192DFDF91CF9108950F931F93CF9322 +S1130770DF936115710509F489C0009709F486C0F7 +S1130780EC0169837A8362E273E0E0DE62E572E0A1 +S1130790CE0118DE8E010F5D1F4F4EE1B80180E0DF +S11307A090E087DC89A181508E3F08F069C008C0C1 +S11307B0919191509E3F20F02E173F07C9F703C037 +S11307C0CE010FDF63C083E49DE0A0E0B0E08C8342 +S11307D09D83AE83BF838AA39BA3ACA3BDA386EFF3 +S11307E09CE2A0E0B0E088879987AA87BB878EA3A4 +S11307F09FA3A8A7B9A78BE598E4A0E1B0E08C87F4 +S11308009D87AE87BF878AA79BA7ACA7BDA782E1B8 +S113081090E0A0E0B0E0888B998BAA8BBB8B8EA76D +S11308209FA7A8ABB9AB1C8A1D8A1E8A1F8A1AAA65 +S11308301BAA1CAA1DAA81E090E0A0E0B0E0888F6A +S1130840998FAA8FBB8F8EAB9FABA8AFB9AF80E453 +S113085098E7ADE7B1E08D8F9E8FAF8FB8A38BAFD4 +S11308609CAFADAFBEAF4EE1BE016D5F7F4F80E088 +S113087090E0FCDB4EE1B80180E290E0F7DBA0CF32 +S1130880FE01B2969E01215C3F4F92CFDF91CF9142 +S11308901F910F910895CF93DF93CDB7DEB7A29741 +S11308A0CDBFDEBF80E090E004DD40E660E070E0B4 +S11308B0CE01019618DD41E951E0BE016F5F7F4F23 +S11308C0CE01049682D1BE016C5F7F4F86E49FE324 +S11308D04CDF86E49FE320DFFCCF8F929F92AF92A0 +S11308E0BF92CF92DF92EF92FF920F931F93CF9319 +S11308F0DF93EC01862E5A0168017901C801019643 +S113090011D2982E192FFC018192CF01A601B501B5 +S11309102AD3A70196012F5F3F4F4F4F5F4FEA81C4 +S1130920FB8101E0692D712F888199810995892DB9 +S1130930912F90D280E090E0DF91CF911F910F91A1 +S1130940FF90EF90DF90CF90BF90AF909F908F90EB +S11309500895AF92BF92CF92DF92EF92FF920F93DE +S11309601F93FC01437056895078378B208FF28E89 +S1130970E38ED601C501072E7CE0B695A795979521 +S113098087957A95D1F7702D83708295807F037057 +S1130990802B818FB48AA58A452B468B613079F0F0 +S11309A018F06230B9F020C0AF014C5E5F4F08E030 +S11309B010E020E030E06AE2CF018FDF15C0AF0124 +S11309C04C5E5F4F08E010E020E030E062E3CF01CE +S11309D084DF0AC0AF014C5E5F4F08E010E020E006 +S11309E030E06AE3CF0179DF80E090E01F910F915E +S11309F0FF90EF90DF90CF90BF90AF9008950F934A +S1130A001F93613051F018F0623069F011C0FC019D +S1130A10278140FB20F927830BC0FC01278140FB81 +S1130A2021F9278305C0FC01278140FB22F9278394 +S1130A30AC01495F5F4F01E010E020E030E063E08B +S1130A404CDF80E090E01F910F9108950F931F9366 +S1130A50FC01928540FB97F990799F6492876130FD +S1130A6079F018F06230B9F020C0AF01465F5F4FF3 +S1130A7001E010E020E030E060E1CF012EDF15C09E +S1130A80AF01465F5F4F01E010E020E030E061E13C +S1130A90CF0123DF0AC0AF01465F5F4F01E010E0E2 +S1130AA020E030E062E1CF0118DF80E090E01F91A8 +S1130AB00F9108950F931F93662319F0613039F055 +S1130AC00AC0FC0121852B7F277F218704C0FC01FC +S1130AD0218524602187AC01475F5F4F01E010E06E +S1130AE020E030E060EFF9DE80E090E01F910F91AC +S1130AF008950F931F9331E0611101C030E0FC01B0 +S1130B00268D30FB25F9268F31E0411101C030E0FC +S1130B10FC01268D30FB27F9268FAC01425E5F4F26 +S1130B2001E010E020E030E061EBD7DE80E090E00F +S1130B301F910F910895AF92BF92CF92DF92EF92DF +S1130B40FF920F931F93CF93DF93EC0142708E8536 +S1130B508C7F482B4E873F87288BD801C701882775 +S1130B609927AF70BB27FA8AEB8A8A2F8F70898BFB +S1130B70BC86AD86662319F0613061F015C008E0CB +S1130B8010E020E030E0AE01445F5F4F6AE1CE0147 +S1130B90A4DE0AC008E010E020E030E0AE01445FCB +S1130BA05F4F62E2CE0199DE41E061E0CE01A1DF58 +S1130BB080E090E0DF91CF911F910F91FF90EF9033 +S1130BC0DF90CF90BF90AF900895EF92FF920F9374 +S1130BD01F93CF93DF931F92CDB7DEB7009709F42D +S1130BE091C06115710509F490C04115510509F4CE +S1130BF08FC07C01DC016D937C93119712964D9309 +S1130C005C931397FC0134968BE1DF011D928A9566 +S1130C10E9F78FEF898301E010E020E030E0AE01D6 +S1130C204F5F5F4F63E0C70158DE80E8898301E0CE +S1130C3010E020E030E0AE014F5F5F4F60E1C7019C +S1130C404CDE01E010E020E030E0AE014F5F5F4F8A +S1130C5061E1C70142DE01E010E020E030E0AE01D6 +S1130C604F5F5F4F62E1C70138DE01E010E020E032 +S1130C7030E0AE014F5F5F4F63E1C7012EDE01E05C +S1130C8010E020E030E0AE014F5F5F4F64E1C70148 +S1130C9024DE01E010E020E030E0AE014F5F5F4F62 +S1130CA065E1C7011ADE01E010E020E030E0AE01AA +S1130CB04F5F5F4F66E1C70110DE01E010E020E006 +S1130CC030E0AE014F5F5F4F67E1C70106DE80ECA5 +S1130CD0898301E010E020E030E0AE014F5F5F4F18 +S1130CE067EBC701FADD80E4898301E010E020E0CE +S1130CF030E0AE014F5F5F4F6BEBC701EEDD80E08C +S1130D0090E008C08FEF9FEF05C08FEF9FEF02C008 +S1130D108FEF9FEF0F90DF91CF911F910F91FF9075 +S1130D20EF9008950F931F93CF93DF938230910533 +S1130D3010F482E090E0E091873FF091883F20E05A +S1130D4030E0A0E0B0E0309719F140815181028198 +S1130D50138148175907C8F08417950769F4109749 +S1130D6031F012960C93129713961C9327C000939C +S1130D70873F1093883F22C02115310519F042178F +S1130D80530718F49A01BD01EF01DF01F801DBCF2D +S1130D9021153105F9F0281B390B2430310580F475 +S1130DA08A819B816115710521F0FB018283938304 +S1130DB004C08093873F9093883FFE01329644C0DD +S1130DC0FE01E20FF31F819391932250310928838E +S1130DD039833AC02091853F3091863F232B41F4DB +S1130DE02091023F3091033F2093853F3093863F0B +S1130DF02091003F3091013F2115310541F42DB779 +S1130E003EB74091043F5091053F241B350BE091C0 +S1130E10853FF091863FE217F307A0F42E1B3F0BAA +S1130E202817390778F0AC014E5F5F4F2417350758 +S1130E3048F04E0F5F1F4093853F5093863F819348 +S1130E40919302C0E0E0F0E0CF01DF91CF911F91D8 +S1130E500F910895CF93DF93009709F481C0FC01AB +S1130E60329712821382A091873FB091883F1097E6 +S1130E7081F420813181820F931F2091853F30912D +S1130E80863F2817390751F5E093853FF093863F55 +S1130E9067C0ED0120E030E0CE17DF0740F44A815F +S1130EA05B819E0141155105F1F0EA01F5CFC28342 +S1130EB0D38340815181840F951FC817D90759F4F2 +S1130EC088819981840F951F0296808391838A81FA +S1130ED09B81828393832115310529F4E093873F15 +S1130EE0F093883F3DC0E901EA83FB83499159911E +S1130EF0C40FD51FEC17FD0761F480819181840F25 +S1130F00951F0296E90188839983828193818A835C +S1130F109B83E0E0F0E012968D919C9113970097EB +S1130F2019F0FD01DC01F7CF8D919C9111979D0182 +S1130F302E5F3F4F820F931F2091853F3091863F54 +S1130F402817390769F4309729F41092873F1092D3 +S1130F50883F02C012821382A093853FB093863FDC +S1130F60DF91CF910895FB01DC0102C001900D9245 +S1130F7041505040D8F7089503D0808199270895AF +S1130F80FC01E050FC4E0895262FAF93BF93E0E0A0 +S1130F90F0E1328131FDFDCFDC01A050BC4E2C9339 +S1130FA02DE924BF23E020830196BF91AF910895DA +S1070FB0F894FFCFDF +S1090FB40000893F20004B S9030000FC diff --git a/storno_cqp6xx_digital_xtal/cqm6xx_app.c b/storno_cqp6xx_digital_xtal/cqm6xx_app.c index 8979379..836462d 100644 --- a/storno_cqp6xx_digital_xtal/cqm6xx_app.c +++ b/storno_cqp6xx_digital_xtal/cqm6xx_app.c @@ -5,14 +5,14 @@ * Author: Christian Lind Vie Madsen - OZ1CM */ #include "cqm6xx_app.h" -#include "string.h" #include "si5351_driver/si5351_driver.h" #include "avr_gpio_driver/avr_gpio.h" #include "avr_uart_driver/avr_uart.h" #include "avr_global_config.h" #include "avr_eeprom_driver/avr_eeprom_driver.h" #include "cm_msg/cm_msg.h" -#include "cm_task_manager/cm_task_manager.h" +#include + #define PLLA_SETTINGS_EEPROM_ADDR 0x00 // addr 0 #define PLLB_SETTINGS_EEPROM_ADDR 0x20 // addr 32 (64 bytes total memory) @@ -25,6 +25,44 @@ static uint8_t isStructValid(storno_xtal_app_t *inst){ return 0; } +static void cqm_setPLLParam(storno_xtal_app_t *inst, si5351_PLLs pll_num, si5351_Outputs output){ + + cm_setPllParamRaw(inst->si5351_dev,pll_num, inst->plla_param_data.MSNx_P1, inst->plla_param_data.MSNx_P2, inst->plla_param_data.MSNx_P3); + //_delay_ms(1); + cm_setOutputMultiSynthRaw(inst->si5351_dev,output, inst->plla_param_data.MSx_P1, inst->plla_param_data.MSx_P2, inst->plla_param_data.MSx_P3); + //_delay_ms(1); + cm_setCLKControl(inst->si5351_dev,output,SI5351_CLK_POWER_UP); + + +} +static void cqm6xx_app_loadPLLParam(storno_xtal_app_t *inst){ + + // Read settings for PLLA first + cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); + //_delay_ms(1); + cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL); + //_delay_ms(1); + + + cqm_setPLLParam(inst, SI5351_PLL_A, SI5351_OUTPUT_0); + //_delay_ms(1); + + + cm_EEPROM_read((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); + //_delay_ms(1); + cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_1); + + + // Set third output to crystal freq for calibration! + cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_2); + cm_setCLKControl(inst->si5351_dev, SI5351_OUTPUT_2,SI5351_CLK_POWER_UP); + //_delay_ms(1); + cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_2,SI5351_OUTPUT_ENABLE); + + + +} + void setRTXOscMode(storno_xtal_app_t *inst){ if(inst->rtx_mode != STORNO_APP_TX_MODE){ @@ -39,41 +77,17 @@ void setRTXOscMode(storno_xtal_app_t *inst){ } -void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){ - - // Check Struct - if(isStructValid(inst) != 0)return; - - // Run next task: - cm_taskManager_run_tasks(&inst->storno_xtal_task); - - // Find out if we are in RX or TX - - // If TX pin is not set, then turn on RX output on PLL and disable TX clock. Run setRTXOscMode once, so pll isnt constantly written to!! - if((gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) != GPIO_LEVEL_SET) && (inst->rtx_mode != STORNO_APP_RX_MODE )){ - - inst->rtx_mode = STORNO_APP_RX_MODE; - cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); - - }else if (inst->rtx_mode != STORNO_APP_TX_MODE){ - inst->rtx_mode = STORNO_APP_TX_MODE; - cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); - - } - -} - void EepromWritePLLParameters(storno_xtal_app_t *inst){ //Burn settings into eeprom here: switch(inst->plla_param_data.header.PLL_Ident){ case MSG_PLLA_PARAM: - cm_EEPROM_write((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->plla_param_data), sizeof(storno_pll_param_msg)); + cm_EEPROM_write((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->plla_param_data), sizeof(storno_pll_param_msg)); break; case MSG_PLLB_PARAM: - cm_EEPROM_write((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->pllb_param_data), sizeof(storno_pll_param_msg)); + cm_EEPROM_write((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t*)&(inst->pllb_param_data), sizeof(storno_pll_param_msg)); break; case MSG_GET_PLLA_PARAM: @@ -92,6 +106,40 @@ void EepromWritePLLParameters(storno_xtal_app_t *inst){ } +void cqm6xx_app_taskHandler(storno_xtal_app_t *inst){ + + // Check Struct + if(isStructValid(inst) != 0)return; + + // Run next task: + //cm_taskManager_run_tasks(&inst->storno_xtal_task); + + // Save eeprom setting if we have to: + if(inst->rtx_mode == STORNO_APP_PROGRAM_EEPROM){ + inst->rtx_mode = STORNO_APP_RX_MODE; + EepromWritePLLParameters(inst); + cqm6xx_app_loadPLLParam(inst); + return; + } + + // If TX pin is not set, then turn on RX output on PLL and disable TX clock. Run setRTXOscMode once, so pll isnt constantly written to!! + if((gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) != GPIO_LEVEL_SET) && (inst->rtx_mode != STORNO_APP_RX_MODE)){ + + inst->rtx_mode = STORNO_APP_RX_MODE; + setRTXOscMode(inst); + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); + + }else if (inst->rtx_mode != STORNO_APP_TX_MODE){ + inst->rtx_mode = STORNO_APP_TX_MODE; + setRTXOscMode(inst); + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,setRTXOscMode,inst); + + } + +} + + + static int writeDefaultSettingsEEprom(storno_xtal_app_t *inst){ @@ -130,44 +178,6 @@ static int isEEPROMValid(storno_xtal_app_t *inst){ return 0; -} - -static void cqm_setPLLParam(storno_xtal_app_t *inst, si5351_PLLs pll_num, si5351_Outputs output){ - - cm_setPllParamRaw(inst->si5351_dev,pll_num, inst->plla_param_data.MSNx_P1, inst->plla_param_data.MSNx_P2, inst->plla_param_data.MSNx_P3); - //_delay_ms(1); - cm_setOutputMultiSynthRaw(inst->si5351_dev,output, inst->plla_param_data.MSx_P1, inst->plla_param_data.MSx_P2, inst->plla_param_data.MSx_P3); - //_delay_ms(1); - cm_setCLKControl(inst->si5351_dev,output,SI5351_CLK_POWER_UP); - - -} -static void cqm6xx_app_loadPLLParam(storno_xtal_app_t *inst){ - - // Read settings for PLLA first - cm_EEPROM_read((uint8_t*)PLLA_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); - //_delay_ms(1); - cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL); - //_delay_ms(1); - - - cqm_setPLLParam(inst, SI5351_PLL_A, SI5351_OUTPUT_0); - //_delay_ms(1); - - - cm_EEPROM_read((uint8_t*)PLLB_SETTINGS_EEPROM_ADDR,(uint8_t *)&inst->plla_param_data,sizeof(storno_pll_param_msg)); - //_delay_ms(1); - cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_1); - - - // Set third output to crystal freq for calibration! - cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_2); - cm_setCLKControl(inst->si5351_dev, SI5351_OUTPUT_2,SI5351_CLK_POWER_UP); - //_delay_ms(1); - cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_2,SI5351_OUTPUT_ENABLE); - - - } int uart_rx_event(storno_xtal_app_t *inst, void *rxData){ @@ -187,8 +197,8 @@ int uart_rx_event(storno_xtal_app_t *inst, void *rxData){ } // Add EepromWritePLLParameters to trigger to write setting to eeprom as soon as we can after ISR! - cm_taskManager_addTaskToList(&inst->storno_xtal_task,(void*)EepromWritePLLParameters,inst); - + //cm_taskManager_addTaskToList(&inst->storno_xtal_task,(void*)EepromWritePLLParameters,inst); + inst->rtx_mode = STORNO_APP_PROGRAM_EEPROM; // Add write pll to list.. so the settings are updated immitialy return 0; @@ -203,7 +213,7 @@ void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){ cm_MsgCompleteEvt_Register(inst,(Get_msgComplete_Event_fpt)uart_rx_event); cm_uart_init(inst,(get_UART_Event_fpt)cm_msg_DecodeMsg_Byte); - cm_taskManager_init(&inst->storno_xtal_task); + //cm_taskManager_init(&inst->storno_xtal_task); // Check if data is vaild (if this is a new mcu) if(!isEEPROMValid(inst)){ diff --git a/storno_cqp6xx_digital_xtal/cqm6xx_app.h b/storno_cqp6xx_digital_xtal/cqm6xx_app.h index 839fa65..7ce4698 100644 --- a/storno_cqp6xx_digital_xtal/cqm6xx_app.h +++ b/storno_cqp6xx_digital_xtal/cqm6xx_app.h @@ -11,6 +11,7 @@ #include "stdio.h" #include "stdint.h" +//#include "cm_task_manager/cm_task_manager.h" enum{ MSG_PLLA_PARAM = 0, @@ -48,6 +49,7 @@ typedef struct { typedef enum { STORNO_APP_RX_MODE = 0, STORNO_APP_TX_MODE = 1, + STORNO_APP_PROGRAM_EEPROM = 2, }storno_app_modes; @@ -57,7 +59,7 @@ typedef struct { void *si5351_dev; storno_pll_param_msg plla_param_data; storno_pll_param_msg pllb_param_data; - cm_task_manager_t storno_xtal_task; + //cm_task_manager_t storno_xtal_task; diff --git a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj index ea518f3..f1063f4 100644 --- a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj +++ b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj @@ -103,47 +103,47 @@ - -mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" - True - True - True - True - False - True - True - - - DEBUG - - - - - %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ - - - Optimize (-O1) - True - True - Default (-g2) - True - - - libm - - - - - D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include - ../avr_uart_driver - - - - - %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ - - - Default (-Wa,-g) - + -mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + + + D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include + ../avr_uart_driver + + + + + %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ + + + Default (-Wa,-g) +