mirror of
https://github.com/caperren/school_archives.git
synced 2025-11-09 21:51:15 +00:00
Updated folder names
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
################################################################################
|
||||
|
||||
SHELL := cmd.exe
|
||||
RM := rm -rf
|
||||
|
||||
USER_OBJS :=
|
||||
|
||||
LIBS :=
|
||||
PROJ :=
|
||||
|
||||
O_SRCS :=
|
||||
C_SRCS :=
|
||||
S_SRCS :=
|
||||
S_UPPER_SRCS :=
|
||||
OBJ_SRCS :=
|
||||
ASM_SRCS :=
|
||||
PREPROCESSING_SRCS :=
|
||||
OBJS :=
|
||||
OBJS_AS_ARGS :=
|
||||
C_DEPS :=
|
||||
C_DEPS_AS_ARGS :=
|
||||
EXECUTABLES :=
|
||||
OUTPUT_FILE_PATH :=
|
||||
OUTPUT_FILE_PATH_AS_ARGS :=
|
||||
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
|
||||
QUOTE := "
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
OUTPUT_FILE_DEP:=
|
||||
LIB_DEP:=
|
||||
|
||||
# Every subdirectory with source files must be described here
|
||||
SUBDIRS :=
|
||||
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../PauseSwitch.cpp
|
||||
|
||||
|
||||
PREPROCESSING_SRCS +=
|
||||
|
||||
|
||||
ASM_SRCS +=
|
||||
|
||||
|
||||
OBJS += \
|
||||
PauseSwitch.o
|
||||
|
||||
OBJS_AS_ARGS += \
|
||||
PauseSwitch.o
|
||||
|
||||
C_DEPS += \
|
||||
PauseSwitch.d
|
||||
|
||||
C_DEPS_AS_ARGS += \
|
||||
PauseSwitch.d
|
||||
|
||||
OUTPUT_FILE_PATH +=PauseSwitch.elf
|
||||
|
||||
OUTPUT_FILE_PATH_AS_ARGS +=PauseSwitch.elf
|
||||
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
|
||||
OUTPUT_FILE_DEP:= ./makedep.mk
|
||||
|
||||
LIB_DEP+=
|
||||
|
||||
# AVR32/GNU C Compiler
|
||||
|
||||
|
||||
|
||||
./%.o: .././%.cpp
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR8/GNU C Compiler : 4.8.1
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny85 -c -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Preprocessing Assembler
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Assembler
|
||||
|
||||
|
||||
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
|
||||
# All Target
|
||||
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
|
||||
|
||||
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP)
|
||||
@echo Building target: $@
|
||||
@echo Invoking: AVR8/GNU Linker : 4.8.1
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="PauseSwitch.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny85
|
||||
@echo Finished building target: $@
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PauseSwitch.elf" "PauseSwitch.hex"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "PauseSwitch.elf" "PauseSwitch.eep" || exit 0
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "PauseSwitch.elf" > "PauseSwitch.lss"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PauseSwitch.elf" "PauseSwitch.srec"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-size.exe" "PauseSwitch.elf"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
|
||||
-$(RM) $(C_DEPS_AS_ARGS)
|
||||
rm -rf "PauseSwitch.elf" "PauseSwitch.a" "PauseSwitch.hex" "PauseSwitch.lss" "PauseSwitch.eep" "PauseSwitch.map" "PauseSwitch.srec" "PauseSwitch.usersignatures"
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
PauseSwitch.d PauseSwitch.o: .././PauseSwitch.cpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iotn85.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iotnx5.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iotn85.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iotnx5.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
@@ -0,0 +1 @@
|
||||
:00000001FF
|
||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
:100000000EC028C027C026C025C024C023C022C0DF
|
||||
:1000100021C020C04DC01EC01DC01CC01BC011246B
|
||||
:100020001FBECFE5D2E0DEBFCDBF10E0A0E6B0E05E
|
||||
:10003000E4E1F1E002C005900D92A236B107D9F7D4
|
||||
:1000400020E0A2E6B0E001C01D92A336B207E1F7BE
|
||||
:1000500006D05EC0D5CF86B380958170089588E1C3
|
||||
:1000600087BBB898C09A1ABC13BE12BE83B785600E
|
||||
:1000700083BF80E189BF7894C39AC1E0ECDF882315
|
||||
:10008000E9F380916000813021F4C3981092600000
|
||||
:1000900005C0811103C0C39AC09360002FEF84E3B1
|
||||
:1000A0009CE0215080409040E1F700C00000E6CF86
|
||||
:1000B0001F920F920FB60F9211248F9380916000C0
|
||||
:1000C000811102C0C49A1EC08130E1F480916200A7
|
||||
:1000D0008F3099F480916100813021F4C49810929E
|
||||
:1000E000610008C080916100811104C0C49A81E060
|
||||
:1000F000809361001092620005C0809162008F5F62
|
||||
:10010000809362008F910F900FBE0F901F901895F3
|
||||
:04011000F894FFCF91
|
||||
:020114000101E7
|
||||
:00000001FF
|
||||
@@ -0,0 +1,251 @@
|
||||
|
||||
PauseSwitch.elf: file format elf32-avr
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn
|
||||
0 .text 00000114 00000000 00000000 00000094 2**1
|
||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||
1 .data 00000002 00800060 00000114 000001a8 2**0
|
||||
CONTENTS, ALLOC, LOAD, DATA
|
||||
2 .bss 00000001 00800062 00800062 000001aa 2**0
|
||||
ALLOC
|
||||
3 .comment 00000030 00000000 00000000 000001aa 2**0
|
||||
CONTENTS, READONLY
|
||||
4 .debug_aranges 00000030 00000000 00000000 000001da 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
5 .debug_info 000001a3 00000000 00000000 0000020a 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
6 .debug_abbrev 00000141 00000000 00000000 000003ad 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
7 .debug_line 00000178 00000000 00000000 000004ee 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
8 .debug_frame 00000054 00000000 00000000 00000668 2**2
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
9 .debug_str 00000222 00000000 00000000 000006bc 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
10 .debug_loc 0000003c 00000000 00000000 000008de 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
11 .debug_ranges 00000020 00000000 00000000 0000091a 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <__vectors>:
|
||||
0: 0e c0 rjmp .+28 ; 0x1e <__ctors_end>
|
||||
2: 28 c0 rjmp .+80 ; 0x54 <__bad_interrupt>
|
||||
4: 27 c0 rjmp .+78 ; 0x54 <__bad_interrupt>
|
||||
6: 26 c0 rjmp .+76 ; 0x54 <__bad_interrupt>
|
||||
8: 25 c0 rjmp .+74 ; 0x54 <__bad_interrupt>
|
||||
a: 24 c0 rjmp .+72 ; 0x54 <__bad_interrupt>
|
||||
c: 23 c0 rjmp .+70 ; 0x54 <__bad_interrupt>
|
||||
e: 22 c0 rjmp .+68 ; 0x54 <__bad_interrupt>
|
||||
10: 21 c0 rjmp .+66 ; 0x54 <__bad_interrupt>
|
||||
12: 20 c0 rjmp .+64 ; 0x54 <__bad_interrupt>
|
||||
14: 4d c0 rjmp .+154 ; 0xb0 <__vector_10>
|
||||
16: 1e c0 rjmp .+60 ; 0x54 <__bad_interrupt>
|
||||
18: 1d c0 rjmp .+58 ; 0x54 <__bad_interrupt>
|
||||
1a: 1c c0 rjmp .+56 ; 0x54 <__bad_interrupt>
|
||||
1c: 1b c0 rjmp .+54 ; 0x54 <__bad_interrupt>
|
||||
|
||||
0000001e <__ctors_end>:
|
||||
1e: 11 24 eor r1, r1
|
||||
20: 1f be out 0x3f, r1 ; 63
|
||||
22: cf e5 ldi r28, 0x5F ; 95
|
||||
24: d2 e0 ldi r29, 0x02 ; 2
|
||||
26: de bf out 0x3e, r29 ; 62
|
||||
28: cd bf out 0x3d, r28 ; 61
|
||||
|
||||
0000002a <__do_copy_data>:
|
||||
2a: 10 e0 ldi r17, 0x00 ; 0
|
||||
2c: a0 e6 ldi r26, 0x60 ; 96
|
||||
2e: b0 e0 ldi r27, 0x00 ; 0
|
||||
30: e4 e1 ldi r30, 0x14 ; 20
|
||||
32: f1 e0 ldi r31, 0x01 ; 1
|
||||
34: 02 c0 rjmp .+4 ; 0x3a <__do_copy_data+0x10>
|
||||
36: 05 90 lpm r0, Z+
|
||||
38: 0d 92 st X+, r0
|
||||
3a: a2 36 cpi r26, 0x62 ; 98
|
||||
3c: b1 07 cpc r27, r17
|
||||
3e: d9 f7 brne .-10 ; 0x36 <__do_copy_data+0xc>
|
||||
|
||||
00000040 <__do_clear_bss>:
|
||||
40: 20 e0 ldi r18, 0x00 ; 0
|
||||
42: a2 e6 ldi r26, 0x62 ; 98
|
||||
44: b0 e0 ldi r27, 0x00 ; 0
|
||||
46: 01 c0 rjmp .+2 ; 0x4a <.do_clear_bss_start>
|
||||
|
||||
00000048 <.do_clear_bss_loop>:
|
||||
48: 1d 92 st X+, r1
|
||||
|
||||
0000004a <.do_clear_bss_start>:
|
||||
4a: a3 36 cpi r26, 0x63 ; 99
|
||||
4c: b2 07 cpc r27, r18
|
||||
4e: e1 f7 brne .-8 ; 0x48 <.do_clear_bss_loop>
|
||||
50: 06 d0 rcall .+12 ; 0x5e <main>
|
||||
52: 5e c0 rjmp .+188 ; 0x110 <_exit>
|
||||
|
||||
00000054 <__bad_interrupt>:
|
||||
54: d5 cf rjmp .-86 ; 0x0 <__vectors>
|
||||
|
||||
00000056 <_Z12ButtonPushedv>:
|
||||
const unsigned char InterruptCountMax = 15; //Hold our interrupt count max to make up for only having an 8 bit timer and needing 1Hz led flash
|
||||
volatile unsigned char LEDState = LIT; //Holds the current Led state
|
||||
unsigned char RoverState = ROVING; //Holds the current rover roving state
|
||||
|
||||
unsigned char ButtonPushed(void){
|
||||
return ((BUTTON & PINB) == 0); //Returns whether the button has been pushed (active low)
|
||||
56: 86 b3 in r24, 0x16 ; 22
|
||||
58: 80 95 com r24
|
||||
}
|
||||
5a: 81 70 andi r24, 0x01 ; 1
|
||||
5c: 08 95 ret
|
||||
|
||||
0000005e <main>:
|
||||
|
||||
int main(void)
|
||||
{
|
||||
DDRB = (STATUSLED | XBEEIO); //Set Outputs
|
||||
5e: 88 e1 ldi r24, 0x18 ; 24
|
||||
60: 87 bb out 0x17, r24 ; 23
|
||||
DDRB &= ~(BUTTON); //Set Inputs
|
||||
62: b8 98 cbi 0x17, 0 ; 23
|
||||
PORTB |= (BUTTON); //Enable Internal pull up resistor for Button
|
||||
64: c0 9a sbi 0x18, 0 ; 24
|
||||
|
||||
TCCR0A = 0; //Clear settings for timer counter 0 register A
|
||||
66: 1a bc out 0x2a, r1 ; 42
|
||||
TCCR0B = 0; //Clear settings for timer counter 0 register B
|
||||
68: 13 be out 0x33, r1 ; 51
|
||||
TCNT0 = 0; //zeros the count register
|
||||
6a: 12 be out 0x32, r1 ; 50
|
||||
|
||||
TCCR0B |= ((1 << CS02) | (1 << CS00)); //Sets the counter prescaler to 1024
|
||||
6c: 83 b7 in r24, 0x33 ; 51
|
||||
6e: 85 60 ori r24, 0x05 ; 5
|
||||
70: 83 bf out 0x33, r24 ; 51
|
||||
TIMSK = (1 << OCIE0A); //Sets an interrupt to trigger on counter hitting 255 for timer 0
|
||||
72: 80 e1 ldi r24, 0x10 ; 16
|
||||
74: 89 bf out 0x39, r24 ; 57
|
||||
|
||||
sei();
|
||||
76: 78 94 sei
|
||||
//Enable global interrupts
|
||||
PORTB |= XBEEIO;
|
||||
78: c3 9a sbi 0x18, 3 ; 24
|
||||
if(RoverState == ROVING){ //If the button was pushed and the state was previously roving, switch to non-roving
|
||||
PORTB &= ~XBEEIO; //Send new roving state to rover
|
||||
RoverState = NOT_ROVING; //We are now not roving
|
||||
}else if(RoverState == NOT_ROVING){ //If the button was pushed and the state was previously not roving, switch to roving
|
||||
PORTB |= XBEEIO; //Send new roving state to rover
|
||||
RoverState = ROVING; //We are now roving
|
||||
7a: c1 e0 ldi r28, 0x01 ; 1
|
||||
sei();
|
||||
//Enable global interrupts
|
||||
PORTB |= XBEEIO;
|
||||
|
||||
while(1){
|
||||
if(ButtonPushed()){
|
||||
7c: ec df rcall .-40 ; 0x56 <_Z12ButtonPushedv>
|
||||
7e: 88 23 and r24, r24
|
||||
80: e9 f3 breq .-6 ; 0x7c <main+0x1e>
|
||||
if(RoverState == ROVING){ //If the button was pushed and the state was previously roving, switch to non-roving
|
||||
82: 80 91 60 00 lds r24, 0x0060
|
||||
86: 81 30 cpi r24, 0x01 ; 1
|
||||
88: 21 f4 brne .+8 ; 0x92 <main+0x34>
|
||||
PORTB &= ~XBEEIO; //Send new roving state to rover
|
||||
8a: c3 98 cbi 0x18, 3 ; 24
|
||||
RoverState = NOT_ROVING; //We are now not roving
|
||||
8c: 10 92 60 00 sts 0x0060, r1
|
||||
90: 05 c0 rjmp .+10 ; 0x9c <main+0x3e>
|
||||
}else if(RoverState == NOT_ROVING){ //If the button was pushed and the state was previously not roving, switch to roving
|
||||
92: 81 11 cpse r24, r1
|
||||
94: 03 c0 rjmp .+6 ; 0x9c <main+0x3e>
|
||||
PORTB |= XBEEIO; //Send new roving state to rover
|
||||
96: c3 9a sbi 0x18, 3 ; 24
|
||||
RoverState = ROVING; //We are now roving
|
||||
98: c0 93 60 00 sts 0x0060, r28
|
||||
#else
|
||||
//round up by default
|
||||
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||||
#endif
|
||||
|
||||
__builtin_avr_delay_cycles(__ticks_dc);
|
||||
9c: 2f ef ldi r18, 0xFF ; 255
|
||||
9e: 84 e3 ldi r24, 0x34 ; 52
|
||||
a0: 9c e0 ldi r25, 0x0C ; 12
|
||||
a2: 21 50 subi r18, 0x01 ; 1
|
||||
a4: 80 40 sbci r24, 0x00 ; 0
|
||||
a6: 90 40 sbci r25, 0x00 ; 0
|
||||
a8: e1 f7 brne .-8 ; 0xa2 <main+0x44>
|
||||
aa: 00 c0 rjmp .+0 ; 0xac <main+0x4e>
|
||||
ac: 00 00 nop
|
||||
ae: e6 cf rjmp .-52 ; 0x7c <main+0x1e>
|
||||
|
||||
000000b0 <__vector_10>:
|
||||
} //Wait 500ms for button debounce
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ISR(TIMER0_COMPA_vect){
|
||||
b0: 1f 92 push r1
|
||||
b2: 0f 92 push r0
|
||||
b4: 0f b6 in r0, 0x3f ; 63
|
||||
b6: 0f 92 push r0
|
||||
b8: 11 24 eor r1, r1
|
||||
ba: 8f 93 push r24
|
||||
if(RoverState == NOT_ROVING){ //If the rover is not roving
|
||||
bc: 80 91 60 00 lds r24, 0x0060
|
||||
c0: 81 11 cpse r24, r1
|
||||
c2: 02 c0 rjmp .+4 ; 0xc8 <__vector_10+0x18>
|
||||
PORTB |= STATUSLED; //Rover is paused, make status light solid
|
||||
c4: c4 9a sbi 0x18, 4 ; 24
|
||||
c6: 1e c0 rjmp .+60 ; 0x104 <__vector_10+0x54>
|
||||
}else if(RoverState == ROVING){ //If the rover is roving
|
||||
c8: 81 30 cpi r24, 0x01 ; 1
|
||||
ca: e1 f4 brne .+56 ; 0x104 <__vector_10+0x54>
|
||||
if(InterruptCounter == InterruptCountMax){ //Check to see if the interrupt counter has hit max (needed because you can't get 1Hz from an 8 bit counter)
|
||||
cc: 80 91 62 00 lds r24, 0x0062
|
||||
d0: 8f 30 cpi r24, 0x0F ; 15
|
||||
d2: 99 f4 brne .+38 ; 0xfa <__vector_10+0x4a>
|
||||
if(LEDState == LIT){ //If it has and the led was previously lit
|
||||
d4: 80 91 61 00 lds r24, 0x0061
|
||||
d8: 81 30 cpi r24, 0x01 ; 1
|
||||
da: 21 f4 brne .+8 ; 0xe4 <__vector_10+0x34>
|
||||
PORTB &= ~STATUSLED; //Turn off the led
|
||||
dc: c4 98 cbi 0x18, 4 ; 24
|
||||
LEDState = NOT_LIT; //Set led state to off
|
||||
de: 10 92 61 00 sts 0x0061, r1
|
||||
e2: 08 c0 rjmp .+16 ; 0xf4 <__vector_10+0x44>
|
||||
}else if(LEDState == NOT_LIT){ //If it was previously off
|
||||
e4: 80 91 61 00 lds r24, 0x0061
|
||||
e8: 81 11 cpse r24, r1
|
||||
ea: 04 c0 rjmp .+8 ; 0xf4 <__vector_10+0x44>
|
||||
PORTB |= STATUSLED; //Turn the led on
|
||||
ec: c4 9a sbi 0x18, 4 ; 24
|
||||
LEDState = LIT; //Set led state to on
|
||||
ee: 81 e0 ldi r24, 0x01 ; 1
|
||||
f0: 80 93 61 00 sts 0x0061, r24
|
||||
}
|
||||
InterruptCounter = 0; //Zero our interrupt counter
|
||||
f4: 10 92 62 00 sts 0x0062, r1
|
||||
f8: 05 c0 rjmp .+10 ; 0x104 <__vector_10+0x54>
|
||||
}else{
|
||||
InterruptCounter++; //If the interrupt counter is not at max, increment it
|
||||
fa: 80 91 62 00 lds r24, 0x0062
|
||||
fe: 8f 5f subi r24, 0xFF ; 255
|
||||
100: 80 93 62 00 sts 0x0062, r24
|
||||
}
|
||||
}
|
||||
104: 8f 91 pop r24
|
||||
106: 0f 90 pop r0
|
||||
108: 0f be out 0x3f, r0 ; 63
|
||||
10a: 0f 90 pop r0
|
||||
10c: 1f 90 pop r1
|
||||
10e: 18 95 reti
|
||||
|
||||
00000110 <_exit>:
|
||||
110: f8 94 cli
|
||||
|
||||
00000112 <__stop_program>:
|
||||
112: ff cf rjmp .-2 ; 0x112 <__stop_program>
|
||||
@@ -0,0 +1,442 @@
|
||||
Archive member included because of file (symbol)
|
||||
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o (exit)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
PauseSwitch.o (__do_copy_data)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
PauseSwitch.o (__do_clear_bss)
|
||||
|
||||
Discarded input sections
|
||||
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
.text 0x00000000 0x0 PauseSwitch.o
|
||||
.bss 0x00000000 0x0 PauseSwitch.o
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc.fixed
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.fixed
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.fixed
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
|
||||
Memory Configuration
|
||||
|
||||
Name Origin Length Attributes
|
||||
text 0x00000000 0x00002000 xr
|
||||
data 0x00800060 0x0000ffa0 rw !x
|
||||
eeprom 0x00810000 0x00010000 rw !x
|
||||
fuse 0x00820000 0x00000400 rw !x
|
||||
lock 0x00830000 0x00000400 rw !x
|
||||
signature 0x00840000 0x00000400 rw !x
|
||||
user_signatures 0x00850000 0x00000400 rw !x
|
||||
*default* 0x00000000 0xffffffff
|
||||
|
||||
Linker script and memory map
|
||||
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
LOAD PauseSwitch.o
|
||||
START GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25\libm.a
|
||||
END GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25\libm.a
|
||||
START GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25\libm.a
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25\libc.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 0x00000000 0x114
|
||||
*(.vectors)
|
||||
.vectors 0x00000000 0x1e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
0x00000000 __vector_default
|
||||
0x00000000 __vectors
|
||||
*(.vectors)
|
||||
*(.progmem.gcc*)
|
||||
0x0000001e . = ALIGN (0x2)
|
||||
0x0000001e __trampolines_start = .
|
||||
*(.trampolines)
|
||||
.trampolines 0x0000001e 0x0 linker stubs
|
||||
*(.trampolines*)
|
||||
0x0000001e __trampolines_end = .
|
||||
*(.progmem*)
|
||||
0x0000001e . = ALIGN (0x2)
|
||||
*(.jumptables)
|
||||
*(.jumptables*)
|
||||
*(.lowtext)
|
||||
*(.lowtext*)
|
||||
0x0000001e __ctors_start = .
|
||||
*(.ctors)
|
||||
0x0000001e __ctors_end = .
|
||||
0x0000001e __dtors_start = .
|
||||
*(.dtors)
|
||||
0x0000001e __dtors_end = .
|
||||
SORT(*)(.ctors)
|
||||
SORT(*)(.dtors)
|
||||
*(.init0)
|
||||
.init0 0x0000001e 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
0x0000001e __init
|
||||
*(.init0)
|
||||
*(.init1)
|
||||
*(.init1)
|
||||
*(.init2)
|
||||
.init2 0x0000001e 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
*(.init2)
|
||||
*(.init3)
|
||||
*(.init3)
|
||||
*(.init4)
|
||||
.init4 0x0000002a 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
0x0000002a __do_copy_data
|
||||
.init4 0x00000040 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
0x00000040 __do_clear_bss
|
||||
*(.init4)
|
||||
*(.init5)
|
||||
*(.init5)
|
||||
*(.init6)
|
||||
*(.init6)
|
||||
*(.init7)
|
||||
*(.init7)
|
||||
*(.init8)
|
||||
*(.init8)
|
||||
*(.init9)
|
||||
.init9 0x00000050 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
*(.init9)
|
||||
*(.text)
|
||||
.text 0x00000054 0x2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
0x00000054 __vector_1
|
||||
0x00000054 __vector_12
|
||||
0x00000054 __bad_interrupt
|
||||
0x00000054 __vector_6
|
||||
0x00000054 __vector_3
|
||||
0x00000054 __vector_11
|
||||
0x00000054 __vector_13
|
||||
0x00000054 __vector_7
|
||||
0x00000054 __vector_5
|
||||
0x00000054 __vector_4
|
||||
0x00000054 __vector_9
|
||||
0x00000054 __vector_2
|
||||
0x00000054 __vector_8
|
||||
0x00000054 __vector_14
|
||||
0x00000056 . = ALIGN (0x2)
|
||||
*(.text.*)
|
||||
.text._Z12ButtonPushedv
|
||||
0x00000056 0x8 PauseSwitch.o
|
||||
0x00000056 _Z12ButtonPushedv
|
||||
.text.main 0x0000005e 0x52 PauseSwitch.o
|
||||
0x0000005e main
|
||||
.text.__vector_10
|
||||
0x000000b0 0x60 PauseSwitch.o
|
||||
0x000000b0 __vector_10
|
||||
0x00000110 . = ALIGN (0x2)
|
||||
*(.fini9)
|
||||
.fini9 0x00000110 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
0x00000110 _exit
|
||||
0x00000110 exit
|
||||
*(.fini9)
|
||||
*(.fini8)
|
||||
*(.fini8)
|
||||
*(.fini7)
|
||||
*(.fini7)
|
||||
*(.fini6)
|
||||
*(.fini6)
|
||||
*(.fini5)
|
||||
*(.fini5)
|
||||
*(.fini4)
|
||||
*(.fini4)
|
||||
*(.fini3)
|
||||
*(.fini3)
|
||||
*(.fini2)
|
||||
*(.fini2)
|
||||
*(.fini1)
|
||||
*(.fini1)
|
||||
*(.fini0)
|
||||
.fini0 0x00000110 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
*(.fini0)
|
||||
0x00000114 _etext = .
|
||||
|
||||
.data 0x00800060 0x2 load address 0x00000114
|
||||
0x00800060 PROVIDE (__data_start, .)
|
||||
*(.data)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr25/crttn85.o
|
||||
.data 0x00800060 0x0 PauseSwitch.o
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_exit.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_copy_data.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1051/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avr25\libgcc.a(_clear_bss.o)
|
||||
*(.data*)
|
||||
.data.RoverState
|
||||
0x00800060 0x1 PauseSwitch.o
|
||||
0x00800060 RoverState
|
||||
.data.LEDState
|
||||
0x00800061 0x1 PauseSwitch.o
|
||||
0x00800061 LEDState
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
*(.gnu.linkonce.d*)
|
||||
0x00800062 . = ALIGN (0x2)
|
||||
0x00800062 _edata = .
|
||||
0x00800062 PROVIDE (__data_end, .)
|
||||
|
||||
.bss 0x00800062 0x1
|
||||
0x00800062 PROVIDE (__bss_start, .)
|
||||
*(.bss)
|
||||
*(.bss*)
|
||||
.bss.InterruptCounter
|
||||
0x00800062 0x1 PauseSwitch.o
|
||||
0x00800062 InterruptCounter
|
||||
*(COMMON)
|
||||
0x00800063 PROVIDE (__bss_end, .)
|
||||
0x00000114 __data_load_start = LOADADDR (.data)
|
||||
0x00000116 __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
|
||||
.noinit 0x00800063 0x0
|
||||
0x00800063 PROVIDE (__noinit_start, .)
|
||||
*(.noinit*)
|
||||
0x00800063 PROVIDE (__noinit_end, .)
|
||||
0x00800063 _end = .
|
||||
0x00800063 PROVIDE (__heap_start, .)
|
||||
|
||||
.eeprom 0x00810000 0x0
|
||||
*(.eeprom*)
|
||||
0x00810000 __eeprom_end = .
|
||||
|
||||
.fuse
|
||||
*(.fuse)
|
||||
*(.lfuse)
|
||||
*(.hfuse)
|
||||
*(.efuse)
|
||||
|
||||
.lock
|
||||
*(.lock*)
|
||||
|
||||
.signature
|
||||
*(.signature*)
|
||||
|
||||
.user_signatures
|
||||
*(.user_signatures*)
|
||||
|
||||
.stab
|
||||
*(.stab)
|
||||
|
||||
.stabstr
|
||||
*(.stabstr)
|
||||
|
||||
.stab.excl
|
||||
*(.stab.excl)
|
||||
|
||||
.stab.exclstr
|
||||
*(.stab.exclstr)
|
||||
|
||||
.stab.index
|
||||
*(.stab.index)
|
||||
|
||||
.stab.indexstr
|
||||
*(.stab.indexstr)
|
||||
|
||||
.comment 0x00000000 0x30
|
||||
*(.comment)
|
||||
.comment 0x00000000 0x30 PauseSwitch.o
|
||||
0x31 (size before relaxing)
|
||||
|
||||
.note.gnu.build-id
|
||||
*(.note.gnu.build-id)
|
||||
|
||||
.debug
|
||||
*(.debug)
|
||||
|
||||
.line
|
||||
*(.line)
|
||||
|
||||
.debug_srcinfo
|
||||
*(.debug_srcinfo)
|
||||
|
||||
.debug_sfnames
|
||||
*(.debug_sfnames)
|
||||
|
||||
.debug_aranges 0x00000000 0x30
|
||||
*(.debug_aranges)
|
||||
.debug_aranges
|
||||
0x00000000 0x30 PauseSwitch.o
|
||||
|
||||
.debug_pubnames
|
||||
*(.debug_pubnames)
|
||||
|
||||
.debug_info 0x00000000 0x1a3
|
||||
*(.debug_info .gnu.linkonce.wi.*)
|
||||
.debug_info 0x00000000 0x1a3 PauseSwitch.o
|
||||
|
||||
.debug_abbrev 0x00000000 0x141
|
||||
*(.debug_abbrev)
|
||||
.debug_abbrev 0x00000000 0x141 PauseSwitch.o
|
||||
|
||||
.debug_line 0x00000000 0x178
|
||||
*(.debug_line .debug_line.* .debug_line_end)
|
||||
.debug_line 0x00000000 0x178 PauseSwitch.o
|
||||
|
||||
.debug_frame 0x00000000 0x54
|
||||
*(.debug_frame)
|
||||
.debug_frame 0x00000000 0x54 PauseSwitch.o
|
||||
|
||||
.debug_str 0x00000000 0x222
|
||||
*(.debug_str)
|
||||
.debug_str 0x00000000 0x222 PauseSwitch.o
|
||||
0x256 (size before relaxing)
|
||||
|
||||
.debug_loc 0x00000000 0x3c
|
||||
*(.debug_loc)
|
||||
.debug_loc 0x00000000 0x3c PauseSwitch.o
|
||||
|
||||
.debug_macinfo
|
||||
*(.debug_macinfo)
|
||||
|
||||
.debug_weaknames
|
||||
*(.debug_weaknames)
|
||||
|
||||
.debug_funcnames
|
||||
*(.debug_funcnames)
|
||||
|
||||
.debug_typenames
|
||||
*(.debug_typenames)
|
||||
|
||||
.debug_varnames
|
||||
*(.debug_varnames)
|
||||
|
||||
.debug_pubtypes
|
||||
*(.debug_pubtypes)
|
||||
|
||||
.debug_ranges 0x00000000 0x20
|
||||
*(.debug_ranges)
|
||||
.debug_ranges 0x00000000 0x20 PauseSwitch.o
|
||||
|
||||
.debug_macro
|
||||
*(.debug_macro)
|
||||
OUTPUT(PauseSwitch.elf elf32-avr)
|
||||
LOAD linker stubs
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
S013000050617573655377697463682E73726563A1
|
||||
S11300000EC028C027C026C025C024C023C022C0DB
|
||||
S113001021C020C04DC01EC01DC01CC01BC0112467
|
||||
S11300201FBECFE5D2E0DEBFCDBF10E0A0E6B0E05A
|
||||
S1130030E4E1F1E002C005900D92A236B107D9F7D0
|
||||
S113004020E0A2E6B0E001C01D92A336B207E1F7BA
|
||||
S113005006D05EC0D5CF86B380958170089588E1BF
|
||||
S113006087BBB898C09A1ABC13BE12BE83B785600A
|
||||
S113007083BF80E189BF7894C39AC1E0ECDF882311
|
||||
S1130080E9F380916000813021F4C39810926000FC
|
||||
S113009005C0811103C0C39AC09360002FEF84E3AD
|
||||
S11300A09CE0215080409040E1F700C00000E6CF82
|
||||
S11300B01F920F920FB60F9211248F9380916000BC
|
||||
S11300C0811102C0C49A1EC08130E1F480916200A3
|
||||
S11300D08F3099F480916100813021F4C49810929A
|
||||
S11300E0610008C080916100811104C0C49A81E05C
|
||||
S11300F0809361001092620005C0809162008F5F5E
|
||||
S1130100809362008F910F900FBE0F901F901895EF
|
||||
S1070110F894FFCF8D
|
||||
S10501140101E3
|
||||
S9030000FC
|
||||
@@ -0,0 +1,6 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit or delete the file
|
||||
################################################################################
|
||||
|
||||
PauseSwitch.cpp
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Atmel Studio Solution File, Format Version 11.00
|
||||
Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "PauseSwitch", "PauseSwitch.cppproj", "{3EA0E67A-62BC-4D6A-8C0E-E4C4C9AB9FA0}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|AVR = Debug|AVR
|
||||
Release|AVR = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3EA0E67A-62BC-4D6A-8C0E-E4C4C9AB9FA0}.Debug|AVR.ActiveCfg = Debug|AVR
|
||||
{3EA0E67A-62BC-4D6A-8C0E-E4C4C9AB9FA0}.Debug|AVR.Build.0 = Debug|AVR
|
||||
{3EA0E67A-62BC-4D6A-8C0E-E4C4C9AB9FA0}.Release|AVR.ActiveCfg = Release|AVR
|
||||
{3EA0E67A-62BC-4D6A-8C0E-E4C4C9AB9FA0}.Release|AVR.Build.0 = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Binary file not shown.
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* PauseSwitch.cpp
|
||||
*
|
||||
* Created: 4/23/2014 2:41:55 AM
|
||||
* Author: corwin
|
||||
*/
|
||||
#define F_CPU 8000000UL
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
#define STATUSLED (1 << PB4)
|
||||
#define BUTTON (1 << PB0)
|
||||
#define XBEEIO (1 << PB3)
|
||||
|
||||
#define ROVING 1
|
||||
#define NOT_ROVING 0
|
||||
|
||||
#define LIT 1
|
||||
#define NOT_LIT 0
|
||||
|
||||
volatile unsigned char InterruptCounter = 0; //A counter for our interrupt function
|
||||
const unsigned char InterruptCountMax = 15; //Hold our interrupt count max to make up for only having an 8 bit timer and needing 1Hz led flash
|
||||
volatile unsigned char LEDState = LIT; //Holds the current Led state
|
||||
unsigned char RoverState = ROVING; //Holds the current rover roving state
|
||||
|
||||
unsigned char ButtonPushed(void){
|
||||
return ((BUTTON & PINB) == 0); //Returns whether the button has been pushed (active low)
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
DDRB = (STATUSLED | XBEEIO); //Set Outputs
|
||||
DDRB &= ~(BUTTON); //Set Inputs
|
||||
PORTB |= (BUTTON); //Enable Internal pull up resistor for Button
|
||||
|
||||
TCCR0A = 0; //Clear settings for timer counter 0 register A
|
||||
TCCR0B = 0; //Clear settings for timer counter 0 register B
|
||||
TCNT0 = 0; //zeros the count register
|
||||
|
||||
TCCR0B |= ((1 << CS02) | (1 << CS00)); //Sets the counter prescaler to 1024
|
||||
TIMSK = (1 << OCIE0A); //Sets an interrupt to trigger on counter hitting 255 for timer 0
|
||||
|
||||
sei();
|
||||
//Enable global interrupts
|
||||
PORTB |= XBEEIO;
|
||||
|
||||
while(1){
|
||||
if(ButtonPushed()){
|
||||
if(RoverState == ROVING){ //If the button was pushed and the state was previously roving, switch to non-roving
|
||||
PORTB &= ~XBEEIO; //Send new roving state to rover
|
||||
RoverState = NOT_ROVING; //We are now not roving
|
||||
}else if(RoverState == NOT_ROVING){ //If the button was pushed and the state was previously not roving, switch to roving
|
||||
PORTB |= XBEEIO; //Send new roving state to rover
|
||||
RoverState = ROVING; //We are now roving
|
||||
}
|
||||
_delay_ms(500);
|
||||
} //Wait 500ms for button debounce
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ISR(TIMER0_COMPA_vect){
|
||||
if(RoverState == NOT_ROVING){ //If the rover is not roving
|
||||
PORTB |= STATUSLED; //Rover is paused, make status light solid
|
||||
}else if(RoverState == ROVING){ //If the rover is roving
|
||||
if(InterruptCounter == InterruptCountMax){ //Check to see if the interrupt counter has hit max (needed because you can't get 1Hz from an 8 bit counter)
|
||||
if(LEDState == LIT){ //If it has and the led was previously lit
|
||||
PORTB &= ~STATUSLED; //Turn off the led
|
||||
LEDState = NOT_LIT; //Set led state to off
|
||||
}else if(LEDState == NOT_LIT){ //If it was previously off
|
||||
PORTB |= STATUSLED; //Turn the led on
|
||||
LEDState = LIT; //Set led state to on
|
||||
}
|
||||
InterruptCounter = 0; //Zero our interrupt counter
|
||||
}else{
|
||||
InterruptCounter++; //If the interrupt counter is not at max, increment it
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>6.2</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.AVRGCC8.CPP</ToolchainName>
|
||||
<ProjectGuid>{3ea0e67a-62bc-4d6a-8c0e-e4c4c9ab9fa0}</ProjectGuid>
|
||||
<avrdevice>ATtiny85</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>CPP</Language>
|
||||
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
|
||||
<OutputFileExtension>.elf</OutputFileExtension>
|
||||
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
|
||||
<AssemblyName>PauseSwitch</AssemblyName>
|
||||
<Name>PauseSwitch</Name>
|
||||
<RootNamespace>PauseSwitch</RootNamespace>
|
||||
<ToolchainFlavour>Native</ToolchainFlavour>
|
||||
<KeepTimersRunning>true</KeepTimersRunning>
|
||||
<OverrideVtor>false</OverrideVtor>
|
||||
<CacheFlash>true</CacheFlash>
|
||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||
<RamSnippetAddress />
|
||||
<UncachedRange />
|
||||
<OverrideVtorValue />
|
||||
<BootSegment>2</BootSegment>
|
||||
<eraseonlaunchrule>1</eraseonlaunchrule>
|
||||
<AsfFrameworkConfig>
|
||||
<framework-data xmlns="">
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<offline-documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.15.0" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
</AsfFrameworkConfig>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PauseSwitch.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,3 @@
|
||||
Firmware for all final boards should go here.
|
||||
|
||||
All firmware developed using Atmel Studio 6.2.
|
||||
Reference in New Issue
Block a user