Added pendulum
This commit is contained in:
parent
4c816c87bf
commit
0f2b6c2e30
3
sketches/pendulum/.dep/color_hsv.o.d
Normal file
3
sketches/pendulum/.dep/color_hsv.o.d
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
color_hsv.o: color_hsv.c color_hsv.h
|
||||||
|
|
||||||
|
color_hsv.h:
|
3
sketches/pendulum/.dep/pendulum.o.d
Normal file
3
sketches/pendulum/.dep/pendulum.o.d
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
pendulum.o: pendulum.c color_hsv.h
|
||||||
|
|
||||||
|
color_hsv.h:
|
621
sketches/pendulum/Makefile
Normal file
621
sketches/pendulum/Makefile
Normal file
@ -0,0 +1,621 @@
|
|||||||
|
# $ cat ~/windows/Makefile.glove
|
||||||
|
# Hey Emacs, this is a -*- makefile -*-
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# WinAVR Makefile Template written by Eric B. Weddington, J<>rg Wunsch, et al.
|
||||||
|
#
|
||||||
|
# Released to the Public Domain
|
||||||
|
#
|
||||||
|
# Additional material for this makefile was written by:
|
||||||
|
# Peter Fleury
|
||||||
|
# Tim Henigan
|
||||||
|
# Colin O'Flynn
|
||||||
|
# Reiner Patommel
|
||||||
|
# Markus Pfaff
|
||||||
|
# Sander Pool
|
||||||
|
# Frederik Rouleau
|
||||||
|
# Carlos Lamas
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# On command line:
|
||||||
|
#
|
||||||
|
# make all = Make software.
|
||||||
|
#
|
||||||
|
# make clean = Clean out built project files.
|
||||||
|
#
|
||||||
|
# make coff = Convert ELF to AVR COFF.
|
||||||
|
#
|
||||||
|
# make extcoff = Convert ELF to AVR Extended COFF.
|
||||||
|
#
|
||||||
|
# make program = Download the hex file to the device, using avrdude.
|
||||||
|
# Please customize the avrdude settings below first!
|
||||||
|
#
|
||||||
|
# make debug = Start either simulavr or avarice as specified for debugging,
|
||||||
|
# with avr-gdb or avr-insight as the front end for debugging.
|
||||||
|
#
|
||||||
|
# make filename.s = Just compile filename.c into the assembler code only.
|
||||||
|
#
|
||||||
|
# make filename.i = Create a preprocessed source file for use in submitting
|
||||||
|
# bug reports to the GCC project.
|
||||||
|
#
|
||||||
|
# To rebuild project do "make clean" then "make all".
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
# MCU name
|
||||||
|
MCU = atmega328p
|
||||||
|
|
||||||
|
|
||||||
|
# Processor frequency.
|
||||||
|
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||||
|
# processor frequency. You can then use this symbol in your source code to
|
||||||
|
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||||
|
# automatically to create a 32-bit value in your source code.
|
||||||
|
# Typical values are:
|
||||||
|
# F_CPU = 1000000
|
||||||
|
# F_CPU = 1843200
|
||||||
|
# F_CPU = 2000000
|
||||||
|
# F_CPU = 3686400
|
||||||
|
# F_CPU = 4000000
|
||||||
|
# F_CPU = 7372800
|
||||||
|
# F_CPU = 8000000
|
||||||
|
# F_CPU = 11059200
|
||||||
|
# F_CPU = 14745600
|
||||||
|
# F_CPU = 16000000
|
||||||
|
# F_CPU = 18432000
|
||||||
|
# F_CPU = 20000000
|
||||||
|
F_CPU = 20000000
|
||||||
|
|
||||||
|
|
||||||
|
# Output format. (can be srec, ihex, binary)
|
||||||
|
FORMAT = ihex
|
||||||
|
|
||||||
|
|
||||||
|
# Target file name (without extension).
|
||||||
|
TARGET = pendulum
|
||||||
|
|
||||||
|
|
||||||
|
# Object files directory
|
||||||
|
# To put object files in current directory, use a dot (.), do NOT make
|
||||||
|
# this an empty or blank macro!
|
||||||
|
OBJDIR = .
|
||||||
|
|
||||||
|
|
||||||
|
# List C source files here. (C dependencies are automatically generated.)
|
||||||
|
SRC = ${wildcard *.c}
|
||||||
|
|
||||||
|
|
||||||
|
# List C++ source files here. (C dependencies are automatically generated.)
|
||||||
|
CPPSRC =
|
||||||
|
|
||||||
|
|
||||||
|
# List Assembler source files here.
|
||||||
|
# Make them always end in a capital .S. Files ending in a lowercase .s
|
||||||
|
# will not be considered source files but generated files (assembler
|
||||||
|
# output from the compiler), and will be deleted upon "make clean"!
|
||||||
|
# Even though the DOS/Win* filesystem matches both .s and .S the same,
|
||||||
|
# it will preserve the spelling of the filenames, and gcc itself does
|
||||||
|
# care about how the name is spelled on its command-line.
|
||||||
|
ASRC =
|
||||||
|
|
||||||
|
|
||||||
|
# Optimization level, can be [0, 1, 2, 3, s].
|
||||||
|
# 0 = turn off optimization. s = optimize for size.
|
||||||
|
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
|
||||||
|
OPT = s
|
||||||
|
|
||||||
|
|
||||||
|
# Debugging format.
|
||||||
|
# Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.
|
||||||
|
# AVR Studio 4.10 requires dwarf-2.
|
||||||
|
# AVR [Extended] COFF format requires stabs, plus an avr-objcopy run.
|
||||||
|
DEBUG =
|
||||||
|
|
||||||
|
|
||||||
|
# List any extra directories to look for include files here.
|
||||||
|
# Each directory must be seperated by a space.
|
||||||
|
# Use forward slashes for directory separators.
|
||||||
|
# For a directory that has spaces, enclose it in quotes.
|
||||||
|
EXTRAINCDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler flag to set the C Standard level.
|
||||||
|
# c89 = "ANSI" C
|
||||||
|
# gnu89 = c89 plus GCC extensions
|
||||||
|
# c99 = ISO C99 standard (not yet fully implemented)
|
||||||
|
# gnu99 = c99 plus GCC extensions
|
||||||
|
CSTANDARD = -std=c11
|
||||||
|
|
||||||
|
|
||||||
|
# Place -D or -U options here for C sources
|
||||||
|
CDEFS = -DF_CPU=$(F_CPU)UL
|
||||||
|
|
||||||
|
|
||||||
|
# Place -D or -U options here for ASM sources
|
||||||
|
ADEFS = -DF_CPU=$(F_CPU)
|
||||||
|
|
||||||
|
|
||||||
|
# Place -D or -U options here for C++ sources
|
||||||
|
CPPDEFS = -DF_CPU=$(F_CPU)UL
|
||||||
|
#CPPDEFS += -D__STDC_LIMIT_MACROS
|
||||||
|
#CPPDEFS += -D__STDC_CONSTANT_MACROS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Compiler Options C ----------------
|
||||||
|
# -g*: generate debugging information
|
||||||
|
# -O*: optimization level
|
||||||
|
# -f...: tuning, see GCC manual and avr-libc documentation
|
||||||
|
# -Wall...: warning level
|
||||||
|
# -Wa,...: tell GCC to pass this to the assembler.
|
||||||
|
# -adhlns...: create assembler listing
|
||||||
|
CFLAGS = -g$(DEBUG)
|
||||||
|
CFLAGS += $(CDEFS)
|
||||||
|
CFLAGS += -O$(OPT)
|
||||||
|
CFLAGS += -funsigned-char
|
||||||
|
CFLAGS += -funsigned-bitfields
|
||||||
|
CFLAGS += -fpack-struct
|
||||||
|
CFLAGS += -fshort-enums
|
||||||
|
CFLAGS += -Wall
|
||||||
|
CFLAGS += -Wstrict-prototypes
|
||||||
|
#CFLAGS += -mshort-calls
|
||||||
|
#CFLAGS += -fno-unit-at-a-time
|
||||||
|
#CFLAGS += -Wundef
|
||||||
|
#CFLAGS += -Wunreachable-code
|
||||||
|
#CFLAGS += -Wsign-compare
|
||||||
|
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
|
||||||
|
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
|
||||||
|
CFLAGS += $(CSTANDARD)
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Compiler Options C++ ----------------
|
||||||
|
# -g*: generate debugging information
|
||||||
|
# -O*: optimization level
|
||||||
|
# -f...: tuning, see GCC manual and avr-libc documentation
|
||||||
|
# -Wall...: warning level
|
||||||
|
# -Wa,...: tell GCC to pass this to the assembler.
|
||||||
|
# -adhlns...: create assembler listing
|
||||||
|
CPPFLAGS = -g$(DEBUG)
|
||||||
|
CPPFLAGS += $(CPPDEFS)
|
||||||
|
CPPFLAGS += -O$(OPT)
|
||||||
|
CPPFLAGS += -funsigned-char
|
||||||
|
CPPFLAGS += -funsigned-bitfields
|
||||||
|
CPPFLAGS += -fpack-struct
|
||||||
|
CPPFLAGS += -fshort-enums
|
||||||
|
CPPFLAGS += -fno-exceptions
|
||||||
|
CPPFLAGS += -Wall
|
||||||
|
CPPFLAGS += -Wundef
|
||||||
|
#CPPFLAGS += -mshort-calls
|
||||||
|
#CPPFLAGS += -fno-unit-at-a-time
|
||||||
|
#CPPFLAGS += -Wstrict-prototypes
|
||||||
|
#CPPFLAGS += -Wunreachable-code
|
||||||
|
#CPPFLAGS += -Wsign-compare
|
||||||
|
CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
|
||||||
|
CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
|
||||||
|
#CPPFLAGS += $(CSTANDARD)
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Assembler Options ----------------
|
||||||
|
# -Wa,...: tell GCC to pass this to the assembler.
|
||||||
|
# -adhlns: create listing
|
||||||
|
# -gstabs: have the assembler create line number information; note that
|
||||||
|
# for use in COFF files, additional information about filenames
|
||||||
|
# and function names needs to be present in the assembler source
|
||||||
|
# files -- see avr-libc docs [FIXME: not yet described there]
|
||||||
|
# -listing-cont-lines: Sets the maximum number of continuation lines of hex
|
||||||
|
# dump that will be displayed for a given single line of source input.
|
||||||
|
ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Library Options ----------------
|
||||||
|
# Minimalistic printf version
|
||||||
|
PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
|
||||||
|
|
||||||
|
# Floating point printf version (requires MATH_LIB = -lm below)
|
||||||
|
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
|
||||||
|
|
||||||
|
# If this is left blank, then it will use the Standard printf version.
|
||||||
|
PRINTF_LIB =
|
||||||
|
#PRINTF_LIB = $(PRINTF_LIB_MIN)
|
||||||
|
#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
|
||||||
|
|
||||||
|
|
||||||
|
# Minimalistic scanf version
|
||||||
|
SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
|
||||||
|
|
||||||
|
# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
|
||||||
|
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
|
||||||
|
|
||||||
|
# If this is left blank, then it will use the Standard scanf version.
|
||||||
|
SCANF_LIB =
|
||||||
|
#SCANF_LIB = $(SCANF_LIB_MIN)
|
||||||
|
#SCANF_LIB = $(SCANF_LIB_FLOAT)
|
||||||
|
|
||||||
|
|
||||||
|
MATH_LIB = -lm
|
||||||
|
|
||||||
|
|
||||||
|
# List any extra directories to look for libraries here.
|
||||||
|
# Each directory must be seperated by a space.
|
||||||
|
# Use forward slashes for directory separators.
|
||||||
|
# For a directory that has spaces, enclose it in quotes.
|
||||||
|
EXTRALIBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- External Memory Options ----------------
|
||||||
|
|
||||||
|
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
|
||||||
|
# used for variables (.data/.bss) and heap (malloc()).
|
||||||
|
#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
|
||||||
|
|
||||||
|
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
|
||||||
|
# only used for heap (malloc()).
|
||||||
|
#EXTMEMOPTS = -Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x80ffff
|
||||||
|
|
||||||
|
EXTMEMOPTS =
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Linker Options ----------------
|
||||||
|
# -Wl,...: tell GCC to pass this to linker.
|
||||||
|
# -Map: create map file
|
||||||
|
# --cref: add cross reference to map file
|
||||||
|
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
|
||||||
|
LDFLAGS += $(EXTMEMOPTS)
|
||||||
|
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
|
||||||
|
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
|
||||||
|
#LDFLAGS += -T linker_script.x
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Programming Options (avrdude) ----------------
|
||||||
|
|
||||||
|
# Programming hardware
|
||||||
|
# Type: avrdude -c ?
|
||||||
|
# to get a full listing.
|
||||||
|
#
|
||||||
|
AVRDUDE_PROGRAMMER = stk500v2
|
||||||
|
|
||||||
|
# com1 = serial port. Use lpt1 to connect to parallel port.
|
||||||
|
AVRDUDE_PORT = com1 # programmer connected to serial device
|
||||||
|
|
||||||
|
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
|
||||||
|
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
|
||||||
|
|
||||||
|
|
||||||
|
# Uncomment the following if you want avrdude's erase cycle counter.
|
||||||
|
# Note that this counter needs to be initialized first using -Yn,
|
||||||
|
# see avrdude manual.
|
||||||
|
#AVRDUDE_ERASE_COUNTER = -y
|
||||||
|
|
||||||
|
# Uncomment the following if you do /not/ wish a verification to be
|
||||||
|
# performed after programming the device.
|
||||||
|
#AVRDUDE_NO_VERIFY = -V
|
||||||
|
|
||||||
|
# Increase verbosity level. Please use this when submitting bug
|
||||||
|
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
||||||
|
# to submit bug reports.
|
||||||
|
#AVRDUDE_VERBOSE = -v -v
|
||||||
|
|
||||||
|
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
|
||||||
|
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
|
||||||
|
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
|
||||||
|
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------- Debugging Options ----------------
|
||||||
|
|
||||||
|
# For simulavr only - target MCU frequency.
|
||||||
|
DEBUG_MFREQ = $(F_CPU)
|
||||||
|
|
||||||
|
# Set the DEBUG_UI to either gdb or insight.
|
||||||
|
# DEBUG_UI = gdb
|
||||||
|
DEBUG_UI = insight
|
||||||
|
|
||||||
|
# Set the debugging back-end to either avarice, simulavr.
|
||||||
|
DEBUG_BACKEND = avarice
|
||||||
|
#DEBUG_BACKEND = simulavr
|
||||||
|
|
||||||
|
# GDB Init Filename.
|
||||||
|
GDBINIT_FILE = __avr_gdbinit
|
||||||
|
|
||||||
|
# When using avarice settings for the JTAG
|
||||||
|
JTAG_DEV = /dev/com1
|
||||||
|
|
||||||
|
# Debugging port used to communicate between GDB / avarice / simulavr.
|
||||||
|
DEBUG_PORT = 4242
|
||||||
|
|
||||||
|
# Debugging host used to communicate between GDB / avarice / simulavr, normally
|
||||||
|
# just set to localhost unless doing some sort of crazy debugging when
|
||||||
|
# avarice is running on a different computer.
|
||||||
|
DEBUG_HOST = localhost
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
# Define programs and commands.
|
||||||
|
SHELL = sh
|
||||||
|
CC = avr-gcc
|
||||||
|
OBJCOPY = avr-objcopy
|
||||||
|
OBJDUMP = avr-objdump
|
||||||
|
SIZE = avr-size
|
||||||
|
AR = avr-ar rcs
|
||||||
|
NM = avr-nm
|
||||||
|
AVRDUDE = avrdude
|
||||||
|
REMOVE = rm -f
|
||||||
|
REMOVEDIR = rm -rf
|
||||||
|
COPY = cp
|
||||||
|
WINSHELL = cmd
|
||||||
|
|
||||||
|
|
||||||
|
# Define Messages
|
||||||
|
# English
|
||||||
|
MSG_ERRORS_NONE = Errors: none
|
||||||
|
MSG_BEGIN = -------- begin --------
|
||||||
|
MSG_END = -------- end --------
|
||||||
|
MSG_SIZE_BEFORE = Size before:
|
||||||
|
MSG_SIZE_AFTER = Size after:
|
||||||
|
MSG_COFF = Converting to AVR COFF:
|
||||||
|
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
|
||||||
|
MSG_FLASH = Creating load file for Flash:
|
||||||
|
MSG_EEPROM = Creating load file for EEPROM:
|
||||||
|
MSG_EXTENDED_LISTING = Creating Extended Listing:
|
||||||
|
MSG_SYMBOL_TABLE = Creating Symbol Table:
|
||||||
|
MSG_LINKING = Linking:
|
||||||
|
MSG_COMPILING = Compiling C:
|
||||||
|
MSG_COMPILING_CPP = Compiling C++:
|
||||||
|
MSG_ASSEMBLING = Assembling:
|
||||||
|
MSG_CLEANING = Cleaning project:
|
||||||
|
MSG_CREATING_LIBRARY = Creating library:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Define all object files.
|
||||||
|
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
|
||||||
|
|
||||||
|
# Define all listing files.
|
||||||
|
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler flags to generate dependency files.
|
||||||
|
GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d
|
||||||
|
|
||||||
|
|
||||||
|
# Combine all necessary flags and optional flags.
|
||||||
|
# Add target processor to flags.
|
||||||
|
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
|
||||||
|
ALL_CPPFLAGS = -mmcu=$(MCU) -I. -x c++ $(CPPFLAGS) $(GENDEPFLAGS)
|
||||||
|
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Default target.
|
||||||
|
all: begin gccversion sizebefore build sizeafter end
|
||||||
|
|
||||||
|
# Change the build target to build a HEX file or a library.
|
||||||
|
build: elf hex eep lss sym
|
||||||
|
#build: lib
|
||||||
|
|
||||||
|
|
||||||
|
elf: $(TARGET).elf
|
||||||
|
hex: $(TARGET).hex
|
||||||
|
eep: $(TARGET).eep
|
||||||
|
lss: $(TARGET).lss
|
||||||
|
sym: $(TARGET).sym
|
||||||
|
LIBNAME=lib$(TARGET).a
|
||||||
|
lib: $(LIBNAME)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Eye candy.
|
||||||
|
# AVR Studio 3.x does not check make's exit code but relies on
|
||||||
|
# the following magic strings to be generated by the compile job.
|
||||||
|
begin:
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_BEGIN)
|
||||||
|
|
||||||
|
end:
|
||||||
|
@echo $(MSG_END)
|
||||||
|
@echo
|
||||||
|
|
||||||
|
|
||||||
|
# Display size of file.
|
||||||
|
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
|
||||||
|
ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
|
||||||
|
|
||||||
|
sizebefore:
|
||||||
|
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
|
||||||
|
2>/dev/null; echo; fi
|
||||||
|
|
||||||
|
sizeafter:
|
||||||
|
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
|
||||||
|
2>/dev/null; echo; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Display compiler version information.
|
||||||
|
gccversion :
|
||||||
|
@$(CC) --version
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Program the device.
|
||||||
|
program: $(TARGET).hex $(TARGET).eep
|
||||||
|
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||||
|
|
||||||
|
|
||||||
|
# Generate avr-gdb config/init file which does the following:
|
||||||
|
# define the reset signal, load the target file, connect to target, and set
|
||||||
|
# a breakpoint at main().
|
||||||
|
gdb-config:
|
||||||
|
@$(REMOVE) $(GDBINIT_FILE)
|
||||||
|
@echo define reset >> $(GDBINIT_FILE)
|
||||||
|
@echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
|
||||||
|
@echo end >> $(GDBINIT_FILE)
|
||||||
|
@echo file $(TARGET).elf >> $(GDBINIT_FILE)
|
||||||
|
@echo target remote $(DEBUG_HOST):$(DEBUG_PORT) >> $(GDBINIT_FILE)
|
||||||
|
ifeq ($(DEBUG_BACKEND),simulavr)
|
||||||
|
@echo load >> $(GDBINIT_FILE)
|
||||||
|
endif
|
||||||
|
@echo break main >> $(GDBINIT_FILE)
|
||||||
|
|
||||||
|
debug: gdb-config $(TARGET).elf
|
||||||
|
ifeq ($(DEBUG_BACKEND), avarice)
|
||||||
|
@echo Starting AVaRICE - Press enter when "waiting to connect" message displays.
|
||||||
|
@$(WINSHELL) /c start avarice --jtag $(JTAG_DEV) --erase --program --file \
|
||||||
|
$(TARGET).elf $(DEBUG_HOST):$(DEBUG_PORT)
|
||||||
|
@$(WINSHELL) /c pause
|
||||||
|
|
||||||
|
else
|
||||||
|
@$(WINSHELL) /c start simulavr --gdbserver --device $(MCU) --clock-freq \
|
||||||
|
$(DEBUG_MFREQ) --port $(DEBUG_PORT)
|
||||||
|
endif
|
||||||
|
@$(WINSHELL) /c start avr-$(DEBUG_UI) --command=$(GDBINIT_FILE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
|
||||||
|
COFFCONVERT = $(OBJCOPY) --debugging
|
||||||
|
COFFCONVERT += --change-section-address .data-0x800000
|
||||||
|
COFFCONVERT += --change-section-address .bss-0x800000
|
||||||
|
COFFCONVERT += --change-section-address .noinit-0x800000
|
||||||
|
COFFCONVERT += --change-section-address .eeprom-0x810000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
coff: $(TARGET).elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_COFF) $(TARGET).cof
|
||||||
|
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
|
||||||
|
|
||||||
|
|
||||||
|
extcoff: $(TARGET).elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
|
||||||
|
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Create final output files (.hex, .eep) from ELF output file.
|
||||||
|
%.hex: %.elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_FLASH) $@
|
||||||
|
$(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
|
||||||
|
|
||||||
|
%.eep: %.elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_EEPROM) $@
|
||||||
|
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
||||||
|
--change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) $< $@ || exit 0
|
||||||
|
|
||||||
|
# Create extended listing file from ELF output file.
|
||||||
|
%.lss: %.elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_EXTENDED_LISTING) $@
|
||||||
|
$(OBJDUMP) -h -S -z $< > $@
|
||||||
|
|
||||||
|
# Create a symbol table from ELF output file.
|
||||||
|
%.sym: %.elf
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_SYMBOL_TABLE) $@
|
||||||
|
$(NM) -n $< > $@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Create library from object files.
|
||||||
|
.SECONDARY : $(TARGET).a
|
||||||
|
.PRECIOUS : $(OBJ)
|
||||||
|
%.a: $(OBJ)
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_CREATING_LIBRARY) $@
|
||||||
|
$(AR) $@ $(OBJ)
|
||||||
|
|
||||||
|
|
||||||
|
# Link: create ELF output file from object files.
|
||||||
|
.SECONDARY : $(TARGET).elf
|
||||||
|
.PRECIOUS : $(OBJ)
|
||||||
|
%.elf: $(OBJ)
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_LINKING) $@
|
||||||
|
$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
# Compile: create object files from C source files.
|
||||||
|
$(OBJDIR)/%.o : %.c
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_COMPILING) $<
|
||||||
|
$(CC) -c $(ALL_CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Compile: create object files from C++ source files.
|
||||||
|
$(OBJDIR)/%.o : %.cpp
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_COMPILING_CPP) $<
|
||||||
|
$(CC) -c $(ALL_CPPFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Compile: create assembler files from C source files.
|
||||||
|
%.s : %.c
|
||||||
|
$(CC) -S $(ALL_CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Compile: create assembler files from C++ source files.
|
||||||
|
%.s : %.cpp
|
||||||
|
$(CC) -S $(ALL_CPPFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Assemble: create object files from assembler source files.
|
||||||
|
$(OBJDIR)/%.o : %.S
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_ASSEMBLING) $<
|
||||||
|
$(CC) -c $(ALL_ASFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Create preprocessed source for use in sending a bug report.
|
||||||
|
%.i : %.c
|
||||||
|
$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
# Target: clean project.
|
||||||
|
clean: begin clean_list end
|
||||||
|
|
||||||
|
clean_list :
|
||||||
|
@echo
|
||||||
|
@echo $(MSG_CLEANING)
|
||||||
|
$(REMOVE) $(TARGET).hex
|
||||||
|
$(REMOVE) $(TARGET).eep
|
||||||
|
$(REMOVE) $(TARGET).cof
|
||||||
|
$(REMOVE) $(TARGET).elf
|
||||||
|
$(REMOVE) $(TARGET).map
|
||||||
|
$(REMOVE) $(TARGET).sym
|
||||||
|
$(REMOVE) $(TARGET).lss
|
||||||
|
$(REMOVE) $(SRC:%.c=$(OBJDIR)/%.o)
|
||||||
|
$(REMOVE) $(SRC:%.c=$(OBJDIR)/%.lst)
|
||||||
|
$(REMOVE) $(SRC:.c=.s)
|
||||||
|
$(REMOVE) $(SRC:.c=.d)
|
||||||
|
$(REMOVE) $(SRC:.c=.i)
|
||||||
|
$(REMOVEDIR) .dep
|
||||||
|
|
||||||
|
|
||||||
|
flash: pendulum.hex
|
||||||
|
avrdude -p $(MCU) -c arduino -B 115200 -P /dev/ttyACM0 -v -v -e -Uflash:w:pendulum.hex:a
|
||||||
|
|
||||||
|
# Create object files directory
|
||||||
|
$(shell mkdir $(OBJDIR) 2>/dev/null)
|
||||||
|
|
||||||
|
|
||||||
|
# Include the dependency files.
|
||||||
|
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
|
||||||
|
|
||||||
|
|
||||||
|
# Listing of phony targets.
|
||||||
|
.PHONY : all begin finish end sizebefore sizeafter gccversion \
|
||||||
|
build elf hex eep lss sym coff extcoff \
|
||||||
|
clean clean_list program debug gdb-config
|
31
sketches/pendulum/Makefile_old
Normal file
31
sketches/pendulum/Makefile_old
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
CFLAGS = -Os -Wall --std=c11 -g
|
||||||
|
CHIP = atmega328p
|
||||||
|
SOURCE_FILES = ${wildcard *.c}
|
||||||
|
OBJ_FILES = $(SOURCE_FILES:%.c=%.o)
|
||||||
|
BIN = pendulum.bin
|
||||||
|
HEX = pendulum.hex
|
||||||
|
ASM = pendulum.asm
|
||||||
|
|
||||||
|
default: $(HEX)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
avr-gcc $(CFLAGS) -mmcu=$(CHIP) -o $@ $<
|
||||||
|
|
||||||
|
$(BIN): $(OBJ_FILES)
|
||||||
|
avr-gcc $(CFLAGS) -o $@ $^
|
||||||
|
|
||||||
|
$(ASM): $(BIN)
|
||||||
|
avr-objdump -d -g -l -S $^ > $@
|
||||||
|
|
||||||
|
$(HEX): $(BIN)
|
||||||
|
avr-objcopy -O ihex -j .text -j .data $^ $@
|
||||||
|
|
||||||
|
asm: $(ASM)
|
||||||
|
|
||||||
|
flash: $(HEX)
|
||||||
|
avrdude -p $(CHIP) -c arduino -B 115200 -P /dev/ttyACM0 -v -v -e -Uflash:w:$(HEX):a
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) $(OBJ_FILES) $(BIN) $(HEX) $(ASM)
|
||||||
|
|
||||||
|
|
62
sketches/pendulum/color_hsv.c
Normal file
62
sketches/pendulum/color_hsv.c
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#include "color_hsv.h"
|
||||||
|
|
||||||
|
void interpolate(hsv_t start, hsv_t end, size_t steps, hsv_t *colors) {
|
||||||
|
if( steps == 1 ) {
|
||||||
|
colors[0] = start;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for( size_t i = 0; i < steps; i++ ) {
|
||||||
|
hsv_t tmp;
|
||||||
|
tmp.hue = (uint16_t)((int16_t)start.hue + ((int16_t)end.hue - (int16_t)start.hue) * (int16_t)i / ((int16_t)steps-1));
|
||||||
|
tmp.sat = (uint8_t)((int16_t)start.sat + ((int16_t)end.sat - (int16_t)start.sat) * (int16_t)i / ((int16_t)steps-1));
|
||||||
|
tmp.val = (uint8_t)((int16_t)start.val + ((int16_t)end.val - (int16_t)start.val) * (int16_t)i / ((int16_t)steps-1));
|
||||||
|
colors[i] = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void hsv2rgbList(hsv_t* hsvList, rgb_t* rgbList, size_t count) {
|
||||||
|
for(size_t i = 0; i < count; ++i) {
|
||||||
|
rgbList[i] = hsv2rgb(&hsvList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rgb_t hsv2rgb(hsv_t* hsv) {
|
||||||
|
rgb_t res;
|
||||||
|
|
||||||
|
if(hsv->sat == 0) {
|
||||||
|
res.r = res.g = res.b = hsv->val;
|
||||||
|
} else {
|
||||||
|
float hue = (float) (hsv->hue<360?hsv->hue:hsv->hue-360);
|
||||||
|
float val = ((float) hsv->val ) / 100.0;
|
||||||
|
float sat = ((float) hsv->sat ) / 100.0;
|
||||||
|
|
||||||
|
uint8_t h = hue / 60;
|
||||||
|
float f = ( hue / 60 ) - h;
|
||||||
|
|
||||||
|
uint8_t p = RGB_MAX * ( val * ( 1 - sat ));
|
||||||
|
uint8_t q = RGB_MAX * ( val * ( 1 - sat * f ));
|
||||||
|
uint8_t t = RGB_MAX * ( val * ( 1 - sat * ( 1 - f )));
|
||||||
|
|
||||||
|
switch(h) {
|
||||||
|
case 0:
|
||||||
|
case 6: res.r = hsv->val; res.g = t; res.b = p; break;
|
||||||
|
case 1: res.r = q; res.g = hsv->val; res.b = p; break;
|
||||||
|
case 2: res.r = p; res.g = hsv->val; res.b = t; break;
|
||||||
|
case 3: res.r = p; res.g = q; res.b = hsv->val; break;
|
||||||
|
case 4: res.r = t; res.g = p; res.b = hsv->val; break;
|
||||||
|
case 5: res.r = hsv->hue; res.g = p; res.b = q; break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
hsv_t init_hsv_t(uint16_t hue, uint8_t sat, uint8_t val) {
|
||||||
|
hsv_t tmp;
|
||||||
|
tmp.hue = hue;
|
||||||
|
tmp.sat = sat;
|
||||||
|
tmp.val = val;
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
26
sketches/pendulum/color_hsv.h
Normal file
26
sketches/pendulum/color_hsv.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#ifndef _COLOR_HSV_H_
|
||||||
|
#define _COLOR_HSV_H_
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#define RGB_MAX 128
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint8_t r;
|
||||||
|
uint8_t g;
|
||||||
|
uint8_t b;
|
||||||
|
} rgb_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint16_t hue;
|
||||||
|
uint8_t sat;
|
||||||
|
uint8_t val;
|
||||||
|
} hsv_t;
|
||||||
|
|
||||||
|
hsv_t init_hsv_t(uint16_t hue, uint8_t sat, uint8_t val);
|
||||||
|
rgb_t hsv2rgb(hsv_t* hsv);
|
||||||
|
void hsv2rgbList(hsv_t* hsvList, rgb_t* rgbList, size_t count);
|
||||||
|
void interpolate(hsv_t start, hsv_t end, size_t steps, hsv_t *colors);
|
||||||
|
|
||||||
|
#endif
|
662
sketches/pendulum/color_hsv.lst
Normal file
662
sketches/pendulum/color_hsv.lst
Normal file
@ -0,0 +1,662 @@
|
|||||||
|
1 .file "color_hsv.c"
|
||||||
|
2 __SP_H__ = 0x3e
|
||||||
|
3 __SP_L__ = 0x3d
|
||||||
|
4 __SREG__ = 0x3f
|
||||||
|
5 __tmp_reg__ = 0
|
||||||
|
6 __zero_reg__ = 1
|
||||||
|
9 .text
|
||||||
|
10 .Ltext0:
|
||||||
|
103 .global interpolate
|
||||||
|
105 interpolate:
|
||||||
|
106 .stabd 46,0,0
|
||||||
|
1:color_hsv.c **** #include "color_hsv.h"
|
||||||
|
2:color_hsv.c ****
|
||||||
|
3:color_hsv.c **** void interpolate(hsv_t start, hsv_t end, size_t steps, hsv_t *colors) {
|
||||||
|
108 .LM0:
|
||||||
|
109 .LFBB1:
|
||||||
|
110 0000 2F92 push r2
|
||||||
|
111 0002 3F92 push r3
|
||||||
|
112 0004 4F92 push r4
|
||||||
|
113 0006 5F92 push r5
|
||||||
|
114 0008 6F92 push r6
|
||||||
|
115 000a 7F92 push r7
|
||||||
|
116 000c 8F92 push r8
|
||||||
|
117 000e 9F92 push r9
|
||||||
|
118 0010 AF92 push r10
|
||||||
|
119 0012 BF92 push r11
|
||||||
|
120 0014 CF92 push r12
|
||||||
|
121 0016 DF92 push r13
|
||||||
|
122 0018 EF92 push r14
|
||||||
|
123 001a FF92 push r15
|
||||||
|
124 001c 0F93 push r16
|
||||||
|
125 001e 1F93 push r17
|
||||||
|
126 0020 CF93 push r28
|
||||||
|
127 0022 DF93 push r29
|
||||||
|
128 0024 CDB7 in r28,__SP_L__
|
||||||
|
129 0026 DEB7 in r29,__SP_H__
|
||||||
|
130 0028 2A97 sbiw r28,10
|
||||||
|
131 002a 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
132 002c F894 cli
|
||||||
|
133 002e DEBF out __SP_H__,r29
|
||||||
|
134 0030 0FBE out __SREG__,__tmp_reg__
|
||||||
|
135 0032 CDBF out __SP_L__,r28
|
||||||
|
136 /* prologue: function */
|
||||||
|
137 /* frame size = 10 */
|
||||||
|
138 /* stack size = 28 */
|
||||||
|
139 .L__stack_usage = 28
|
||||||
|
140 0034 D82E mov r13,r24
|
||||||
|
141 0036 C92E mov r12,r25
|
||||||
|
142 0038 F701 movw r30,r14
|
||||||
|
4:color_hsv.c **** if( steps == 1 ) {
|
||||||
|
144 .LM1:
|
||||||
|
145 003a 0130 cpi r16,1
|
||||||
|
146 003c 1105 cpc r17,__zero_reg__
|
||||||
|
147 003e 01F0 breq .L2
|
||||||
|
148 .LBB2:
|
||||||
|
149 .LBB3:
|
||||||
|
5:color_hsv.c **** colors[0] = start;
|
||||||
|
6:color_hsv.c **** return;
|
||||||
|
7:color_hsv.c **** }
|
||||||
|
8:color_hsv.c ****
|
||||||
|
9:color_hsv.c **** for( size_t i = 0; i < steps; i++ ) {
|
||||||
|
10:color_hsv.c **** hsv_t tmp;
|
||||||
|
11:color_hsv.c **** tmp.hue = (uint16_t)((int16_t)start.hue + ((int16_t)end.hue - (int16_t)start.hue) * (int16_t)i /
|
||||||
|
151 .LM2:
|
||||||
|
152 0040 3B01 movw r6,r22
|
||||||
|
153 0042 2901 movw r4,r18
|
||||||
|
154 0044 461A sub r4,r22
|
||||||
|
155 0046 570A sbc r5,r23
|
||||||
|
156 0048 842F mov r24,r20
|
||||||
|
157 004a 90E0 ldi r25,0
|
||||||
|
12:color_hsv.c **** tmp.sat = (uint8_t)((int16_t)start.sat + ((int16_t)end.sat - (int16_t)start.sat) * (int16_t)i / (
|
||||||
|
159 .LM3:
|
||||||
|
160 004c BC01 movw r22,r24
|
||||||
|
161 004e 6D19 sub r22,r13
|
||||||
|
162 0050 7109 sbc r23,__zero_reg__
|
||||||
|
163 0052 7E83 std Y+6,r23
|
||||||
|
164 0054 6D83 std Y+5,r22
|
||||||
|
165 0056 852F mov r24,r21
|
||||||
|
166 0058 90E0 ldi r25,0
|
||||||
|
13:color_hsv.c **** tmp.val = (uint8_t)((int16_t)start.val + ((int16_t)end.val - (int16_t)start.val) * (int16_t)i / (
|
||||||
|
168 .LM4:
|
||||||
|
169 005a 9C01 movw r18,r24
|
||||||
|
170 005c 2C19 sub r18,r12
|
||||||
|
171 005e 3109 sbc r19,__zero_reg__
|
||||||
|
172 0060 3887 std Y+8,r19
|
||||||
|
173 0062 2F83 std Y+7,r18
|
||||||
|
174 0064 3396 adiw r30,3
|
||||||
|
175 0066 1A86 std Y+10,__zero_reg__
|
||||||
|
176 0068 1986 std Y+9,__zero_reg__
|
||||||
|
177 006a E12C mov r14,__zero_reg__
|
||||||
|
178 006c F12C mov r15,__zero_reg__
|
||||||
|
179 006e 80E0 ldi r24,0
|
||||||
|
180 0070 90E0 ldi r25,0
|
||||||
|
181 0072 20E0 ldi r18,0
|
||||||
|
182 0074 30E0 ldi r19,0
|
||||||
|
11:color_hsv.c **** tmp.sat = (uint8_t)((int16_t)start.sat + ((int16_t)end.sat - (int16_t)start.sat) * (int16_t)i / (
|
||||||
|
184 .LM5:
|
||||||
|
185 0076 5801 movw r10,r16
|
||||||
|
186 0078 41E0 ldi r20,1
|
||||||
|
187 007a A41A sub r10,r20
|
||||||
|
188 007c B108 sbc r11,__zero_reg__
|
||||||
|
189 007e 00C0 rjmp .L3
|
||||||
|
190 .L2:
|
||||||
|
191 .LBE3:
|
||||||
|
192 .LBE2:
|
||||||
|
5:color_hsv.c **** return;
|
||||||
|
194 .LM6:
|
||||||
|
195 0080 6083 st Z,r22
|
||||||
|
196 0082 7183 std Z+1,r23
|
||||||
|
197 0084 8283 std Z+2,r24
|
||||||
|
198 0086 9383 std Z+3,r25
|
||||||
|
6:color_hsv.c **** }
|
||||||
|
200 .LM7:
|
||||||
|
201 0088 00C0 rjmp .L1
|
||||||
|
202 .L3:
|
||||||
|
203 008a 1C01 movw r2,r24
|
||||||
|
204 008c 240C add r2,r4
|
||||||
|
205 008e 351C adc r3,r5
|
||||||
|
206 0090 4D81 ldd r20,Y+5
|
||||||
|
207 0092 5E81 ldd r21,Y+6
|
||||||
|
208 0094 4E0D add r20,r14
|
||||||
|
209 0096 5F1D adc r21,r15
|
||||||
|
210 0098 5A83 std Y+2,r21
|
||||||
|
211 009a 4983 std Y+1,r20
|
||||||
|
212 009c 4F81 ldd r20,Y+7
|
||||||
|
213 009e 5885 ldd r21,Y+8
|
||||||
|
214 00a0 6985 ldd r22,Y+9
|
||||||
|
215 00a2 7A85 ldd r23,Y+10
|
||||||
|
216 00a4 460F add r20,r22
|
||||||
|
217 00a6 571F adc r21,r23
|
||||||
|
218 00a8 5C83 std Y+4,r21
|
||||||
|
219 00aa 4B83 std Y+3,r20
|
||||||
|
220 .LBB5:
|
||||||
|
9:color_hsv.c **** hsv_t tmp;
|
||||||
|
222 .LM8:
|
||||||
|
223 00ac 2017 cp r18,r16
|
||||||
|
224 00ae 3107 cpc r19,r17
|
||||||
|
225 00b0 01F0 breq .L1
|
||||||
|
226 00b2 4F01 movw r8,r30
|
||||||
|
227 00b4 53E0 ldi r21,3
|
||||||
|
228 00b6 851A sub r8,r21
|
||||||
|
229 00b8 9108 sbc r9,__zero_reg__
|
||||||
|
230 .LBB4:
|
||||||
|
11:color_hsv.c **** tmp.sat = (uint8_t)((int16_t)start.sat + ((int16_t)end.sat - (int16_t)start.sat) * (int16_t)i / (
|
||||||
|
232 .LM9:
|
||||||
|
233 00ba B501 movw r22,r10
|
||||||
|
234 00bc 0E94 0000 call __divmodhi4
|
||||||
|
235 00c0 660D add r22,r6
|
||||||
|
236 00c2 771D adc r23,r7
|
||||||
|
14:color_hsv.c **** colors[i] = tmp;
|
||||||
|
238 .LM10:
|
||||||
|
239 00c4 D401 movw r26,r8
|
||||||
|
240 00c6 6D93 st X+,r22
|
||||||
|
241 00c8 7C93 st X,r23
|
||||||
|
242 00ca 4F01 movw r8,r30
|
||||||
|
243 00cc B1E0 ldi r27,1
|
||||||
|
244 00ce 8B1A sub r8,r27
|
||||||
|
245 00d0 9108 sbc r9,__zero_reg__
|
||||||
|
12:color_hsv.c **** tmp.val = (uint8_t)((int16_t)start.val + ((int16_t)end.val - (int16_t)start.val) * (int16_t)i / (
|
||||||
|
247 .LM11:
|
||||||
|
248 00d2 C701 movw r24,r14
|
||||||
|
249 00d4 B501 movw r22,r10
|
||||||
|
250 00d6 0E94 0000 call __divmodhi4
|
||||||
|
251 00da 6D0D add r22,r13
|
||||||
|
253 .LM12:
|
||||||
|
254 00dc D401 movw r26,r8
|
||||||
|
255 00de 6C93 st X,r22
|
||||||
|
13:color_hsv.c **** colors[i] = tmp;
|
||||||
|
257 .LM13:
|
||||||
|
258 00e0 8985 ldd r24,Y+9
|
||||||
|
259 00e2 9A85 ldd r25,Y+10
|
||||||
|
260 00e4 B501 movw r22,r10
|
||||||
|
261 00e6 0E94 0000 call __divmodhi4
|
||||||
|
262 00ea 6C0D add r22,r12
|
||||||
|
264 .LM14:
|
||||||
|
265 00ec 6083 st Z,r22
|
||||||
|
266 .LBE4:
|
||||||
|
9:color_hsv.c **** hsv_t tmp;
|
||||||
|
268 .LM15:
|
||||||
|
269 00ee 2F5F subi r18,-1
|
||||||
|
270 00f0 3F4F sbci r19,-1
|
||||||
|
271 00f2 3496 adiw r30,4
|
||||||
|
272 00f4 4B81 ldd r20,Y+3
|
||||||
|
273 00f6 5C81 ldd r21,Y+4
|
||||||
|
274 00f8 5A87 std Y+10,r21
|
||||||
|
275 00fa 4987 std Y+9,r20
|
||||||
|
276 00fc E980 ldd r14,Y+1
|
||||||
|
277 00fe FA80 ldd r15,Y+2
|
||||||
|
278 0100 C101 movw r24,r2
|
||||||
|
279 0102 00C0 rjmp .L3
|
||||||
|
280 .L1:
|
||||||
|
281 /* epilogue start */
|
||||||
|
282 .LBE5:
|
||||||
|
15:color_hsv.c **** }
|
||||||
|
16:color_hsv.c **** }
|
||||||
|
284 .LM16:
|
||||||
|
285 0104 2A96 adiw r28,10
|
||||||
|
286 0106 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
287 0108 F894 cli
|
||||||
|
288 010a DEBF out __SP_H__,r29
|
||||||
|
289 010c 0FBE out __SREG__,__tmp_reg__
|
||||||
|
290 010e CDBF out __SP_L__,r28
|
||||||
|
291 0110 DF91 pop r29
|
||||||
|
292 0112 CF91 pop r28
|
||||||
|
293 0114 1F91 pop r17
|
||||||
|
294 0116 0F91 pop r16
|
||||||
|
295 0118 FF90 pop r15
|
||||||
|
296 011a EF90 pop r14
|
||||||
|
297 011c DF90 pop r13
|
||||||
|
298 011e CF90 pop r12
|
||||||
|
299 0120 BF90 pop r11
|
||||||
|
300 0122 AF90 pop r10
|
||||||
|
301 0124 9F90 pop r9
|
||||||
|
302 0126 8F90 pop r8
|
||||||
|
303 0128 7F90 pop r7
|
||||||
|
304 012a 6F90 pop r6
|
||||||
|
305 012c 5F90 pop r5
|
||||||
|
306 012e 4F90 pop r4
|
||||||
|
307 0130 3F90 pop r3
|
||||||
|
308 0132 2F90 pop r2
|
||||||
|
309 0134 0895 ret
|
||||||
|
317 .Lscope1:
|
||||||
|
319 .stabd 78,0,0
|
||||||
|
320 .global __floatunsisf
|
||||||
|
321 .global __divsf3
|
||||||
|
322 .global __fixunssfsi
|
||||||
|
323 .global __floatsisf
|
||||||
|
324 .global __subsf3
|
||||||
|
325 .global __mulsf3
|
||||||
|
328 .global hsv2rgb
|
||||||
|
330 hsv2rgb:
|
||||||
|
331 .stabd 46,0,0
|
||||||
|
17:color_hsv.c ****
|
||||||
|
18:color_hsv.c **** void hsv2rgbList(hsv_t* hsvList, rgb_t* rgbList, size_t count) {
|
||||||
|
19:color_hsv.c **** for(size_t i = 0; i < count; ++i) {
|
||||||
|
20:color_hsv.c **** rgbList[i] = hsv2rgb(&hsvList[i]);
|
||||||
|
21:color_hsv.c **** }
|
||||||
|
22:color_hsv.c **** }
|
||||||
|
23:color_hsv.c ****
|
||||||
|
24:color_hsv.c **** rgb_t hsv2rgb(hsv_t* hsv) {
|
||||||
|
333 .LM17:
|
||||||
|
334 .LFBB2:
|
||||||
|
335 0136 2F92 push r2
|
||||||
|
336 0138 3F92 push r3
|
||||||
|
337 013a 4F92 push r4
|
||||||
|
338 013c 5F92 push r5
|
||||||
|
339 013e 6F92 push r6
|
||||||
|
340 0140 7F92 push r7
|
||||||
|
341 0142 8F92 push r8
|
||||||
|
342 0144 9F92 push r9
|
||||||
|
343 0146 AF92 push r10
|
||||||
|
344 0148 BF92 push r11
|
||||||
|
345 014a CF92 push r12
|
||||||
|
346 014c DF92 push r13
|
||||||
|
347 014e EF92 push r14
|
||||||
|
348 0150 FF92 push r15
|
||||||
|
349 0152 0F93 push r16
|
||||||
|
350 0154 1F93 push r17
|
||||||
|
351 0156 CF93 push r28
|
||||||
|
352 0158 DF93 push r29
|
||||||
|
353 015a 00D0 rcall .
|
||||||
|
354 015c 00D0 rcall .
|
||||||
|
355 015e CDB7 in r28,__SP_L__
|
||||||
|
356 0160 DEB7 in r29,__SP_H__
|
||||||
|
357 /* prologue: function */
|
||||||
|
358 /* frame size = 4 */
|
||||||
|
359 /* stack size = 22 */
|
||||||
|
360 .L__stack_usage = 22
|
||||||
|
25:color_hsv.c **** rgb_t res;
|
||||||
|
26:color_hsv.c ****
|
||||||
|
27:color_hsv.c **** if(hsv->sat == 0) {
|
||||||
|
362 .LM18:
|
||||||
|
363 0162 FC01 movw r30,r24
|
||||||
|
364 0164 B280 ldd r11,Z+2
|
||||||
|
365 0166 3380 ldd r3,Z+3
|
||||||
|
366 0168 B110 cpse r11,__zero_reg__
|
||||||
|
367 016a 00C0 rjmp .L8
|
||||||
|
28:color_hsv.c **** res.r = res.g = res.b = hsv->val;
|
||||||
|
369 .LM19:
|
||||||
|
370 016c 232C mov r2,r3
|
||||||
|
371 016e 3B82 std Y+3,r3
|
||||||
|
372 0170 3C82 std Y+4,r3
|
||||||
|
373 0172 00C0 rjmp .L9
|
||||||
|
374 .L8:
|
||||||
|
375 0174 FC01 movw r30,r24
|
||||||
|
376 .LBB6:
|
||||||
|
29:color_hsv.c **** } else {
|
||||||
|
30:color_hsv.c **** float hue = (float) (hsv->hue<360?hsv->hue:hsv->hue-360);
|
||||||
|
378 .LM20:
|
||||||
|
379 0176 0081 ld r16,Z
|
||||||
|
380 0178 1181 ldd r17,Z+1
|
||||||
|
381 017a B801 movw r22,r16
|
||||||
|
382 017c 0836 cpi r16,104
|
||||||
|
383 017e F1E0 ldi r31,1
|
||||||
|
384 0180 1F07 cpc r17,r31
|
||||||
|
385 0182 00F0 brlo .L20
|
||||||
|
387 .LM21:
|
||||||
|
388 0184 6856 subi r22,104
|
||||||
|
389 0186 7140 sbci r23,1
|
||||||
|
390 .L20:
|
||||||
|
391 0188 80E0 ldi r24,0
|
||||||
|
392 018a 90E0 ldi r25,0
|
||||||
|
393 018c 0E94 0000 call __floatunsisf
|
||||||
|
394 0190 2B01 movw r4,r22
|
||||||
|
395 0192 3C01 movw r6,r24
|
||||||
|
31:color_hsv.c **** float val = ((float) hsv->val ) / 100.0;
|
||||||
|
397 .LM22:
|
||||||
|
398 0194 632D mov r22,r3
|
||||||
|
399 0196 70E0 ldi r23,0
|
||||||
|
400 0198 80E0 ldi r24,0
|
||||||
|
401 019a 90E0 ldi r25,0
|
||||||
|
402 019c 0E94 0000 call __floatunsisf
|
||||||
|
403 01a0 20E0 ldi r18,0
|
||||||
|
404 01a2 30E0 ldi r19,0
|
||||||
|
405 01a4 48EC ldi r20,lo8(-56)
|
||||||
|
406 01a6 52E4 ldi r21,lo8(66)
|
||||||
|
407 01a8 0E94 0000 call __divsf3
|
||||||
|
408 01ac 6B01 movw r12,r22
|
||||||
|
409 01ae 7C01 movw r14,r24
|
||||||
|
32:color_hsv.c **** float sat = ((float) hsv->sat ) / 100.0;
|
||||||
|
411 .LM23:
|
||||||
|
412 01b0 6B2D mov r22,r11
|
||||||
|
413 01b2 70E0 ldi r23,0
|
||||||
|
414 01b4 80E0 ldi r24,0
|
||||||
|
415 01b6 90E0 ldi r25,0
|
||||||
|
416 01b8 0E94 0000 call __floatunsisf
|
||||||
|
417 01bc 20E0 ldi r18,0
|
||||||
|
418 01be 30E0 ldi r19,0
|
||||||
|
419 01c0 48EC ldi r20,lo8(-56)
|
||||||
|
420 01c2 52E4 ldi r21,lo8(66)
|
||||||
|
421 01c4 0E94 0000 call __divsf3
|
||||||
|
422 01c8 4B01 movw r8,r22
|
||||||
|
423 01ca 5C01 movw r10,r24
|
||||||
|
33:color_hsv.c ****
|
||||||
|
34:color_hsv.c **** uint8_t h = hue / 60;
|
||||||
|
425 .LM24:
|
||||||
|
426 01cc 20E0 ldi r18,0
|
||||||
|
427 01ce 30E0 ldi r19,0
|
||||||
|
428 01d0 40E7 ldi r20,lo8(112)
|
||||||
|
429 01d2 52E4 ldi r21,lo8(66)
|
||||||
|
430 01d4 C301 movw r24,r6
|
||||||
|
431 01d6 B201 movw r22,r4
|
||||||
|
432 01d8 0E94 0000 call __divsf3
|
||||||
|
433 01dc 2B01 movw r4,r22
|
||||||
|
434 01de 3C01 movw r6,r24
|
||||||
|
435 01e0 0E94 0000 call __fixunssfsi
|
||||||
|
436 01e4 6A83 std Y+2,r22
|
||||||
|
35:color_hsv.c **** float f = ( hue / 60 ) - h;
|
||||||
|
438 .LM25:
|
||||||
|
439 01e6 70E0 ldi r23,0
|
||||||
|
440 01e8 80E0 ldi r24,0
|
||||||
|
441 01ea 90E0 ldi r25,0
|
||||||
|
442 01ec 0E94 0000 call __floatsisf
|
||||||
|
443 01f0 9B01 movw r18,r22
|
||||||
|
444 01f2 AC01 movw r20,r24
|
||||||
|
445 01f4 C301 movw r24,r6
|
||||||
|
446 01f6 B201 movw r22,r4
|
||||||
|
447 01f8 0E94 0000 call __subsf3
|
||||||
|
448 01fc 2B01 movw r4,r22
|
||||||
|
449 01fe 3C01 movw r6,r24
|
||||||
|
36:color_hsv.c ****
|
||||||
|
37:color_hsv.c **** uint8_t p = RGB_MAX * ( val * ( 1 - sat ));
|
||||||
|
451 .LM26:
|
||||||
|
452 0200 A501 movw r20,r10
|
||||||
|
453 0202 9401 movw r18,r8
|
||||||
|
454 0204 60E0 ldi r22,0
|
||||||
|
455 0206 70E0 ldi r23,0
|
||||||
|
456 0208 80E8 ldi r24,lo8(-128)
|
||||||
|
457 020a 9FE3 ldi r25,lo8(63)
|
||||||
|
458 020c 0E94 0000 call __subsf3
|
||||||
|
459 0210 9B01 movw r18,r22
|
||||||
|
460 0212 AC01 movw r20,r24
|
||||||
|
461 0214 C701 movw r24,r14
|
||||||
|
462 0216 B601 movw r22,r12
|
||||||
|
463 0218 0E94 0000 call __mulsf3
|
||||||
|
464 021c 20E0 ldi r18,0
|
||||||
|
465 021e 30E0 ldi r19,0
|
||||||
|
466 0220 40E0 ldi r20,0
|
||||||
|
467 0222 53E4 ldi r21,lo8(67)
|
||||||
|
468 0224 0E94 0000 call __mulsf3
|
||||||
|
469 0228 0E94 0000 call __fixunssfsi
|
||||||
|
470 022c 262E mov r2,r22
|
||||||
|
38:color_hsv.c **** uint8_t q = RGB_MAX * ( val * ( 1 - sat * f ));
|
||||||
|
472 .LM27:
|
||||||
|
473 022e A301 movw r20,r6
|
||||||
|
474 0230 9201 movw r18,r4
|
||||||
|
475 0232 C501 movw r24,r10
|
||||||
|
476 0234 B401 movw r22,r8
|
||||||
|
477 0236 0E94 0000 call __mulsf3
|
||||||
|
478 023a 9B01 movw r18,r22
|
||||||
|
479 023c AC01 movw r20,r24
|
||||||
|
480 023e 60E0 ldi r22,0
|
||||||
|
481 0240 70E0 ldi r23,0
|
||||||
|
482 0242 80E8 ldi r24,lo8(-128)
|
||||||
|
483 0244 9FE3 ldi r25,lo8(63)
|
||||||
|
484 0246 0E94 0000 call __subsf3
|
||||||
|
485 024a 9B01 movw r18,r22
|
||||||
|
486 024c AC01 movw r20,r24
|
||||||
|
487 024e C701 movw r24,r14
|
||||||
|
488 0250 B601 movw r22,r12
|
||||||
|
489 0252 0E94 0000 call __mulsf3
|
||||||
|
490 0256 20E0 ldi r18,0
|
||||||
|
491 0258 30E0 ldi r19,0
|
||||||
|
492 025a 40E0 ldi r20,0
|
||||||
|
493 025c 53E4 ldi r21,lo8(67)
|
||||||
|
494 025e 0E94 0000 call __mulsf3
|
||||||
|
495 0262 0E94 0000 call __fixunssfsi
|
||||||
|
496 0266 6983 std Y+1,r22
|
||||||
|
39:color_hsv.c **** uint8_t t = RGB_MAX * ( val * ( 1 - sat * ( 1 - f )));
|
||||||
|
498 .LM28:
|
||||||
|
499 0268 A301 movw r20,r6
|
||||||
|
500 026a 9201 movw r18,r4
|
||||||
|
501 026c 60E0 ldi r22,0
|
||||||
|
502 026e 70E0 ldi r23,0
|
||||||
|
503 0270 80E8 ldi r24,lo8(-128)
|
||||||
|
504 0272 9FE3 ldi r25,lo8(63)
|
||||||
|
505 0274 0E94 0000 call __subsf3
|
||||||
|
506 0278 9B01 movw r18,r22
|
||||||
|
507 027a AC01 movw r20,r24
|
||||||
|
508 027c C501 movw r24,r10
|
||||||
|
509 027e B401 movw r22,r8
|
||||||
|
510 0280 0E94 0000 call __mulsf3
|
||||||
|
511 0284 9B01 movw r18,r22
|
||||||
|
512 0286 AC01 movw r20,r24
|
||||||
|
513 0288 60E0 ldi r22,0
|
||||||
|
514 028a 70E0 ldi r23,0
|
||||||
|
515 028c 80E8 ldi r24,lo8(-128)
|
||||||
|
516 028e 9FE3 ldi r25,lo8(63)
|
||||||
|
517 0290 0E94 0000 call __subsf3
|
||||||
|
518 0294 9B01 movw r18,r22
|
||||||
|
519 0296 AC01 movw r20,r24
|
||||||
|
520 0298 C701 movw r24,r14
|
||||||
|
521 029a B601 movw r22,r12
|
||||||
|
522 029c 0E94 0000 call __mulsf3
|
||||||
|
523 02a0 20E0 ldi r18,0
|
||||||
|
524 02a2 30E0 ldi r19,0
|
||||||
|
525 02a4 40E0 ldi r20,0
|
||||||
|
526 02a6 53E4 ldi r21,lo8(67)
|
||||||
|
527 02a8 0E94 0000 call __mulsf3
|
||||||
|
528 02ac 0E94 0000 call __fixunssfsi
|
||||||
|
40:color_hsv.c ****
|
||||||
|
41:color_hsv.c **** switch(h) {
|
||||||
|
530 .LM29:
|
||||||
|
531 02b0 2A81 ldd r18,Y+2
|
||||||
|
532 02b2 822F mov r24,r18
|
||||||
|
533 02b4 90E0 ldi r25,0
|
||||||
|
534 02b6 8730 cpi r24,7
|
||||||
|
535 02b8 9105 cpc r25,__zero_reg__
|
||||||
|
536 02ba 00F4 brsh .L19
|
||||||
|
538 .LM30:
|
||||||
|
539 02bc FC01 movw r30,r24
|
||||||
|
540 02be E050 subi r30,lo8(-(gs(.L13)))
|
||||||
|
541 02c0 F040 sbci r31,hi8(-(gs(.L13)))
|
||||||
|
542 02c2 0C94 0000 jmp __tablejump2__
|
||||||
|
543 .section .progmem.gcc_sw_table,"a",@progbits
|
||||||
|
544 .p2align 1
|
||||||
|
545 .L13:
|
||||||
|
546 0000 0000 .word gs(.L12)
|
||||||
|
547 0002 0000 .word gs(.L14)
|
||||||
|
548 0004 0000 .word gs(.L15)
|
||||||
|
549 0006 0000 .word gs(.L16)
|
||||||
|
550 0008 0000 .word gs(.L17)
|
||||||
|
551 000a 0000 .word gs(.L18)
|
||||||
|
552 000c 0000 .word gs(.L12)
|
||||||
|
553 .text
|
||||||
|
554 .L12:
|
||||||
|
42:color_hsv.c **** case 0:
|
||||||
|
43:color_hsv.c **** case 6: res.r = hsv->val; res.g = t; res.b = p; break;
|
||||||
|
556 .LM31:
|
||||||
|
557 02c6 2B82 std Y+3,r2
|
||||||
|
558 02c8 6C83 std Y+4,r22
|
||||||
|
559 02ca 232C mov r2,r3
|
||||||
|
560 02cc 00C0 rjmp .L9
|
||||||
|
561 .L14:
|
||||||
|
44:color_hsv.c **** case 1: res.r = q; res.g = hsv->val; res.b = p; break;
|
||||||
|
563 .LM32:
|
||||||
|
564 02ce 2B82 std Y+3,r2
|
||||||
|
565 02d0 3C82 std Y+4,r3
|
||||||
|
566 02d2 2980 ldd r2,Y+1
|
||||||
|
567 02d4 00C0 rjmp .L9
|
||||||
|
568 .L15:
|
||||||
|
45:color_hsv.c **** case 2: res.r = p; res.g = hsv->val; res.b = t; break;
|
||||||
|
570 .LM33:
|
||||||
|
571 02d6 6B83 std Y+3,r22
|
||||||
|
572 02d8 3C82 std Y+4,r3
|
||||||
|
573 02da 00C0 rjmp .L9
|
||||||
|
574 .L16:
|
||||||
|
46:color_hsv.c **** case 3: res.r = p; res.g = q; res.b = hsv->val; break;
|
||||||
|
576 .LM34:
|
||||||
|
577 02dc 3B82 std Y+3,r3
|
||||||
|
578 02de 8981 ldd r24,Y+1
|
||||||
|
579 02e0 8C83 std Y+4,r24
|
||||||
|
580 02e2 00C0 rjmp .L9
|
||||||
|
581 .L17:
|
||||||
|
47:color_hsv.c **** case 4: res.r = t; res.g = p; res.b = hsv->val; break;
|
||||||
|
583 .LM35:
|
||||||
|
584 02e4 3B82 std Y+3,r3
|
||||||
|
585 02e6 2C82 std Y+4,r2
|
||||||
|
586 02e8 262E mov r2,r22
|
||||||
|
587 02ea 00C0 rjmp .L9
|
||||||
|
588 .L18:
|
||||||
|
48:color_hsv.c **** case 5: res.r = hsv->hue; res.g = p; res.b = q; break;
|
||||||
|
590 .LM36:
|
||||||
|
591 02ec E981 ldd r30,Y+1
|
||||||
|
592 02ee EB83 std Y+3,r30
|
||||||
|
593 02f0 2C82 std Y+4,r2
|
||||||
|
594 02f2 202E mov r2,r16
|
||||||
|
595 02f4 00C0 rjmp .L9
|
||||||
|
596 .L19:
|
||||||
|
41:color_hsv.c **** case 0:
|
||||||
|
598 .LM37:
|
||||||
|
599 02f6 212C mov r2,__zero_reg__
|
||||||
|
600 .L9:
|
||||||
|
601 .LBE6:
|
||||||
|
49:color_hsv.c ****
|
||||||
|
50:color_hsv.c **** }
|
||||||
|
51:color_hsv.c **** }
|
||||||
|
52:color_hsv.c **** return res;
|
||||||
|
53:color_hsv.c **** }
|
||||||
|
603 .LM38:
|
||||||
|
604 02f8 622D mov r22,r2
|
||||||
|
605 02fa 7C81 ldd r23,Y+4
|
||||||
|
606 02fc 8B81 ldd r24,Y+3
|
||||||
|
607 /* epilogue start */
|
||||||
|
608 02fe 0F90 pop __tmp_reg__
|
||||||
|
609 0300 0F90 pop __tmp_reg__
|
||||||
|
610 0302 0F90 pop __tmp_reg__
|
||||||
|
611 0304 0F90 pop __tmp_reg__
|
||||||
|
612 0306 DF91 pop r29
|
||||||
|
613 0308 CF91 pop r28
|
||||||
|
614 030a 1F91 pop r17
|
||||||
|
615 030c 0F91 pop r16
|
||||||
|
616 030e FF90 pop r15
|
||||||
|
617 0310 EF90 pop r14
|
||||||
|
618 0312 DF90 pop r13
|
||||||
|
619 0314 CF90 pop r12
|
||||||
|
620 0316 BF90 pop r11
|
||||||
|
621 0318 AF90 pop r10
|
||||||
|
622 031a 9F90 pop r9
|
||||||
|
623 031c 8F90 pop r8
|
||||||
|
624 031e 7F90 pop r7
|
||||||
|
625 0320 6F90 pop r6
|
||||||
|
626 0322 5F90 pop r5
|
||||||
|
627 0324 4F90 pop r4
|
||||||
|
628 0326 3F90 pop r3
|
||||||
|
629 0328 2F90 pop r2
|
||||||
|
630 032a 0895 ret
|
||||||
|
635 .Lscope2:
|
||||||
|
637 .stabd 78,0,0
|
||||||
|
641 .global hsv2rgbList
|
||||||
|
643 hsv2rgbList:
|
||||||
|
644 .stabd 46,0,0
|
||||||
|
18:color_hsv.c **** for(size_t i = 0; i < count; ++i) {
|
||||||
|
646 .LM39:
|
||||||
|
647 .LFBB3:
|
||||||
|
648 032c CF92 push r12
|
||||||
|
649 032e DF92 push r13
|
||||||
|
650 0330 EF92 push r14
|
||||||
|
651 0332 FF92 push r15
|
||||||
|
652 0334 0F93 push r16
|
||||||
|
653 0336 1F93 push r17
|
||||||
|
654 0338 CF93 push r28
|
||||||
|
655 033a DF93 push r29
|
||||||
|
656 /* prologue: function */
|
||||||
|
657 /* frame size = 0 */
|
||||||
|
658 /* stack size = 8 */
|
||||||
|
659 .L__stack_usage = 8
|
||||||
|
660 033c 6A01 movw r12,r20
|
||||||
|
661 033e EB01 movw r28,r22
|
||||||
|
662 0340 7C01 movw r14,r24
|
||||||
|
663 .LBB7:
|
||||||
|
19:color_hsv.c **** rgbList[i] = hsv2rgb(&hsvList[i]);
|
||||||
|
665 .LM40:
|
||||||
|
666 0342 00E0 ldi r16,0
|
||||||
|
667 0344 10E0 ldi r17,0
|
||||||
|
668 .L22:
|
||||||
|
19:color_hsv.c **** rgbList[i] = hsv2rgb(&hsvList[i]);
|
||||||
|
670 .LM41:
|
||||||
|
671 0346 0C15 cp r16,r12
|
||||||
|
672 0348 1D05 cpc r17,r13
|
||||||
|
673 034a 01F0 breq .L24
|
||||||
|
20:color_hsv.c **** }
|
||||||
|
675 .LM42:
|
||||||
|
676 034c C701 movw r24,r14
|
||||||
|
677 034e 0E94 0000 call hsv2rgb
|
||||||
|
678 0352 6993 st Y+,r22
|
||||||
|
679 0354 7993 st Y+,r23
|
||||||
|
680 0356 8993 st Y+,r24
|
||||||
|
19:color_hsv.c **** rgbList[i] = hsv2rgb(&hsvList[i]);
|
||||||
|
682 .LM43:
|
||||||
|
683 0358 0F5F subi r16,-1
|
||||||
|
684 035a 1F4F sbci r17,-1
|
||||||
|
685 035c 84E0 ldi r24,4
|
||||||
|
686 035e E80E add r14,r24
|
||||||
|
687 0360 F11C adc r15,__zero_reg__
|
||||||
|
688 0362 00C0 rjmp .L22
|
||||||
|
689 .L24:
|
||||||
|
690 /* epilogue start */
|
||||||
|
691 .LBE7:
|
||||||
|
22:color_hsv.c ****
|
||||||
|
693 .LM44:
|
||||||
|
694 0364 DF91 pop r29
|
||||||
|
695 0366 CF91 pop r28
|
||||||
|
696 0368 1F91 pop r17
|
||||||
|
697 036a 0F91 pop r16
|
||||||
|
698 036c FF90 pop r15
|
||||||
|
699 036e EF90 pop r14
|
||||||
|
700 0370 DF90 pop r13
|
||||||
|
701 0372 CF90 pop r12
|
||||||
|
702 0374 0895 ret
|
||||||
|
707 .Lscope3:
|
||||||
|
709 .stabd 78,0,0
|
||||||
|
713 .global init_hsv_t
|
||||||
|
715 init_hsv_t:
|
||||||
|
716 .stabd 46,0,0
|
||||||
|
54:color_hsv.c ****
|
||||||
|
55:color_hsv.c **** hsv_t init_hsv_t(uint16_t hue, uint8_t sat, uint8_t val) {
|
||||||
|
718 .LM45:
|
||||||
|
719 .LFBB4:
|
||||||
|
720 /* prologue: function */
|
||||||
|
721 /* frame size = 0 */
|
||||||
|
722 /* stack size = 0 */
|
||||||
|
723 .L__stack_usage = 0
|
||||||
|
724 0376 282F mov r18,r24
|
||||||
|
725 0378 862F mov r24,r22
|
||||||
|
56:color_hsv.c **** hsv_t tmp;
|
||||||
|
57:color_hsv.c **** tmp.hue = hue;
|
||||||
|
58:color_hsv.c **** tmp.sat = sat;
|
||||||
|
59:color_hsv.c **** tmp.val = val;
|
||||||
|
60:color_hsv.c ****
|
||||||
|
61:color_hsv.c **** return tmp;
|
||||||
|
62:color_hsv.c **** }
|
||||||
|
727 .LM46:
|
||||||
|
728 037a 622F mov r22,r18
|
||||||
|
729 037c 792F mov r23,r25
|
||||||
|
730 037e 942F mov r25,r20
|
||||||
|
731 0380 0895 ret
|
||||||
|
733 .Lscope4:
|
||||||
|
735 .stabd 78,0,0
|
||||||
|
737 .Letext0:
|
||||||
|
738 .ident "GCC: (GNU) 4.9.2"
|
||||||
|
DEFINED SYMBOLS
|
||||||
|
*ABS*:0000000000000000 color_hsv.c
|
||||||
|
/tmp/cclIci1E.s:2 *ABS*:000000000000003e __SP_H__
|
||||||
|
/tmp/cclIci1E.s:3 *ABS*:000000000000003d __SP_L__
|
||||||
|
/tmp/cclIci1E.s:4 *ABS*:000000000000003f __SREG__
|
||||||
|
/tmp/cclIci1E.s:5 *ABS*:0000000000000000 __tmp_reg__
|
||||||
|
/tmp/cclIci1E.s:6 *ABS*:0000000000000001 __zero_reg__
|
||||||
|
/tmp/cclIci1E.s:105 .text:0000000000000000 interpolate
|
||||||
|
/tmp/cclIci1E.s:330 .text:0000000000000136 hsv2rgb
|
||||||
|
/tmp/cclIci1E.s:643 .text:000000000000032c hsv2rgbList
|
||||||
|
/tmp/cclIci1E.s:715 .text:0000000000000376 init_hsv_t
|
||||||
|
|
||||||
|
UNDEFINED SYMBOLS
|
||||||
|
__divmodhi4
|
||||||
|
__floatunsisf
|
||||||
|
__divsf3
|
||||||
|
__fixunssfsi
|
||||||
|
__floatsisf
|
||||||
|
__subsf3
|
||||||
|
__mulsf3
|
||||||
|
__tablejump2__
|
BIN
sketches/pendulum/color_hsv.o
Normal file
BIN
sketches/pendulum/color_hsv.o
Normal file
Binary file not shown.
228
sketches/pendulum/pendulum.c
Normal file
228
sketches/pendulum/pendulum.c
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
#define F_CPU 20000000UL
|
||||||
|
#include <util/delay.h>
|
||||||
|
#include <avr/interrupt.h>
|
||||||
|
#include <avr/io.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
#include "color_hsv.h"
|
||||||
|
#define HUE_MAX 610
|
||||||
|
#define HUE_MIN 350
|
||||||
|
#define HUE_MID ((HUE_MAX + HUE_MIN) / 2)
|
||||||
|
#define HUE_DIF (HUE_MAX - HUE_MIN)
|
||||||
|
#define HUE_SAT 100 // 0 = white, 100 = color
|
||||||
|
#define HUE_VAL 20 // 0 = black, 100 = color
|
||||||
|
#define HUE_STEP 8 // 8
|
||||||
|
const uint32_t colorSteps = HUE_DIF / HUE_STEP;
|
||||||
|
//~ const uint32_t colorSteps = 5;
|
||||||
|
|
||||||
|
#define LEDS 30
|
||||||
|
|
||||||
|
// Prototypes:
|
||||||
|
void writeZero(void);
|
||||||
|
void writeOne(void);
|
||||||
|
void writeRGB(uint8_t red, uint8_t green, uint8_t blue);
|
||||||
|
|
||||||
|
// Interrupt variables:
|
||||||
|
int8_t volatile status = 1;
|
||||||
|
uint16_t volatile min = HUE_MID;
|
||||||
|
uint16_t volatile max = HUE_MID;
|
||||||
|
uint32_t volatile time = 0;
|
||||||
|
uint32_t volatile T_half = 0;
|
||||||
|
uint32_t volatile oldTime = 0;
|
||||||
|
uint32_t volatile cooldown = 0;
|
||||||
|
//~ uint32_t volatile delay = 0;
|
||||||
|
|
||||||
|
// On External Interrupt:
|
||||||
|
ISR(INT1_vect) {
|
||||||
|
EIMSK &= 0xfd; // Disable INT1
|
||||||
|
T_half = time + TCNT1;
|
||||||
|
//~ delay = T_half / 16;
|
||||||
|
cooldown = T_half / 2;
|
||||||
|
TCNT1 = 0; // Reset Timer/Counter1
|
||||||
|
time = 0;
|
||||||
|
oldTime = 0;
|
||||||
|
PORTC ^= 0x02;
|
||||||
|
//~ min = HUE_MID;
|
||||||
|
//~ max = HUE_MID;
|
||||||
|
//~ status = (status == 1 ? -1 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// On Timer Overflow Interrupt:
|
||||||
|
ISR(TIMER1_OVF_vect) {
|
||||||
|
time += 0x00010000;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
|
||||||
|
EIMSK |= 0x02; // External Interrupt Mask Register
|
||||||
|
// Enable INT1 (PIN5) for interrupt
|
||||||
|
EICRA |= 0x0c; // External Interrupt Control Register
|
||||||
|
// INT1 on rising edge
|
||||||
|
|
||||||
|
TIMSK1 |= 0x01; // Timer/Counter1 Interrupt Mask Register
|
||||||
|
// Enable overflow interrupt
|
||||||
|
TCCR1B |= 0x01; // Timer/Counter1 Control Register B
|
||||||
|
// Prescale Factor 1
|
||||||
|
|
||||||
|
SREG |= 0x80; // Status Register
|
||||||
|
// Enable global interrupts
|
||||||
|
|
||||||
|
DDRC = 0x3f; // Digital Direction PORTC[5:0] = output
|
||||||
|
PORTC = 0x00;
|
||||||
|
|
||||||
|
// Init color
|
||||||
|
hsv_t colorsHSV[LEDS];
|
||||||
|
rgb_t colorsRGB[LEDS];
|
||||||
|
interpolate(
|
||||||
|
init_hsv_t(min, HUE_SAT, HUE_VAL), // from color
|
||||||
|
init_hsv_t(max, HUE_SAT, HUE_VAL), // to color
|
||||||
|
LEDS,
|
||||||
|
colorsHSV
|
||||||
|
);
|
||||||
|
hsv2rgbList(colorsHSV, colorsRGB, LEDS);
|
||||||
|
// Assign color
|
||||||
|
for(int i = 0; i < LEDS; i++) {
|
||||||
|
writeRGB( colorsRGB[i].r, colorsRGB[i].g, colorsRGB[i].b);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next color
|
||||||
|
int8_t sign = 1;
|
||||||
|
min += sign * HUE_STEP;
|
||||||
|
max -= sign * HUE_STEP;
|
||||||
|
interpolate(
|
||||||
|
init_hsv_t(min, HUE_SAT, HUE_VAL),// from color
|
||||||
|
init_hsv_t(max, HUE_SAT, HUE_VAL), // to color
|
||||||
|
LEDS,
|
||||||
|
colorsHSV
|
||||||
|
);
|
||||||
|
hsv2rgbList(colorsHSV, colorsRGB, LEDS);
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
uint32_t now = time + TCNT1;
|
||||||
|
//~ if(now > delay) {
|
||||||
|
//~ PORTC |= 0x08; // PORTC3 = HIGH
|
||||||
|
//~ }
|
||||||
|
//~ if(now > delay * 2) {
|
||||||
|
//~ PORTC &= 0xf7; // PORTC3 = LOW
|
||||||
|
//~ }
|
||||||
|
|
||||||
|
if(now > cooldown) {
|
||||||
|
EIMSK |= 0x02; // Enable INT1
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t T_step = T_half / colorSteps;
|
||||||
|
|
||||||
|
// Check if it is time for next color
|
||||||
|
if(now > oldTime + T_step) {
|
||||||
|
oldTime += T_step;
|
||||||
|
PORTC ^= 0x04;
|
||||||
|
// Assign color
|
||||||
|
cli();
|
||||||
|
for(int i = 0; i < LEDS; i++) {
|
||||||
|
writeRGB( colorsRGB[i].r, colorsRGB[i].g, colorsRGB[i].b);
|
||||||
|
}
|
||||||
|
sei();
|
||||||
|
//~ _delay_us(51);
|
||||||
|
|
||||||
|
// Next color
|
||||||
|
min += sign * HUE_STEP;
|
||||||
|
max -= sign * HUE_STEP;
|
||||||
|
interpolate(
|
||||||
|
init_hsv_t(min, HUE_SAT, HUE_VAL), // from color
|
||||||
|
init_hsv_t(max, HUE_SAT, HUE_VAL), // to color
|
||||||
|
LEDS,
|
||||||
|
colorsHSV
|
||||||
|
);
|
||||||
|
hsv2rgbList(colorsHSV, colorsRGB, LEDS);
|
||||||
|
// Check if reached amplitude
|
||||||
|
if(sign == 1 && (min >= HUE_MAX || max <= HUE_MIN)) {
|
||||||
|
sign = -1;
|
||||||
|
} else if(sign == -1 && (min <= HUE_MIN || max >= HUE_MAX)) {
|
||||||
|
sign = 1;
|
||||||
|
}
|
||||||
|
//~ if(status == 1 && sign == 1 && (min >= HUE_MAX || max <= HUE_MIN)) {
|
||||||
|
//~ sign = -1;
|
||||||
|
//~ } else if(status == 1 && sign == -1 && (min <= HUE_MIN || max >= HUE_MAX)) {
|
||||||
|
//~ sign = 1;
|
||||||
|
//~ } else if(status == -1 && sign == 1 && (min <= HUE_MIN || max >= HUE_MAX)) {
|
||||||
|
//~ sign = -1;
|
||||||
|
//~ } else if(status == -1 && sign == -1 && (min >= HUE_MAX || max <= HUE_MIN)) {
|
||||||
|
//~ sign = 1;
|
||||||
|
//~ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
*
|
||||||
|
* TIMING
|
||||||
|
*
|
||||||
|
************************************************************************
|
||||||
|
* f=20MHz -> T=0,05 µs = 50 ns
|
||||||
|
*
|
||||||
|
* 0,05 µs * 6 == 0.3 µs ~ 0.4 µs (+- 150ns) == [0.25, 0.55] µs
|
||||||
|
* 0,05 µs * 14 == 0.7 µs ~ 0.8 µs (+- 150ns) == [0.65, 0.95] µs
|
||||||
|
* 0,05 µs * 15 == 0.75 µs ~ 0.85 µs (+- 150ns) == [0.70, 1.00] µs
|
||||||
|
* 0,05 µs * 8 == 0.35 µs ~ 0.45 µs (+- 150ns) == [0.30, 0.60] µs
|
||||||
|
* 51 µs > 50 µs
|
||||||
|
************************************************************************/
|
||||||
|
// AVR-GCC optimizes multiple "nop"s on every optimization level
|
||||||
|
// So we use timing from:
|
||||||
|
// https://github.com/cpldcpu/light_ws2812/blob/master/light_ws2812_AVR/Light_WS2812/light_ws2812.c
|
||||||
|
#define w_nop1 __asm__("nop \n\t")
|
||||||
|
#define w_nop2 __asm__("rjmp .+0 \n\t")
|
||||||
|
#define w_nop4 w_nop2; w_nop2
|
||||||
|
#define w_nop8 w_nop4; w_nop4
|
||||||
|
#define w_nop16 w_nop8; w_nop8 // Not used
|
||||||
|
|
||||||
|
#define wait6 w_nop2; w_nop4
|
||||||
|
#define wait8 w_nop8
|
||||||
|
#define wait14 wait8; wait6
|
||||||
|
#define wait15 wait14; w_nop1
|
||||||
|
|
||||||
|
// WS2812B protocol
|
||||||
|
inline void writeZero() {
|
||||||
|
PORTC |= 0x01; // PORTC0 = 1, PORTC[5:1] = invariant
|
||||||
|
wait6;
|
||||||
|
PORTC &= 0xfe; // PORTC0 = 0, PORTC[5:1] = invariant
|
||||||
|
wait15;
|
||||||
|
}
|
||||||
|
|
||||||
|
// WS2812B protocol
|
||||||
|
inline void writeOne() {
|
||||||
|
PORTC |= 0x01; // PORTC0 = 1, PORTC[5:1] = invariant
|
||||||
|
wait14;
|
||||||
|
PORTC &= 0xfe; // PORTC0 = 0, PORTC[5:1] = invariant
|
||||||
|
wait8;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void writeRGB(uint8_t red, uint8_t green, uint8_t blue) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for( i = 128; i > 0; i >>= 1 ) {
|
||||||
|
if( green & i ){
|
||||||
|
writeOne();
|
||||||
|
} else {
|
||||||
|
writeZero();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for( i = 128; i > 0; i >>= 1 ) {
|
||||||
|
if( red & i ){
|
||||||
|
writeOne();
|
||||||
|
} else {
|
||||||
|
writeZero();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for( i = 128; i > 0; i >>= 1 ) {
|
||||||
|
if( blue & i ){
|
||||||
|
writeOne();
|
||||||
|
} else {
|
||||||
|
writeZero();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
sketches/pendulum/pendulum.eep
Normal file
1
sketches/pendulum/pendulum.eep
Normal file
@ -0,0 +1 @@
|
|||||||
|
:00000001FF
|
BIN
sketches/pendulum/pendulum.elf
Executable file
BIN
sketches/pendulum/pendulum.elf
Executable file
Binary file not shown.
216
sketches/pendulum/pendulum.hex
Normal file
216
sketches/pendulum/pendulum.hex
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
:100000000C943B000C9458000C945A000C9458002B
|
||||||
|
:100010000C9458000C9458000C9458000C94580000
|
||||||
|
:100020000C9458000C9458000C9458000C945800F0
|
||||||
|
:100030000C9458000C94B7000C9458000C94580081
|
||||||
|
:100040000C9458000C9458000C9458000C945800D0
|
||||||
|
:100050000C9458000C9458000C9458000C945800C0
|
||||||
|
:100060000C9458000C945800AA02AE02B202B502D9
|
||||||
|
:10007000B902BD02AA0211241FBECFEFD8E0DEBF35
|
||||||
|
:10008000CDBF11E0A0E0B1E0E0E6FDE002C00590E8
|
||||||
|
:100090000D92AA30B107D9F721E0AAE0B1E001C082
|
||||||
|
:1000A0001D92AA31B207E1F70E9408030C94AE0634
|
||||||
|
:1000B0000C9400001F920F920FB60F9211242F93F1
|
||||||
|
:1000C0003F938F939F93AF93BF93EF93FF93E998E1
|
||||||
|
:1000D0008091160190911701A0911801B09119011A
|
||||||
|
:1000E000E4E8F0E020813181820F931FA11DB11D52
|
||||||
|
:1000F0008093120190931301A0931401B093150102
|
||||||
|
:100100008091120190911301A0911401B0911501F9
|
||||||
|
:10011000B695A7959795879580930A0190930B01C3
|
||||||
|
:10012000A0930C01B0930D01118210821092160160
|
||||||
|
:1001300010921701109218011092190110920E01DD
|
||||||
|
:1001400010920F01109210011092110198B182E0EB
|
||||||
|
:10015000892788B9FF91EF91BF91AF919F918F91BE
|
||||||
|
:100160003F912F910F900FBE0F901F9018951F92E7
|
||||||
|
:100170000F920FB60F9211248F939F93AF93BF935B
|
||||||
|
:100180008091160190911701A0911801B091190169
|
||||||
|
:1001900011968093160190931701A0931801B093C4
|
||||||
|
:1001A0001901BF91AF919F918F910F900FBE0F904A
|
||||||
|
:1001B0001F901895409A00C000C000C0409800C031
|
||||||
|
:1001C00000C000C000C000C000C000C00000089512
|
||||||
|
:1001D000409A00C000C000C000C000C000C000C005
|
||||||
|
:1001E000409800C000C000C000C00895AF92BF9208
|
||||||
|
:1001F000CF92DF92EF92FF920F931F93CF93DF93F3
|
||||||
|
:10020000C82EE42EC8E0D0E000E810E0A62EB12C05
|
||||||
|
:10021000C8018A219B21892B19F00E94E80002C0A5
|
||||||
|
:100220000E94DA0015950795219791F7C8E0D0E074
|
||||||
|
:1002300000E810E0D12CC8018C219D21892B19F0F8
|
||||||
|
:100240000E94E80002C00E94DA00159507952197E8
|
||||||
|
:1002500091F7C8E0D0E000E810E0F12CC8018E2151
|
||||||
|
:100260009F21892B19F00E94E80002C00E94DA0049
|
||||||
|
:1002700015950795219791F7DF91CF911F910F91D8
|
||||||
|
:10028000FF90EF90DF90CF90BF90AF9008952F92A6
|
||||||
|
:100290003F924F925F926F927F928F929F92AF9216
|
||||||
|
:1002A000BF92CF92DF92EF92FF920F931F93CF9363
|
||||||
|
:1002B000DF93CDB7DEB72A970FB6F894DEBF0FBE37
|
||||||
|
:1002C000CDBFD82EC92EF7010130110501F13B0138
|
||||||
|
:1002D0002901461A570A842F90E0BC016D19710953
|
||||||
|
:1002E0007E836D83852F90E09C012C19310938871E
|
||||||
|
:1002F0002F8333961A861986E12CF12C80E090E04A
|
||||||
|
:1003000020E030E0580141E0A41AB10805C0608344
|
||||||
|
:100310007183828393833DC01C01240C351C4D8165
|
||||||
|
:100320005E814E0D5F1D5A8349834F8158856985D3
|
||||||
|
:100330007A85460F571F5C834B832017310749F19D
|
||||||
|
:100340004F0153E0851A9108B5010E948006660DA1
|
||||||
|
:10035000771DD4016D937C934F01B1E08B1A910806
|
||||||
|
:10036000C701B5010E9480066D0DD4016C9389858B
|
||||||
|
:100370009A85B5010E9480066C0D60832F5F3F4F08
|
||||||
|
:1003800034964B815C815A874987E980FA80C101A4
|
||||||
|
:10039000C3CF2A960FB6F894DEBF0FBECDBFDF9154
|
||||||
|
:1003A000CF911F910F91FF90EF90DF90CF90BF9072
|
||||||
|
:1003B000AF909F908F907F906F905F904F903F9005
|
||||||
|
:1003C0002F9008952F923F924F925F926F927F925B
|
||||||
|
:1003D0008F929F92AF92BF92CF92DF92EF92FF9255
|
||||||
|
:1003E0000F931F93CF93DF9300D000D0CDB7DEB72C
|
||||||
|
:1003F000FC01B2803380B11004C0232C3B823C82CC
|
||||||
|
:10040000C2C0FC0100811181B8010836F1E01F076C
|
||||||
|
:1004100010F06856714080E090E00E9485052B0145
|
||||||
|
:100420003C01632D70E080E090E00E94850520E0B3
|
||||||
|
:1004300030E048EC52E40E94E4046B017C016B2D37
|
||||||
|
:1004400070E080E090E00E94850520E030E048EC1C
|
||||||
|
:1004500052E40E94E4044B015C0120E030E040E7FC
|
||||||
|
:1004600052E4C301B2010E94E4042B013C010E944A
|
||||||
|
:1004700056056A8370E080E090E00E9487059B014A
|
||||||
|
:10048000AC01C301B2010E9477042B013C01A5011C
|
||||||
|
:10049000940160E070E080E89FE30E9477049B0194
|
||||||
|
:1004A000AC01C701B6010E94130620E030E040E035
|
||||||
|
:1004B00053E40E9413060E945605262EA3019201C2
|
||||||
|
:1004C000C501B4010E9413069B01AC0160E070E01D
|
||||||
|
:1004D00080E89FE30E9477049B01AC01C701B6014D
|
||||||
|
:1004E0000E94130620E030E040E053E40E9413062F
|
||||||
|
:1004F0000E9456056983A301920160E070E080E8E4
|
||||||
|
:100500009FE30E9477049B01AC01C501B4010E94E6
|
||||||
|
:1005100013069B01AC0160E070E080E89FE30E945D
|
||||||
|
:1005200077049B01AC01C701B6010E94130620E0CD
|
||||||
|
:1005300030E040E053E40E9413060E9456052A81F1
|
||||||
|
:10054000822F90E087309105E8F4FC01EC5CFF4FCE
|
||||||
|
:100550000C9494062B826C83232C15C02B823C8236
|
||||||
|
:10056000298011C06B833C820EC03B8289818C83C1
|
||||||
|
:100570000AC03B822C82262E06C0E981EB832C82A6
|
||||||
|
:10058000202E01C0212C622D7C818B810F900F9039
|
||||||
|
:100590000F900F90DF91CF911F910F91FF90EF90EF
|
||||||
|
:1005A000DF90CF90BF90AF909F908F907F906F9093
|
||||||
|
:1005B0005F904F903F902F900895CF92DF92EF92EF
|
||||||
|
:1005C000FF920F931F93CF93DF936A01EB017C019E
|
||||||
|
:1005D00000E010E00C151D0561F0C7010E94E2016A
|
||||||
|
:1005E0006993799389930F5F1F4F84E0E80EF11CA4
|
||||||
|
:1005F000F1CFDF91CF911F910F91FF90EF90DF909E
|
||||||
|
:10060000CF900895282F862F622F792F942F089549
|
||||||
|
:10061000CF93DF93CDB7DEB7C25DD1090FB6F894A3
|
||||||
|
:10062000DEBF0FBECDBFE99A809169008C608093D8
|
||||||
|
:10063000690080916F00816080936F0080918100DC
|
||||||
|
:100640008160809381008FB780688FBF8FE387B907
|
||||||
|
:1006500018B8809100019091010144E164E60E9484
|
||||||
|
:1006600002034B015C01809102019091030144E17E
|
||||||
|
:1006700064E60E9402039E012F5F3F4F79010EE165
|
||||||
|
:1006800010E0A50194010E9447014EE150E0BE0137
|
||||||
|
:1006900067587F4FC7010E94DD0249E7A42EB12CA5
|
||||||
|
:1006A000AC0EBD1E32E0A30EB11C4E0185ED880ECE
|
||||||
|
:1006B000911C8501D8011197C8010297F80140816A
|
||||||
|
:1006C0006C91FC0180810E94F6000D5F1F4F0815A0
|
||||||
|
:1006D000190581F78091020190910301089690938A
|
||||||
|
:1006E000030180930201809100019091010108971C
|
||||||
|
:1006F000909301018093000180910001909101018C
|
||||||
|
:1007000044E164E60E9402032B013C018091020156
|
||||||
|
:100710009091030144E164E60E9402039E012F5F71
|
||||||
|
:100720003F4F79010EE110E0A30192010E944701C1
|
||||||
|
:100730004EE150E0BE0167587F4FC7010E94DD02C5
|
||||||
|
:10074000DD24D39434E0C32E40911601509117015B
|
||||||
|
:100750006091180170911901809184009091850039
|
||||||
|
:10076000480F591F611D711D80910A0190910B0165
|
||||||
|
:10077000A0910C01B0910D0184179507A607B7074A
|
||||||
|
:1007800008F4E99A8091120190911301A09114014B
|
||||||
|
:10079000B091150125E0B695A795979587952A956F
|
||||||
|
:1007A000D1F700910E0110910F01209110013091AD
|
||||||
|
:1007B0001101080F191F2A1F3B1F041715072607D1
|
||||||
|
:1007C000370710F640910E0150910F016091100112
|
||||||
|
:1007D00070911101840F951FA61FB71F80930E0102
|
||||||
|
:1007E00090930F01A0931001B093110188B18C2553
|
||||||
|
:1007F00088B9F8948501D8011197C8010297F801CA
|
||||||
|
:1008000040816C91FC0180810E94F6000D5F1F4FBA
|
||||||
|
:100810000815190581F778948091020190910301E0
|
||||||
|
:10082000FD2D28E0F202800D911D1124909303010B
|
||||||
|
:1008300080930201809100019091010138E0F30260
|
||||||
|
:1008400080199109112490930101809300018091F6
|
||||||
|
:1008500000019091010144E164E60E9402032B0132
|
||||||
|
:100860003C01809102019091030144E164E60E9401
|
||||||
|
:100870000203FE0131967F010EE110E0A301920117
|
||||||
|
:100880000E9447014EE150E0BE0167587F4FC7010B
|
||||||
|
:100890000E94DD02F1E0DF1212C08091020190910E
|
||||||
|
:1008A00003018236924018F0DD24DA944DCF809116
|
||||||
|
:1008B0000001909101018F359140B0F345CF8FEF4A
|
||||||
|
:1008C000D81611F0D12C40CF8091020190910301F4
|
||||||
|
:1008D0008F35914018F4DD24D39436CF80910001F8
|
||||||
|
:1008E000909101018236924008F42ECFF4CF5058F7
|
||||||
|
:1008F000BB27AA270E948F040C94D9050E94CB0520
|
||||||
|
:1009000038F00E94D20520F039F49F3F19F426F404
|
||||||
|
:100910000C94C8050EF4E095E7FB0C94C205E92F92
|
||||||
|
:100920000E94EA0558F3BA17620773078407950710
|
||||||
|
:1009300020F079F4A6F50C940C060EF4E0950B2E3D
|
||||||
|
:10094000BA2FA02D0B01B90190010C01CA01A00121
|
||||||
|
:100950001124FF27591B99F0593F50F4503E68F17C
|
||||||
|
:100960001A16F040A22F232F342F4427585FF3CFBD
|
||||||
|
:10097000469537952795A795F0405395C9F77EF48E
|
||||||
|
:100980001F16BA0B620B730B840BBAF09150A1F0D7
|
||||||
|
:10099000FF0FBB1F661F771F881FC2F70EC0BA0F5D
|
||||||
|
:1009A000621F731F841F48F4879577956795B795E5
|
||||||
|
:1009B000F7959E3F08F0B0CF9395880F08F09927E0
|
||||||
|
:1009C000EE0F9795879508950E94F8040C94D90529
|
||||||
|
:1009D0000E94D20558F00E94CB0540F029F45F3FF9
|
||||||
|
:1009E00029F00C94C20551110C940D060C94C80505
|
||||||
|
:1009F0000E94EA0568F39923B1F3552391F3951BFF
|
||||||
|
:100A0000550BBB27AA2762177307840738F09F5F2F
|
||||||
|
:100A10005F4F220F331F441FAA1FA9F335D00E2E9C
|
||||||
|
:100A20003AF0E0E832D091505040E695001CCAF709
|
||||||
|
:100A30002BD0FE2F29D0660F771F881FBB1F2617CC
|
||||||
|
:100A400037074807AB07B0E809F0BB0B802DBF01A3
|
||||||
|
:100A5000FF2793585F4F3AF09E3F510578F00C9472
|
||||||
|
:100A6000C2050C940D065F3FE4F3983ED4F38695DF
|
||||||
|
:100A700077956795B795F7959F5FC9F7880F911D93
|
||||||
|
:100A80009695879597F90895E1E0660F771F881F7F
|
||||||
|
:100A9000BB1F621773078407BA0720F0621B730B32
|
||||||
|
:100AA000840BBA0BEE1F88F7E09508950E94F205BB
|
||||||
|
:100AB00088F09F5798F0B92F9927B751B0F0E1F01F
|
||||||
|
:100AC000660F771F881F991F1AF0BA95C9F714C0CF
|
||||||
|
:100AD000B13091F00E940C06B1E008950C940C0620
|
||||||
|
:100AE000672F782F8827B85F39F0B93FCCF3869508
|
||||||
|
:100AF00077956795B395D9F73EF490958095709565
|
||||||
|
:100B000061957F4F8F4F9F4F0895E89409C097FBE1
|
||||||
|
:100B10003EF490958095709561957F4F8F4F9F4FD4
|
||||||
|
:100B20009923A9F0F92F96E9BB279395F695879518
|
||||||
|
:100B300077956795B795F111F8CFFAF4BB0F11F4DB
|
||||||
|
:100B400060FF1BC06F5F7F4F8F4F9F4F16C0882382
|
||||||
|
:100B500011F096E911C0772321F09EE8872F762FB8
|
||||||
|
:100B600005C0662371F096E8862F70E060E02AF0F9
|
||||||
|
:100B70009A95660F771F881FDAF7880F96958795E5
|
||||||
|
:100B800097F9089597F99F6780E870E060E008950D
|
||||||
|
:100B90009FEF80EC089500240A9416161706180695
|
||||||
|
:100BA0000906089500240A94121613061406050671
|
||||||
|
:100BB0000895092E0394000C11F4882352F0BB0F02
|
||||||
|
:100BC00040F4BF2B11F460FF04C06F5F7F4F8F4F65
|
||||||
|
:100BD0009F4F089557FD9058440F551F59F05F3FA0
|
||||||
|
:100BE00071F04795880F97FB991F61F09F3F79F04F
|
||||||
|
:100BF00087950895121613061406551FF2CF4695D1
|
||||||
|
:100C0000F1DF08C0161617061806991FF1CF869552
|
||||||
|
:100C10007105610508940895E894BB276627772736
|
||||||
|
:100C2000CB0197F908950E9426060C94D9050E94DD
|
||||||
|
:100C3000CB0538F00E94D20520F0952311F00C94DA
|
||||||
|
:100C4000C2050C94C80511240C940D060E94EA05F7
|
||||||
|
:100C500070F3959FC1F3950F50E0551F629FF0010F
|
||||||
|
:100C6000729FBB27F00DB11D639FAA27F00DB11D28
|
||||||
|
:100C7000AA1F649F6627B00DA11D661F829F2227B1
|
||||||
|
:100C8000B00DA11D621F739FB00DA11D621F839F38
|
||||||
|
:100C9000A00D611D221F749F3327A00D611D231F0E
|
||||||
|
:100CA000849F600D211D822F762F6A2F11249F575C
|
||||||
|
:100CB00050409AF0F1F088234AF0EE0FFF1FBB1F5F
|
||||||
|
:100CC000661F771F881F91505040A9F79E3F51051E
|
||||||
|
:100CD00080F00C94C2050C940D065F3FE4F3983E3F
|
||||||
|
:100CE000D4F3869577956795B795F795E7959F5FC8
|
||||||
|
:100CF000C1F7FE2B880F911D9695879597F908955A
|
||||||
|
:100D000097FB072E16F4009407D077FD09D00E94B8
|
||||||
|
:100D10009A0607FC05D03EF4909581959F4F089563
|
||||||
|
:100D2000709561957F4F0895EE0FFF1F0590F49128
|
||||||
|
:100D3000E02D0994AA1BBB1B51E107C0AA1FBB1FD2
|
||||||
|
:100D4000A617B70710F0A61BB70B881F991F5A9557
|
||||||
|
:100D5000A9F780959095BC01CD010895F894FFCF37
|
||||||
|
:0A0D6000E001E001012000000000A6
|
||||||
|
:00000001FF
|
1929
sketches/pendulum/pendulum.lss
Normal file
1929
sketches/pendulum/pendulum.lss
Normal file
File diff suppressed because it is too large
Load Diff
1078
sketches/pendulum/pendulum.lst
Normal file
1078
sketches/pendulum/pendulum.lst
Normal file
File diff suppressed because it is too large
Load Diff
772
sketches/pendulum/pendulum.map
Normal file
772
sketches/pendulum/pendulum.map
Normal file
@ -0,0 +1,772 @@
|
|||||||
|
Archive member included to satisfy reference by file (symbol)
|
||||||
|
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
color_hsv.o (__subsf3)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o) (__addsf3x)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
color_hsv.o (__divsf3)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o) (__divsf3x)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
color_hsv.o (__fixunssfsi)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
color_hsv.o (__floatunsisf)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_inf)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_nan)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_pscA)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_pscB)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o) (__fp_round)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_split3)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o) (__fp_zero)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
color_hsv.o (__mulsf3)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o) (__mulsf3x)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
color_hsv.o (__divmodhi4)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o (exit)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
color_hsv.o (__tablejump2__)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
pendulum.o (__do_copy_data)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
pendulum.o (__do_clear_bss)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o) (__udivmodhi4)
|
||||||
|
|
||||||
|
↵
|
||||||
|
Speichereinrichtung
|
||||||
|
↵
|
||||||
|
|
||||||
|
Name Ursprung Länge Eigenschaften
|
||||||
|
text 0x0000000000000000 0x0000000000020000 xr
|
||||||
|
data 0x0000000000800060 0x000000000000ffa0 rw !x
|
||||||
|
eeprom 0x0000000000810000 0x0000000000010000 rw !x
|
||||||
|
fuse 0x0000000000820000 0x0000000000000400 rw !x
|
||||||
|
lock 0x0000000000830000 0x0000000000000400 rw !x
|
||||||
|
signature 0x0000000000840000 0x0000000000000400 rw !x
|
||||||
|
user_signatures 0x0000000000850000 0x0000000000000400 rw !x
|
||||||
|
*default* 0x0000000000000000 0xffffffffffffffff
|
||||||
|
|
||||||
|
Linker script and memory map
|
||||||
|
|
||||||
|
Address of section .data set to 0x800100
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
LOAD pendulum.o
|
||||||
|
LOAD color_hsv.o
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a
|
||||||
|
START GROUP
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a
|
||||||
|
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega328p.a
|
||||||
|
END GROUP
|
||||||
|
|
||||||
|
.hash
|
||||||
|
*(.hash)
|
||||||
|
|
||||||
|
.dynsym
|
||||||
|
*(.dynsym)
|
||||||
|
|
||||||
|
.dynstr
|
||||||
|
*(.dynstr)
|
||||||
|
|
||||||
|
.gnu.version
|
||||||
|
*(.gnu.version)
|
||||||
|
|
||||||
|
.gnu.version_d
|
||||||
|
*(.gnu.version_d)
|
||||||
|
|
||||||
|
.gnu.version_r
|
||||||
|
*(.gnu.version_r)
|
||||||
|
|
||||||
|
.rel.init
|
||||||
|
*(.rel.init)
|
||||||
|
|
||||||
|
.rela.init
|
||||||
|
*(.rela.init)
|
||||||
|
|
||||||
|
.rel.text
|
||||||
|
*(.rel.text)
|
||||||
|
*(.rel.text.*)
|
||||||
|
*(.rel.gnu.linkonce.t*)
|
||||||
|
|
||||||
|
.rela.text
|
||||||
|
*(.rela.text)
|
||||||
|
*(.rela.text.*)
|
||||||
|
*(.rela.gnu.linkonce.t*)
|
||||||
|
|
||||||
|
.rel.fini
|
||||||
|
*(.rel.fini)
|
||||||
|
|
||||||
|
.rela.fini
|
||||||
|
*(.rela.fini)
|
||||||
|
|
||||||
|
.rel.rodata
|
||||||
|
*(.rel.rodata)
|
||||||
|
*(.rel.rodata.*)
|
||||||
|
*(.rel.gnu.linkonce.r*)
|
||||||
|
|
||||||
|
.rela.rodata
|
||||||
|
*(.rela.rodata)
|
||||||
|
*(.rela.rodata.*)
|
||||||
|
*(.rela.gnu.linkonce.r*)
|
||||||
|
|
||||||
|
.rel.data
|
||||||
|
*(.rel.data)
|
||||||
|
*(.rel.data.*)
|
||||||
|
*(.rel.gnu.linkonce.d*)
|
||||||
|
|
||||||
|
.rela.data
|
||||||
|
*(.rela.data)
|
||||||
|
*(.rela.data.*)
|
||||||
|
*(.rela.gnu.linkonce.d*)
|
||||||
|
|
||||||
|
.rel.ctors
|
||||||
|
*(.rel.ctors)
|
||||||
|
|
||||||
|
.rela.ctors
|
||||||
|
*(.rela.ctors)
|
||||||
|
|
||||||
|
.rel.dtors
|
||||||
|
*(.rel.dtors)
|
||||||
|
|
||||||
|
.rela.dtors
|
||||||
|
*(.rela.dtors)
|
||||||
|
|
||||||
|
.rel.got
|
||||||
|
*(.rel.got)
|
||||||
|
|
||||||
|
.rela.got
|
||||||
|
*(.rela.got)
|
||||||
|
|
||||||
|
.rel.bss
|
||||||
|
*(.rel.bss)
|
||||||
|
|
||||||
|
.rela.bss
|
||||||
|
*(.rela.bss)
|
||||||
|
|
||||||
|
.rel.plt
|
||||||
|
*(.rel.plt)
|
||||||
|
|
||||||
|
.rela.plt
|
||||||
|
*(.rela.plt)
|
||||||
|
|
||||||
|
.text 0x0000000000000000 0xd60
|
||||||
|
*(.vectors)
|
||||||
|
.vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
0x0000000000000000 __vectors
|
||||||
|
0x0000000000000000 __vector_default
|
||||||
|
*(.vectors)
|
||||||
|
*(.progmem.gcc*)
|
||||||
|
.progmem.gcc_sw_table
|
||||||
|
0x0000000000000068 0xe color_hsv.o
|
||||||
|
0x0000000000000076 . = ALIGN (0x2)
|
||||||
|
0x0000000000000076 __trampolines_start = .
|
||||||
|
*(.trampolines)
|
||||||
|
.trampolines 0x0000000000000076 0x0 linker stubs
|
||||||
|
*(.trampolines*)
|
||||||
|
0x0000000000000076 __trampolines_end = .
|
||||||
|
*(.progmem*)
|
||||||
|
0x0000000000000076 . = ALIGN (0x2)
|
||||||
|
*(.jumptables)
|
||||||
|
*(.jumptables*)
|
||||||
|
*(.lowtext)
|
||||||
|
*(.lowtext*)
|
||||||
|
0x0000000000000076 __ctors_start = .
|
||||||
|
*(.ctors)
|
||||||
|
0x0000000000000076 __ctors_end = .
|
||||||
|
0x0000000000000076 __dtors_start = .
|
||||||
|
*(.dtors)
|
||||||
|
0x0000000000000076 __dtors_end = .
|
||||||
|
SORT(*)(.ctors)
|
||||||
|
SORT(*)(.dtors)
|
||||||
|
*(.init0)
|
||||||
|
.init0 0x0000000000000076 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
0x0000000000000076 __init
|
||||||
|
*(.init0)
|
||||||
|
*(.init1)
|
||||||
|
*(.init1)
|
||||||
|
*(.init2)
|
||||||
|
.init2 0x0000000000000076 0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
*(.init2)
|
||||||
|
*(.init3)
|
||||||
|
*(.init3)
|
||||||
|
*(.init4)
|
||||||
|
.init4 0x0000000000000082 0x16 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
0x0000000000000082 __do_copy_data
|
||||||
|
.init4 0x0000000000000098 0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
0x0000000000000098 __do_clear_bss
|
||||||
|
*(.init4)
|
||||||
|
*(.init5)
|
||||||
|
*(.init5)
|
||||||
|
*(.init6)
|
||||||
|
*(.init6)
|
||||||
|
*(.init7)
|
||||||
|
*(.init7)
|
||||||
|
*(.init8)
|
||||||
|
*(.init8)
|
||||||
|
*(.init9)
|
||||||
|
.init9 0x00000000000000a8 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
*(.init9)
|
||||||
|
*(.text)
|
||||||
|
.text 0x00000000000000b0 0x4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
0x00000000000000b0 __vector_22
|
||||||
|
0x00000000000000b0 __vector_1
|
||||||
|
0x00000000000000b0 __vector_24
|
||||||
|
0x00000000000000b0 __vector_12
|
||||||
|
0x00000000000000b0 __bad_interrupt
|
||||||
|
0x00000000000000b0 __vector_6
|
||||||
|
0x00000000000000b0 __vector_3
|
||||||
|
0x00000000000000b0 __vector_23
|
||||||
|
0x00000000000000b0 __vector_25
|
||||||
|
0x00000000000000b0 __vector_11
|
||||||
|
0x00000000000000b0 __vector_17
|
||||||
|
0x00000000000000b0 __vector_19
|
||||||
|
0x00000000000000b0 __vector_7
|
||||||
|
0x00000000000000b0 __vector_5
|
||||||
|
0x00000000000000b0 __vector_4
|
||||||
|
0x00000000000000b0 __vector_9
|
||||||
|
0x00000000000000b0 __vector_21
|
||||||
|
0x00000000000000b0 __vector_15
|
||||||
|
0x00000000000000b0 __vector_8
|
||||||
|
0x00000000000000b0 __vector_14
|
||||||
|
0x00000000000000b0 __vector_10
|
||||||
|
0x00000000000000b0 __vector_16
|
||||||
|
0x00000000000000b0 __vector_18
|
||||||
|
0x00000000000000b0 __vector_20
|
||||||
|
.text 0x00000000000000b4 0x1da pendulum.o
|
||||||
|
0x00000000000000b4 __vector_2
|
||||||
|
0x000000000000016e __vector_13
|
||||||
|
0x00000000000001b4 writeZero
|
||||||
|
0x00000000000001d0 writeOne
|
||||||
|
0x00000000000001ec writeRGB
|
||||||
|
.text 0x000000000000028e 0x382 color_hsv.o
|
||||||
|
0x000000000000028e interpolate
|
||||||
|
0x00000000000003c4 hsv2rgb
|
||||||
|
0x00000000000005ba hsv2rgbList
|
||||||
|
0x0000000000000604 init_hsv_t
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text 0x0000000000000610 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
0x0000000000000610 . = ALIGN (0x2)
|
||||||
|
*(.text.*)
|
||||||
|
.text.startup 0x0000000000000610 0x2de pendulum.o
|
||||||
|
0x0000000000000610 main
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x00000000000008ee 0xe /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
0x00000000000008ee __subsf3
|
||||||
|
0x00000000000008f0 __addsf3
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x00000000000008fc 0xcc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
0x000000000000091e __addsf3x
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x00000000000009c8 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
0x00000000000009c8 __divsf3
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x00000000000009d0 0xdc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
0x00000000000009f0 __divsf3x
|
||||||
|
0x00000000000009f6 __divsf3_pse
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000aac 0x5e /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
0x0000000000000aac __fixunssfsi
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000b0a 0x7a /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
0x0000000000000b0a __floatunsisf
|
||||||
|
0x0000000000000b0e __floatsisf
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000b84 0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
0x0000000000000b84 __fp_inf
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000b90 0x6 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
0x0000000000000b90 __fp_nan
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000b96 0xe /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
0x0000000000000b96 __fp_pscA
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000ba4 0xe /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
0x0000000000000ba4 __fp_pscB
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000bb2 0x22 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
0x0000000000000bb2 __fp_round
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000bd4 0x44 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
0x0000000000000bd4 __fp_split3
|
||||||
|
0x0000000000000be4 __fp_splitA
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000c18 0xe /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
0x0000000000000c18 __fp_zero
|
||||||
|
0x0000000000000c1a __fp_szero
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000c26 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
0x0000000000000c26 __mulsf3
|
||||||
|
.text.avr-libc.fplib
|
||||||
|
0x0000000000000c2e 0xd2 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
0x0000000000000c4c __mulsf3x
|
||||||
|
0x0000000000000c52 __mulsf3_pse
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d00 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d00 0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
0x0000000000000d00 __divmodhi4
|
||||||
|
0x0000000000000d00 _div
|
||||||
|
.text.libgcc 0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc 0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d28 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc 0x0000000000000d28 0xc /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
0x0000000000000d28 __tablejump2__
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc 0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc 0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x0000000000000d34 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x0000000000000d34 0x28 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
0x0000000000000d34 __udivmodhi4
|
||||||
|
.text.libgcc 0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
0x0000000000000d5c . = ALIGN (0x2)
|
||||||
|
*(.fini9)
|
||||||
|
.fini9 0x0000000000000d5c 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
0x0000000000000d5c exit
|
||||||
|
0x0000000000000d5c _exit
|
||||||
|
*(.fini9)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini0)
|
||||||
|
.fini0 0x0000000000000d5c 0x4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
*(.fini0)
|
||||||
|
0x0000000000000d60 _etext = .
|
||||||
|
|
||||||
|
.data 0x0000000000800100 0xa load address 0x0000000000000d60
|
||||||
|
0x0000000000800100 PROVIDE (__data_start, .)
|
||||||
|
*(.data)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
.data 0x0000000000800100 0x5 pendulum.o
|
||||||
|
0x0000000000800100 max
|
||||||
|
0x0000000000800102 min
|
||||||
|
0x0000000000800104 status
|
||||||
|
.data 0x0000000000800105 0x0 color_hsv.o
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.data 0x0000000000800105 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
*(.data*)
|
||||||
|
*(.rodata)
|
||||||
|
.rodata 0x0000000000800105 0x4 pendulum.o
|
||||||
|
0x0000000000800105 colorSteps
|
||||||
|
*(.rodata*)
|
||||||
|
*(.gnu.linkonce.d*)
|
||||||
|
0x000000000080010a . = ALIGN (0x2)
|
||||||
|
*fill* 0x0000000000800109 0x1
|
||||||
|
0x000000000080010a _edata = .
|
||||||
|
0x000000000080010a PROVIDE (__data_end, .)
|
||||||
|
|
||||||
|
.bss 0x000000000080010a 0x10
|
||||||
|
0x000000000080010a PROVIDE (__bss_start, .)
|
||||||
|
*(.bss)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
.bss 0x000000000080010a 0x10 pendulum.o
|
||||||
|
0x000000000080010a cooldown
|
||||||
|
0x000000000080010e oldTime
|
||||||
|
0x0000000000800112 T_half
|
||||||
|
0x0000000000800116 time
|
||||||
|
.bss 0x000000000080011a 0x0 color_hsv.o
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.bss 0x000000000080011a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
*(.bss*)
|
||||||
|
*(COMMON)
|
||||||
|
0x000000000080011a PROVIDE (__bss_end, .)
|
||||||
|
0x0000000000000d60 __data_load_start = LOADADDR (.data)
|
||||||
|
0x0000000000000d6a __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||||
|
|
||||||
|
.noinit 0x000000000080011a 0x0
|
||||||
|
0x000000000080011a PROVIDE (__noinit_start, .)
|
||||||
|
*(.noinit*)
|
||||||
|
0x000000000080011a PROVIDE (__noinit_end, .)
|
||||||
|
0x000000000080011a _end = .
|
||||||
|
0x000000000080011a PROVIDE (__heap_start, .)
|
||||||
|
|
||||||
|
.eeprom 0x0000000000810000 0x0
|
||||||
|
*(.eeprom*)
|
||||||
|
0x0000000000810000 __eeprom_end = .
|
||||||
|
|
||||||
|
.fuse
|
||||||
|
*(.fuse)
|
||||||
|
*(.lfuse)
|
||||||
|
*(.hfuse)
|
||||||
|
*(.efuse)
|
||||||
|
|
||||||
|
.lock
|
||||||
|
*(.lock*)
|
||||||
|
|
||||||
|
.signature
|
||||||
|
*(.signature*)
|
||||||
|
|
||||||
|
.user_signatures
|
||||||
|
*(.user_signatures*)
|
||||||
|
|
||||||
|
.stab 0x0000000000000000 0x1110
|
||||||
|
*(.stab)
|
||||||
|
.stab 0x0000000000000000 0xab0 pendulum.o
|
||||||
|
.stab 0x0000000000000ab0 0x660 color_hsv.o
|
||||||
|
0x834 (size before relaxing)
|
||||||
|
|
||||||
|
.stabstr 0x0000000000000000 0xf67
|
||||||
|
*(.stabstr)
|
||||||
|
.stabstr 0x0000000000000000 0xf67 pendulum.o
|
||||||
|
|
||||||
|
.stab.excl
|
||||||
|
*(.stab.excl)
|
||||||
|
|
||||||
|
.stab.exclstr
|
||||||
|
*(.stab.exclstr)
|
||||||
|
|
||||||
|
.stab.index
|
||||||
|
*(.stab.index)
|
||||||
|
|
||||||
|
.stab.indexstr
|
||||||
|
*(.stab.indexstr)
|
||||||
|
|
||||||
|
.comment 0x0000000000000000 0x11
|
||||||
|
*(.comment)
|
||||||
|
.comment 0x0000000000000000 0x11 pendulum.o
|
||||||
|
0x12 (size before relaxing)
|
||||||
|
.comment 0x0000000000000011 0x12 color_hsv.o
|
||||||
|
|
||||||
|
.note.gnu.avr.deviceinfo
|
||||||
|
0x0000000000000000 0x40
|
||||||
|
.note.gnu.avr.deviceinfo
|
||||||
|
0x0000000000000000 0x40 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
|
||||||
|
.note.gnu.build-id
|
||||||
|
*(.note.gnu.build-id)
|
||||||
|
|
||||||
|
.debug
|
||||||
|
*(.debug)
|
||||||
|
|
||||||
|
.line
|
||||||
|
*(.line)
|
||||||
|
|
||||||
|
.debug_srcinfo
|
||||||
|
*(.debug_srcinfo)
|
||||||
|
|
||||||
|
.debug_sfnames
|
||||||
|
*(.debug_sfnames)
|
||||||
|
|
||||||
|
.debug_aranges
|
||||||
|
*(.debug_aranges)
|
||||||
|
|
||||||
|
.debug_pubnames
|
||||||
|
*(.debug_pubnames)
|
||||||
|
|
||||||
|
.debug_info
|
||||||
|
*(.debug_info .gnu.linkonce.wi.*)
|
||||||
|
|
||||||
|
.debug_abbrev
|
||||||
|
*(.debug_abbrev)
|
||||||
|
|
||||||
|
.debug_line
|
||||||
|
*(.debug_line .debug_line.* .debug_line_end)
|
||||||
|
|
||||||
|
.debug_frame
|
||||||
|
*(.debug_frame)
|
||||||
|
|
||||||
|
.debug_str
|
||||||
|
*(.debug_str)
|
||||||
|
|
||||||
|
.debug_loc
|
||||||
|
*(.debug_loc)
|
||||||
|
|
||||||
|
.debug_macinfo
|
||||||
|
*(.debug_macinfo)
|
||||||
|
|
||||||
|
.debug_weaknames
|
||||||
|
*(.debug_weaknames)
|
||||||
|
|
||||||
|
.debug_funcnames
|
||||||
|
*(.debug_funcnames)
|
||||||
|
|
||||||
|
.debug_typenames
|
||||||
|
*(.debug_typenames)
|
||||||
|
|
||||||
|
.debug_varnames
|
||||||
|
*(.debug_varnames)
|
||||||
|
|
||||||
|
.debug_pubtypes
|
||||||
|
*(.debug_pubtypes)
|
||||||
|
|
||||||
|
.debug_ranges
|
||||||
|
*(.debug_ranges)
|
||||||
|
|
||||||
|
.debug_macro
|
||||||
|
*(.debug_macro)
|
||||||
|
OUTPUT(pendulum.elf elf32-avr)
|
||||||
|
LOAD linker stubs
|
||||||
|
|
||||||
|
Kreuzreferenz-Tabelle
|
||||||
|
|
||||||
|
Symbol Datei
|
||||||
|
T_half pendulum.o
|
||||||
|
__addsf3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
__addsf3x /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
__bad_interrupt /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__bss_end /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
__bss_start /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
__data_end /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__data_load_start /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__data_start /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__divmodhi4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
color_hsv.o
|
||||||
|
__divsf3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
color_hsv.o
|
||||||
|
__divsf3_pse /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
__divsf3x /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
__do_clear_bss /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
pendulum.o
|
||||||
|
__do_copy_data /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
pendulum.o
|
||||||
|
__fixunssfsi /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
color_hsv.o
|
||||||
|
__floatsisf /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
color_hsv.o
|
||||||
|
__floatunsisf /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(floatsisf.o)
|
||||||
|
color_hsv.o
|
||||||
|
__fp_inf /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_inf.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__fp_nan /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_nan.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__fp_pscA /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscA.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__fp_pscB /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_pscB.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__fp_round /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_round.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
__fp_split3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__fp_splitA /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_split3.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
__fp_szero /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(divsf3x.o)
|
||||||
|
__fp_zero /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fp_zero.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3x.o)
|
||||||
|
__heap_end /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__init /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__mulsf3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
color_hsv.o
|
||||||
|
__mulsf3_pse /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
__mulsf3x /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3x.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(mulsf3.o)
|
||||||
|
__stack /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__subsf3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a(addsf3.o)
|
||||||
|
color_hsv.o
|
||||||
|
__tablejump2__ /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_tablejump2.o)
|
||||||
|
color_hsv.o
|
||||||
|
__udivmodhi4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
__vector_1 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_10 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_11 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_12 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_13 pendulum.o
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_14 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_15 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_16 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_17 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_18 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_19 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_2 pendulum.o
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_21 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_22 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_23 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_24 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_25 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_3 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_5 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_6 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_7 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_9 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vector_default /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
__vectors /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
_div /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
_exit /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
colorSteps pendulum.o
|
||||||
|
cooldown pendulum.o
|
||||||
|
exit /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
hsv2rgb color_hsv.o
|
||||||
|
hsv2rgbList color_hsv.o
|
||||||
|
pendulum.o
|
||||||
|
init_hsv_t color_hsv.o
|
||||||
|
pendulum.o
|
||||||
|
interpolate color_hsv.o
|
||||||
|
pendulum.o
|
||||||
|
main pendulum.o
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega328p.o
|
||||||
|
max pendulum.o
|
||||||
|
min pendulum.o
|
||||||
|
oldTime pendulum.o
|
||||||
|
status pendulum.o
|
||||||
|
time pendulum.o
|
||||||
|
writeOne pendulum.o
|
||||||
|
writeRGB pendulum.o
|
||||||
|
writeZero pendulum.o
|
BIN
sketches/pendulum/pendulum.o
Normal file
BIN
sketches/pendulum/pendulum.o
Normal file
Binary file not shown.
109
sketches/pendulum/pendulum.sym
Normal file
109
sketches/pendulum/pendulum.sym
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
00000000 W __heap_end
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 W __vector_default
|
||||||
|
00000000 T __vectors
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
00000076 T __ctors_end
|
||||||
|
00000076 T __ctors_start
|
||||||
|
00000076 T __dtors_end
|
||||||
|
00000076 T __dtors_start
|
||||||
|
00000076 W __init
|
||||||
|
00000076 T __trampolines_end
|
||||||
|
00000076 T __trampolines_start
|
||||||
|
00000082 T __do_copy_data
|
||||||
|
00000098 T __do_clear_bss
|
||||||
|
000000a0 t .do_clear_bss_loop
|
||||||
|
000000a2 t .do_clear_bss_start
|
||||||
|
000000b0 T __bad_interrupt
|
||||||
|
000000b0 W __vector_1
|
||||||
|
000000b0 W __vector_10
|
||||||
|
000000b0 W __vector_11
|
||||||
|
000000b0 W __vector_12
|
||||||
|
000000b0 W __vector_14
|
||||||
|
000000b0 W __vector_15
|
||||||
|
000000b0 W __vector_16
|
||||||
|
000000b0 W __vector_17
|
||||||
|
000000b0 W __vector_18
|
||||||
|
000000b0 W __vector_19
|
||||||
|
000000b0 W __vector_20
|
||||||
|
000000b0 W __vector_21
|
||||||
|
000000b0 W __vector_22
|
||||||
|
000000b0 W __vector_23
|
||||||
|
000000b0 W __vector_24
|
||||||
|
000000b0 W __vector_25
|
||||||
|
000000b0 W __vector_3
|
||||||
|
000000b0 W __vector_4
|
||||||
|
000000b0 W __vector_5
|
||||||
|
000000b0 W __vector_6
|
||||||
|
000000b0 W __vector_7
|
||||||
|
000000b0 W __vector_8
|
||||||
|
000000b0 W __vector_9
|
||||||
|
000000b4 T __vector_2
|
||||||
|
00000146 T __vector_13
|
||||||
|
0000018c T writeZero
|
||||||
|
000001a8 T writeOne
|
||||||
|
000001c4 T writeRGB
|
||||||
|
00000266 T interpolate
|
||||||
|
0000039c T hsv2rgb
|
||||||
|
00000592 T hsv2rgbList
|
||||||
|
000005dc T init_hsv_t
|
||||||
|
000005e8 T main
|
||||||
|
000008ac T __subsf3
|
||||||
|
000008ae T __addsf3
|
||||||
|
000008dc T __addsf3x
|
||||||
|
000008ff W __stack
|
||||||
|
00000986 T __divsf3
|
||||||
|
000009ae T __divsf3x
|
||||||
|
000009b4 T __divsf3_pse
|
||||||
|
00000a6a T __fixunssfsi
|
||||||
|
00000ac8 T __floatunsisf
|
||||||
|
00000acc T __floatsisf
|
||||||
|
00000b42 T __fp_inf
|
||||||
|
00000b4e T __fp_nan
|
||||||
|
00000b54 T __fp_pscA
|
||||||
|
00000b62 T __fp_pscB
|
||||||
|
00000b70 T __fp_round
|
||||||
|
00000b92 T __fp_split3
|
||||||
|
00000ba2 T __fp_splitA
|
||||||
|
00000bd6 T __fp_zero
|
||||||
|
00000bd8 T __fp_szero
|
||||||
|
00000be4 T __mulsf3
|
||||||
|
00000c0a T __mulsf3x
|
||||||
|
00000c10 T __mulsf3_pse
|
||||||
|
00000cbe T _div
|
||||||
|
00000cbe T __divmodhi4
|
||||||
|
00000cd6 t __divmodhi4_neg1
|
||||||
|
00000cde t __divmodhi4_neg2
|
||||||
|
00000ce4 t __divmodhi4_exit
|
||||||
|
00000ce6 T __tablejump2__
|
||||||
|
00000cf2 T __udivmodhi4
|
||||||
|
00000cfa t __udivmodhi4_loop
|
||||||
|
00000d08 t __udivmodhi4_ep
|
||||||
|
00000d1a W exit
|
||||||
|
00000d1a T _exit
|
||||||
|
00000d1c t __stop_program
|
||||||
|
00000d1e A __data_load_start
|
||||||
|
00000d1e T _etext
|
||||||
|
00000d28 A __data_load_end
|
||||||
|
00800100 D __data_start
|
||||||
|
00800100 D max
|
||||||
|
00800102 D min
|
||||||
|
00800104 D status
|
||||||
|
00800105 D colorSteps
|
||||||
|
0080010a B __bss_start
|
||||||
|
0080010a D __data_end
|
||||||
|
0080010a D _edata
|
||||||
|
0080010a B oldTime
|
||||||
|
0080010e B T_half
|
||||||
|
00800112 B time
|
||||||
|
00800116 B __bss_end
|
||||||
|
00800116 N _end
|
||||||
|
00810000 N __eeprom_end
|
Loading…
Reference in New Issue
Block a user